我尝试过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
这只会显示第一个磁盘,您可以扩展脚本以显示更多