系统环境RedHat6.5 selinux and ipitables disabled
所需主机: 网卡 所装软件
vm5 eth0:172.25.254.5 scsi-target-utils
eth1:172.25.254.15
vm6 eth0:172.25.254.6 iscsi-initiator-utils
device-mapper-multipath
1.给主机vm5添加一块网卡,配置其IP,并添加一块硬盘通过iscsi服务用作vm6主机的远程存储
[root@vm5 ~]# yum install scsi-target-utils -y
[root@vm5 ~]# vim /etc/tgt/targets.conf
38 <target iqn.2015-07.com.example:server.target1>
39 backing-store /dev/vda
40 initiator-address 172.25.254.6
41 </target>
42
[root@vm5 ~]# /etc/init.d/tgtd start
Starting SCSI target daemon: [ OK ]
2.切换到vm6主机,iscsi配置
[root@vm6 ~]# yum install Iscsi-initiator-utils device-mapper-multipath -y
[root@vm6 ~]# iscsiadm -m discovery -t st -p 172.25.254.5
[root@vm6 ~]# iscsiadm -m node -l
[root@vm6 ~]# iscsiadm -m discovery -t st -p 172.25.254.15
[root@vm6 ~]# iscsiadm -m node -l
3.DM 配置
配置文件模板:
#/usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf
[root@vm6 ~]# mpathconf --enable #生成主配置文件,并且会自动启用 multipathd.
[root@vm6 ~]# vim /etc/multipath.conf
blacklist {
devnode "vda" #禁止使用/dev/vda 设备
}
defaults {
user_friendly_names yes
udev_dir /dev #生成 udev 设备节点的目录,默认值为 /dev。
path_grouping_policy failover #failover 为主备模式; multibus 为负载均衡模式
failback immediate #指定立即恢复到包含活跃路径的最高级别路径族群
no_path_retry fail #这个属性的数字值指定系统在禁用队列前应该试图使用失败的路径的次数.fail 值表明立即失败,无需排队。
}
[root@vm6 ~]# /etc/init.d/multipathd start
[root@vm6 ~]# cat /proc/partitions
major minor #blocks name
8 0 8388608 sda
8 1 512000 sda1
8 2 7875584 sda2
253 0 7036928 dm-0
253 1 835584 dm-1
8 16 8388608 sdb
8 32 8388608 sdc
253 2 8388608 dm-2
[root@vm6 ~]# multipath -l
mpathb (1IET 00010001) dm-2 IET,VIRTUAL-DISK
size=8.0G features='0' hwhandler='0' wp=rw
|-+- policy='round-robin 0' prio=0 status=active
| `- 2:0:0:1 sdb 8:16 active undef running
`-+- policy='round-robin 0' prio=0 status=enabled
`- 3:0:0:1 sdc 8:32 active undef running
可以看到 sdb 和 sdc 两条链路复合成一条链路 mpatha,此为 Failover(主备)情况,当你 mpatha 设备读写时,处于 active 状态的 sdb 链路有数据流,而处于 enabled 状态的sdc 链路无数据流;当 sdb 链路出现问题时,才会切换到 sdc 链路上。
4.测试
安装 sysstat 监控个通道流量
[root@vm6 ~]# yum install -y sysstat
[root@vm6 ~]# mount /dev/mapper/mpathb /mnt
[root@vm6 ~]# cd /mnt/
[root@vm6 mnt]# dd if=/dev/zero of=bigfile bs=1M count=1000
[root@vm6 mnt]# iostat -k 2
如果成功你会发现,当断开链路 sdb 时,等待片刻,会自动切换到链路 sdc 上,并不会造成写
入失败。
手动切换模式:(如果需要永久生效直接修改 multipath.conf,并重新 reload)
[root@vm6 mnt]# multipath -F # 刷新所有的多路径设备映射
[root@vm6 mnt]# multipath -p multibus -v0 # 切换成负载均衡模式
[root@vm6 mnt]# multipath -l
mpatha (1IET
00010001) dm-0 IET,VIRTUAL-DISK
size=2.0G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
|- 2:0:0:1 sdb 8:0 active ready running
`- 3:0:0:1 sdc 8:16 active ready running
如果成功你会发现它会根据轮叫方式调度链路 sdb 和 sdc,从而实现负载均衡。
--------------------------------------分割线--------------------------------------
CentOS 6.4挂载iSCSI网络存储
基于RHCS+iSCSI+CLVM实现Web服务的共享存储集群架构
Citrix XenServer中安装CentOS 6.0并配置iSCSI服务
--------------------------------------分割线--------------------------------------