Я использую KVM поверх сервера Ubuntu 10.10
Я могу создавать виртуальные машины (виртуальные машины) и сетевые интерфейсы, но я не могу добавить более трех сетевых интерфейсов. Как только у меня есть виртуальная машина с четырьмя сетевыми интерфейсами, она зависает при запуске на стартовой странице SeaBIOS с таким сообщением:
Starting SeaBIOS (version pre-0.6.1-20100702_143500-palmer)
До сих пор я проверял это с помощью двух виртуальных машин, рабочего стола Ubuntu 10.10 и маршрутизатора Vyatta. Конкретное сетевое оборудование, которое я назначаю виртуальной машине, не имеет значения. Я пытаюсь использовать один мостовой интерфейс и три частные сети, использующие Vyatta для маршрутизации между ними.
Кто-нибудь знает, почему я не могу запустить виртуальную машину с более чем тремя сетевыми интерфейсами?
Изменить: Кроме того, поток KVM, ответственный за конкретную виртуальную машину, зависает, используя ~ 100% ЦП (то есть одно ядро). Вот команда для зависшего процесса:
/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 с 4 подключенными сетевыми адаптерами.
Я не думаю, что дело в количестве сетевых адаптеров - вы используете libvirt для создания гостей? Похоже, он использует драйверы qemu RealTek (rtl8139), которые, как известно, иногда вызывают зависание или другие проблемы в KVM. Я бы попробовал переключить их на e1000 или virtio.
virsh dumpxml vm1 > vm1definition.xml
virsh destroy vm1
Отредактируйте файл xml и замените rtl8139
в каждом определении NIC с virtio
или e1000
virsh create vm1definition.xml