
OpenvSwitch的操作命令有若干个,其中比较重要的有
ovs-vsctl 获取或者更改ovs-vswitchd的配置信息,此工具操作的时候会更新ovsdb-server中的数据库
ovs-ofctl 操作交换机里的流表
ovsdb-tool 对ovsdb数据库操作,不经过ovsdb-server模块
ovs常用命令
查看网桥和端口
ovs-vsctl show
创建一个网桥
ovs-vsctl add-br br0
ovs-vsctl set bridge br0 datapath_type=netdev
添加/删除一个端口
ovs-vsctl add-port 网桥名 端口名
ovs-vsctl add-port br0 eth1
ovs-vsctl del-port br0 eth1
配置实例:
在两台kvm+openvswitch的服务器10.16.6.103和10.16.6.104,启动四个虚拟机(103:VM3, VM4; 104:VM1, VM2 )
配置如下:
1.在103上:
Ifconfig eth1
10.16.6.103/24 up
(1)创建网桥:
Ovs-vsctl add-br ovsbr0
#注意创建网桥之后,会在网桥上创建同名的端口ovsbr0,类型为internal,用于给网桥配置IP方便管理等。
(2)让网桥ovsbr接管eth0:
Ovs-vsctl add-port
ovsbr0 eth0
(3)配置网桥的IP:
Ifconfig eth0 0.0.0.0
Ifconfig ovsbr0
10.16.6.100/24 up
(4)创建虚拟机:
Virsh create VM1.xml
Virsh create VM2.xml
(5)查看网桥:
Ovs-vsctl show ovsbr0
会发现ovsbr0下面会有6个端口ovsbr0,eth0,tap1.0,tap2.0,vif1.0,vif2.0
2. 在104上同上配置
3. 配置VLAN
(1)VRM1, VRM2属于VLAN1
Ovs-vsctl set port tap1.0 tag=1
Ovs-vsctl set port tap2.0 tag=1
VRM1和VRM2之间可以互ping
(2)VR1属于VLAN1,VRM2属于VLAN2
Ovs-vsctl set port tap1.0 tag=1
Ovs-vsctl set port tap2.0 tag=2
VRM1和VRM2之间无法互ping
由此引出今天华为FC平台网络故障的具体原因:管理网络由于客户误操作在虚拟管理交换机上打上了vlan id,由于管理段,物理交换板配置的是tag,ovs上不需要打标签,所以导致平台网络故障,物理节点CNA还是通的,登陆CNA节点命令行查看
Ovs-vsctl show #发现tap1.0,tap2.0的都缺少了tag项,添加tag=0
Ovs-vsctl set port tap1.0 tag=0
Ovs-vsctl set port tap2.0 tag=0
最后,发现VRM1与VRM2互相ping通,浮动IP也正常ping通,登陆管理平台,发现网络配置,vlan id 被用户更改为vlan 202,因此所有虚机都不通业务中断,在CNA命令行下更改tag,最终问题解决,恢复业务。
end