从UUID获取LVM LV/VG/PV名称

从UUID获取LVM LV/VG/PV名称

的输出{lv,vg,pv}display给出:

  • 姓名
  • 通用唯一标识符

如何查找给定 UUID 的 LVM 名称?

答案1

您可以使用以下选项直接过滤 LVM 命令的输出-S

# pvs --noheadings -o name -S uuid=MtLb3p-MUle-8fyk-fy6m-z99n-V9mi-xxxxxx
  /dev/sdb3

这也适用于vgs查找lvsVG 和 LV。

为了避免处理输出开头的空格,请添加--config 'log{prefix=""}'

# pvs --noheadings -o name -S uuid=MtLb3p-MUle-8fyk-fy6m-z99n-V9mi-xxxxxx --config 'log{prefix=""}'
/dev/sdb3

答案2

对于光伏仅有的,我们有块设备的一般情况:

$ source=UUID=MtLb3p-MUle-8fyk-fy6m-z99n-V9mi-xxxxxx
$ blkid -t "$source" -o device
/dev/sdb3

这适用于任何块设备(也适用于LABEL=)。


有趣的是,您可以/etc/fstab使用以下方式进行搜索:

source=$(findmnt -sno SOURCE --raw "$mount")

并将$source采用正确的格式传递给blkid -t.

答案3

您可以使用{lv,vg,pv}s命令 和awk,例如:

$ uuid="MtLb3p-MUle-8fyk-fy6m-z99n-V9mi-xxxxxx" 
$ sudo pvs -o UUID,NAME --noheadings | awk "\$1 == \"$uuid\" { print \$2 }"
/dev/sdb3

相关内容