分类: LINUX
2011-05-30 02:00:31
有关XEN网络基础概念就不讲了,主要介绍一下XEN提供的三种模式原理。
1.Net-Bridge桥接方式
要使用哪种模式定义在/etc/xen/xend-conf.sxp系统预设使用Bridge模式,主要会启动network-bridge与vif-bridge这两个shellscript.在这个模式下会看到一个设备xenbr0.要认识xenbr0的最好方式是直接看Networking启动时的步骤,当Dom0的xend启动时,首先会执行/etc/xen/scripts/network-bridge这个script,网络启动步骤如下:
1.首先产生一个新的bridge名称为xenbr0
2.此时实体的网络装置eth0会被关闭
3.实体的eth0IP和MACaddresses会复制到虚拟的网络装置中veth0
4.实体的网络装置eth0名称会被修改成peth0
5.虚拟的网络装置veth0名称会被修改成eth0
6.peth0和vif0.0会被连接到bridgexenbr0(此时的xenbr0就如同一个switch)
7.bridgexenbr0,peth0,eth0和vif0.0都会被启动.
注意:Dom0上的防火墙是不会引响到DomU的网络流通的.
当在RHEL5上,Xen安装完成时系统预设的Bridge(xenbri0)只有一个,但是当有多张网卡时就需要手动设定多个Bridge.假设系统没有经过其它设定,其网络组态就像下面所描述的Dom0(eth0)->vif0.0->xenbr0->peth0.
如果我们系统上有多张实体网卡时就可以透过修改设定档/etc/xen/xend-config.sxp让虚拟的网络装置可以透过其它实体装置连接网络.
[root@benjr~]#vi/etc/xen/xend-config.sxp
...
#(network-script network-bridge)
(network-script my-network-script)
...
#把上面的修改成我自己设定的网络script名称(my-network-script).接下来将我们的my-network-script修改成我们需要的组态即可.
[root@benjr~]#vi/etc/xen/scripts/my-network-script
#!/bin/sh
/etc/xen/scripts/network-bridge start vifnum=0 netdev=eth0 bridge=xenbr0
/etc/xen/scripts/network-bridge start vifnum=1 netdev=eth1 bridge=xenbr1
[root@benjr~]#chmoda+x/etc/xen/scripts/my-network-script
#不要忘记修改配置文件.
如果要临时增加一个Bridge可用下面的指令.建立一个Network-bridge
[root@benjr~]#/etc/xen/scripts/network-bridge start vifnum=1 bridge=xenbr1 netdev=eth1
vifnum=1;虚拟装置号码,系统预设有8个loopback装置可以使用,而默认值为0.可以在开机时指定loopback最大到32个nloopbacks=
bridge=xenbr1;设定NetworkBridge名称为xenbr1,默认值为xenbr${vifnum}.
netdev=eth1;设定NetworkBridgexenbr1透过实体eth1连接外部.默认值为eth$(vifnum}
但是DomU启动时是依据vif-bridge这个script来执行.
当domU启动时,xend(runningindom0)会来执行这个vif-bridgescript,虚拟网络启动步骤如下:
1.将vif
2.启动vif
所有的scripts都存放在/etc/xen/scripts.而Bridge只是Xen其中一种的网络模式,其它的还有NAT'sNetworking与RoutedNetworking这些后面会再介绍.