本文首先分析了在大规模SDN数据中心组网中遇到的问题。一方面Underlay底层组网规模受限于设备实际的转发能力和端口密度,单一Spine-leaf的Fabric架构无法满足大规模组网的需求;另一方面在SDN技术实现方案上,Openstack和SDN控制器分别有管理控制能力上的限制。
本文分别从多POD大规模数据中心的Underlay组网及路由规划,和跨POD互联互通SDN技术实现方案两方面,深入到技术细节,结合网络业务流量模型的实现,阐述了大规模SDN数据中心组网架构。
1.大规模SDN数据中心组网需解决问题分析大规模的SDN数据中心组网需实现几万台服务器作为一个资源池来承载和编排调度。综合考虑Underlay组网以及SDN解决方案的实现,主要有以下三个方面的问题需要解决。
(一)在数据中心Underlay组网层面。虽然随着芯片不断的升级换代,数据中心交换机处理转发能力极大提升,但是基于目前的数据中心交换机端口能力,同时考虑到每个机房实际机柜的数目,以及机房间跨机房布线的难易程度,单一的Spine-leaf两层架构组网不能满足上万服务器的承载需求。
例如在一个数据中心组网中,选用目前业界主流厂商成熟的16槽的核心交换机设备为Spine,100G板卡端口密度是20个/板卡,40G板卡端口密度是30个/板卡;选用配置48个万兆6个40G的接入交换机为Leaf。Leaf到Spine全互联,Spine核心数量满配6台,核心交换机各配置2块100G板卡用于连接外部防火墙、专网或专线路由设备等。在满足带宽1:1收敛比的情况下,经计算单一Spine-Leaf架构最多能支持服务器的数量为5760台,不能满足几万台服务器的承载需求。
(二)SDN控制器的管理规模和管理范围。SDN控制器管理VSW或者硬件交换机会启用TCP长连接,从占用CPU内存资源,数量过多的被纳管设备将极大地消耗SDN控制器的资源,进而降低控制器的性能,这是SDN控制器管理规模主要限制因素。SDN控制器的管理范围主要受控制器和被纳管设备间的网络时延限制,因此SDN控制器建议本地部署而不建议长距离异地远程管理。目前主流设备厂家在SDN控制器3机集群的情况下,可以管理2000个VSW或者1000个硬件SDN交换机。
(三)云操作系统Openstack的管理能力。Openstack是集中式消息处理机制,所有交互操作会到指令层面进行拆分,而指令并发处理能力低,主要以单进程队列方式进行。比如资源池内同时对100台虚拟机进行操作的场景,交互操作进行指令拆分处理时,因指令并发处理能力差,拆解出的大量指令不得不排队等待执行,Openstack系统此时的交互操作响应效率和及时性都会恶化,影响用户的实际感知。
Cell技术可以极大地提升Openstack平台的消息处理效率,Nova可以扩展为多个Nova处理节点,每个节点有独立的数据库,采用数据库同步的方式,实现多个nova节点的协同和分布式工作。但是,Openstack系统性能是和企业的实际研发能力密切相关的,目前基于开源Openstack研发的主流厂家产品,管理能力为500台虚拟化Host(5000个VM)或者3000台裸金属服务器。
2.大规模SDN数据中心的多POD组网架构由于单一Spine-Leaf结构的Underaly网络接入承载能力,Openstack平台的管理能力以及SDN控制器的控制范围、控制规模的限制,因此在大规模SDN数据中心组网时,需要分解成多个单独的Spine-Leaf模块进行部署。模块间通过统一的应用层借助于SDN-DCI技术进行协同,实现整个数据中心资源池的统一管理和编排。每个单独的Spine-leaf模块为一个单独的Fabric,也称为一个POD(Point of Delivery)。
POD内组网采用标准SDN数据中心架构,每个POD单独的Openstack云操作系统和SDN控制器。根据主流厂家的Openstack云操作系统产品性能指标,限定POD内的裸金属服务器场景下支持服务器数量3000台,虚拟化服务器场景下支持服务器Host主机数量500台。同时根据主流厂商的SDN控制器性能,限定POD内的硬件交换机数量不大于1000台,VSW数量不大于2000台。
多POD的大规模SDN数据中心组网,POD内Underlay组网是标准的Spine-Leaf架构。POD内SDN-GW可以和Spine合设也可以旁挂Spine部署,防火墙、负载均衡设备旁挂SDN-GW部署。
目前SDN-GW主要是两台堆叠部署,以便于SDN控制器的统一管理,因此如果POD规模较大,需要两台以上Spine时,不建议SDN-GW和Spine合设,SDN-GW应单独旁挂部署。
为实现POD之间的流量互通,设置东西向流量汇聚核心交换机Core-Spine用于承载跨POD的东西向流量;为实现POD内到外网的互访,设置南北向流量汇聚核心交换机Out-Spine用于承载南北向流量。东西向流量汇聚核心交换机和南北向汇聚核心交换机的数量可以根据实际的POD规模、POD数量和网络收敛比要求灵活计算。POD内Spine到POD间汇聚核心交换机一般是跨机房互联,为提高链路利用率,应采用100G光模块互联。