Debian

系統啟動時未啟動 LVM VG/LV

  • April 12, 2022

我配置了兩個多路徑設備

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/lvm2-pvscan@.service; 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 啟動工作?

提前致謝。

錯誤是因為 LVM 首先打開了磁碟設備進行訪問(在多路徑子系統有機會這樣做之前),並且仍然持有一個句柄用於訪問vg0as just /dev/sdb(= major:minor device 8:16,如所示的 PV通過錯誤消息)而不是/dev/mapper/mpatha(=主要:次要設備254:0)。

打開多路徑設備時,多路徑子系統將嘗試為其組件/dev/sd*設備獲取排他鎖,以防止這種情況發生。/dev/sdb但是如果 LVM先到磁碟並且在多路徑啟動時磁碟設備已經打開,它就不能這樣做。

在 Debian 11 上,如果您的 LVM 卷組之一包含您的根文件系統,您應該確保該multipath-tools-boot軟體包也已安裝;如果您的根文件系統不在多路徑磁碟上,則不應安裝此軟體包。

如果您在啟動多路徑後還沒有這樣做,您應該更新您的 initramfs 文件(使用sudo update-initramfs -u),這樣您的/etc/lvm/lvm.conf過濾器也將適用於 initramfs。

要消除該錯誤,您必須在多路徑正在執行時停用並重新啟動卷組,因此 LVM 將開始使用多路徑設備而不是單個路徑設備之一 ( /dev/sd*)。但是,如果您的根文件系統位於多路徑磁碟上,則無法解除安裝它並且必須重新啟動。

引用自:https://unix.stackexchange.com/questions/698789