如何更新 LV UUID,未找到设备文件

如何更新 LV UUID,未找到设备文件

最近的 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,并且干净启动也适合测试。

相关内容