一、安装multipaths软件
1.安装程序
yum install device-mapper-multipath -y
2、将多路径软件添加至内核模块中
modprobe dm-multipath
modprobe dm-round-robin
3、检查内核添加情况
lsmod |grep multipath
显示如下即可:
dm_multipath 27427 3 dm_round_robin,dm_service_time
dm_mod 123303 13 dm_round_robin,dm_multipath,dm_log,dm_mirror,dm_service_time
二、启动服务
启动服务并设置开机自启
systemctl enable multipathd --now
centos6 用以下方式
查看启动级别
chkconfig --list|grep multipathd
multipathd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
配置启动级别
chkconfig --level 2345 multipathd on
chkconfig --list|grep multipathd
multipathd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
三、编辑配置文件
手动创建/etc/multipath.conf配置文件并写入如下内容:
blacklist {
wwid 3600508b1001c044c39717726236c68d5
}
defaults {
user_friendly_names yes
polling_interval 10
queue_without_daemon no
flush_on_last_del yes
checker_timeout 120
}
devices {
device {
vendor "3par8400"
product "HP"
path_grouping_policy asmdisk
no_path_retry 30
prio hp_sw
path_checker tur
path_selector "round-robin 0"
hardware_handler "0"
failback 15
}
}
multipaths {
multipath {
wwid 360002ac0000000000000000300023867
alias mpathdisk01
}
}
如果有两个或者多个就再加一条即可。
multipaths {
multipath {
wwid 360002ac0000000000000000400023867
alias mpathdisk02
}
}
之后重启服务
systemctl restart multipathd
centos6用以下方式重启服务
/etc/init.d/multipathd restart
可以看到已经配置成功
[root@test ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 557G 0 disk
├─sda1 8:1 0 4G 0 part /boot
└─sda2 8:2 0 553G 0 part
├─centos-root 253:0 0 488.9G 0 lvm /
└─centos-swap 253:1 0 64G 0 lvm [SWAP]
sdb 8:16 0 2T 0 disk
└─mpathdisk01 253:2 0 2T 0 mpath
sdc 8:32 0 2T 0 disk
└─mpathdisk01 253:2 0 2T 0 mpath
sdd 8:48 0 2T 0 disk
└─mpathdisk01 253:2 0 2T 0 mpath
sde 8:64 0 2T 0 disk
└─mpathdisk01 253:2 0 2T 0 mpath
查看状态 multipath -d -l
[root@fceclpdatapool1 ~]# multipath -d -l
mpathdisk01 (360002ac0000000000000000300023867) dm-2 3PARdata,VV
size=2.0T features='1 queue_if_no_path' hwhandler='1 alua' wp=rw
`-+- policy='service-time 0' prio=0 status=active
|- 1:0:0:0 sdb 8:16 failed faulty running
|- 1:0:1:0 sdc 8:32 active undef running
|- 3:0:0:0 sdd 8:48 active undef running
`- 3:0:1:0 sde 8:64 active undef running
重新扫描设备 multipath -v3
四、配置文件解析
字段解析
这段代码是一个 multipath.conf 配置文件,用于配置 Linux 操作系统中的多路径设备。以下是每个字段的含义:
blacklist:定义了一些被禁用的设备,只要 WWID 匹配了列表中的任何一个,它就会被黑名单所拒绝。
wwid:唯一标识多路径设备的 32 位十六进制字符串。
defaults:定义了一些默认设置,这些设置可以在其他部分被重写。
user_friendly_names:使多路径设备更易于理解和使用。
polling_interval:检查路径状态的频率(以秒为单位)。
queue_without_daemon:定义了当 multipathd 守护程序处于未运行状态时处理 I/O 请求的行为。
flush_on_last_del:在删除最后一个路径时是否刷新 IO 缓存。
checker_timeout:指定检查器超时的时间。
devices:包含一个或多个
device 块,每个块都描述了一个特定的多路径设备。
device:描述了一个多路径设备及其属性。
vendor、product:设备的制造商和产品名称。
path_grouping_policy:指定将路径分组到哪个组中。
no_path_retry:当无法访问某个路径时进行重试的次数。
prio:指定优先级算法,如 alua、emc、hp_sw 等。
path_checker:指定 IO 路径检查器的类型。
path_selector:指定选择路径的算法。例如,“round-robin 0” 表示依次将请求分发到每个路径上。
hardware_handler:指定用于处理硬件错误的脚本或程序。
failback:指定多长时间后进行故障切换。
multipaths:包含一个或多个
multipath 块,每个块都描述了一个设备的多个路径。
alias:为指定的多路径设备定义别名。
prio 是 multipath.conf 配置文件中的一个关键字,表示优先级算法。它可以指定多路径设备使用哪种算法来选择 I/O 请求路径。例如:
prio alua
以上配置指定了使用 Asymmetric Logical Unit Access(ALUA) 算法进行路径选择。这个算法主要用于 SAN 存储环境下,能够更好地处理存储阵列并发访问的问题。
除了 ALUA,还有其他一些可用的优先级算法,如:
emc:用于与 EMC 存储阵列配合使用。
hp_sw:用于与 HP 存储阵列配合使用。
rdac:用于与 LSI 存储阵列配合使用。
如果没有指定 prio 设置,则默认为 const(优先选择第一个路径)算法,或者是上层应用程序自己控制路径选择。
可以使用以下命令来查看硬盘的 WWID:
sudo udevadm info --query=all --name=/dev/sdX | grep ID_SERIAL
将 /dev/sdX 替换为您要查看的磁盘设备,例如 /dev/sda 或 /dev/sdb。该命令将打印出设备的所有属性,然后使用 grep 命令过滤出包含 ID_SERIAL 的行,从而找到设备的 WWID。
另外,还可以使用以下命令列出系统中所有的多路径设备及其 WWID:
multipath -ll
这个命令将显示多路径设备的别名、WWID 和路径等信息。
版权声明:本文为m0_61069946原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。