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

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

我也考虑grep qcow2在configuration目录中的* .xml,但是这不会告诉我哪些在使用必然。

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

另外,因为lsof似乎没有做我想要的,所以你用什么方法来确定哪个文件被哪个进程访问?

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

编辑:看到我的评论,这是grep那是我失败,而不是lsof ..怎么回事,我需要启用扩展正则expression式匹配“* .qcow2”?

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