问题描述:在 SLES-12 机器上,如果我们尝试通过 virsh vol-delete 命令立即删除通过 virt-manager 配置的 vm 的磁盘映像,则得到
无法取消链接文件"XXX":权限被拒绝"错误。
此错误仅发生在预配 VM 时创建的磁盘上。如果我们通过virt管理器删除相同的磁盘,那么它会被正确删除。
如果我们通过virt-manager创建另一个磁盘并使用上面的virsh命令删除,它会被正确删除。
总而言之,问题仅在于删除作为预配 VM 的一部分创建的磁盘。
所选组件的版本-发行版号(如果适用(:
OS:SUSE Linux Enterprise Server 12 SP1 (x86_64(
Libvirt 版本:cv-hj-kvmlib01-am02:/var/lib/libvirt/images # virsh version针对库编译:libvirt 1.3.1使用库:libvirt 1.3.1使用 API:QEMU 1.3.1运行虚拟机管理程序:QEMU 2.3.1
重现步骤:
- 通过 virt-manager 在SLES_12上预配 vm
- 删除使用 virsh 命令行置备 VM 时创建的磁盘映像:
virsh # vol-delete/var/lib/libvirt/images/.qcow2
錯誤:無法刪除vol/var/lib/libvirt/images/.qcow2
错误:无法取消链接文件"/var/lib/libvirt/images/.qcow2":权限被拒绝
这可能类似于您在这里提出的问题。
假设这是已正确从 VM 分离的卷,则可能只需要池刷新即可让 virsh 知道该卷不再使用:
# virsh pool-refresh default
(假设您使用"默认"池(
然后再次尝试删除。如果您仍然收到权限错误,我建议您查看图像文件的perms以及以下两个配置的内容:
/etc/libvirt/qemu.conf
/etc/libvirt/libvirtd.conf