用户工具

站点工具


opensuse_multipath

光纤存储的多路径配置: 首先载入多路径的内核模块:

modprobe dm-multipath

查看系统中可配置的多路径设备:

multipath -v2 -d

参数释义:verbosity 2,dry-run

上面命令的输出:

# multipath -v2 -d
create: 3xxxxxxxxxxxxxxxxxxx undef IBM     ,ServeRAID M5015
size=278G features='0' hwhandler='0' wp=undef
`-+- policy='service-time 0' prio=1 status=undef
  `- 0:2:0:0 sda 8:0  undef ready running
create: 3xxxxxxxxxxxxxxxxxxx undef IBM     ,ServeRAID M5015
size=929G features='0' hwhandler='0' wp=undef
`-+- policy='service-time 0' prio=1 status=undef
  `- 0:2:1:0 sdb 8:16 undef ready running
create: 1HITACHI_XXXXXXXXXXX undef HITACHI ,DF600F
size=1000G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  |- 3:0:0:0 sdc 8:32 active ready running
  `- 4:0:0:0 sdd 8:48 active ready running

结合系统实际情况和上述输出,sda 和 sdb 都是机内 RAID 硬盘,sdc 和 sdd 是外接存储的两条路径(multipath的由来),远程设备是日立 DF600F 阵列。

如果直接启用 multipath,比如说在系统安装分区时启用,则会造成混乱,包括两个机内硬盘也会作为 multipath 设备配置。我们并不想让这样的事情发生,所以要将两个硬盘加入 multipath.conf 中定义的“黑名单”中。

在 /etc 创建 multipath.conf 文件,仅包含以下内容,使用前请根据自己机器配置更改:

blacklist {
        device {
                vendor "IBM"
                product "ServeRAID M5015"
        }
}

详细的配置参考在 /usr/share/doc/packages/multipath-tools/multipath.conf.annotated

运行 multipath -v3 -d,在输出中可以看到:Apr 04 06:33:58 | (null): (IBM :ServeRAID M5015 ) vendor/product blacklisted。说明机内 RAID 卡上的硬盘已经被加入黑名单,不会对我们的配置产生干扰。

要使多路径服务正常运行,需要启用 multipathd 服务。步骤如下:

# systemctl enable multipathd # 下次开机自动启动服务
# systemctl start multipathd # 现在启动服务
# systemctl restart multipathd # 更改配置后需要重启服务

要使系统开机时能正确识别 multipath 设备,需要加载驱动到 initrd 中,有两种方法:

一 官方说明是在 /etc/sysconfig/kernel 中 INITRD_MODULES 中添加 dm-multipath,执行 mkinitrd

二 经过试验,完成上述配置后直接执行 mkinitrd 即可。要观察其输出的 Kernel Modules 中是否包含 dm-multipath 模块。

如果重启后出现 Found duplicate PV 字样,可修改 /etc/lvm/lvm.conf 中的 filter,我改成了这个样子:

filter = [ "a|/dev/sda.*|", "a|/dev/sdb|",  "a|/dev/mapper/.*|", "r/.*/" ]

需要提醒的是,改了之后要运行 pvscan 和 lvscan,而且这个错误提示可以安全地忽略,不会影响系统运行。

opensuse_multipath.txt · 最后更改: 2013/04/25 14:19 由 admin