KVM/Libvirt采用openvswitch网络.

7940阅读 0评论2015-05-19 guofs123
分类:虚拟化

测试平台
CentOS7.1 + KVM/Libvirt + OpenVSwitch(v2.3.1)


注意事项:
1.若采用源代码安装openvswitch,则需建立如下命令链接.
        #ln -s /usr/local/openvswitch/bin/ovs-vsctl /usr/bin/ovs-vsctl
2.openvswitch和KVM暂时只能以brigde的方式进行集成,不支持以MacvTap方式集成.
  若要实现MacvTap/Private效果,需配置openvswitch支持PVLAN.

 


步骤过程
========================================================================
第一步:建立OVS网桥并接管Trunk接口
#ovs-vsctl add-br br0                        //可以不用将该网桥up.
#ovs-vsctl set bridge br0 stp_enable=true    //配置STP
#ovs-vsctl add-port br0 enp2s0f0             //接口enp2s0f0一定要接在Trunk口上面,并配置合适的Vlan(管理IP的vlan不要该接口上通过)

 

第二步:将主机接入openvswitch网络
办法一:手工处理
  #ovs-vsctl add-port br0 vnet0 tag=100    //vnet0连接在主机VM1,将VM1接到Vlan100上面.
  #ovs-vsctl add-port br0 vnet1 tag=200    //vnet1连接在主机VM2,将VM2接到Vlan200上面.

方法二:纯主机配置文件方式
#vi /etc/libvirt/qemu/winxp-1.xml
...
   
     
     
     
       
     

     
     
     


   
...
#virsh define /etc/libvirt/qemu/winxp-1.xml
#virsh start winxp-1

办法三:采用网络配置文件与主机配置文件相结合
配置网络文件
#vi /etc/libvirt/qemu/networks/ovs-net.xml
...

  ovs-net
  3dabc8ad-3d9a-4038-bbba-9c8339d19f7c
 
    //配置ovs网桥名称和STP等.
                         
   
 

           //接口类型

                   //定义一个接口,并指定通过的Vlan
   
     
   

 

                   //定义一个接口,并指定通过的Vlan
   
     
   

 

                //定义一个接口,并指定为Trunk模式
                          //将该接口配置为Trunk方式
         //指定native-vlan的ID为1
                              //提定哪些vlan可以通过,类似于cisco中的"switchport trunk allowed vlan xx"命令.若不指定,则表示所有vlan可以通过.
   

 


#virsh net-define /etc/libvirt/qemu/networks/ovs-net.xml
#virsh net-start ovs-net
#virsh net-autostart ovs-net

配置主机配置文件
#vi /etc/libvirt/qemu/winxp-1.xml
...
   
     
     
     
     
     


   
...
#virsh define /etc/libvirt/qemu/winxp-1.xml
#virsh start winxp-1

也可以采用virt-install命令下直接产生虚机
#/usr/bin/virt-install \
--name xp-5 \
--ram 1024 \
--virt-type kvm \
--vcpus 1 \
--disk path=/var/lib/libvirt/images/xp-5.img,size=5 \
--cdrom /root/iso/XP3_CN.iso \
--graphics vnc,password=123456,listen=10.1.8.12,port=5915 \
--network network=ovs-net,portgroup=vlan59 \
--force \
--autostart &

 


第三步:查看
# ovs-vsctl show
2b065c8e-88cd-4318-8713-57f11a6b1cc0
    Bridge "br0"
        Port "vnet1"
            tag: 13
            Interface "vnet1"
        Port "br0"
            Interface "br0"
                type: internal
        Port "enp2s0f0"
            Interface "enp2s0f0"
        Port "vnet0"
            tag: 13
            Interface "vnet0"
    ovs_version: "2.3.1"

上一篇:KVM/libvirt虚机网络配置
下一篇:多线路发布服务(iptables/iproute)