无法使用KVM运行具有三个以上networking接口的虚拟机

我在Ubuntu 10.10服务器上运行KVM

我可以创build虚拟机(虚拟机)和networking接口,但我似乎无法添加超过三个networking接口。 一旦我有一个有四个networking接口的虚拟机,就会在启动SeaBIOS页面时出现以下消息:

Starting SeaBIOS (version pre-0.6.1-20100702_143500-palmer) 

到目前为止,我已经通过两台虚拟机,一台Ubuntu 10.10桌面和一台Vyatta路由器进行了validation。 我分配给虚拟机的特定networking硬件似乎并不重要。 我试图有一个桥接接口和三个使用Vyatta的私人networking之间路由。

有谁知道为什么我不能运行一个虚拟机超过三个networking接口?

编辑:此外,负责特定VM的KVM线程挂起使用〜100%的CPU(即一个核心)。 以下是挂起的过程的命令:

 /usr/bin/kvm -S -M pc-0.12 -enable-kvm -m 512 -smp 1,sockets=1,cores=1,threads=1 -name vyatta -uuid 6dff7c94-6810-423e-5fea-fec10da0e9b7 -nodefaults -chardev socket,id=monitor,path=/var/lib/libvirt/qemu/vyatta.monitor,server,nowait -mon chardev=monitor,mode=readline -rtc base=utc -boot c -drive file=/home/rams/virtual-machines/vyatta.img,if=none,id=drive-ide0-0-0,boot=on,format=raw -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 -drive if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -device rtl8139,vlan=0,id=net0,mac=00:54:00:be:cc:4b,bus=pci.0,addr=0x3 -net tap,fd=97,vlan=0,name=hostnet0 -device rtl8139,vlan=1,id=net1,mac=52:54:00:da:59:ed,bus=pci.0,addr=0x5 -net tap,fd=98,vlan=1,name=hostnet1 -device rtl8139,vlan=2,id=net2,mac=52:54:00:ce:22:b6,bus=pci.0,addr=0x6 -net tap,fd=99,vlan=2,name=hostnet2 -device rtl8139,vlan=3,id=net3,mac=52:54:00:1e:bc:46,bus=pci.0,addr=0x7 -net tap,fd=101,vlan=3,name=hostnet3 -chardev pty,id=serial0 -device isa-serial,chardev=serial0 -usb -vnc 127.0.0.1:0 -k en-us -vga cirrus -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4 

编辑:我也在dmesg中发现了一个可能相关的错误(在详细模式下运行virtd时也会出现这个错误):

 14:47:24.399: warning : qemudParsePCIDeviceStrs:1422 : Unexpected exit status '1', qemu probably failed 

我也尝试禁用应用程序装甲,但这似乎没有什么区别。

奇怪的是,我刚刚在Fedora 14上启动了一个VM,连接了4个NIC。

我不认为这是NIC的数量 – 你使用libvirt来创build客人? 看起来像是使用了RealTek(rtl8139)qemu驱动程序,有时这些驱动程序在KVM下会导致死机或其他问题。 我会尝试切换到e1000或virtio。

 virsh dumpxml vm1 > vm1definition.xml virsh destroy vm1 

编辑xml文件并用virtioe1000replace每个NIC定义中的rtl8139

 virsh create vm1definition.xml