理解OpenStack中的OpenvSwitch的几个要点

原创 2014年02月18日 10:51:07
OpenvSwitch是实现虚拟化网络的重要基础组件,在OpenStack中利用OpenvSwitch作为底层部件来完成虚拟网络提供和租户网络管理。
在部署和应用OpenStack的过程中,可能会碰到网络相关的一些问题,能够准确的理解OpenStack中OpenvSwitch的角色和网络的理念,会有助于解决问题和快速部署。

OpenvSwitch可以认为是一种Linux Bridge的实现,只不过功能更多一些。因此,它完全可以替代Bridge。原先Bridge可以实现的功能在OpenvSwitch中都可以实现。

OpenvSwitch不等于OpenFlow Switch,恰恰相反,支持OpenFlow只是它的一个feature而已,可能还没有支持OvsDB协议更重要。因此,它在实现上自定义了很多地方,只是兼容OpenFlow协议。比如在OpenvSwitch中用户态的vswitchd和内核态的datapath。vswitchd会总管流表,而datapath中有精确匹配的部分流表,类似cache架构。

正因为OpenvSwitch不仅仅是一个OpenFlow Switch,它的流表组成除了of流表外,还有其他一些(隐藏)流表。这些隐藏流表是由于默认交换机和控制器在同一网络中(in-band),因此要保证两者互通。要关闭默认的inband可以通过“ovs-vsctl set controller br0 connection-mode=out-of-band”。

检查所有流表信息可以通过ovs-appctl bridge/dump-flows br0,这往往要比ovs-vsctl dump-flows br0打印出更多的信息来。ovs-dpctl dump-flows [dp]可以打印出datapath的流表信息。ovs-appctl dpif/dump-flows <br>可以打印出指定bridge上的datapath流。

OpenvSwitch可以实现访问控制功能,通过转发规则,可以实现简单的安全行为,包括通过、禁止等。现在OpenStack中的安全组是由iptables实现的,造成在节点上多了好几级的Bridge。理论上,以后都可以统一由OpenvSwitch来管理。

支持VLan(eth0为trunk口,创建vlan 1的tap0口):
ovs-vsctl add-br br0

ovs-vsctl add-port br0 eth0

ovs-vsctl add-port br0 tap0 tag=1


OpenvSwitch 在无法连接到控制器时候(fail mode)可以选择两种fail状态,一种是standalone,一种是secure状态。如果是配置了standalone(或者未设置fail mode)mode,在三次探测控制器连接不成功后,此时ovs-vswitchd将会接管转发逻辑(后台仍然尝试连接到控制器,一旦连接则退出fail状态),OpenvSwitch将作为一个正常的mac 学习的二层交换机。如果是配置了secure mode,则ovs-vswitchd将不会自动配置新的转发流表,OpenvSwitch将按照原先有的流表转发。可以通过下面命令进行管理。

ovs-vsctl get-fail-mode bridge
ovs-vsctl del-fail-mode bridge
ovs-vsctl set-fail-mode bridge standalone|secure



取消OVS对网络带宽的限制

生产环境存储的传输速率是1GB的光纤,但是有一天我发现从FTP服务器向我的服务器拷贝文件的速度很慢:   查找了一些官方文档,说是要关掉网络服务里面的lro,如下所述: 不必考虑你所在的路径,直...
  • libingk9999
  • libingk9999
  • 2015-11-17 19:17:33
  • 338

ovs-dpdk 在美团云环境中的应用与实践

OpenvSwitch 以其丰富的功能,做为多层虚拟交换机,已经广泛应用于云环境中。Open vSwitch的主要功能是为物理机上的VM提供二层网络接入,和云环境中的其它物理交换机并行工作在Lay...
  • hliyuxin
  • hliyuxin
  • 2016-08-08 20:17:16
  • 4911

openvswitch配置vxlan隧道ping不通的解决办法

按照网上的教程,在centos里面下载安装了openvswitch,配置了vxlan隧道,结果Ping不通,发现自己和网上的配置没有什么区别,弄了好几天终于找到了解决办法。 原来有一个网卡 ovs-s...
  • denganliang825
  • denganliang825
  • 2015-11-17 10:17:47
  • 2788

【OVS2.5.0源码分析】vlan&trunk实现原理分析(1)

传统交换机的端口可以按照vlan可以划分为access、trunk和hybrid三类接口。 首先,我们先看OVS的VLAN实现原理,最后对比OVS与传统交换机的差异。 OVS中,数据面的转发流表都是...
  • one_clouder
  • one_clouder
  • 2016-08-14 23:10:37
  • 1890

OpenvSwitch完全使用手册

1 什么是OpenvSwitch OpenvSwitch,简称OVS是一个虚拟交换软件,主要用于虚拟机VM环境,作为一个虚拟交换机,支持Xen/XenServer, KVM, and Virtual...
  • tantexian
  • tantexian
  • 2015-07-01 10:17:22
  • 43292

OVS那些事儿之基础功能篇

SDN 兴起传统网络管理方式发展缓慢,往往通过命令行接口,进行手工配置,运营成本高,网络升级时间长,缺乏灵活性,对需求变化响应速度慢,而且容易发生错误。 2012年7月,SDN代表厂商Nicir...
  • liushen0916
  • liushen0916
  • 2016-09-18 23:18:22
  • 4927

私有云落地解决方案之openstack高可用(pike版本)-配置ovs的vxlan网络

作者:【吴业亮】博客:http://blog.csdn.net/wylfengyujiancheng配置vxlan各个控制节点 修改配置文件/etc/neutron/plugins/ml2/ml2_...
  • wylfengyujiancheng
  • wylfengyujiancheng
  • 2017-11-28 09:28:47
  • 648

Neutron采用Openvswitch通用配置【ocata】

作者:【吴业亮】云计算开发工程师 博客:http://blog.csdn.net/wylfengyujiancheng一、Controller配置 1、安装软件# yum --enablerep...
  • wylfengyujiancheng
  • wylfengyujiancheng
  • 2017-04-11 20:13:06
  • 2166

OpenStack 之 OVS介绍

Open vSwitch的官方定义:Open vSwitch是一个具有工业级质量的多层虚拟交换机。通过可编程扩展,可以实现大规模网络的自动化(配置、管理、维护)。它支持现有标准管理接口和协议(比如ne...
  • zhengmx100
  • zhengmx100
  • 2017-01-25 13:02:16
  • 6260

openstack newton Linuxbridge改ovs并配置dvr

这几天一直在搞dvr,现在终于搞好了。网上的资料比较杂乱,期间也一直在各种尝试,步骤也很繁琐而且混乱,坑比较多,现在整理一下。 官方安装文档从前几个版本开始在 配置网络的时候就由ovs改成了Linu...
  • u012950999
  • u012950999
  • 2017-03-10 09:52:36
  • 816
收藏助手
不良信息举报
您举报文章:理解OpenStack中的OpenvSwitch的几个要点
举报原因:
原因补充:

(最多只允许输入30个字)