KVM 如何确定虚拟机正在使用哪些虚拟磁盘文件

KVM 如何确定虚拟机正在使用哪些虚拟磁盘文件

我尝试过lsof|grep *.qcow2,但没有得到结果(为什么?我肯定有使用该磁盘格式运行的虚拟机)。

我还考虑在配置目录中的 *.xml 上 grepping qcow2,但这并不能告诉我哪些正在使用。

有没有简单的方法来确定哪些磁盘映像正在被哪些域/虚拟机使用?

另外,由于 lsof 似乎不能满足我的要求,你们使用什么方法来确定哪个文件被哪个进程访问?

使用 libvirt/kvm/qemu virsh 0.10.2 运行 Cent 6.3

编辑:看看我的评论,是 grep 让我失望了,而不是 lsof。发生了什么事,我需要启用扩展正则表达式来匹配“*.qcow2”?

答案1

由于文件格式和扩展名经常不同(libvirt 的默认值通常是 .img - 适用于 qcow2 和 raw),并且有时您使用的是 LV 而不是文件,我会直接开始查看当前使用的存储:
ps -ef |grep qcow2|awk -F'-drive' '{ print $2 }'|cut -d',' -f1
这只会显示第一个磁盘,您可以扩展脚本以显示更多

相关内容