![从UUID获取LVM LV/VG/PV名称](https://linux22.com/image/118286/%E4%BB%8EUUID%E8%8E%B7%E5%8F%96LVM%20LV%2FVG%2FPV%E5%90%8D%E7%A7%B0.png)
的输出{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
查找lvs
VG 和 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