我在通过 libvirt 运行虚拟机时遇到问题。这是我的设置:
我将 qcow2 映像和域 XML(名为
win7.xml
)放在 下$HOME/vm
,所有文件和目录都使用我的用户、我的组和权限位0644
。我取消注释了,
user = "root"
中 的行,期望将以 root 身份运行,因此可以完全访问 下的目录和文件。group = "root"
dynamic_ownership = 1
/etc/libvirt/qemu.conf
qemu-system-x86_64
$HOME/vm
但是,virsh create win7.xml
以 root 身份调用失败:
error: Failed to create domain from win7.xml
error: internal error: early end of file from monitor, possible problem: 2016-10-01T03:36:02.049418Z qemu-system-x86_64: -drive file=/home/naitree/vm/win7/win7.qcow2,format=qcow2,if=none,id=drive-virtio-disk0: Could not open '/home/naitree/vm/win7/win7.qcow2': Permission denied
登录时出现以下错误/var/log/libvirt/qemu/win7.log
:
2016-10-01T03:36:02.049418Z qemu-system-x86_64: -drive file=/home/naitree/vm/win7/win7.qcow2,format=qcow2,if=none,id=drive-virtio-disk0: Could not open '/home/naitree/vm/win7/win7.qcow2': Permission denied
2016-10-01 03:36:02.080+0000: shutting down
看起来 qemu 无法访问我的虚拟机磁盘文件。但为什么?没有qemu-system-x86_64
以 root 身份运行?应该做什么来确保 libvirt-qemu 能够访问驻留在$HOME
目录中的磁盘映像?
附加版本信息:
- libvirt、virsh 版本:1.3.3.2
- QEMU 版本:QEMU 模拟器版本 2.6.1 (qemu-2.6.1-1.fc24)
- 发行版:Fedora 24
- 内核:4.7.4-200.fc24.x86_64
答案1
您很可能被 Selinux 阻止,请检查您的 /var/log/audit.log