很多存储厂商都有自己的多路径软件,像EMC的powerpath、华为有UltraPath,不过考虑到通用性和兼容性可能还是系统自带的multipath使用的是最多的。multipath除了兼容性比较好,配置也比较简单。
multipath.conf的配置分为:defaults、blacklist、blacklist_exceptions、devices、multipaths几部分。defaults一般做全局性的配置,比如轮询策略、使用名称、权重策略等;blacklist一般做屏蔽的设备列表(不在多路径的输出中显示);blacklist_exceptions用于配置屏蔽例外的,一般也不做配置;devices项是针对不对品牌和型号的设备进行的调优配置,需要注意blacklist项里有也device配置,不过是针对屏蔽策略的;multipaths是最关键部分,一般只配置别名、wwid。
一、multipath.conf配置
multipath.conf的默认配置一般如下:
- defaults {
- polling_interval 10
- # alias_prefix "mpath"
- user_friendly_names no
- }
- blacklist {
- # black local disk
- wwid 3600508b1001c27907eca5c5df3253752
- wwid 3600508b1001caad1587d7d457eaf7045
- devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
- devnode "^hd[a-z]"
- devnode "^cciss"
- # device {
- # vendor "IBM"
- # product "S/390.*"
- # }
- }
- #devices {
- # device {
- # vendor "(COMPAQ|HP)"
- # product "(MSA|HSV)1.0.*"
- # path_grouping_policy "group_by_prio"
- # path_checker "hp_sw"
- # features "1 queue_if_no_path"
- # hardware_handler "1 hp_sw"
- # prio "hp_sw"
- # rr_weight "uniform"
- # no_path_retry 12
- # rr_min_io 100
- # }
- # device {
- # vendor "SUN"
- # product "SUN_6180"
- # path_grouping_policy "group_by_prio"
- # path_checker "rdac"
- # features "0"
- # hardware_handler "1 rdac"
- # prio "rdac"
- # failback "immediate"
- # rr_weight "uniform"
- # no_path_retry "queue"
- # rr_min_io 1000
- # rr_min_io_rq 1
- # }
- #}
- multipaths {
- multipath {
- wwid 360060e80059559000000955900000400
- alias mpatha
- }
- multipath {
- wwid 360060e80059559000000955900000401
- alias mpathb
- }
- }
二、重载多路径配置
可以使用如下命令进行重载配置:
- # multipath -F
- # multipath -v4
- • Or
- # service multipathd reload
- # systemctl reload multipathd
执行完成后,可以通过如下命令查看多路径状态:
- [root@node11 ~]# multipath -ll
- mpatha (36001405a9666f29ccff4826813817c21) dm-3 LIO-ORG ,vdb
- size=5.0G features='0' hwhandler='0' wp=rw
- |-+- policy='service-time 0' prio=1 status=active #在线且正在使用的链路
- | `- 2:0:0:0 sdb 8:16 active ready running
- `-+- policy='service-time 0' prio=1 status=enabled #在线备用链路
- `- 3:0:0:0 sda 8:0 active ready running
三、负责均衡配置
默认情况下,在默认配置中不匹配的型号,都使用的是主备模式,像一些国外比较知名的存储可以在defults配置中找到其默认是有策略的,所以可能查看到的是多主负载均衡模式。多路径负载均衡算法path_selector 有如下这些:
负载均衡配置既可以在全局中配置,也可以在单条链路中配置,这里以单条链路配置为例,如下:
重启后再查看链路情况如下:
- [root@node11 ~]# multipath -ll
- data_disk (36001405a9666f29ccff4826813817c21) dm-3 LIO-ORG ,vdb
- size=5.0G features='1 queue_if_no_path' hwhandler='0' wp=rw
- `-+- policy='round-robin 0' prio=1 status=active
- |- 4:0:0:0 sda 8:0 active ready running
- `- 5:0:0:0 sdb 8:16 active ready running