码迷,mamicode.com
首页 > 其他好文 > 详细

iscsi target存储技术-多路径 udev动态管理设备文件方法 nfs

时间:2017-03-15 19:32:19      阅读:288      评论:0      收藏:0      [点我收藏+]

标签:计算机系统   internet   网络技术   路由器   target   


惠普 戴尔 华为 目前国内服务器厂商排名


存储技术分类:

SCSI小型计算机系统接口
DAS直连式存储
NAS网络技术存储
SAN存储区域网络
FC光纤通道



SCSI小型计算机系统接口 (U盘)

DAS技术:直连式存储(将存储设备通过scsi接口或光纤通道直连到计算机上,不能实现数据与其它主机的共享,占用服务器操作系统资源cpu,io等,数据量越大,性能越差)

NAS网络技术存储  做公享文件夹  (这是一种专用数据存储服务器,以数据为中心,将存储设备与服务器彻底分离,集中管理数据,提高性能,节省成本)

SAN技术: 存储区域网络 (通过光纤交换机。光纤路由等设备将磁盘阵列等存储设备域相关服务链接起来,形成高速专网网络) 组成部分:-路由器,光纤交换机 -接口:scsi,FC -通信协议:ip,scsi
FC光纤通道
FC主要组件: 光纤  HBA(主机总线适配器) FC交换机

iscsi技术(Internet SCSI) 是一种基于IP Storage理论的新行存储技术,将存储行业广泛应用的SCSI接口技术与IP网络相结合  优势:相对FC SAN,iscsi实现的IP SAN投资更低,解决了传输效率,存储容量,兼容,开放,安全等问题,没有距离限制。
客户端 -iscsi HBA 硬件实现,性能好,成本较高 -iscsi Initiator 软件实现,成本低,性能低
存储设备端 -iscsi target

——————————————————————————————————————————————————————————-
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+==

————————————————————————————————————————————
在生产环境中,可以同时使用两台共享目录给mysql服务器,一台坏了,另一台顶上去,
用到的方法是做一个虚拟ip10指向vh02和vh03,vh02,是活跃的当vh02挂了,自动切换成vh03.
————————————————————————————————————————————


-iscsi target存储设备端
++++++++++++++++++++++++++++++++++++++++++
一。配置
1.ip192.168.4.1/24  vh01.tedu.cn  再来两台:  192.168.4.2 192.168.4.3
2.配置一块硬盘,以便提供存储
#parted /dev/vdc
(parted) mktable  get  
(parted) mkpart primary ext4 1M 50%
#lsblk
#partx -a /dev/vdc (刷新分区列表)
#lsblk
不要格式化
3.安装
#yum install -y scsi-target-utils
4.修改配置文件
#vim /etc/tgt/targets.conf
 23 <target ipn.2017-03.cn.tedu.nsd1611:iscsi>
 24         backing-store /dev/vdc1
 25         initiator-address 192.168.4.2
 26         initiator-address 192.168.4.3
 27 </target>
5.启动并验证
# service tgtd start; chkconfig tgtd on
# tgt-admin -s (必须能看到LUN1)

二。配置iscsi客户端(192.168.4.2和192.168.4.3)
1.安装
#yum -y install iscsi-initiator-utils
2.发现target设备
# man iscsiadm
# iscsiadm --mode discoverydb --type sendtargets --portal 192.168.4.1 --discover
# lsblk 还看不到iSCSI共享磁盘
# service iscsi restart  (iscsi用于自动login)
# lsblk  可以看到多了一块共享sda磁盘
# chkconfig iscsi on; chkconfig iscsid on   (iscsi是挂载,iscsid是服务)

三。应用
1.在vh02上配置mysql使用共享存储,把mysql库文件存放在iSCSI共享磁盘上
先将共享存储分区格式化  /dev/sda

# parted /dev/sda
(parted) mktable
新的磁盘标签类型? gpt  
分区名称?  []? primary
文件系统类型?  [ext2]? ext4
起始点? 1M                                                               
结束点? 50%    
(parted) quit    
# lsblk  (会出现共享磁盘第一个分区sda1)

# mount /dev/sda1 /var/lib/mysql(先挂载)

# service mysqld start (再初始化数据)
# mysql -uroot
mysql> create database students default char set utf8;
Query OK, 1 row affected (0.00 sec)

mysql> use students;
Database changed
mysql> create table stu_info (id int(8),name varchar(20));
Query OK, 0 rows affected (0.10 sec)

mysql> insert into stu_info values (1,"bob");
Query OK, 1 row affected (0.00 sec)

mysql> insert into stu_info values (2,"tom");
Query OK, 1 row affected (0.00 sec)

mysql> insert into stu_info values (3,"张");
Query OK, 1 row affected (0.00 sec)

mysql> select * from stu_info;
+------+------+
| id   | name |
+------+------+
|    1 | bob  |
|    2 | tom  |
|    3 | 张  |
+------+------+

mysql> quit


(不能两个节点挂一个设备/dev/sda1不然会损坏)

2.在vh03挂载共享存储
首先要在vh02上停掉mysqld 并把共享存储umount
vh02:
# service mysqld stop

# umount /dev/sda1

vh03:
# partx -a /dev/sda
# lsblk

# yum -y install mysql-server

# mount /dev/sda1 /var/lib/mysql (先挂载)

# service mysqld start (起mysqld服务 这时不会再有初始化数据在这个共享目录里了,因为在2上做了)

# mysql -uroot  (可以查看到vh02上数据)

mysql> show databases;
+---------------------+
| Database            |
+---------------------+
| information_schema  |
| #mysql50#lost+found |
| mysql               |
| students            |
| test                |
+---------------------+

mysql> use students;

Database changed
mysql> show tables;
+--------------------+
| Tables_in_students |
+--------------------+
| stu_info           |
+--------------------+

mysql> select * from stu_info;
+------+------+
| id   | name |
+------+------+
|    1 | bob  |
|    2 | tom  |
|    3 | 张  |
+------+------+

————————————————————————————————————————————
在生产环境中,可以同时使用两台共享目录给mysql服务器,一台坏了,另一台顶上去,
用到的方法是做一个虚拟ip10指向vh02和vh03,vh02,是活跃的当vh02挂了,自动切换成vh03.
————————————————————————————————————————————

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



多路径(做的是主从):同一个存储有多条路径共享出去,解决单点失败问题

一 。在vh02客户机和vh1服务器增加一张网络

二。在服务器上配置ACL
#vim /etc/tgt/targets.conf
     initiator-address 192.168.4.2
     initiator-address 192.168.2.2
#reboot
# tgt-admin -s  (LUN1出现才对)



三,客户端上发现新路径

# iscsiadm --mode discoverydb --type sendtargets --portal 192.168.2.1 --discover
192.168.2.1:3260,1 ipn.2017-03.cn.tedu.nsd1611:iscsi
# service iscsi restart
# lsblk  (将会看到两条路径,sdc和sdb)
NAME                        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0                          11:0    1 1024M  0 rom  
vda                         252:0    0   50G  0 disk
........
vdb                         252:16   0   20G  0 disk
sdb                           8:16   0   10G  0 disk
└─sdb1                        8:17   0    5G  0 part
sdc                           8:32   0   10G  0 disk
└─sdc1                        8:33   0    5G  0 part

四。配置多路径(客户端)
1.安装
# yum -y install device-mapper-multipath
2.生成配置文件
# mpathconf --user_friendly_names n
3.查看wwid  (看多个路径是否是同一块存储设备看wwid是否一样)
# scsi_id --whitelisted --device=/dev/sdc
1IET     00010001
# scsi_id --whitelisted --device=/dev/sdb
1IET     00010001
4.修改配置文件
# vim /etc/multipath.conf

 25 defaults {
 26         user_friendly_names no
 27         getuid_callout          "lib/udev/scsi_id --whitelisted --device=/de    v/%n"
 28 }
 29
 30 multipaths {
 31        multipath {
 32          wwid    "1IET     00010001"                 【【这个粘贴复制上面的,注意空格多少】】
 33          alias    mpatha
 34 }
 35 }


5.启动服务
# service multipathd start;chkconfig multipathd on
6.测试
# ls /dev/mapper/
control  mpatha  mpathap1  VolGroup-lv_root  VolGroup-lv_swap

7.挂载查看  (可以看到)

# mount /dev/mapper/mpathap1  /var/lib/mysql/
# service mysqld start
# mysql -uroot

mysql> show databases;
+---------------------+
| Database            |
+---------------------+
| information_schema  |
| #mysql50#lost+found |
| mysql               |
| students            |
| test                |
+---------------------+


——————————————————————————————————————————————————————+++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

udev:动态管理设备文件的方法
一。编写UDEV规则
1.查看U盘在sys目录中的路径 (查看时要有这个盘才能查,可以直接做第三步)
#udevadm info --query=path --name=/dev/sdb1
/devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sdb/sdb1

2.查看U盘属性
#udevadm info --query=all --attribute-walk --path=/devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sdb/sdb1

3.编写规则
# vim /etc/udev/rules.d/101-udisk.rules
 SUBSYSTEMS=="usb", ACTION=="add", KERNEL=="sd[a-z]*", SYMLINK+="udisk%n"

4.验证
#udevadm trigger
#ll /dev/udisk*
插u盘
#ll /dev/udisk*
能识别硬盘
lrwxrwxrwx. 1 root root 3 3月  14 15:44 /dev/udisk -> sdb
lrwxrwxrwx. 1 root root 4 3月  14 15:44 /dev/udisk1 -> sdb1

5.识别自己的U盘(还能执行一个命令)
# vim /etc/udev/rules.d/102-udisk.rules
 SUBSYSTEMS=="usb",ACTION=="add",KERNEL=="sd[a-z]*",ATTRS{manufacturer}=="SanDisk",ATTRS{product}=="Cruzer Orbit",ATTRS{serial}=="4C530013    360711114312",SYMLINK+="myudisk%n",RUN+="/etc/init.d/httpd restart"
#service httpd stop
# service httpd status(已开启)
# ll /dev/myudisk*
lrwxrwxrwx. 1 root root 3 3月  14 19:32 /dev/myudisk -> sdd
lrwxrwxrwx. 1 root root 4 3月  14 19:32 /dev/myudisk1 -> sdd1

——————————————————————————————————————————————————————————————
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


本地文件系统 ext3/4


NFS网络文件系统,基于RPC(远程过程调用),NFS本身没有提供传输机制通过RPC实现,

nfs2049(端口) 的依赖包rpcbind 111(端口)

NFS:linux和unix之间网络文件共享 实时同步

一。配置vh01为服务器
1.创建共享目录

# mkdir -p /nfsroot/rodir

# cp /etc/passwd /nfsroot/rodir

2.安装
# yum -y install  nfs-utils
。。。。。
已安装:
  nfs-utils.x86_64 1:1.2.3-64.el6                                               

作为依赖被安装:
  keyutils.x86_64 0:1.4-5.el6           libevent.x86_64 0:1.4.13-4.el6          
  libgssglue.x86_64 0:0.1-11.el6        libtirpc.x86_64 0:0.2.1-10.el6          
  nfs-utils-lib.x86_64 0:1.1.5-11.el6   python-argparse.noarch 0:1.2.1-2.1.el6  
  rpcbind.x86_64 0:0.2.0-11.el6        

完毕!
3.修改配置文件
# vim /etc/exports
/nfsroot/rodir   192.168.4.0/24(ro,sync)

4.启动服务

# service rpcbind start; chkconfig rpcbind on

# service nfs start; chkconfig nfs on


5.验证:
# showmount -e 192.168.4.1    (showmount 192.168.4.1可以看到该服务器共享目录情况)
Export list for 192.168.4.1:
/nfsroot/rodir 192.168.4.0/24

6.客户端配置,查看共享文件

#yum install -y nfs-utils
#showmount -e 192.168.4.1
#mkdir /mnt/nfs_ro
#mount 192.168.4.1:/nfsroot/rodir /mnt/nfs_ro/
#ls /mnt/nfs_ro/

7.以读写模式输出(vh01)
#mkdir -m 777 /nfsroot/rwdir
#vim   /etc/exports
/nfsroot/rwdir   192.168.4.*(rw.sync)
#exportfs -rv 重新加载配置文件
8.客户端访问(vh02)
#mkdir /mnt/nfs_rw
#service rpcbind start; chkconfig rpcbind on
#mount 192.168.4.1:/nfsroot/rwdir /mnt/nfs_rw
#cp /etc/hosts  /mnt/nfs_rw/

9.额外选项(vh01)
{/nfsroot/rwdir   192.168.4.*(rw.sync,no_root_squash)}

no_root_squash:客户端写入到服务器共享中的文件属主属组保持是root
all_squash:客户端所有用户写入到共享中的文件属主属组都会变成nfsnobody

________________________________________________________________________________

本文出自 “12336621” 博客,请务必保留此出处http://12346621.blog.51cto.com/12336621/1906824

iscsi target存储技术-多路径 udev动态管理设备文件方法 nfs

标签:计算机系统   internet   网络技术   路由器   target   

原文地址:http://12346621.blog.51cto.com/12336621/1906824

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!