我配置了两个多路径设备
mpathb (36005076300808b3e9000000000000007) dm-1 IBM,2145
size=16T features='1 queue_if_no_path' hwhandler='1 alua' wp=rw
|-+- policy='service-time 0' prio=50 status=active
| `- 1:0:1:1 sde 8:64 active ready running
`-+- policy='service-time 0' prio=10 status=enabled
`- 1:0:0:1 sdc 8:32 active ready running
mpatha (36005076300808b3e9000000000000006) dm-0 IBM,2145
size=16T features='1 queue_if_no_path' hwhandler='1 alua' wp=rw
|-+- policy='service-time 0' prio=50 status=active
| `- 1:0:0:0 sdb 8:16 active ready running
`-+- policy='service-time 0' prio=10 status=enabled
`- 1:0:1:0 sdd 8:48 active ready running
我为他们每个人创建了一个 PV/VG/LV
$ sudo pvs
PV VG Fmt Attr PSize PFree
/dev/mapper/mpatha vg0 lvm2 a-- <16.00t 0
/dev/mapper/mpathb vg1 lvm2 a-- <16.00t 0
重新启动后,我的 VG/LV 未激活。
$ sudo systemctl status lvm2-pvscan@254:0.service
● lvm2-pvscan@254:0.service - LVM event activation on device 254:0
Loaded: loaded (/lib/systemd/system/[email protected]; static)
Active: failed (Result: exit-code) since Mon 2022-04-11 21:58:53 MSK; 14min ago
Docs: man:pvscan(8)
Process: 803 ExecStart=/sbin/lvm pvscan --cache --activate ay 254:0 (code=exited, status=5)
Main PID: 803 (code=exited, status=5)
CPU: 10ms
Apr 11 21:58:53 cephnode-1 systemd[1]: Starting LVM event activation on device 254:0...
Apr 11 21:58:53 cephnode-1 lvm[803]: pvscan[803] PV /dev/mapper/mpatha is duplicate for PVID un8VgmPbM5dheccMCCmmMzr4UGcO3Gau on 254:0 and 8:16.
Apr 11 21:58:53 cephnode-1 lvm[803]: pvscan[803] PV /dev/mapper/mpatha failed to create online file.
Apr 11 21:58:53 cephnode-1 systemd[1]: lvm2-pvscan@254:0.service: Main process exited, code=exited, status=5/NOTINSTALLED
Apr 11 21:58:53 cephnode-1 systemd[1]: lvm2-pvscan@254:0.service: Failed with result 'exit-code'.
Apr 11 21:58:53 cephnode-1 systemd[1]: Failed to start LVM event activation on device 254:0.
/etc/lvm/lvm.conf:
filter = [ "a|/dev/mapper/mpath.*|", "r|.*|" ]
我需要做什么才能使 VG/LV 激活在系统启动时起作用?
提前致谢。
答案1
该错误是因为 LVM 已首先打开磁盘设备进行访问(在多路径子系统有机会执行此操作之前),并且仍然持有用于访问vg0
as just的 PV 的句柄/dev/sdb
(= 主要:次要设备 8:16,如图所示)通过错误消息)而不是/dev/mapper/mpatha
(= 主要:次要设备 254:0)。
当多路径设备打开时,多路径子系统将尝试获取其组件/dev/sd*
设备的独占锁,以防止这种情况发生。但如果 LVM/dev/sdb
首先到达磁盘并且在多路径启动时已经打开磁盘设备,则无法执行此操作。
在 Debian 11 上,如果您的 LVM 卷组之一包含您的根文件系统,您应该确保该multipath-tools-boot
软件包也已安装;如果你的根文件系统是不是在多路径磁盘上,您应该不是安装这个包。
如果您在激活多路径后尚未执行此操作,则应更新 initramfs 文件(使用sudo update-initramfs -u
),以便您的/etc/lvm/lvm.conf
过滤器也将应用于 initramfs 内。
要消除该错误,现在多路径正在运行,您必须停用并重新激活卷组,因此 LVM 将开始使用多路径设备而不是单个路径设备之一 ( /dev/sd*
)。但是,如果您的根文件系统位于多路径磁盘上,则无法卸载它并且必须重新启动。
答案2
当我们将 SAN 连接的服务器从 RHEL 6.10 升级到 RHEL 8.4 时,我们注意到了这个问题。
无法激活 SAN vg(使用多路径设备创建)。我们必须执行 vgexport/vgimport 来解决此问题。