设置 XEN 的多网卡(3网卡4网卡..)桥接
我有种机器,有 4 个网卡,想在上面整 4 个虚拟机。所以让不同的虚拟机,使用不同的网卡。这样来做桥接设备。方便使用。记录一下方法,如下。
1.安装 xen 虚拟化
最开始当然得使用软件源来安装虚拟化。用 163 的吧,速度不错。
以下是引用片段: perl -i -pe ’s/mirror.centos.org/mirrors.163.com/g;s/^#baseurl/baseurl/g;s/mirrorlist/#mirrorlist/g’ /etc/yum.repos.d/CentOS-Base.repo yum -y groupinstall Virtualization |
eth0 - xenbr0 - Dom0, DomN
eth1 - xenbr1 - DomX+1
eth2 - xenbr2 - DomX+2
eth3 - xenbr3 - DomX+3
4个网卡,分别桥接,然后让三个虚拟机分别接到三个机器上
2. 修改 xend 的配置文件,让它支持多个网卡,不使用默认的脚本
在 /etc/xen/xend-config.sxp 文件中的 (network-script network-bridge) 修改成 (network-script php-oa-network-multi-bridge).这样启用我们自己的脚本来生成桥接的设备
以下是引用片段: perl -i -pe ’s/\(network-script network-bridge\)/#\(network-script network-bridge\)\n\(network-script php-oa-network-multi-bridge\)/g’ /etc/xen/xend-config.sxp |
3. 写自己自定的脚本 ,来生成自己所需要的网卡数量和绑定的位置,如上面的计划中
以下是引用片段: perl -le ’for $num (0 .. 3){print "/etc/xen/scripts/network-bridge \"\$@\" vifnum=$num netdev=eth$num bridge=xenbr$num" }’ > /etc/xen/scripts/php-oa-network-multi-bridge chmod u+x /etc/xen/scripts/php-oa-network-multi-bridge |
以下是引用片段: /etc/xen/scripts/network-bridge "$@" vifnum=0 netdev=eth0 bridge=xenbr0 /etc/xen/scripts/network-bridge "$@" vifnum=1 netdev=eth1 bridge=xenbr1 /etc/xen/scripts/network-bridge "$@" vifnum=2 netdev=eth2 bridge=xenbr2 /etc/xen/scripts/network-bridge "$@" vifnum=3 netdev=eth3 bridge=xenbr3 |
4.配置物理网卡,让开机就能启动
好了,在使用上面的脚本成前面,我们需要保证这几个网卡配置是能正常启动的。
所以我们要修改二个地方 ,ONBOOT=yes 和 BOOTPROTO=static 这二个,网卡才能正常的启动.
以下是引用片段:
perl -i -pe "s/ONBOOT=no/ONBOOT=yes/g;s/BOOTPROTO=dhcp/BOOTPROTO=static/g" /etc/sysconfig/network-scripts/ifcfg-eth{1,2,3}
5. 测试桥接
下面的命令就不用解释了,还可以用 ifconfig 检查
以下是引用片段: /etc/xen/scripts/ChinaCache-network-multi-bridge start /etc/xen/scripts/ChinaCache-network-multi-bridge status /etc/xen/scripts/ChinaCache-network-multi-bridge stop |
6. 安装第一个虚拟机
下面的命令是用来安装第一个虚拟机的,其它的虚拟机直接 copy 出来就行。然后只要修改其它机器的配置文件就行了。
以下是引用片段: /usr/sbin/virt-install -p --paravirt --name=node1 -s 5 --ram=8192 --vcpus=2 --file=/xen/node1 --location=nfs:123.125.162.7:/mnt --extra-args="ip=123.125.162.45 netmask=255.255.255.192 gateway=123.125.162.1 dns=202.106.0.20" --network bridge=xenbr0 noipv6 |
-extra-args 这个是传送给启动时的内核用的。
-network 是设置网络的连接方法,还有桥接到那个设备
-s 生成的文件大小 G 为单位
-ram 内存设置
-file 系统文件存放的位置
7. 设置自动启动
当主系统启动时,虚拟机启动,自己有几个 虚拟机设置几个
以下是引用片段: virsh autostart node1 |
8. 其它虚拟机的安装
其它的虚拟机安装比较容易,直接 copy 上面的 /xen/node1 这个操作系统的文件叫别的名字,另外新建几个其它机器的配置文件
以下是引用片段: cp /etc/xen/node1 /etc/xen/node{1,2,3} |
以下是引用片段: name = "node1" disk = [ "tap:aio:/xen/node1,xvda,w" ] vif = [ "mac=00:16:36:7b:c9:e3,bridge=xenbr0,script=vif-bridge" ] |
如果要新加硬盘,可以使用下面的语法,来加入物理硬盘
以下是引用片段: disk = [ "tap:aio:/xen/node1,xvda,w", "phy:/dev/sdb,ioemu:sdb,w", "phy:/dev/sdc,ioemu:sdc,w", ] |
以下经验参考: http://www.cnblogs.com/yangyh/archive/2010/07/16/1778516.html
xenbr0 是会连接vif0.0,vifN.0 (N 表示 xm list 中的 id 号,表示第几个 id 的虚拟主机)
peth0 可以将peth0看作etho的别名
vif0.0表示dom0接口,vif1.0表示dom ID=1的接口(重启或新建几个domain,ID更改后你会发现vif1.0变成vif2.0..3.0了)
如果在xenbr0中删除vif0.0,则在domain中无法ping通本机,但能ping通通过eth0连接的机器,比如本机连接的路由器
如果在xenbr0中删除vif1.0,则在domain中就没有网卡了(相应的vif1.1表示ID为1的DOMAIN的第二块网卡)
如果在xenbr0中删除peth0,则能ping能本机,而无法ping通路由器或局域网其它机器
建议继续学习:
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:扶凯 来源: 扶凯
- 标签: XEN 多网卡 虚拟化
- 发布时间:2010-11-01 20:05:19
- [65] Oracle MTS模式下 进程地址与会话信
- [65] Go Reflect 性能
- [64] 如何拿下简短的域名
- [59] android 开发入门
- [59] IOS安全–浅谈关于IOS加固的几种方法
- [58] 图书馆的世界纪录
- [58] 【社会化设计】自我(self)部分――欢迎区
- [53] 视觉调整-设计师 vs. 逻辑
- [47] 界面设计速成
- [46] 读书笔记-壹百度:百度十年千倍的29条法则