2011-06-10 35 views
8

我已經安裝kvmlibvirt。我正在使用以下語法從現有映像安裝虛擬機(以root身份執行)。的virt-安裝錯誤

virt-install --name=vm_test --ram=1024 --arch=i686 --vcpus=1 --os-type=linux --import --disk path=/root/shared.qcow2,bus=virtio,format=qcow2 --graphics vnc,port=5901,listen=0.0.0.0,password=newone --noautoconsole --description --autostart 

我收到以下錯誤。

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-managervirt-manager安裝虛擬機,其中virt-manager將磁盤映像存儲在默認位置。

這似乎是一個文件權限錯誤給我,因爲它不是與/vms目錄一起工作,但與其他一些/home/vm目錄一起工作。

感謝您的幫助提前

+1

我想通了這個問題。在此給出:HTTP://ubuntuforums.org/showthread.php T = 1703744 – 2011-06-10 14:53:18

回答

1

我已經找到了解決我的問題,在這裏。

真正的原因是/vms是一個NFS掛載,其配置(no_root_squash + rw)是這樣的,它需要通過root進行訪問。

默認情況下,libvirt會運行虛擬機,其用戶和組權限爲libvirt-qemu:kvm,即使您使用sudo權限運行,也會產生問題。因此,我們需要組QEMU進程的用戶&組/etc/libvirt/qemu.conf根。

也正如其他人指出的那樣,可以有多個其他原因這個錯誤,它的傷心,libvirt的拋出這樣的一般性錯誤。

的至少令人沮喪的解決方案是讓所有的權限,禁用SELinux,並確保它運行。現在逐一撤銷權限的測試,它工作在每一個步驟和終於理解,爲什麼你被要求給出最終的權限。

5

我有一個服務器,裏面有libvirt了幾個星期在相同的錯誤消息。 設置libvirt以root身份運行(如鏈接中所述)不適用於我。 然而,授予讀&執行權限/var/lib/libvirt/images解決我的問題。

chmod go+rx /var/lib/libvirt/images 
chmod o-rwx /var/lib/libvirt/images/* 
4

如果按照使用libvirt的創建虛擬機的所有指令,你可能仍然滿足上述錯誤信息。根本原因是AppArmor可以在最近的Ubuntu發行版中找到。最簡單的方法是在安全問題不重要的情況下移除AppArmor。

的Ubuntu的官方文檔上禁用的AppArmor使許多建議:

Disable AppArmor

-1

我面臨着同樣的問題。經過調查,我發現這是一個許可問題。你可以運行下面的命令來處理它:

chown root:kvm /dev/kvm 

並且你不需要重新啓動。

1

我得到了拱此權限被拒絕的錯誤。問題原來是訪問控制列表。儘管Unix許可顯示組rwgetfacl顯示group::---。這固定它對我來說:

setfacl -m g::rw /dev/kvm 
2

如果模塊加載得太快,TM會發生這種情況(實際的問題不爲我所知,所以如果你知道這個問題,請增強這個答案)。

只是嘗試卸載模塊,並再次加載它們。這爲我做的伎倆:

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.