前面有一篇: http://www.rendoumi.com/open-vswitchshe-zhi-vlande-ce-shi/

我们描述了ovs与kvm使用vlan的文章,在kvm里是手动配置的。下面是比较进阶的过程:

一、在kvm里非手动配置vlan网卡: 假设我们kvm的网卡是eth0,基本配置是:

# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0  
TYPE=Ethernet  
BOOTPROTO=none  
ONBOOT=yes  

我们来配一个vlan id是192:

# vi /etc/sysconfig/network-scripts/ifcfg-eth0.192
DEVICE=eth0.192  
BOOTPROTO=none  
ONBOOT=yes  
IPADDR=192.168.1.1  
PREFIX=24  
NETWORK=192.168.1.0  
VLAN=yes  

ok,这样就可以了。

ip的方法:

ip link add link eth0 name eth0.192 type vlan id 192  

查看:

ip -d link show eth0.192  

删除

ip link delete eth0.192  

vconfig的方法:

vconfig add eth0 192  
ifconfig eth0.192 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255 up  

二、比较复杂的ovs的情况 一个ovsbr0的网桥,定义了4个vlan portgroup:

# cat ovs-net.xml 
<network>  
  <name>ovs-network</name>
  <forward mode='bridge'/>
  <bridge name='ovsbr0'/>
  <virtualport type='openvswitch'/>
  <portgroup name='vlan-01' default='yes'>
  </portgroup>
  <portgroup name='vlan-02'>
    <vlan>
      <tag id='2'/>
    </vlan>
  </portgroup>
  <portgroup name='vlan-03'>
    <vlan>
      <tag id='3'/>
    </vlan>
  </portgroup>
  <portgroup name='vlan-all'>
    <vlan trunk='yes'>
      <tag id='2'/>
      <tag id='3'/>
    </vlan>
  </portgroup>
</network>  

注意上面,缺省不指定vlan的话,会走到vlan-01这个缺省的去。

启动:

virsh net-define ovs-net.xml  
virsh net-start ovs-network  

删除:

virsh net-destroy ovs-network  

三、libvirt中定义kvm的网络

<interface type='network'>  
  <mac address='11:22:33:44:55:66'/>
  <source network='ovs-network' portgroup='vlan-02'/>
</interface>  

其实kvm的安装除了第一次用virt-install弄好模板后,之后就可以用libguestfs来修改镜像文件,然后virsh dump出模板的xml,直接编辑克隆生成了。

comments powered by Disqus