主机名 IP
master

eth0: 192.168.30.130(NAT)

eth1: 192.168.17.130(VMNet4)

node-1

eth0: 192.168.30.131(NAT)

eth1: 192.168.17.131(VMNet4)

安装过程省略

master上的配置

[root@master ~]# vim /etc/tgt/targets.conf
<target iqn.-.cn.sishen.www:target_san1>
backing-store /dev/sdb1
initiator-address 192.168.30.131
initiator-address 192.168.17.131
vendor_id sishen
product_id target-
</target>
[root@master ~]# /etc/init.d/tgtd restart
Stopping SCSI target daemon: initiators still connected [FAILED]
Starting SCSI target daemon: [ OK ]
[root@master ~]# tgt
tgtadm tgt-admin tgtd tgtimg tgt-setup-lun
[root@master ~]# tgt-admin --show
Target : iqn.-.cn.sishen.www:target_san1
System information:
Driver: iscsi
State: ready
I_T nexus information:
LUN information:
LUN:
Type: controller
SCSI ID: IET
SCSI SN: beaf10
Size: MB, Block size:
Online: Yes
Removable media: No
Prevent removal: No
Readonly: No
Backing store type: null
Backing store path: None
Backing store flags:
Account information:
ACL information:
192.168.30.131
192.168.17.131

在客户端测试通讯

[root@node- ~]# ping -c  192.168.30.130
PING 192.168.30.130 (192.168.30.130) () bytes of data.
bytes from 192.168.30.130: icmp_seq= ttl= time=0.183 ms
bytes from 192.168.30.130: icmp_seq= ttl= time=0.267 ms --- 192.168.30.130 ping statistics ---
packets transmitted, received, % packet loss, time 1000ms
rtt min/avg/max/mdev = 0.183/0.225/0.267/0.042 ms
[root@node- ~]# ping -c 192.168.17.130
PING 192.168.17.130 (192.168.17.130) () bytes of data.
bytes from 192.168.17.130: icmp_seq= ttl= time=0.350 ms
bytes from 192.168.17.130: icmp_seq= ttl= time=0.154 ms --- 192.168.17.130 ping statistics ---
packets transmitted, received, % packet loss, time 1000ms
rtt min/avg/max/mdev = 0.154/0.252/0.350/0.098 ms

配置线路1

[root@node- ~]# iscsiadm -m discovery -t sendtargets -p 192.168.30.130:
Starting iscsid: [ OK ]
192.168.30.130:, iqn.-.cn.sishen.www:target_san1
[root@node- ~]# /etc/init.d/iscsi restart
Stopping iscsi: [ OK ]
Starting iscsi: [ OK ]
[root@node- ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 : .6G rom /media/cdrom
sda : 20G disk
├─sda1 : 200M part /boot
├─sda2 : 2G part [SWAP]
└─sda3 : .8G part
└─vg_master-LogVol00 (dm-) : .8G lvm /
sdb : 5G disk
└─sdb1 : 5G part

配置线路2

[root@node- ~]# iscsiadm -m discovery -t sendtargets -p 192.168.17.130:
192.168.17.130:, iqn.-.cn.sishen.www:target_san1
[root@node- ~]# tree /var/lib/iscsi/
/var/lib/iscsi/
├── ifaces
├── isns
├── nodes
│   └── iqn.-.cn.sishen.www:target_san1
│   ├── 192.168.17.130,,
│   │   └── default
│   └── 192.168.30.130,,
│   └── default
├── send_targets
│   ├── 192.168.17.130,
│   │   ├── iqn.-.cn.sishen.www:target_san1,192.168.17.130,,,default -> /var/lib/iscsi/nodes/iqn.-.cn.sishen.www:target_san1/192.168.17.130,,
│   │   └── st_config
│   └── 192.168.30.130,
│   ├── iqn.-.cn.sishen.www:target_san1,192.168.30.130,,,default -> /var/lib/iscsi/nodes/iqn.-.cn.sishen.www:target_san1/192.168.30.130,,
│   └── st_config
├── slp
└── static directories, files

客户端重启iscsi服务

[root@node- ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 : .6G rom /media/cdrom
sda : 20G disk
├─sda1 : 200M part /boot
├─sda2 : 2G part [SWAP]
└─sda3 : .8G part
└─vg_master-LogVol00 (dm-) : .8G lvm /
sdc : 5G disk
└─sdc1 : 5G part
sdb : 5G disk
└─sdb1 : 5G part

挂在数据测试

[root@node- ~]# mount /dev/sdb1 /opt/
[root@node- ~]# df -h /opt/
Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 .0G 139M .6G % /opt
[root@node- ~]# ll /dev/sdb1
brw-rw---- root disk , Jun : /dev/sdb1
[root@node- ~]# ll /dev/sdc1
brw-rw---- root disk , Jun : /dev/sdc1

配置多路径实现冗余

[root@node- ~]# yum install -y device-mapper-multipath
[root@node- ~]# cp /usr/share/doc/device-mapper-multipath-0.4./multipath.conf /etc/
[root@node- ~]# /etc/init.d/multipathd restart
ux_socket_connect: No such file or directory
Stopping multipathd daemon: [FAILED]
Starting multipathd daemon: [ OK ]
[root@node- ~]# multipath -ll #没有反应,卸载/opt/下面的挂载重启multipath服务
[root@node- ~]# umount /opt/
[root@node- ~]# /etc/init.d/multipathd restart
ok
Stopping multipathd daemon: [ OK ]
Starting multipathd daemon: [ OK ]
[root@node- ~]# multipath -ll
mpatha (1IET ) dm- sishen,target-
size=.0G features='' hwhandler='' wp=rw
|-+- policy='round-robin 0' prio= status=active
| `- ::: sdc : active ready running
`-+- policy='round-robin 0' prio= status=enabled
`- ::: sdb : active ready running
[root@node- ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_master-LogVol00 18G .1G 13G % /
tmpfs .0G 72K .0G % /dev/shm
/dev/sda1 194M 35M 150M % /boot
/dev/sr0 .6G .6G % /media/cdrom
/dev/mapper/mpathap1 .0G 139M .6G % /opt
[root@node- ~]# ll /dev/mapper/mpatha*
lrwxrwxrwx root root Jun : /dev/mapper/mpatha -> ../dm-
lrwxrwxrwx root root Jun : /dev/mapper/mpathap1 -> ../dm-

配置负载均衡

[root@node- ~]# multipath -ll
mpatha (1IET ) dm- sishen,target-01 #远程存储设备的产品信息 dm-0 xuegod #厂商,target1 #产品ID
size=.0G features='' hwhandler='' wp=rw
|-+- policy='round-robin 0' prio= status=active
| `- ::: sdc : active ready running
`-+- policy='round-robin 0' prio= status=enabled
`- ::: sdb : active ready running
[root@node- ~]# cp /etc/multipath.conf{,.bak}
[root@node- ~]# vim /etc/multipath.conf
## Use user friendly names, instead of using WWIDs as names. #注释掉以下三行
#defaults {
# user_friendly_names yes
#}
multipaths {
multipath {
wwid "1IET 00010001" #
alias data-back
path_grouping_policy multibus
path_checker readsector0
path_selector "round-robin 0"
failback manual
rr_weight priorities
no_path_retry
}
}
[root@node- ~]# /etc/init.d/multipathd restart
ok
Stopping multipathd daemon: [ OK ]
Starting multipathd daemon: [ OK ]
[root@node- ~]# /etc/init.d/iscsi restart
Stopping iscsi: [ OK ]
Starting iscsi: [ OK ]
[root@node- ~]# multipath -ll
Jun :: | multipath.conf line , invalid keyword: path_checker
data-back (1IET ) dm- sishen,target-
size=.0G features='1 queue_if_no_path' hwhandler='' wp=rw
`-+- policy='round-robin 0' prio= status=active
|- ::: sdb : active ready running
`- ::: sdc : active ready running
[root@node- ~]# vim /etc/multipath.conf
## Use user friendly names, instead of using WWIDs as names.,
#defaults {
# user_friendly_names yes
#}
#在62行修改或添加如下内容
multipaths {
multipath {
wwid "1IET 00010001"
alias data-back
path_grouping_policy multibus
path_selector "round-robin 0"
failback manual
rr_weight priorities
no_path_retry
}
}

重启服务

[root@node- ~]# /etc/init.d/multipathd restart
ok
Stopping multipathd daemon: [ OK ]
Starting multipathd daemon: [ OK ]
[root@node- ~]# /etc/init.d/iscsi restart
Stopping iscsi: [ OK ]
Starting iscsi: [ OK ]
[root@node- ~]# multipath -ll
datashare (1IET ) dm- sishen,target-
size=.0G features='1 queue_if_no_path' hwhandler='' wp=rw
`-+- policy='round-robin 0' prio= status=active
|- ::: sdb : active ready running
`- ::: sdc : active ready running
[root@node- ~]# ll /dev/mapper/datashare*
lrwxrwxrwx root root Jun : /dev/mapper/datashare -> ../dm-
lrwxrwxrwx root root Jun : /dev/mapper/datasharep1 -> ../dm-

挂载测试

[root@node- ~]# mount /dev/mapper/datashare
datashare datasharep1
[root@node- ~]# mount /dev/mapper/datasharep1 /opt/
[root@node- ~]# df -h /opt/
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/datasharep1 .0G 139M .6G % /opt
[root@node- ~]# cp install.log /opt/
[root@node- ~]# ll /opt/
total
-rw-r--r-- root root Jun : install.log
drwx------ root root Jun : lost+found

模拟故障测试冗余

[root@master ~]# ifdown eth1 #手动停掉eth1
Device state: (disconnected)
[root@node- ~]# multipath -ll #这里大约需要60秒来识别,所以会卡在这里,等待即可
datashare (1IET ) dm- sishen,target-
size=.0G features='1 queue_if_no_path' hwhandler='' wp=rw
`-+- policy='round-robin 0' prio= status=active
|- ::: sdb : active faulty running
`- ::: sdc : active ready running
在服务端
[root@master ~]# ifdown eth1
Device state: (disconnected)
在客户端
[root@node- ~]# multipath -ll #回车之后等待大约60秒
datashare (1IET ) dm- sishen,target-
size=.0G features='1 queue_if_no_path' hwhandler='' wp=rw
`-+- policy='round-robin 0' prio= status=active
|- ::: sdb : failed faulty running
`- ::: sdc : active ready running #这里也要等待大约60秒
测试数据写入
[root@node- ~]# cp /etc/passwd /opt/
[root@node- ~]# ll /opt/
total
-rw-r--r-- root root Jun : install.log
drwx------ root root Jun : lost+found
-rw-r--r-- root root Jun : passwd
在服务端启动eth1
[root@master ~]# ifup eth1
Active connection state: activated
Active connection path: /org/freedesktop/NetworkManager/ActiveConnection/
在客户端查看负载均衡
[root@node- ~]# multipath -ll #立刻就会显示结果
datashare (1IET ) dm- sishen,target-
size=.0G features='1 queue_if_no_path' hwhandler='' wp=rw
`-+- policy='round-robin 0' prio= status=active
|- ::: sdb : active ready running
`- ::: sdc : active ready running
#这里说明负载均衡正常

RHEL 6.5----iscsi多路径存储的更多相关文章

  1. DM 多路径存储

    DM多路径存储 系统环境:RHEL5.4 small install  selinux and iptables disabled主机规划:主机网卡软件station133eth0: 192.168. ...

  2. ISCSI多路径配置(二)

    搭建iscsi存储系统(一) (1).配置ISCSI多路径实现磁盘挂载高可用 如果存储服务器到交换机只有一条线路的时候,那么一条线路出现故障,整个就没法使用了,所以多线路可以解决这个问题,避免单点故障 ...

  3. iscsi序列二、iscsi多路径配置方式

    一.ISCSI多路径应用 如果存储服务器到交换机只有一条线路的时候,那么一条线路出线故障,整个就没法使用了,所以多线路可以解决这个问题,避免单点故障 如上图,如果SAN服务器与客户端交换机只有一条线路 ...

  4. iscsi: 多路径

    作者:吴香伟 发表于 2014/10/8 版权声明:可以任意转载,转载时务必以超链接形式标明文章原始出处和作者信息以及版权声明 上图(a)给出了计算机的总线结构,SCSI磁盘挂在SCSI卡上,SCSI ...

  5. 配置iSCSI多路径

    1.添加MPIO功能,完成后打开MPIO进行配置,添加对iSCSI多路径的支持,如下图表示已经添加完成后灰色不可选,再打开 MPIO设备 标签页可以看到已安装完成的MPIO所支持的设备:

  6. photoshop:把路径存储为形状

    这个其实跟定义画笔步骤是一样的 路径存储为自定义形状 1.用路径选择工具(快捷键A),选中路径 2.菜单:编辑->定义自定形状 3.选择自定义形状工具(快捷键U),可以看到刚定义的形状 把当前形 ...

  7. 配置iSCSI部署网络存储

    iSCSI( Internet Small Computer System Interface 互联网小型计算机系统接口)是由IBM 下属的两大研发机构一一加利福尼亚AImaden和以色列Haifa研 ...

  8. iscsi 挂载网络存储及存储访问

    http://blog.sina.com.cn/s/blog_408764940101ghzi.html 一.Ess3016x设置 登陆admin 密码 888888888888 1.安装硬盘,查看硬 ...

  9. Folyd + 路径存储

    一.Folyd 算法原理 如果 AB + AC < BC 那么, BC最短路就要经过 A. 在算法进行过程中,应该是 ,B-A 有很多路径,B 代表这些路径权值之和,A-C也有很多路径,C是这些 ...

随机推荐

  1. yum lock

    状态 :睡眠中,进程ID:18439Another app is currently holding the yum lock; waiting for it to exit... 另一个应用程序是: ...

  2. inheritance super overrides printMethod in Superclass override重写父方法

    Core Java Web Page http://horstmann.com/corejava.html [ inheritance ] package v1ch05.inheritance; im ...

  3. TGraphiControl响应WM_MOUSEMOVE的过程(以TPaintBox为例)good

    起因:非Windows句柄控件也可以处理鼠标消息,我想知道是怎么处理的:并且想知道处理消息的顺序(比如TPaintBox和TForm都响应WM_Mouse消息该怎么办)界面:把TPaintBox放到T ...

  4. 20170225-第三件事:FR0002测试

    第三件事:FR0002测试             MATNR WERKS BERID 800000217 I010               问题,上for all entrys…       1 ...

  5. /dev下添加设备节点的方法步骤(通过device_create)

    将自己开发的内核代码加入到Linux内核中,需要3个步骤: 1.确定把自己开发代码放入到内核合适的位置 将demo_chardev.c文件拷贝到.../drivers/char/目录下. demo_c ...

  6. dict built-in function

    映射类型:字典 字典是无序的,映射类型对象里哈希值和被指向的对象是一对多的关系,字典中的键必须是可哈希的,所有不可变的类型都是可哈希的,另外针对数字键来说,值相等的两个数字是相同的键,例如1和1.0: ...

  7. Objective-C 中Socket常用转换机制(NSData,NSString,int,Uint8,Uint16,Uint32,byte[])

    最近项目中要用到socket通讯,由于涉及到组包问题,所以需要数据类型之间的来回转换,现在分享出来 如果想要请教Socket的问题请留言,我会随时回答的 1. int类型转16进制hexstring ...

  8. Spring3 Schedule Task之注解实现 (两次起动Schedule Task 的解决方案)

    Spring3 Schedule Task之注解实现 (两次起步Schedule Task 的解决方案)Spring3 Schedule Task之注解实现 (两次启动Schedule Task 的解 ...

  9. MyBatis学习 之 四、动态SQL语句

    有些时候,sql语句where条件中,需要一些安全判断,例如按某一条件查询时如果传入的参数是空,此时查询出的结果很可能是空的,也许我们需要参数为空时,是查出全部的信息.使用Oracle的序列.mysq ...

  10. cocos2dx 游戏开发中常用场景切换方式以及特性

    runWithScene(CCScene* scene):启动游戏,并运行scene 场景.这个方法在主程序启动时第一次启动主场景时调用.   replaceScene(CCScene* scene) ...