前面有一篇: 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,直接编辑克隆生成了。