想验证下最新版本的qemu的一些功能,因而将其从qemu-0.12升级到了qemu-1.4,编译安装一切都很顺利,可是当建立virtual machine时,报错以下:html
[root@compute-30-02 data3]# virsh create ubuntu.xml error: Failed to create domain from ubuntu.xml error: unknown OS type hvm
首先来看一下,ubuntu.xmlubuntu
<domain type='kvm'> <name>vm1</name> <memory>1048576</memory> <vcpu>4</vcpu> <os> <type arch='x86_64' machine='pc'>hvm</type> <boot dev='cdrom'/> </os> <features> <acpi/> <apic/> <pae/> </features> <clock offset='localtime'/> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>destroy</on_crash> <devices> <emulator>/usr/local/bin/qemu-system-x86_64</emulator> //新编译安装的qemu <disk type='file' device='disk'> <driver name='qemu' type='qcow2'/> <source file='/data3/vm1.qcow2'/> <target dev='vda' bus='virtio'/> </disk> <disk type='file' device='cdrom'> <source file='/data3/ubuntu.iso'/> <target dev='hdb' bus='ide'/> </disk> <interface type='network'> <source network='default'/> </interface> <input type='mouse' bus='ps2'/> <graphics type='vnc' port='-1' autoport='yes' keymap='en-us'/> </devices>
网上google了不少解决方法,好比确认kvm,kvm-intel等内核模块是否加载等,其实这些都不是正确的解决方法,网上到有人说运行virsh capabilities命令。其实,根本的缘由在于qemu的可执行命令必须位于/usr/bin下才行,不然,virsh capabilities找不到其可执行文件,因此报错了。可见上面配置文件的红色加粗字体<emulator>/usr/local/bin/qemu-system-x86_64</emulator> ,并不在/usr/bin目录下,因此解决方法就是在/usr/bin目录下建一个符号连接就ok了!
一个很是简单的问题,可能会耗去你很是多的时间,最后发现一点技术含量没有,可是若是不跨过这道坎,再有技术含量的工做也不能进行,我的感受每一个工做都有其很是重要的做用,小细节决定大成败!
有的公司一我的作好几个项目,有的公司好几我的作一个项目,道理可能就在这吧!api
转自:http://blog.chinaunix.net/uid-20940095-id-3586811.htmldom
有的时候把libvirtd升级了后..或者qemu从新安装后ide
virsh list 没有虚拟机信息..字体
可是ps的看一下..虚拟机都在跑着...并无什么异常...ui
缘由就是虚拟机xml里面定义的emulator路径有问题.google
只要把qemu的路径定义正确.而后重启一下libvird服务...虚拟机状态就都回来了..spa