实验目的:通过设备映射器多路径(DM-Multipath)可让您将服务器节点和存储阵列间的多个 I/O 路径配置为
一个单一设备;来实现线路的冗余,当其中一条线路中断后,不会影响应用
实验环境:ISCSI共享存储,mysql服务器,两个交换机
实验架构:
eth3:20.2.2.2
[ mysql ]
eth0:10.1.1.195 eth1:172.20.1.195
------------| |-----------
| |
| |
[ switch ] [ switch ]
| |
| |
-----------| |-----------
[ storage ]
iscsi
eth0: 10.1.1.143 eth1:172.20.1.143
实验步骤 :
【storage】:
eth0:10.1.1.143/24
eth1:172.20.1.143/24
iscsi共享存储配置方法参考iscsi共享存储配置章节
共享的磁盘为/dev/sdb,共享名是share
【mysql】:
mysql编译配置略----->datadir=/database
连接登录共享存储:
iscsiadm -m discovery -t sendtargets -p 10.1.1.143
iscsiadm -m discovery -t sendtargets -p 172.20.1.143
iscsiadm -m node -T iqn.2011-11.com.cluster.station190:share -p 10.1.1.143
iscsiadm -m node -T iqn.2011-11.com.cluster.station190:share -p 172.20.1.143
iscsiadm -m node -T iqn.2011-11.com.cluster.station190:share -p 10.1.1.143 -l
iscsiadm -m node -T iqn.2011-11.com.cluster.station190:share -p 172.20.1.143 -l
结果会产生两个大小规格都相同的共享磁盘
在myql服务器端配置设备映射多路径:
yum install -y device-mapper* mysql*
cp /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf /etc/
vi /etc/multipath.conf配置
rhel5:
rhel5 -> 该段描述为屏蔽所有设备,
#blacklist {
# devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
# devnode "^hd[a-z]"
#}
defaults {
udev_dir /dev
polling_interval 10
selector "round-robin 0"
path_grouping_policy fialover
getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
prio_callout /bin/true
path_checker readsector0
rr_min_io 100
max_fds 8192
rr_weight priorities
failback immediate
no_path_retry fail
user_friendly_names yes
}
rhel6:
defaults {
udev_dir /dev
polling_interval 10
path_selector "round-robin 0"
path_grouping_policy multibus
getuid_callout "/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/%n"
prio const
path_checker readsector0
rr_min_io 100
max_fds 8192
rr_weight priorities
failback immediate
no_path_retry fail
user_friendly_names yes
}
注释:
--whitelisted --replace-whitespace 此参数可以将scsi_id号前面的空格去掉
multipath -v2 -d ---->检查配置文件/etc/multipath.conf是否有语法错误
启动multipathd服务:
service multipathd start
[root@localhost ~]# ls /dev/mapper/
control mpathe mpathf mpathfp1
格式化
mkfs -t ext3 /dev/mapper/mpathfp1
mount /dev/mapper/mpathfp1 /database
---------------------------------------------------------------------------------------
测试:
可以切断其中一条线,看mysql服务是否能够正常运行使用