Linux操作系统配置多路径通用教程(适用于(RHEL,CentOS,SuSE等)
猫先生 • 2019 年 06 月 01 日
一,安装软件
1,执行以下命令,检查当前系统中是否已经安装多路径工具:rpm -qa | grep device-mapper-multipath
SuSE 系统 multipath 相关 rpm 包是 multipath-tools-*.rpm,检查安装包时使用如下命令:rpm -qa | grep multipath
2,如果配置好了yum执行下面的命令安装,没有yum看第3步yum install -y device-mapper device-mapper-multipath
3,从系统安装盘的/Packages 文件夹中拷出下面两个文件,执行命令安装,不同的linux发行版,多路径软件的版本号不同,rpm -ivh device-mapper-multipath-libs-0.4.9-80.el6.x86_64.rpm
rpm -ivh device-mapper-multipath-0.4.9-80.el6.x86_64.rpm
4,完成以上步骤后,需检查多路径工具是否已经安装成功。请执行以下命令:rpm -qa | grep device-mapper-multipath
SuSE 系统 multipath 相关 rpm 包是 multipath-tools-*.rpm,检查安装包时使用如下命令:rpm -qa | grep multipath
二,配置DM Multipath
逐步执行以下命令加载内核 device-mapper 模块,并启动 multipathd 服务。modprobe dm-multipath
modprobe dm-service-time
service multipathd start (RHEL6.x、CentOS6.x、SuSE)
systemctl start multipathd.service (RHEL7.x、CentOS7.x)
说明:在本博客的分类下,有介绍linux不用重启扫描磁盘的文章,有兴趣可以参考
三,获取多路径信息
1,执行下面命令生成多路径配置文件mpathconf --enable
2,删除当前没有使用的多路径multipath -F
3,格式化、检测、合并多路径multipath -v2
4,查看多路径状态multipath -ll
下面这段来自于网络,我写这个文档是根据自己的经验写,没有现场设备截图。[root@server /]# multipath -ll
mpathc (3600a0b80001ffaf20000297a583cfaea) dm-5 IBM ,1722-600
size=84G features='1 queue_if_no_path' hwhandler='1 rdac' wp=rw
|-+- policy='service-time 0' prio=6 status=active
| |- 1:0:1:2 sdg 8:96 active ready running
| `- 6:0:1:2 sdm 8:192 active ready running
`-+- policy='service-time 0' prio=1 status=enabled
|- 1:0:0:2 sdd 8:48 active ghost running
`- 6:0:0:2 sdj 8:144 active ghost running
mpathb (3600a0b80002109ed0000174c583c8ba5) dm-4 IBM ,1722-600
size=70G features='1 queue_if_no_path' hwhandler='1 rdac' wp=rw
|-+- policy='service-time 0' prio=6 status=active
| |- 1:0:0:1 sdc 8:32 active ready running
| `- 6:0:0:1 sdi 8:128 active ready running
`-+- policy='service-time 0' prio=1 status=enabled
|- 1:0:1:1 sdf 8:80 active ghost running
`- 6:0:1:1 sdl 8:176 active ghost running
mpatha (3600a0b80001ffaf200002978583cfabc) dm-3 IBM ,1722-600
size=50G features='1 queue_if_no_path' hwhandler='1 rdac' wp=rw
|-+- policy='service-time 0' prio=6 status=active
| |- 1:0:1:0 sde 8:64 active ready running
| `- 6:0:1:0 sdk 8:160 active ready running
此时记录mpath磁盘的wwid,下面要用到
四,配置多路径文件
1,创建multipath.confvi /etc/multipath.conf
编辑内容如下,这只是一个范本,大家根据自己的环境定义wwid和alias。blacklist{
devnode sda
}
defaults{
find_multipaths yes
user_friendly_names yes
failback immediate
path_selector "round-robin 0"
path_checker tur
path_grouping_policy multibus
prio alua
}
multipaths {
multipath {
wwid 3600c0ff00029769ea010bc5901000000
alias MBXT_OCR
multipath {
wwid 3600c0ff00029769ea310bc5901000000
alias MBXT_DATA1
}
multipath {
wwid 3600c0ff00029769ea410bc5901000000
alias MBXT_DATA2
multipath {
wwid 3600c0ff00029769ea410bc5901000000
alias MBXT_FRA
}
}
保存以后执行service multipathd restart (RHEL6.x、CentOS6.x、SuSE)
systemctl restart multipathd.service(RHEL7.x、CentOS7.x)
说明:
a,上面示例的wwid就是执行multipath ll之后记录的每个磁盘的id,根据自己的硬件环境编辑即可
b,alias 是友好别名,根据自己的使用环境定义即可
c,blacklist里的sda,不扫描本地磁盘,这里根据本地磁盘盘符来确定,该示例中假定本地盘符为 sda
d,有些存储不支持prio alua,重启多路径服务的时候会报错,重新编辑multipath.conf把prio alua 这一行删除即可。
e,每次编辑完multipath.conf 都必需重启multipathd服务
2,把multipathd 服务加入开机自启动chkconfig --level 35 multipathd on (RHEL6.x、CentOS6.x、SuSE)
systemctl enable multipathd.service (RHEL7.x、CentOS7.x)