guofs123的ChinaUnix博客

让别人快乐,同时自己也快乐

  • 博客访问: 139428
  • 博文数量: 22
  • 博客积分: 170
  • 博客等级: 入伍新兵
  • 技术积分: 763
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-11 10:57
文章分类

全部博文(22)

文章存档

2017年(3)

2016年(2)

2015年(3)

2014年(2)

2013年(6)

2012年(6)

我的朋友
微信关注

IT168企业级官微



微信号:IT168qiye



系统架构师大会



微信号:SACC2013

订阅
热词专题

分类: 虚拟化

测试平台
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
...
    <interface type='bridge'>
      <mac address='52:54:00:47:a4:12'/>
      <source bridge='br0'/>
      <vlan>
        <tag id='13'/>
      </vlan>
      <virtualport type='openvswitch' />
      <model type='rtl8139'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
...
#virsh define /etc/libvirt/qemu/winxp-1.xml
#virsh start winxp-1

办法三:采用网络配置文件与主机配置文件相结合
配置网络文件
#vi /etc/libvirt/qemu/networks/ovs-net.xml
...
<network>
  <name>ovs-net</name>
  <uuid>3dabc8ad-3d9a-4038-bbba-9c8339d19f7c</uuid>
  <forward mode='bridge'/>
  <bridge name='br0' stp='on' delay='5' />  //配置ovs网桥名称和STP等.
  <vlan trunk='yes'>                       
    <tag id='1' nativeMode='untagged'/>
  </vlan>
  <virtualport type='openvswitch'/>         //接口类型

  <portgroup name='vlan59'>                 //定义一个接口,并指定通过的Vlan
    <vlan>
      <tag id='59'/>
    </vlan>
  </portgroup>

  <portgroup name='vlan13'>                 //定义一个接口,并指定通过的Vlan
    <vlan>
      <tag id='13'/>
    </vlan>
  </portgroup>

  <portgroup name='tunk-port'>              //定义一个接口,并指定为Trunk模式
    <vlan trunk='yes'>                      //将该接口配置为Trunk方式
      <tag id='1' nativeMode='untagged'/>   //指定native-vlan的ID为1
      <tag id='59'/>                        //提定哪些vlan可以通过,类似于cisco中的"switchport trunk allowed vlan xx"命令.若不指定,则表示所有vlan可以通过.
    </vlan>
  </portgroup>

</network>
#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
...
    <interface type='network'>
      <mac address='52:54:00:c2:ea:3a'/>
      <source network='ovs-net' portgroup='vlan13'/>
      <virtualport type='openvswitch' />
      <model type='rtl8139'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
...
#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"

阅读(3950) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册