我們在工作中用到了大量的虛拟機,至少一半的實體伺服器都被虛拟化了。VPSee 正在考慮用一個虛拟機來替代一台實體機器來監測網絡上的
主機情況。前不久我們小組拉了一根自己的 ADSL,建了一個自己的網,這樣加上工作網絡就有2個不同的網,我們希望能在一個虛拟機上用
Cacti 等工具同時監測2個網絡上的多台關鍵伺服器、路由器和交換機的實時情況。這就需要在我們的虛拟機上連接配接到另一個網絡,Xen 預設安裝
後在 dom0 和 domU 上隻有一個虛拟網絡接口,現在我們需要在 Xen 虛拟機(domU)上添加另一個虛拟網絡接口,并和實體伺服器上新添加
的網卡和網絡配置對應起來。
配置
打開 Xen 的配置檔案,注釋掉 (network-script network-bridge) 一行,然後加上下面一行:
# vi /etc/xen/xend-config.sxp
#(network-script network-bridge)
(network-script network-multi-bridge)
然後建立一個 network-multi-bridge 腳本,用來2次執行 network-bridge 腳本:
# vi etc/xen/scripts/network-multi-bridge
#!/bin/sh
dir=$(dirname "$0")
"$dir/network-bridge" "$@" vifnum=0 bridge=xenbr0 netdev=eth0
"$dir/network-bridge" "$@" vifnum=1 bridge=xenbr1 netdev=eth1
重新開機 Xen 服務使配置生效:
# /etc/init.d/xend restart
打開 Xen 虛拟機的配置檔案,加入一個虛拟網卡:
# vi /etc/xen/vpsee
vif = [ "mac=00:16:3E:58:FF:AB,bridge=xenbr0",
"mac=00:16:3E:58:FF:AD,bridge=xenbr1" ]
重新開機虛拟機後,檢視網絡擴充卡的配置就會發現多了一個 eth1:
# /sbin/ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:16:3E:58:FF:AB
inet addr:172.16.38.200 Bcast:172.16.39.255 Mask:255.255.254.0
inet6 addr: fe80::216:3eff:fe58:ffab/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:801 errors:0 dropped:0 overruns:0 frame:0
TX packets:209 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:93950 (91.7 KiB) TX bytes:42427 (41.4 KiB)
eth1 Link encap:Ethernet HWaddr 00:16:3E:58:FF:AD
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
給 eth1 配置 IP 位址、掩碼、網關等:
# vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
TYPE=Ethernet
IPADDR=192.168.10.200
GATEWAY=
NETMASK=255.255.255.0
配置好虛拟機的網卡後啟動網卡:
# /etc/sysconfig/network-scripts/ifup eth1
這樣就給運作在一台實體機器上的 Xen 虛拟機增加了一個新網卡,并連接配接到了實體伺服器所在的新網絡,虛拟機上的2個網卡和實體伺服器上的2個網卡一一對應。
配置路由表
如果想在伺服器上同時通路2個網絡和其子網絡的話,需要修改預設網關和配置路由表:
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR=172.16.39.200
GATEWAY=172.16.38.1
NETMASK=255.255.254.0
# vi /etc/sysconfig/network-scripts/ifcfg-eth2
# vi /etc/sysconfig/network-scripts/route-eth0
192.102.5.0/24 via 172.16.38.1 dev eth0
# vi /etc/sysconfig/network-scripts/route_eth1
192.168.0.0/23 via 192.168.10.2 dev eth1