OVN技术栈优劣浅析

2022-09-08 15:38:58 浏览数 (2)

OVN是Open Virtual Network的缩写,由一批热爱OpenFlow路线的工程师们创立。它实际上是对Neutron的SDN控制器进行了加强,复用OVS的转发功能实现的分布式SDN网络。

我们在《分布式任意播网关》中提到,在Neutron模型中,分布式网关的实体在各台宿主机上实现,如下图所示:

当然,这个模型中,OVS只能实现基本的二层交换与三层路由功能。OVN就是对OVS进行了一定的增强,赋予了它处理东西向流量四层业务的能力,同时让ovn-northd接管OpenStack等管控界面发放的网络相关配置,如下图所示:

这种设计的优势是显而易见的。理论上,分布式系统的性能可以方便横向扩展。但,由于分布式系统有其固有缺陷——CAP三点不可能同时满足,因此,所有基于OVN实现的云网络,都难以避免这些问题:

1、各ovs-vswitchd的转发本质上是数据库的查询操作,这种分布式数据库的一致性问题,有可能导致跨VPC或VPC内各虚拟机安全组之间的流量有安全隐患,不该放通的业务互访被放通;

2、由于各OVS节点无法将流量信息实时同步加总,对于跨VPC的QoS场景无法实现严格的限流;

3、如果期望在OVS节点上做4-7层业务检查,对宿主机的CPU资源消耗很难做到可控地步;

因此,在成熟的大型公有云或专有云网络中,宁愿对扩展性做一定的妥协,每个AZ设立独立的NFV网关节点,承担跨VPC等东西向流量的管理控制。

我们经过对OVN的分析,得到了哪些收获呢?

首先,分布式设计必须考虑扩展性、可用性和一致性的平衡;

其次,大型商用复杂系统的设计艺术就在于不要拘泥于理论,而需要懂得妥协;

0 人点赞