Virtual machine virt安装错误
我在一个Dell poweredge1000m刀片上安装了kvm,Virtual machine virt安装错误,virtual-machine,permission-denied,kvm,Virtual Machine,Permission Denied,Kvm,我在一个Dell poweredge1000m刀片上安装了kvm,libvirt。我使用以下语法从现有映像(以root用户身份执行)安装虚拟机 我得到以下错误 Starting install... ERROR internal error process exited while connecting to monitor: char device redirected to /dev/pts/1 open /dev/kvm: Permission denied failed to in
libvirt
。我使用以下语法从现有映像(以root用户身份执行)安装虚拟机
我得到以下错误
Starting install...
ERROR internal error process exited while connecting to monitor: char device redirected to /dev/pts/1
open /dev/kvm: Permission denied
failed to initialize KVM: Operation not permitted
Domain installation does not appear to have been successful.
If it was, you can restart your domain by running:
virsh --connect qemu:///system start vm_test
otherwise, please restart your installation.
我对其他一台桌面主机使用了完全相同的命令,它在那里工作。我可以使用ISO映像从virt manager
安装VM,并将磁盘映像存储在默认位置
对我来说,这似乎是一个文件权限错误,因为它不使用/vms
目录,而是使用其他/home/vm
目录
提前感谢您的帮助我在一台服务器上收到了相同的错误消息,该服务器已运行了数周。 将
libvirt
设置为以root用户身份运行(如链接中所述)对我不起作用。
然而,授予对/var/lib/libvirt/images
的读取和执行权限解决了我的问题
chmod go+rx /var/lib/libvirt/images
chmod o-rwx /var/lib/libvirt/images/*
如果您按照使用libvirt创建vm的所有说明进行操作,您可能仍然会遇到上面的错误消息。根本原因是AppArmor,它可以在最近的Ubuntu发行版中找到。如果不考虑安全性,最简单的方法是移除AppArmor Ubuntu的官方文档提供了许多关于禁用AppArmor的建议:
我遇到了同样的问题。经过调查,我发现这是一个许可问题。您可以运行下面的命令来处理它:
chown root:kvm /dev/kvm
您不需要重新启动。我在Arch上遇到了此权限被拒绝错误。问题原来是访问控制列表。尽管Unix权限显示了group
rw
,getfacl
显示了group::--
。这为我解决了这个问题:
setfacl -m g::rw /dev/kvm
我已经找到了解决我问题的办法,就在这里 真正的原因是,
/vms
是一个NFS挂载,其配置(no_root\u squash+rw
)要求通过root进行访问
默认情况下,libvirt运行的虚拟机的用户和组权限为libvirt qemu:kvm
,即使您使用sudo权限运行它,也会产生问题。因此,我们需要将qemu进程的用户和组设置为根目录/etc/libvirt/qemu.conf
也正如其他人所指出的,这个错误可能有多个其他原因,令人遗憾的是libvirt抛出了这样一个通用错误
最不令人沮丧的解决方案是授予所有权限、禁用selinux并确保其运行。现在,逐个撤销权限测试,测试它在每个步骤中是否有效,并最终了解为什么要求您提供最终的权限集。如果模块加载得太早,可能会发生这种情况™ (实际问题我不知道,所以如果你知道,请加强这个答案) 只需尝试卸载模块并再次加载它们。这对我来说是个好办法:
rmmod kvm_intel # use kvm-amd if you use an amd processor.
rmmod kvm
modprobe kvm
modprobe kvm_intel # use kvm-amd if you use an amd processor.
我解决了这个问题。这里给出:
rmmod kvm_intel # use kvm-amd if you use an amd processor.
rmmod kvm
modprobe kvm
modprobe kvm_intel # use kvm-amd if you use an amd processor.