Debian
系統啟動時未啟動 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/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 首先打開了磁碟設備進行訪問(在多路徑子系統有機會這樣做之前),並且仍然持有一個句柄用於訪問
vg0
as 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*
)。但是,如果您的根文件系統位於多路徑磁碟上,則無法解除安裝它並且必須重新啟動。