(洛基Linux 4.18.0-305.25.1.el8_4.x86_64)
我有 2 个卷组。两个 VG 都被命名为“rl”,因此我需要重命名其中一个,并且必须使用正确的 VG UUID 来执行此操作。
我无法找到一种方法来识别哪个 UUID 属于哪个 VG(由其物理存储定义)。
我有 2 个驱动器。
每个驱动器都有一个 LUKS 卷,其中包含一个 LVM2 VG,其中包含 3 个 LV:
sda
├─sda1
└─sda2
└─luks-bdf533b2-afca-4eda-8029-e0346ebaea99
├─rl-root
├─rl-swap
└─rl-home
sdc
├─sdc1
└─sdc2
└─luks-b41a89f1-9040-48df-a10e-11261f899d0f
(not active)
pvdisplay
给我:
--- Physical volume ---
PV Name /dev/mapper/luks-b41a89f1-9040-48df-a10e-11261f899d0f
VG Name rl
...
PV UUID akQG9K-H5x4-U0K1-ij7c-4JQw-rbvk-9NUND5
--- Physical volume ---
PV Name /dev/mapper/luks-bdf533b2-afca-4eda-8029-e0346ebaea99
VG Name rl
...
PV UUID gwKY6m-aesa-XKZZ-TL0d-XdFt-v09N-fRHPI6
vgdisplay
给我:
--- Volume group ---
VG Name rl
...
VG UUID lfTJTT-hCgr-nIfI-VB8o-i0ze-20F3-ReXssf
--- Volume group ---
VG Name rl
...
VG UUID c70c76-sSDO-EjZd-Zfuc-w3Hw-Da3Y-GM9lf6
显然,从上面我无法判断哪个VG UUID对应于哪个驱动器。我找不到任何方法来显示哪些物理卷附加到哪个 VG,因为它们都被命名为“rl”,并且所有输出都给出了名称,而我唯一能看到 UUID 的地方是在vgdisplay
.
我需要的是能够查看物理分区标识符及其分配到的 VG 的 UUID。有谁知道如何做到这一点?
我知道我只能列出活动 vgs 或通过存储大小进行识别,但我想知道在一般情况下如何执行此操作。一个例子是,我在相同的存储介质上有多个不活动的卷组,并且所有卷组都具有相同的名称。
答案1
您可以尝试使用vgs
自定义列输出:
vgs -o vg_name,vg_uuid,pv_uuid
它应该看起来有点像这样:
VG VG UUID PV UUID
rl lfTJTT-hCgr-nIfI-VB8o-i0ze-20F3-ReXssf akQG9K-H5x4-U0K1-ij7c-4JQw-rbvk-9NUND5
rl c70c76-sSDO-EjZd-Zfuc-w3Hw-Da3Y-GM9lf6 gwKY6m-aesa-XKZZ-TL0d-XdFt-v09N-fRHPI6
(或相反)
另一种方法是检查 LVM 元数据备份/etc/lvm/
(如果存在)。
$ grep -r lfTJTT-hCgr /etc/lvm
/etc/lvm/backup/rl: id = "lfTJTT-hCgr-nIfI-VB8o-i0ze-20F3-ReXssf"
(其他 UUID 依此类推,然后查看哪些文件匹配)
或者从备份文件中获取所有 UUID(PV、VG、LV):
$ grep 'id = "' /etc/lvm/backup/rl
id = "lfTJTT-hCgr-nIfI-VB8o-i0ze-20F3-ReXssf"
id = "gwKY6m-aesa-XKZZ-TL0d-XdFt-v09N-fRHPI6"
如果 LVM 工具集不可用或者您将备份存储在另一台计算机上,则 grep 方法可能会很有趣,否则最好使用 LVM 实用程序。
如果您合并 VG 或移动 PV,LVM 备份文件也有可能反映过时的状态。