TommyPeanuts Asked: 2016-02-28 03:08:14 +0800 CST2016-02-28 03:08:14 +0800 CST 2016-02-28 03:08:14 +0800 CST 如何判断 KVM 来宾正在使用哪些磁盘文件? 772 我有一个在 KVM 下运行的 Ubuntu 客户机,它有几个相同大小的分区,每个分区在主机上使用不同的 virtio RAW 磁盘文件。 如何判断来宾上的哪个分区正在使用主机上的哪个文件? linux 2 个回答 Voted Best Answer TommyPeanuts 2016-03-01T05:19:20+08:002016-03-01T05:19:20+08:00 每个磁盘在来宾和来宾中都显示为一个设备lsblk。这应该让您大致了解哪些分区是哪个设备的一部分。 如果您使用的是 virtio,那么您可以通过列出它们来确定哪个分区使用了哪些 virtio 设备: ls -l /sys/class/block/{*vda,*vdb,*vdc,*vdd} (对客人) 例如,如果来宾上的 df 显示以下内容: Filesystem Size Used Avail Use% Mounted on udev 3.9G 4.0K 3.9G 1% /dev tmpfs 754M 1.5M 752M 1% /run /dev/vda1 2.0G 1.3G 556M 71% / none 4.0K 0 4.0K 0% /sys/fs/cgroup none 5.0M 4.0K 5.0M 1% /run/lock none 203M 0 203M 0% /run/shm none 100M 0 100M 0% /run/user /dev/vdb1 2.0G 687M 1.2G 37% /var /dev/vdd1 20G 15G 3.8G 80% /home/mail /dev/vdc1 20G 9.5G 8.8G 52% /var/mail 块设备将显示如下: lrwxrwxrwx 1 root root 0 Mar 1 23:58 /sys/class/block/vda -> ../../devices/pci0000:00/0000:00:0a.0/virtio1/block/vda lrwxrwxrwx 1 root root 0 Mar 1 23:58 /sys/class/block/vdb -> ../../devices/pci0000:00/0000:00:0b.0/virtio2/block/vdb lrwxrwxrwx 1 root root 0 Mar 1 23:58 /sys/class/block/vdc -> ../../devices/pci0000:00/0000:00:0d.0/virtio3/block/vdc lrwxrwxrwx 1 root root 0 Mar 2 00:00 /sys/class/block/vdd -> ../../devices/pci0000:00/0000:00:0e.0/virtio4/block/vdd 因此您可以看到 /dev/vda1 正在使用标识为“virtio1”的 VM 主机文件 其他磁盘类型(qcow2、vmdk 等)应该遵循从来宾到 VM 主机识别自己的类似过程。 John Mahowald 2016-02-28T16:00:29+08:002016-02-28T16:00:29+08:00 libguestfs 有许多实用程序用于查看来自主机的磁盘映像。特别是virt 文件系统
每个磁盘在来宾和来宾中都显示为一个设备
lsblk
。这应该让您大致了解哪些分区是哪个设备的一部分。如果您使用的是 virtio,那么您可以通过列出它们来确定哪个分区使用了哪些 virtio 设备:
(对客人)
例如,如果来宾上的 df 显示以下内容:
块设备将显示如下:
因此您可以看到 /dev/vda1 正在使用标识为“virtio1”的 VM 主机文件
其他磁盘类型(qcow2、vmdk 等)应该遵循从来宾到 VM 主机识别自己的类似过程。
libguestfs 有许多实用程序用于查看来自主机的磁盘映像。特别是virt 文件系统