LVM VG/LV 在系统启动时未激活

LVM VG/LV 在系统启动时未激活

我配置了两个多路径设备

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 已首先打开磁盘设备进行访问(在多路径子系统有机会执行此操作之前),并且仍然持有用于访问vg0as 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 来解决此问题。

相关内容