KVM映像无法以virsh启动,权限被拒绝


12

我的主机操作系统是Ubuntu Server 11.04(natty)

按照Ubuntu 帮助的详细说明进行操作后,我使用以下命令创建了一个KVM映像

sudo ubuntu-vm-builder kvm hardy --libvirt qemu:///system

图像文件创建为

-rw-r--r-- 1 root root 438M 2011-06-17 14:39 ubuntu-kvm/tmpK9hbU5.qcow2

我可以通过sudo virsh -c qemu:/// system“ list --all”用virsh列出它

Id   Name                 State
----------------------------------
  - ubuntu               shut off  

但是当我打电话时

sudo virsh -c qemu:///system "start ubuntu"

错误被抛出:

error: Failed to start domain ubuntu
error: internal error process exited while connecting to monitor: kvm: -drive file=/home/myuser/vmopt/ubuntu-kvm/tmpK9hbU5.qcow2,if=none,id=drive-ide0-0-0,format=qcow2: could not open disk image /home/myuser/vmopt/ubuntu-kvm/tmpK9hbU5.qcow2: Permission denied

用户“ myuser”已添加到组libvirt。

我已经尽力将映像文件及其目录更改为777,但是错误仍然存​​在。

Answers:


9

KVM映像受selinux限制。将它们放在/ var / lib / libvirt / images中就足够了。

http://libvirt.org/drvqemu.html#securityselinux详细介绍。


男子!!这对我有用。非常感谢。显然,帐户的$ HOME目录是受保护的,而virsh则默认在该目录中安装东西。安装了vms之后,我运行了mv $ HOME / vmfolder / var / lib / libvirt / images。然后,我运行virsh编辑vmname并相应地更改了映像文件的位置。
2012年

我还必须更改我的一个虚拟机的所有者。它属于root用户,导致拒绝访问。须藤chown -R libvirt-qemu:kvm dbos / ubuntu-kvm /。您可以在/ your / vm / dir /和/ its / subdirs /上运行ls -l来检查每个级别的权限。确保它们都不属于根组和用户。
2012年

我发现创建虚拟机的最简单,最安全的方法是确保您将cd转到此目录/ var / lib / libvirt / images并从此处运行安装。这样,您就不必担心文件夹级别的权限。他们只是默认为当前用户,而不是root。
2012年

4

一个简单的解决方案是编辑/etc/libvirt/qemu.conf文件,并取消注释以下几行:

User = "root"
group = "root"

别忘了重启libvirtd


4
那可能会让您运行它,但是安全隐患是什么?
cpast

1
将自己添加到该kvm组,相应地调整图像文件权限,然后user="<yourname>"在中设置,可能更好qemu.conf
Marc.2377'7

1

在Arch Linux中:

sudo usermod -a -G kvm username

为QEMU进程设置权限 /etc/libvirt/qemu.conf

user = "username"
group = "kvm"

在同一终端刷新组成员身份:

su - username

为您添加别名 ~/.bashrc

alias virsh='EDITOR=nano sudo virsh && cd /etc/libvirt/qemu'

最后

source ~/.bashrc
virsh
list --all
start mydomain

0

看来此权限错误也可能与损坏的qcow2叠加/快照有关!

在进行以下设置:

Baseimage> Overlay1>Overlay2

将覆盖与CMD创建virsh snapshot-create ...Overlay1被更新的使用(VM尚未开始)之前创建Overlay2(创建测试)。

IRL用例不太可能,但是尽管如此,它还是出现了这个错误,这使我发疯,直到我意识到是否与覆盖链有关,而不是与文件系统访问权限有关。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.