修改“preferred_names”
preferred_names 行仅影响 LVM 命令的输出,但应进行如下更改,以便在路径设备之前使用多路径设备。
在 LVM2 的更高版本中,我们不再需要设置此参数,因为默认情况下将使用多路径名称。
但是,由于它不会造成任何伤害并且与某些较旧的系统相关,因此出于完整性考虑,它保留在这里。
此示例导致使用带有 user_friendly_names 的多路径设备:
preferred_names = [ "^/dev/mpath/", "^/dev/mapper/mpath", "^/dev/[hs]d" ]
使用 pvscan 使用新的过滤器设置扫描 LVM 设备。
“pvscan”的输出应显示多路径设备。
使用 vgchange -ay 或者 lvchange -ay 根据多路径设备激活逻辑卷。
验证 LVM 命令、pvs、vgs 和 lvs,正确显示所有物理卷、卷组和逻辑卷。
注意:如果 rootvg 在本地磁盘上,那么我们必须在此服务器上的 multipath.conf 中将其列入黑名单。
从我的服务器使用 scsi_id 返回唯一设备标识符,这需要列入黑名单。
例如:
#/lib/udev/scsi_id --whitelisted --device=/dev/sda 3600144f0adf5cc4c0000514a72c10003
确定哪些磁盘是内部磁盘并将它们标记为要列入黑名单的磁盘。
在本例中,/dev/sda 是内部磁盘。
请注意,正如最初在默认多路径配置文件中配置的那样,执行“multipath -v2”命令会在多路径映射中显示本地磁盘 /dev/sda。
在没有黑名单的情况下运行 'multipath -v2 -d' 它将其中显示 sda。
# vi /etc/multipath.conf
为了防止设备映射器在其多路径映射中映射 /dev/sda,请编辑 /etc/multipath.conf 文件的黑名单部分以包含此设备。
尽管可以使用 devnode 类型将 sda 设备列入黑名单,但这不是一个安全的过程,因为在重新启动时不能保证 /dev/sda 是相同的。
要将单个设备列入黑名单,我们可以使用该设备的 WWID 将其列入黑名单。
请注意,在 multipath -v2 命令的输出中,/dev/sda 设备的 WWID 为 3600144f0adf5cc4c0000514a72c10003.
要将此设备列入黑名单,请在 /etc/multipath.conf 文件中包含以下内容。
blacklist { wwid SIBM-ESXSST336732LC____F3ET0EP0Q000072428BX1 }
更新/etc/multipath.conf 文件后,必须手动重新加载该文件。
以下命令重新加载更新的 /etc/multipath.conf 文件。
# systemctl reload multipathd.service
问题
在单个设备路径上创建的名为“/dev/sdb”的 PV,需要将此 PV 设置为具有有效的多路径功能(将 PV 从单路径迁移到多路径名称)
如何配置现有的 lvm 卷组以使用 DM-Multipath?
解决方法:
需要使用现有的卷组和现有的逻辑卷配置,以确保服务器端配置不会对任何底层应用程序(挂载点等)造成任何引用问题。
注意:对数据进行完整备份以避免任何问题总是好的。
使用任何多路径设备的底层路径设备停用逻辑卷,在此之前确保 LVM 已卸载且未被任何应用程序使用,
停用 VG:
# vgchange -an Name_of_your_VG
配置多路径后,将使用多路径设备重新激活逻辑卷
将 LVM 配置为在多路径设备之上工作。
更改 /etc/lvm.conf 中的以下两个配置参数:
- filter
- preferred_names
修改filter
将过滤器行更改为“接受”多路径设备和包含 LVM PV 的任何其他设备,并拒绝所有其他设备。
例如,以下过滤器行使 LVM 扫描具有 user_friendly_names 的多路径设备以及本地 ATA 设备,但跳过扫描所有其他设备:
filter = [ "a|/dev/mapper/mpath.*|", "a|/dev/hd|", "r|.*|" ]