最近的 BIOS 更新使我的 LVM 中的东西变得混乱,但我不确定是什么......
[root@localhost ~]# pvscan
Devices file sys_wwid naa.57c35481cc13b195 PVID IpYMVDa5eXTqYQuLzXc8GukoAVUOK32u last seen on /dev/sda3 not found.
No matching physical volumes found
我从 vgscan 和 lvscan 获得相同的输出。
[root@localhost ~]# lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sda
├─sda1 vfat FAT16 EFI 851C-90D9 492.7M 1% /boot/efi
├─sda2 ext4 1.0 BOOT eb88de2a-850c-431a-a05b-5f133879aee9 100M 72% /boot
└─sda3 LVM2_member LVM2 001 IpYMVD-a5eX-TqYQ-uLzX-c8Gu-koAV-UOK32u
├─rl_localhost-swap swap 1 SWAP 43082c91-a0ec-4f86-a776-1457ac39ba6f [SWAP]
└─rl_localhost-root ext4 1.0 ROOT 9c40db8f-7185-48a6-a188-be13a4724ea9 37.9G 16% /
列出/dev/mapper 的内容:
[root@localhost dev]# ls -All mapper/
total 0
crw-------. 1 root root 10, 236 May 8 03:22 control
lrwxrwxrwx. 1 root root 7 May 8 03:22 rl_localhost-root -> ../dm-1
lrwxrwxrwx. 1 root root 7 May 8 03:22 rl_localhost-swap -> ../dm-0
我相信这些 dm-# 文件是警告/错误消息中的“设备文件”。这里需要一些解释:/dev/sda3 是包含根分区和交换分区的 LV。为什么根分区和交换分区有“设备文件 (dm-0, dm-1)”,但 LV sda 没有/需要“设备文件”(?)
[root@localhost dev]# blkid
/dev/mapper/rl_localhost-root: LABEL="ROOT" UUID="9c40db8f-7185-48a6-a188-be13a4724ea9" TYPE="ext4"
/dev/mapper/rl_localhost-swap: LABEL="SWAP" UUID="43082c91-a0ec-4f86-a776-1457ac39ba6f" TYPE="swap"
/dev/sda2: LABEL="BOOT" UUID="eb88de2a-850c-431a-a05b-5f133879aee9" TYPE="ext4" PARTUUID="9072cb02-0943-43a2-8718-cc67983eebd4"
/dev/sda3: UUID="IpYMVD-a5eX-TqYQ-uLzX-c8Gu-koAV-UOK32u" TYPE="LVM2_member" PARTUUID="9daab51d-ec9d-443c-bcd6-146e0a7bcd4a"
/dev/sda1: SEC_TYPE="msdos" LABEL_FATBOOT="EFI" LABEL="EFI" UUID="851C-90D9" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="d7833ebe-ab1a-47b8-9fc8-8625374b6998"
以上是另一个令人困惑的点。blkid 显示 /dev/sda 的 UUID 与 lsblk 相同,但这可能令人困惑,因为我不确定我在寻找什么。
更新
因此,我还没有解决问题的根本原因,但我确实找到了解决方法,我的测试标准如下:
由于缺少“设备文件”,我无法执行如下操作:
grub2-mkconfig -o /boot/efi/EFI/rocky/grub.cfg
发出上述命令将失败,并出现以下错误:
Devices file sys_wwid naa.57c35481cc13b195 PVID IpYMVDa5eXTqYQuLzXc8GukoAVUOK32u last seen on /dev/sda3 not found.
我在这里找到了 LVM 的设备文件:/etc/lvm/devices/system.devices
。我将其重命名为 .bak。现在上述命令不会失败。我正在阅读手册页在此处输入链接描述,查看描述中的第 4 段表明,如果特定的硬件信息不可用,LVM 将恢复使用设备名称。我猜这是正在发生的事情,因为系统仍然可以启动和运行,但也存在此问题。
因此,有一个解决方法,但仍然不确定如何纠正 lvm 中磁盘现在有错误的硬件识别数据。有什么想法吗?
答案1
首先重命名 system.devices 文件,然后运行此命令:
lvmdevices --deldev /dev/sda3
检查命令是否删除了错误的条目:
lvmdevices
如果没有返回任何内容,则运行 pvscan 命令来获取新的 PV 设备,然后:
lvmdevices --adddev /dev/sdXY
如果一切正常,系统现在就可以使用了。您可以重新运行 grub2-mkconfig,并且干净启动也适合测试。