如何查找 Linux 中 `dm-X` 设备对应的真实磁盘或虚拟机?
在 Linux 系统中,尤其是使用 LVM(逻辑卷管理) 或 Proxmox VE(PVE) 虚拟化平台时,我们经常会看到类似 dm-52
、dm-6
这样的设备名。这些设备是 Device Mapper 创建的虚拟块设备,但它们到底对应哪个磁盘、哪个虚拟机,往往并不直观。
本文将带你一步步找出 dm-X
设备的真实身份。
🔍 什么是 dm-X
设备?
dm-X
是 Linux 中 Device Mapper 框架创建的虚拟块设备,常见于以下场景:
- LVM 逻辑卷(如
/dev/mapper/vg-lv
) - 虚拟机磁盘(如 Proxmox 的
vm-100-disk-0
) - 加密设备(如 LUKS)
- 多路径设备(如 multipath)
🧭 实战:如何查出 dm-52
是谁?
假设你在 iostat
或 dstat
输出中看到如下一行:
dm-52 0.00 0.00 0.00 0.00 0.00 0.00 256.00 16.00 0.00 0.00 34.32 64.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 8.79 99.03
你想知道:这个 dm-52
是哪个虚拟机的磁盘?
✅ 方法一:查看 /dev/mapper/
中的软链接
ls -l /dev/mapper/ | grep dm-52
输出示例:
lrwxrwxrwx 1 root root 7 Sep 10 10:00 vm-100-disk-0 -> ../dm-52
👉 这说明 dm-52
是 VM ID 100 的虚拟磁盘。
✅ 方法二:使用 dmsetup
查看设备信息
dmsetup info /dev/dm-52
输出示例:
Name: vm-100-disk-0
State: ACTIVE
Read Ahead: 256
Tables present: LIVE
Open count: 1
Event number: 0
Major, minor: 253, 52
Number of targets: 1
UUID: CRYPT-LUKS1-xxxxx