作者简介:张渐修,任职于上海同悦信息科技有限公司从事P4可编程交换机市场工作,Wechat: Tooyumzjx。
导语:SONiC如何从云数据中心走向企业数据中心,SONiC特性是否满足企业数据中心的需求,SONiC当前在企业数据中心现状如何,专注于再营销优化的技术提供商RTB House尝试通过自家网络架构的变迁来回答上述问题。

第一代机架-交换机堆叠
在2013/2014年,由外部供应商提供的网络在容量/稳定性等方面不令人满意,我们决定自己部署私有机架。一开始,我们使用博科ICX6610交换机,并将它们堆叠成80Gbps的环路。

这张网任何主机之间带宽可以达到1Gbps,通过VLAN隔离来实现安全部署,例如前端服务器的DMZ。从当时的成本角度来看,这个设计是最佳的,但我们面临三个问题。
白牌交换机:
Cumuls Linux + CLAG/MLAG
2015年,我们部署了第一个白牌交换机机架,网络基于裸交换机Supermicro SSE-X3648R和网络操作系统Cumulus Linux,并使用4x10Gbps LACP上行链路将它们连接到现有的Brocade堆叠设备。在那个时候,裸机的概念和DAC电缆都是新兴的技术,Cumulus Linux非常不成熟,我们的错误报告一度成为Cumlus技术支持部门的垃圾邮件。尽管如此,我们还是实现了我们的大部分目标:

但是这种实现方式也不完美,我们面临一些新的问题。MLAG LACP的快速模式需要等待3-4秒来禁用某个组中的接口,这会导致一些服务器集群节点翻转;Cumulus MLAG设计不成熟,因而会产生一些问题但我们却无法重现(例如,时不时就有一对交换机通过Peer Link无法看到对方)。
VXLAN BGP EVPN
简单的二层网络不能无限地扩大规模。随着机架数量的增加,我们需要扩展基础设施并保证稳定性。几个月后Cumulus Linux推出了一个新版本,增加了EVPN功能。我们认为VXLAN BGP EVPN是解决我们的扩展性和稳定性问题的潜在方案,该版本很快被部署到生产环境中。思科出版了一本不错的书:Building Data Centers with VXLAN BGP EVPN,基于思科的指导方针我们建立了基本的EVPN网络。Leaf交换机将L2封装成VXLAN隧道,SPINE交换机成为L3路由器。这种设计消除了第二层和第三层网络的潜在L2环路。经过几年的运行,我们总结VXLAN BGP EVPN网络架构的结论如下。
1)稳定性/可视性/调试手段不足:每当网络设备出现故障时,我们会观察到一些奇怪的事情,例如一些交换机会随机的宣告虚假的网络层可达信息(NLRI)。我们无法复现这个问题,而且这个问题在生产中出现过几次;
2)早期的交换芯片缺失某些功能可能会造成严重影响;
3)一旦部署,VXLAN BGP EVPN很难在生产中扩展和修改。
SONiC部署
如果要想有更大的规模,我们需要这样的网络架构,即:
最终我们把交换机NOS更换为更开放、更常用但功能更少的SONIC。
L3网络层ID/隔离
我们打算用VRF号来代替VLAN/VXLAN作为网络标识符,以此实现网络层的隔离。此时某些服务器可能需要在多个网络中,例如前端服务器需要连接到DMZ VLAN/VRF(网络)和后台VLAN/VRF(网络)。在L3中,我们可以为交换机设备上的每个以太网端口创建专用的子端口,然后将这个子端口与所选择的VRF绑定。下面的例子显示了生产网络ID "2 "和ID "3",它们将在 "302 "和 "303 "子端口接口上提供给服务器。

如何将这些L3 SONIC交换机连接到旧的EVPN/BGP网络? 纯三层BGP是未来发展最明显的选择,但新的网络需要与旧的网络连接。我们需要能够保持CLOS拓扑结构(Spine设备的吞吐量是Tbps),以便满足延迟和吞吐量的需求。对于每个旧的L2 vlan,我们部署一对路由反射器。这个路由反射器RR将在L2服务器和边界SONIC L3交换机之间转发NLRI信息。
每个连接到旧的大平面/L2网络的服务器都需要首先与RR对等,以便能够连接到新的仅有L3-BGP的服务器。当iBGP对等关系建立后,路由反射器将向其客户-对等者公布NLRI,而不修改属性--目的是为了避免路由循环。BIRD路由守护程序对我们来讲是很良好的体验--配置文件是人类可读的,可以很容易地使用puppet或ansbile等工具实现自动化。
现 状
随着流量不断增长,我们的互连架构由16x100Gbit/s端口组成,在每个Spine和Leaf对直接提供3.2Tbit/s的总带宽。目前我们最大的DB集群在峰值时使用约600Gbit/s的带宽,并且仍在增长。集群中每台服务器都能很好地提供超过70Gbit/s的TCP流量!

设备互联可以在任何级别进行,Leaf到Leaf,Leaf到Spine,Spine到超级Spine等等。由于CLOS架构没有瓶颈,CLOS或者胖树架构的特点是互连交换机(Spine交换机)和接入交换机(Leaf交换机)之间有多个连接,因此可以支持高性能的计算集群。目前除了在边缘扁平化的二层网络外,基本实现了了一个无阻塞、低延迟的网络结构。
总 结
从商用交换机到白牌交换机再到SONiC,RTB House的数据中心案例表明SONiC作为旧时大厂堂前燕,目前已经飞入寻常百姓家。不仅仅是互联网厂商可以轻松驾驭SONiC,企业数据中心部署也正当时!
【活动专栏】



【转载须知】
若转载文章为原创文章,可在相应文章下或公众号后台留言;其他非转载类文章须在文首以不小于14号字体标明转载自SDNLAB。
【投稿】
欢迎SDN、NFV、边缘计算、SD-WAN、智能网卡、TSN、5G 网络切片等网络方向的观点类、新闻类、技术类稿件。
联系人:kk__wu(微信号)
投稿邮箱:pub@sdnlab.com
详情请参考:SDNLAB原创文章奖励计划