目的: 使所有伺服器上的虛擬機器在同一網段,能夠相互ping通。
環境:伺服器ubuntu server版(主機) ,虛擬機器ubuntu14.04桌面版(客戶機)。所有的伺服器均在乙個內網,且能夠通過外網的ip加埠進行訪問。
1)安裝openvswitch及kvm
apt-get install openvswith
apt-get install kvm qemu libvirt-bin virtnst virt-viewer
2)搭建網橋
1. 進入/etc/libvirt/qemu/networks目錄,建立br1.xml檔案
檔案內容:
2 .
br1
建立並啟動網路:
sudo virsh net-define br1.xml
sudo virsh net-start br1
sudo virsh net-autostart br1
3. 使用ovs建網橋,並繫結網絡卡(em1):
sudo ovs-vsctl add-br br1
sudo ovs-vsctl add-port em1
sudo ifconfig em1 0
sudo ifconfig br1 10.2.2.1/24 up
5. 給網橋br1新增靜態路由,由於em1的ip位址設為0,故原本的靜態路由也就沒了
route -n #檢視路由表
route add default gw 10.2.2.1 dev br1
現在這台伺服器仍然可以ping通閘道器,並且可以從外網訪問。
當br1網橋建好之後,開啟虛擬機器的網路設定,可以選擇使用br1。(預設的網橋virbr0使用net模式,不能實現外部到內部的訪問)
給虛擬機器分配靜態ip:修改/etc/network/inte***ces檔案
執行sudo reboot 重啟虛擬機器。auto eth0
auto eth0iface eth0 inet static
address 10.2.2.10
netmask 255.255.255.0
gateway 10.2.2.1
iface eth0 inet static
address 10.2.2.10
netmask 255.255.255.0
gateway 10.2.2.1
這樣就實現了不同伺服器之間的虛擬機器在同乙個內網,並且相互ping通。
虛析構 純虛析構
析構函式的工作方式是 最底層的派生類 most derived class 的析構函式最先被呼叫,然後呼叫每乙個基類的析構函式。從高到低依次析構 因為在c 中,當乙個派生類物件通過使用乙個基類指標進行刪除 b a a a new b delete a 而這個基類有乙個非虛的析構函式,則結果是未定義的...
C 析構函式 虛析構函式
1.為什麼要定義虛析構函式?如果有乙個帶有虛函式功能的類,則它需要乙個虛析構函式,原因如下 1 如果乙個類有虛函式功能,它經常作為乙個基類使用 2 如果它是乙個基類,它的派生類經常使用new來分配 3 如果乙個派生類物件使用new來分配,並且通過乙個指向它的基類的指標來控制,那麼它經常通過乙個指向它...
虛析構和純虛析構
多型使用時,如果子類有屬性開闢到堆區,那麼父類指標在釋放時無法帶呼叫到子類的析構 解決方式 將父類的析構函式改為純虛析構或者虛析構 1.可以解決父類指標釋放子類物件 2.都必須要有具體的函式實現 虛析構和純虛析構的區別 如果是純虛析構,該類屬於抽象類,無法例項化物件 include include ...