Open vSwitch 与 Libvirt

本文档介绍如何将Open vSwitch与Libvirt 0.9.11或更高版本一起使用。本文档假定你遵循文档:/intro/install/general或从发行版软件包(如.deb或.rpm)安装了Open vSwitch。Libvirt 0.9.11版本默认增加了对Open vSwitch的支持。咨询www.libvirt.org获取有关如何编译更新Libvirt的说明,如果默认情况下,Linux发行版附带一个较旧的libvirt版本。

限制

当前Open vSwitch不支持由libvirt (如:NAT)管理的网络。到目前为止,只支持桥接网络(那些用户必须手动创建的网桥)。

建立

首先,使用ovs-vsctl工具创建Open vSwitch网桥(这必须以管理权限完成):

$ ovs-vsctl add-br ovsbr

完成后,如有必要,创建一个VM,并编辑其Domain XML文件:

$ virsh edit <vm>

在Domain XML文件中查找<interface>部分。对于虚拟机具有的每个接口,都由一个对应的此XML部分:

<interface type='network'>
 <mac address='52:54:00:71:b1:b6'/>
 <source network='default'/>
 <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>

把它改成这样:

<interface type='bridge'>
 <mac address='52:54:00:71:b1:b6'/>
 <source bridge='ovsbr'/>
 <virtualport type='openvswitch'/>
 <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>

接口类型必须设置为bridge。XML元素<source> 指定此接口将添加到哪个网桥。<virtualport>元素表示<source> 元素中的网桥是一个Open vSwitch网桥。

然后(重新)启动虚拟机并验证客户端的vnet接口是否连接到ovsbr网桥:

$ ovs-vsctl show

排错

如果VM不能启动,则尝试在终端上运行libvirtd进程,以便在控制台中打印所有错误信息,或检查Libvirt/Open vSwitch的日志文件以查找可能的根本原因。

猜你喜欢

转载自blog.csdn.net/sinat_20184565/article/details/94590369
今日推荐