如何找到dm-之间的映射?正在运行的内核中的文件及其相应的 LVM 文件

如何找到dm-之间的映射?正在运行的内核中的文件及其相应的 LVM 文件

好像是dm-之间的映射关系?文件及其对应的LVM文件只能通过以下配置静态获取。
那么有没有其他方法可以直接从当前运行的内核中找到映射关系呢?

# ls -l /dev/mapper
total 0
crw-rw---- 1 root root 10, 58 Apr  9  2021 control
lrwxrwxrwx 1 root root      7 Nov 24 18:30 mpdsk1 -> ../dm-3
lrwxrwxrwx 1 root root      7 Nov 24 18:30 mpdsk2 -> ../dm-2
lrwxrwxrwx 1 root root      7 Apr  9  2021 vgdat1-lvoradata2 -> ../dm-4
lrwxrwxrwx 1 root root      7 Apr  9  2021 vgroot-lvapp -> ../dm-5
lrwxrwxrwx 1 root root      7 Apr  9  2021 vgroot-lvhome -> ../dm-7
lrwxrwxrwx 1 root root      7 Apr  9  2021 vgroot-lvinstall -> ../dm-8
lrwxrwxrwx 1 root root      8 Apr  9  2021 vgroot-lvoradata1 -> ../dm-11
lrwxrwxrwx 1 root root      7 Apr  9  2021 vgroot-lvroot -> ../dm-0
lrwxrwxrwx 1 root root      7 Apr  9  2021 vgroot-lvswap -> ../dm-1
lrwxrwxrwx 1 root root      8 Apr  9  2021 vgroot-lvtmp -> ../dm-10
lrwxrwxrwx 1 root root      7 Apr  9  2021 vgroot-lvusr -> ../dm-9
lrwxrwxrwx 1 root root      7 Apr  9  2021 vgroot-lvvar -> ../dm-6
# 

答案1

您可以从 sysfs 获取设备映射器设备的名称:

$ cat /sys/class/block/dm-1/dm/name
fedora-root

这适用于所有 DM 设备,而不仅仅是 LVM。

如果您想要相反的方式,解析/dev/mapper/<name>符号链接可能是最好的方法(其中的所有内容/dev/mapper/都只是“用户友好”的符号链接,这/dev/dm-X是真正的块设备)。

或者,您可以使用dmsetup获取块设备名称:

# dmsetup info fedora-root -C -o blkdevname --noheadings
dm-1

相关内容