在KVM中,可以使用网桥+VLAN实现虚拟交换机,也可以使用Open vSwitch实现。
Open vSwitch即开放的软件虚拟交换机,能够达到产品级的质量,也就是说可以部署一些生产环境使用。它不光支持基本的二层交换,还支持标准的管理机接口和协议(如NetFlow,sFlow,SPAN,RSAPN,CLI,LACP,802.1ag),同时也支持OpenFlow,可以很好第与SDN体系融合。
官方网站http://www.openvswitch.org/features/
一、安装Open vSwitch
1、安装KVM包
yum install kvm libvirt-bin virtinst 2.加载802.1Q
yum install vconfig
modprobe 802.1q 3.使用yum安装
yum install openvswitch openvswitch-devel openvswitch-test openvswitch-debuginfor 启动服务
systemctl enable openvswitch
systemctl start openvswitch 安装完成后,检查版本
ovs-vsctl show
二、使用ovs-vsctl管理OVS
OVS提供了不同的管理工具,其中最常用的是ovs-vsctl
ovs-vsctl add-br br0 #增加网桥
ovs-vsctl add-port br0 eth0 #将网卡加网桥
查看OVS中所有网桥及端口信息
ovs-vsctl show
此时,将eth0加入到br0网桥后,eth0的Ip地址就失效了,也不需要配置eth0地址,按照如下方式配置eth0网卡地址为0,配置网桥br0的地址为管理地址
ifconfig eth0 0
ifconfig br0 172.31.208.60 netmask 255.255.255.0
route add default gw 172.31.208.1 dev br0 #增加网桥的默认路由
修改网卡eth0配置文件,不配置ip地址
vim /etc/sysconfig/network-scripts/ifcfg-eth0
新建网卡br0的配置文件,按照以下填写ip地址
vim /etc/sysconfig/network-scripts/ifcfg-br0
三、OVS的数据库配置与网络配置文件的关系
OVS的配置写在一个ovsdb数据库中。ovsdb是一个非常轻量级的数据库,是一个提供增查删改等功能的临时配置缓存。
OVS数据库操作的一般格式为:
ovs-vsctl list/set/get/add/remove/clear/destroy table record colunm [value] 默认情况下,ovsdb中有以下数据表:bridge,controller,interface,mirror,netflow,open_vswitch,port,qos,ssl,sflow。即table可为其中的任意一个,rdcord为数据表中name字段的值,
colum为数据表中任意一个字段的字段名,即value字段值。
例如,使用ovs-vsctl list bridge命令查询ovsdb的bridge表中关于桥与网卡的信息
ovs-vsctl list bridge
ovs-vsctl list port
由上面的信息可以看到,bridge数据表中br0的桥包括了br0和eh3端口的uuid,这样就完整的记录了桥与端口的关系。同时在显示port的时候,也看到每个桥
会‘隐含’建立同名的短裤。但是,数据库中不记录每个桥的ip地址,即ip地址信息仍由/etc/sysconfig/network-script/ifcfg-br0保存。这就是ovsdb与/etc/sysconfig/network-script/ifcfg-br0文件间的关系。
四、VLAN的设置及VLAN接口IP地址
OVS设置trukn和access
将eth0作为trunk接口加入到br0中
ovs-vsctl add-br br0 #增加网桥
ovs-vsctl add-port br0 eth0 #将网卡加网桥 在br0中增加vlan10与vlan20端口,分别属于vlan10与vlan20
ovs-vsctl add-port br0 vlan10 tag=10 #设置trunk
ovs-vsctl add-port br0 vlan20 tag=20 配置vlan10端口ip地址
ovs-vsctl set Interface vlan10 type=internal
ifconfig vlan10 192.168.10.1 netmask 255.255.255.0
ovs-vsctl set Interface vlan20 type=internal
ifconfig vlan20 192.168.20.1 netmask 255.255.255.0 配置完成后,查看相关信息
五、OVS支持OpenFlow的SDN模式
在SDN模式下,交换机通过OpenFlow协议与控制(controller)连接,控制确定转发表后下发到交换机,交换机根据转发表在各个端口间转发数据
OVS安装完成后,OVS控制器会自动安装。控制器工作在操作系统的6633端口,若要将OVS与控制器连接,那么需要OVS中创建一个网桥,此网桥包含
物理网卡,并透过物理网卡与操作系统中的OVS OpenFlow控制连接
举例如下:
ovs-vsctl add-br br1
ovs-vsctl add-port br1 eth1
ifconfig eth1 0
ifconfig br1 172.31.208.61 netmask 255.255.255.0 设置OVS与控制器连接
ovs-vsctl set-controller br1 tcp: 172.31.208.61 使用ovs-vsctl show检查状态
在OVS控制器上操作OVS时,可以使用ovs-ofctl命令来处理
六、OVS的常用操作命令
1、查看当前流表
ovs-ofctl dump-flows br0
ovs-ofctl -O OpenFlow13 dump-flows br0
ovs-appctl bridge/dump-flows br0 2、查看接口id
ovs-appctl dpif/show
3、查看接口统计
ovs-ofctl dump-ports br0
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com