dm设备映射器多路经存储

多路径:

多路径是用于访问共享存储的,可防止单点故障导致服务不可用。

设备映射多路径允许节点通过多条路径访问存储,多路径支持FCiSCSIGNBD等存储架构。

1. 软件安装
station133:
yum install scsi-target-utils -y
station28:
yum install Iscsi-initiator-utils device-mapper device-mapper-multipath -y

2. ISCSI 配置
station133:
service tgtd start
tgtadm --lld iscsi --mode target --op new --tid 1 -T storage1
tgtadm --lld iscsi --mode logicalunit --op new --tid 1 --lun 1 -b /dev/xvdb1
tgtadm --lld iscsi --mode target --op bind --tid 1 -I ALL
station28:
service iscsid start
iscsiadm -m discovery -t st -p 192.168.0.133
iscsiadm -m node -T storage1 -p 192.168.0.133 -l
iscsiadm -m discovery -t st -p 192.168.0.132
iscsiadm -m node -T storage1 -p 192.168.0.132 -l

3. DM 配置
vi /etc/multipath.conf
blacklist {
devnode "sda"
}
defaults {
user_friendly_names
udev_dir
path_grouping_policy
failback
no_path_retry
}
#禁止使用/dev/sda 设备
yes
/dev
failover
immediate
fail
#failover 为主备模式; multibus 为负载均衡模式
#multipath.conf 的配置参数、默认值,可参考:
#/usr/share/doc/device-mapper-multipath-0.4.7/multipath.conf.annotated
service multipathd start


启动成功后,我们会在dev 目录下看到下面的目录:
/dev/mapper/mpathn 是multipath 虚拟出来的多路径设备,我们应该使用这个设.
/dev/mpath/mpathn 是udev 设备管理器创建的,实际上就是指向下面的dm-n 设备,仅为方便,不能用来挂载.
/dev/dm-n
是软件内部自身使用的,不能被软件以外使用,不可挂载.


multipath -ll
mpath0 (S_beaf11) dm-2 IET,VIRTUAL-DISK
[size=1.9G][features=0][hwhandler=0][rw]
\_ round-robin 0 [prio=1][active]
\_ 3:0:0:1 sdb 8:16 [active][ready]
\_ round-robin 0 [prio=1][enabled]
\_ 4:0:0:1 sdc 8:32 [active][ready]

注:可以看到sdb 和sdc 两条链路复合成一条链路mpath0,此为Failover(主备)情况,当你对mpath0 设
备读写时,处于active 状态的sdb 链路有数据流,而处于enabled 状态的sdc 链路无数据流;当sdb 链路出
现问题时,才会切换到sdc 链路上。


4. 测试
用dd 往磁盘读写数据,然后用iostat 观察各通道的流量和状态,以判断Failover 或负载均衡方式是否正常:
dd if=/dev/zero of=/dev/mapper/mpath0
iostat -k 2
multipath -p multibus -v0
#切换成负载均衡模式
multipath -ll
mpath0 (S_beaf11) dm-2 IET,VIRTUAL-DISK
[size=1.9G][features=0][hwhandler=0][rw]
\_ round-robin 0 [prio=2][enabled]
\_ 3:0:0:1 sdb 8:16 [active][ready]
\_ 4:0:0:1 sdc 8:32 [active][ready]

你可能感兴趣的:(dm设备映射器多路经存储)