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

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

【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环境下,为了也有同样的效果,可以额外的配置一些网桥,分别让各虚拟机专用,从而提高虚拟网络的性能。

还没有登录? 阅读全文请先登录或注册
用户名:(请填写您的E-mail做为登录账号)
  • 获取最新的IT业界资讯、市场动态、行业趋势等独家原创内容。
  • 分享国内外技术专业人士提供的技巧经验。
  • 利用专注IT的技术资源中心,不断更新专业知识。
  • 享受白皮书、Webcast等系列特色增值服务。
  • 免费参加TT中国举办的各种会员活动。
  • 更多的精彩服务,在不断开发中……
用户名:(请填写您的E-mail)
密 码:
 永久登录
请输入您的登录email: