Ubuntu-10.04
網路重啟後 KVM 來賓失去連接
我們正在使用 kvm 設置一個 ubuntu 伺服器 10.04 主機。主機設置有綁定和橋接介面,以允許訪客無需 natting 即可訪問網路。我們目前的配置工作正常,除非我們使用 /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 展示
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
NW 重啟後的 BRCTL 顯示
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 tap 設備沒有重新連接,導致虛擬機失去與網橋的連接。
我想您可以手動將它們重新連接到網橋,因為它們仍在執行,但正確的方法是將虛擬機從您進行網路更改的主機上遷移出去,或者關閉虛擬機,如果您是在單主機模式下。在大多數企業級系統中,這稱為“維護模式”,更改網路配置絕對是維護。