在Linux和AIX平台都有一部分存储产品使用操作系统自带的多路径软件,包括最常见的HP和IBM的部分存储产品,在Linux自带的多路径软件叫做multipath,这篇文章以IBM N系列存储在Linux平台的使用为例,讨论Linux平台multipath的使用。
1.确保安装以下的包:
device-mapper
device-mapper-multipath
2.编辑配置文件/etc/multipath.conf
[root@rac01 ~]# vi /etc/multipath.conf
defaults
{
user_friendly_names yes
max_fds max
queue_without_daemon no
flush_on_last_del yes
}
## Blacklist non-SAN devices
#sample:
#devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
#devnode "^hd[a-z]"
#devnode "^cciss!c[0-9]d[0-9]*[p[0-9]*]"
blacklist
{
wwid 3600605b002b6b890163d47661e8d4fbe
}
# FCP configuration, for a NetApp FAS3xxx / IBM Nxx00
# Vendor is "NETAPP ", spaces are important
# Product is "LUN", though "*" will do
devices
{
device
{
vendor "NETAPP"
product "LUN"
getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
prio_callout "/sbin/mpath_prio_ontap /dev/%n"
features "1 queue_if_no_path"
hardware_handler "0"
path_grouping_policy group_by_prio
failback immediate
rr_weight uniform
rr_min_io 128
path_checker directio
}
}
#下面的注释配置不是必须的,配置之后可以固定系统设备的名称,这在服务器重启设备文件对应的磁盘设备发生变化的情况下使用。
#multipaths
#{
# multipath {
# wwid 360a9800065344e6f465a6d5773745558
# alias mocr1
# }
# multipath {
# wwid 360a9800065344e6e536f6d586d306630
# alias mocr2
# }
#}
3.启动multipathd服务,及设置其自动启动。
执行以下的命令:
#service multipathd restart
#chkconfig --level 345 multipathd on
#chkconfig --list | grep multipathd
4.检查multipath聚合后的设备名,以及设备对应的链路情况。
[root@rac2 ~]# multipath -ll
mpath2 (360a9800065344e6f465a6d5773747545) dm-3 NETAPP,LUN
size=2.0G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
|- 1:0:0:5 sdf 8:80 active ready running
`- 2:0:0:5 sdp 8:240 active ready running
mpath1 (360a9800065344e6f465a6d5773746878) dm-1 NETAPP,LUN
size=2.0G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
|- 1:0:0:3 sdd 8:48 active ready running
`- 2:0:0:3 sdn 8:208 active ready running
mpath0 (360a9800065344e6f465a6d5773745558) dm-0 NETAPP,LUN
size=2.0G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
|- 1:0:0:1 sdb 8:16 active ready running
`- 2:0:0:1 sdl 8:176 active ready running
mpath9 (360a9800065344e6e536f6d586d33666e) dm-9 NETAPP,LUN
size=3.9T features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
|- 1:0:0:10 sdk 8:160 active ready running
`- 2:0:0:10 sdu 65:64 active ready running
mpath8 (360a9800065344e6e536f6d586d32766b) dm-7 NETAPP,LUN
size=150G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
|- 1:0:0:8 sdi 8:128 active ready running
`- 2:0:0:8 sds 65:32 active ready running
mpath7 (360a9800065344e6e536f6d586d313851) dm-6 NETAPP,LUN
size=2.0G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
|- 1:0:0:6 sdg 8:96 active ready running
`- 2:0:0:6 sdq 65:0 active ready running
mpath6 (360a9800065344e6e536f6d586d307464) dm-4 NETAPP,LUN
si