如何创建附加的Xen虚拟网桥?

日期: 2008-10-09 作者:Sander van Vugt翻译:涂凡才 来源:TechTarget中国 英文

Xen的网络功能还处在构建阶段,但Xen网桥功能已经近乎完善。虚拟网桥模式工作很稳定,而且提供了许多配置选项供用户使用。如果你的物理服务器有多个网络接口,想要把虚拟机绑定到特定的网络板(network board),使用Xen网桥将非常方便。因此,在本文中你将了解到如何创建Xen网桥。

  Xen联网   首先,我们概括地了解一下Xen的联网方式。在特权域(privileged domain)中,你会看到一个默认的xenbr0设备。当与这个虚拟网桥连接后,你会看到vif接口的命名为vifx.y。其中,x是代表域的数值,y代表网桥的接口。

在虚拟机中,使用的是虚拟以太网接口。这些虚拟以太网接口连接……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

Xen的网络功能还处在构建阶段,但Xen网桥功能已经近乎完善。虚拟网桥模式工作很稳定,而且提供了许多配置选项供用户使用。如果你的物理服务器有多个网络接口,想要把虚拟机绑定到特定的网络板(network board),使用Xen网桥将非常方便。因此,在本文中你将了解到如何创建Xen网桥。

  Xen联网

  首先,我们概括地了解一下Xen的联网方式。在特权域(privileged domain)中,你会看到一个默认的xenbr0设备。当与这个虚拟网桥连接后,你会看到vif接口的命名为vifx.y。其中,x是代表域的数值,y代表网桥的接口。在虚拟机中,使用的是虚拟以太网接口。这些虚拟以太网接口连接到其中一个vif接口。例如,id 1虚拟机的eth0是与特权域中的vif1.0相连接的。brct1 show命令可以查找Xen网桥的配置情况,显示网桥、配置和与之相连的所有接口。

  这里,brct1 show命令显示了当前网桥配置:

lin:~ # brctl show
bridge name     bridge id               STP enabled     interfaces
xenbr0              8000.feffffffffff       no                   vif0.0
                                                                                peth0
                                                                                vif1.0

  Xen网桥配置

  首先,我们看看在Xen中用于配置虚拟网桥的一些命令和脚本。第一个脚本是/etc/xen/xend-config.sxp,它可以对虚拟机进行一些普通设置,其中包括了如下两行:
(network-script network-bridge) (vif-script vif-bridge)

  第一行确保网桥脚本(network-bridge script)被执行。网桥脚本是用于设置虚拟网桥的脚本,它使用brct1和ip命令设置网桥。执行该脚本时,会有如下几个执行步骤:

  • 重命名物理接口eth0为peth0。
  • 创建虚拟接口eth0。
  • 复制MAC(媒体访问控制)地址和peth0相关配置到eth0。
  • 禁用ARP协议。实际上是完全禁用了接口的功能。
  • 创建虚拟网桥xenbr0。
  • 将接口peth0和vif0.0连接到网桥。

  多网桥操作

  对于只有一个以太网接口的服务器,一个网桥就足够了。但是如果服务器有多个接口,可能就需要创建网桥以分散接口间通信了。通过这种方法,可以连接xenbr0与peth0、xenbr1与peth1,使某个xenbr只能被特定的虚拟机连接,如,xenbr1只能与dom1连接。network-bridge脚本包含了完成这个操作的所有必要内容。例如,如下命令会创建一个连接到eth1网络板的网桥:

  lin:/etc/xen/scripts # ./network-bridge netdev=eth1 bridge=xenbr1 start

  这条命令尽管很有用,但需要对/etc/xen/xend-config.sxp脚本进行一些调整才能在启动过程中自动创建网桥。默认情况下,这个脚本会调用network-bridge脚本。不过,这个network-bridge脚本只能被调用一次。要避免这个问题,你需要创建一个network-wrapper脚本,通过配置network-wrapper脚本可以调用network-bridge脚本两次。通过如下步骤配置:

  1. 创建脚本/etc/xen/scripts/network-wrapper,使用如下命令:/etc/xen/scripts/network-bridge netdev=eth0 bridge=xenbr0 start /etc/xen/scripts/network-bridge netdev=eth1 bridge=xenbr1 start
  2. 调整/etc/xen/xend-config.sxp脚本,以便调用network-wrapper脚本。在/etc/xen/xend-config.sxp脚本中添加如下内容:# (network-script network-bridge) (network-script network-wrapper_ (vif-script vif-bridge)
  3. 确保在每个非特权域的配置文件中指定它使用的网桥。这样,vif行会类似如下内容:vif=[ 'bridge=xenbr1', 'mac=00:16:3e:07:d2:0e', ]

  总结

  现在的服务器通常会有多个物理网络板。在Xen环境下,为了也有同样的效果,可以额外的配置一些网桥,分别让各虚拟机专用,从而提高虚拟网络的性能。

相关推荐