мы настраиваем хост ubuntu server 10.04 с kvm. Хост настроен с привязкой и мостовыми интерфейсами, чтобы разрешить гостям доступ к сети без каких-либо проблем. Наша текущая конфигурация работает нормально, за исключением случаев, когда мы перезапускаем сеть с помощью /etc/init.d/networking restart. После перезапуска сети гости теряют связь. Единственный способ восстановить его - остановить гостя и запустить его заново.
Я искал вокруг, но, похоже, не нашел ни одной известной ошибки / проблемы / отчета об этом поведении.
Вот наш файл конфигурации сети:
auto lo
iface lo inet loopback
auto bond0
iface bond0 inet manual
bond-slaves none
bond-mode active-backup
bond-downdelay 250
bond-updelay 120
bond-miimon 100
auto eth0
iface eth0 inet manual
bond-master bond0
bond-primary eth0 eth1
auto eth1
iface eth1 inet manual
bond-master bond0
bond-primary eth0 eth1
#bridge used by host
auto br-vlan180
iface br-vlan180 inet static
address 10.0.0.200
netmask 255.255.255.0
gateway 10.0.0.1
vlan-raw-device bond0
bridge_ports vlan180
bridge_maxwait 0
bridge_fd 0
bridge_stp off
#bridge without address, used by vm
auto br-vlan120
iface br-vlan120 inet manual
vlan-raw-device bond0
bridge_ports vlan120
bridge_maxwait 0
bridge_fd 0
bridge_stp off
Спасибо
ДОБАВЛЕНИЕ - brctl показать вывод до и после перезапуска nw:
BRCTL SHOW ПЕРЕД ПЕРЕЗАПУСКОМ NW
brctl show
bridge name bridge id STP enabled interfaces
br-vlan120 8000.984be1644072 no vlan120
vnet0
vnet1
br-vlan180 8000.984be1644072 no vlan180
virbr0 8000.000000000000 yes
BRCTL SHOW ПОСЛЕ NW ПЕРЕЗАГРУЗКИ
brctl show
bridge name bridge id STP enabled interfaces
br-vlan120 8000.984be1644072 no vlan120
br-vlan180 8000.984be1644072 no vlan180
virbr0 8000.000000000000 yes
очевидно, два виртуальных интерфейса не возвращаются после перезапуска сети.
PS ПЕРЕД ПЕРЕЗАГРУЗКОЙ NW
ps -ef | grep qemu
root 1784 1 6 11:45 ? 00:00:40 /usr/bin/kvm -S -M pc-0.12 -enable-kvm -m 512 -smp 1 -name test02 -uuid ee6d84b6-dbf8-d93c-b32f-8ae6b7d9b80e -chardev socket,id=monitor,path=/var/lib/libvirt/qemu/test02.monitor,server,nowait -monitor chardev:monitor -boot c -drive file=/dev/sysvg/test02,if=virtio,index=0,boot=on,format=raw -drive file=/root/ubuntu-10.04.2-server-amd64.iso,if=ide,media=cdrom,index=2,format=raw -net nic,macaddr=52:54:00:2c:d1:26,vlan=0,name=nic.0 -net tap,fd=48,vlan=0,name=tap.0 -chardev pty,id=serial0 -serial chardev:serial0 -parallel none -usb -vnc 127.0.0.1:0 -vga cirrus -soundhw es1370
root 2711 1 89 11:55 ? 00:00:14 /usr/bin/kvm -S -M pc-0.12 -enable-kvm -m 512 -smp 2 -name nttest -uuid 04ca381e-0510-7d3c-c7e2-8f7d7b6ea58f -chardev socket,id=monitor,path=/var/lib/libvirt/qemu/nttest.monitor,server,nowait -monitor chardev:monitor -localtime -boot c -drive file=/dev/sysvg/nttest,if=ide,index=0,boot=on,format=raw -drive file=/root/SW_DVD5_Windows_Svr_DC_EE_SE_Web_2008_R2_64Bit_English_w_SP1_MLF_X17-22580.ISO,if=ide,media=cdrom,index=2,format=raw -net nic,macaddr=52:54:00:62:1b:2e,vlan=0,name=nic.0 -net tap,fd=51,vlan=0,name=tap.0 -chardev pty,id=serial0 -serial chardev:serial0 -parallel none -usb -usbdevice tablet -vnc 127.0.0.1:1 -vga cirrus -soundhw es1370
PS ПОСЛЕ ПЕРЕЗАГРУЗКИ NW
ps -ef | grep qemu
root 1784 1 4 11:45 ? 00:00:59 /usr/bin/kvm -S -M pc-0.12 -enable-kvm -m 512 -smp 1 -name test02 -uuid ee6d84b6-dbf8-d93c-b32f-8ae6b7d9b80e -chardev socket,id=monitor,path=/var/lib/libvirt/qemu/test02.monitor,server,nowait -monitor chardev:monitor -boot c -drive file=/dev/sysvg/test02,if=virtio,index=0,boot=on,format=raw -drive file=/root/ubuntu-10.04.2-server-amd64.iso,if=ide,media=cdrom,index=2,format=raw -net nic,macaddr=52:54:00:2c:d1:26,vlan=0,name=nic.0 -net tap,fd=48,vlan=0,name=tap.0 -chardev pty,id=serial0 -serial chardev:serial0 -parallel none -usb -vnc 127.0.0.1:0 -vga cirrus -soundhw es1370
root 2711 1 39 11:55 ? 00:03:51 /usr/bin/kvm -S -M pc-0.12 -enable-kvm -m 512 -smp 2 -name nttest -uuid 04ca381e-0510-7d3c-c7e2-8f7d7b6ea58f -chardev socket,id=monitor,path=/var/lib/libvirt/qemu/nttest.monitor,server,nowait -monitor chardev:monitor -localtime -boot c -drive file=/dev/sysvg/nttest,if=ide,index=0,boot=on,format=raw -drive file=/root/SW_DVD5_Windows_Svr_DC_EE_SE_Web_2008_R2_64Bit_English_w_SP1_MLF_X17-22580.ISO,if=ide,media=cdrom,index=2,format=raw -net nic,macaddr=52:54:00:62:1b:2e,vlan=0,name=nic.0 -net tap,fd=51,vlan=0,name=tap.0 -chardev pty,id=serial0 -serial chardev:serial0 -parallel none -usb -usbdevice tablet -vnc 127.0.0.1:1 -vga cirrus -soundhw es1370
Что ж, проблема заключается в том, что при перезапуске сети устройства подключения vnetX не подключаются повторно, в результате чего виртуальные машины теряют связь с мостом.
Я предполагаю, что вы можете вручную повторно подключить их к мосту, поскольку они все еще работают, но право способ сделать это - перенести виртуальные машины с хоста, на котором вы вносите изменения в сеть, или отключить виртуальные машины, если вы находитесь в режиме одного хоста. В большинстве систем корпоративного уровня это называется «режимом обслуживания», и изменение конфигурации сети определенно является обслуживанием.