multipath多路径配置

很多存储厂商都有自己的多路径软件,像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 有如下这些:

  1. round-robin 0      #轮询              
  2. queue-length 0     #最少连接                         
  3. service-time 0     #根据未完成的IO数量选择下一组IO的路径

负载均衡配置既可以在全局中配置,也可以在单条链路中配置,这里以单条链路配置为例,如下:

multipaths {
multipath {
wwid 36001405a9666f29ccff4826813817c21 #通过scsi_id获得
alias data_disk #磁盘别名
path_grouping_policy multibus
path_selector "round-robin 0" #负载均衡模式
failback manual
rr_weight priorities
no_path_retry 5
}
}

重启后再查看链路情况如下:

  1. [root@node11 ~]# multipath -ll
  2. data_disk (36001405a9666f29ccff4826813817c21) dm-3 LIO-ORG ,vdb
  3. size=5.0G features='1 queue_if_no_path' hwhandler='0' wp=rw
  4. `-+- policy='round-robin 0' prio=1 status=active
  5. |- 4:0:0:0 sda 8:0 active ready running
  6. `- 5:0:0:0 sdb 8:16 active ready running
发布了59 篇原创文章 · 获赞 69 · 访问量 27万+

猜你喜欢

转载自blog.csdn.net/pansaky/article/details/105208598