多路徑 (Multipath) 提供主機到儲存的多條物理路徑冗餘與負載平衡。本文記錄在 RHEL/CentOS 5/6 上安裝 device-mapper-multipath、編輯 /etc/multipath.conf、啟動服務並驗證 dm-X 裝置對應的完整步驟。
rpm -ivh device-mapper-1.02.67-2.el5.x86_64.rpm
rpm -ivh device-mapper-event-1.02.67-2.el5.x86_64.rpm
rpm -ivh device-mapper-multipath-0.4.7-48.el5.x86_64.rpm
# 或 yum install device-mapper-multipath
chkconfig --level 345 multipathd on
lsmod | grep dm_multipath
# 應顯示 dm_multipath, scsi_dh, dm_mod
defaults {
udev_dir /dev
polling_interval 10
selector "round-robin 0"
path_grouping_policy multibus
getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
path_checker readsector0
rr_min_io 100
max_fds 8192
rr_weight priorities
failback immediate
no_path_retry fail
user_friendly_names yes
}
blacklist {
wwid 26353900f02796769
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
devnode "^hd[a-z]"
}
# 註解掉預設黑名單全部裝置
# blacklist {
# devnode "*"
# }
modprobe dm-multipath
multipath -F # 清除現有映射
multipath -v2 # 詳細掃描
service multipathd restart
multipath -ll # 列出多路徑裝置
multipath -ll
mpath1 (3600d02310000011b16a5d57c6a1bd99a) dm-0 TOUOU,NetStor_iSUM510
[size=3.3T][features=0][hwhandler=0][rw]
\_ round-robin 0 [prio=2][enabled]
\_ 1:0:0:0 sdb 8:16 [active][ready]
\_ 1:0:1:0 sdd 8:48 [active][ready]
mpath2 (3600d02310000011b76128b9c63138cf4) dm-1 ...
\_ 1:0:0:1 sdc 8:32 [active][ready]
\_ 1:0:1:1 sde 8:64 [active][ready]
dm-0 對應 mpath1 (由 sdb、sdd 兩條路徑組成)dm-1 對應 mpath2 (由 sdc、sde 組成)fdisk -l 可見 /dev/dm-0, /dev/dm-1 為多路徑後呈現的單一邏輯裝置。於 /dev/mapper/mpathX 或 /dev/dm-X 上建立分區、格式化、掛載,即可享有路徑冗餘與負載平衡。
