大规模SDN云计算数据中心组网的架构设计
本文首先分析了在大范围SDN数据中心组网中遇到的问题。一方面Underlay底层组网范围受限于装备实际的转发能力和端口密度,单一Spineleaf的Fabric架构没法满足大范围组网的需求;另外一方面在SDN技术实现方案上,Openstack和SDN控制器分别有管理控制能力上的限制。
本文分别从多POD大范围数据中心的Underlay组网及路由计划,和跨POD互联互通SDN技术实现方案两方面,深入到技术细节,结合网络业务流量模型的实现,论述了大范围SDN数据中心组网架构。
1.大范围SDN数据中心组网需解决问题分析
大范围的SDN数据中心组网需实现几万台服务器作为一个资源池来承载和编排调度。综合斟酌Underlay组网和SDN解决方案的实现,主要有以下三个方面的问题需要解决。
(一)在数据中心Underlay组网层面。虽然随着芯片不断的升级换代,数据中心交换机处理转发能力极大提升,但是基于目前的数据中心交换机端口能力,同时斟酌到每一个机房实际机柜的数目,和机房间跨机房布线的难易程度,单一的Spineleaf两层架构组网不能满足上万服务器的承载需求。
例如在一个数据中心组网中,选用目前业界主流厂商成熟的16槽的核心交换机装备为Spine,100G板卡端口密度是20个/板卡,40G板卡端口密度是30个/板卡;选用配置48个万兆6个40G的接入交换机为Leaf。Leaf到Spine全互联,Spine核心数量满配6台,核心交换机各配置2块100G板卡用于连接外部防火墙、专网或专线路由装备等。在满足带宽1:1收敛比的情况下,经计算单一SpineLeaf架构最多能支持服务器的数量为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组网架构
由于单一SpineLeaf结构的Underaly网络接入承载能力,Openstack平台的管理能力和SDN控制器的控制范围、控制范围的限制,因此在大范围SDN数据中心组网时,需要分解成多个单独的SpineLeaf模块进行部署。模块间通过统一的利用层借助于SDNDCI技术进行协同,实现全部数据中心资源池的统一管理和编排。每一个单独的Spineleaf模块为一个单独的Fabric,也称为一个POD(PointofDelivery)。
POD内组网采取标准SDN数据中心架构,每一个POD单独的Openstack云操作系统和SDN控制器。根据主流厂家的Openstack云操作系统产品性能指标,限定POD内的裸金属服务器场景下支持服务器数量3000台,虚拟化服务器场景下支持服务器Host主机数量500台。同时根据主流厂商的SDN控制器性能,限定POD内的硬件交换机数量不大于1000台,VSW数量不大于2000台。
多POD的大范围SDN数据中心组网,POD内Underlay组网是标准的SpineLeaf架构。POD内SDNGW可以和Spine合设也能够旁挂Spine部署,防火墙、负载均衡装备旁挂SDNGW部署。
目前SDNGW主要是两台堆叠部署,以便于SDN控制器的统一管理,因此如果POD范围较大,需要两台以上Spine时,不建议SDNGW和Spine合设,SDNGW应单独旁挂部署。
为实现POD之间的流量互通,设置东西向流量会聚核心交换机CoreSpine用于承载跨POD的东西向流量;为实现POD内到网络的互访,设置南北向流量会聚核心交换机OutSpine用于承载南北向流量。东西向流量会聚核心交换机和南北向会聚核心交换机的数量可以根据实际的POD范围、POD数量和网络收敛比要求灵活计算。POD内Spine到POD间会聚核心交换机通常为跨机房互联,为提高链路利用率,应采取100G光模块互联。
如果POD间东西向流量计划很大,建议POD内Spine直接上连东西向会聚交换机。此时的流量模型为,POD间互通流量从POD内Spine去到SDNGW,SDNGW解开原有VXLAN封装,再将互通流量导入不同的互联VNI后发回给Spine,最后由Spine发送到东西会聚交换机。此流量模型下相同业务流量会穿越POD内Spine两次,因此如果流量计划完全在SDNGW交换机装备的承受范围内,建议由SDNGW上连东西向会聚交换机,这样可以减少POD内Spine上的来回穿透流量。
POD内的SDN数据中心转发控制技术实现方案,可以是Openflow+Netconf也能够是E方案+Netconf。虚拟机场景推荐使用表项更大更灵活的VSW作为VTEP,从而采取Openflow+Netconf方案。裸金属服务器场景采取硬件SDN接入交换机作为VTEP,可以根据具体网络装备能力情况灵活选择E方案+Netconf的方案还是Openflow+Netconf的方案。
在Openflow+Netconf和E方案+Netconf混合部署的场景,需要在SDN控制器上进行两种控制技术方案的翻译和买通。SDN控制器和SDNGW建立E方案邻居,将E方案控制面的信息翻译成Openflow发送给VSW,将VSW的相干Openflow信息翻译成E方案控制信息发送给硬件SDN交换机。从而控制实现在VSW和硬件SDN交换机之间建立VXLAN隧道和转发数据。
POD间互联的方案将完全鉴戒SDNDCI的相干技术,采取E方案+VXLAN的技术。POD内的SDNGW将同时作为DCIGW,与不同POD的SDNGW间建立E方案邻居,在统一的协同层的控制下实现跨POD流量的互通。
同享散布式块存储、散布式文件存储、散布式对象存储可以单独计划组成存储POD。访问存储POD的流量在SDNGW解开VXLAN封装以后走Underaly网络路由转发到达存储POD。在POD内配置单独的VRF用于隔离访问存储的流量和其他业务流量。存储POD有访问网络需求的,存储会聚交换机计划上连南北会聚交换机。FCSAN存储建议直接部署在各POD内。
3.大范围SDN数据中心Underlay组网及路由计划
多POD的大范围数据中心的Underlay组网,网络内网络装备数量众多,按每POD内500台网络装备数量计算,10个POD组网网络装备将超过5000台,因此如何计划好Underlay层面的路由配置,对大范围数据中心网络的高性能转发非常重要。
普通数据中心场景IGP路由主要是以OSPF路由为主,OSPF路由技术成熟,网络建设运维人员使用经验丰富。使用OSPF作为大范围数据中心组网的IGP路由协议,各POD应划分为不同的Area区域,东西会聚交换机作为骨干区域Area0,以减少LSA的传播区域和传播数量。各POD内SDNGW作为OSPF区域边界网络装备,将不同接口划入不同的区域,上连东西会聚交换机接口划入Area0,下连POD内Spine接口划入各POD单独Area。南北会聚交换机一般工作在二层透传模式,三层终结在网络防火墙,因此南北会聚交换机可不运行路由协议。
相比较OSPF,ISIS支持ISPF(IncrementalSPF),对大范围网络的支持能力和收敛性能更好。ISIS支持灵活的TLV编码方式,协议扩大性更好。ISIS因其收敛速度不错、结构清晰、适用于较大范围网络,一直比较多利用于城域网场景还是IP专网场景作为IGP路由协议。随着数据中心范围愈来愈大、装备数量愈来愈多,ISIS也更多的利用于数据中心场景。ISIS的区域边界在链路,每台网络装备只能属于一个ISIS区域。为减少LSP的传播区域和传播数量,在大范围数据中心场景ISIS分层次进行计划,骨干区域包括POD间东西会聚交换机和每一个POD内的SDNGW。POD间东西会聚交换机运行ISISlevel2,POD内的SDNGW运行ISIS的level12。每一个POD内Spine和Leaf运行ISISlevel1。
RFC7938提出了将EBGP路由协议利用于大范围数据中心的建议,而且目前也有少许将EBGP利用于数据中心内作为底层路由协议的实例。有别于OSPF、ISIS等链路状态协议,BGP是一种距离矢量路由协议,因此BGP的扩大性更好。在中小型的数据中心组网时,使用BGP和使用ISIS、OSPF等链路状态协议性能区分不大,但是在超大型数据中心的网络中,利用BGP的性能会更优。OSPF、ISIS等链路状态协议需要在网络内传递大量的LSA,路由信息生成进程是先完成LSA信息同步,再计算生成路由信息。在网络部份节点产生变动还是网络割接升级时,会引发大量LSA的传递。而距离矢量路由协议BGP不存在这样的问题,BGP节点间直接通告路由,在网络扩大和割接升级时的网络稳定性更好。
目前关于OSPF和ISIS路由协议的LSA优化在IETF已有相应的draft,目的都是为了减少LSA的传播数量和传播范围,已使OSPF和ISIS在超大范围数据中心组网中的性能更优,但是目前并没有非常有效的并被实际利用的方案。虽然目前将EBGP利用于数据中心利用其实不广泛,但是未来超大范围数据中心的底层路由协议选择,距离矢量路由协议BGP极可能会得到更广泛的利用。
EBGP路由的计划和配置相对OSPF和ISIS会复杂一些。POD内的多台Spine装备计划为同一AS号,多台东西会聚交换机计划为同一AS号,每组堆叠Leaf计划一个单独AS号。虽然每一个POD内Leaf只和本POD内Spine建立EBGP邻居,Leaf间不建立EBGP邻居,但是Spine上依然需要配置大量的Leaf邻居信息。计划配置复杂,是限制EBGP在数据中心内利用的因素之一。
在使用EBGP作为底层路由协议的大范围数据中心,如果POD内同时以E方案+Netconf为转发控制方案,POD内E方案需以IBGP为基础建立,因此需要一台网络装备同时配置EBGP+IBGP两个不同AS号的BGP进程。目前已有主流厂家网络装备支持不同AS号的BGP双进程。
常规BGP报文AS号为16比特长度,取值范围为065535,其中私有AS号范围64512到65534,因此可用于数据中心内组网计划的私有AS号数量为1023个。依照每组堆叠Leaf一个AS号的原则,明显没法满足多POD大范围数据中心组网的AS号分配需求。RFC6793建议将BGP的AS号扩大到32比特长度,扩大后AS号数量满足大范围数据中心组网已完全没有问题,且目前业界主流装备已具有32比特AS号长度的支持能力。
SDN数据中心的管理网除满足传统的装备带外管理功能,还要部署Openstack云管理平台和SDN控制器,因此相比传统数据中心的管理网更加重要。随着数据中心范围的增大,管理网的范围也必定同时增大,因此大范围数据中心的管理网也需要分POD部署。POD内管理网核心交换机配置各网段网关,管理网接入交换机工作在二层VLAN透传模式。管理网POD间设置管理会聚交换机,POD内管理网核心和POD间会聚交换机三层互联,可以运行ISIS还是OSPF路由协议。为了减小POD内管理网广播域使管理网更加稳定,也能够将管理网段的网关配置在管理接入交换机上,计划三层到边沿的管理网络,但是这样做同时带来的弊端是需要更详细的管理地址计划,过于细分的管理地址计划会在一定程度上浪费地址资源,因此三层到边沿的管理网计划其实不常见。
4.大范围SDN数据中心POD间互联互通
大范围SDN数据中心需要将不同POD内资源统一管理和调度,构造大范围数据中心统一资源池。大范围SDN数据中心采取SDNDCI技术实现POD间互联互通。
SDNDCI技术通过E方案+VXLAN建立跨POD互联通路,管理面采取E方案协议,数据面采取VXLAN隧道承载。POD内的SDNGW将同时作为DCIGW,各POD的SDNGW之间配置运行Fullmesh的EBGP协议。基于EBGP协议,各POD的SDNGW之间建立E方案邻居关系,通过E方案建立互联互通的控制面,传递租户VPC内(VirtualPrivateCloud)的MAC、ARP和IP网段路由信息。
大范围数据中心部署统一云管理平台,协同编排各POD内SDN控制器实现跨POD网络业务流量互通。斟酌到实际网络部署时,POD间极可能为异厂家装备,因此云管理平台需要对接不同厂家SDN控制器,为此需定义标准的SDN控制器到云管平台的北向API开放接口,异厂家SDN控制器据此标准接口接收云管平台指令并控制本POD内转发装备完成指令的履行。
通过分析大范围数据中心跨POD业务互联互通需求,可以得出以下流量模型:同业务域同租户跨POD互通,不过内网防火墙;同业务域不同租户跨POD互通,过内网防火墙;不同业务域同租户跨POD互通,过内网防火墙;不同业务域不同租户跨POD互通,过内网防火墙。
将以上网络流量模型总结分析,可以归纳简化为两种互通流量模型,即跨POD过防火墙互通和跨POD不过防火墙互通。在云管平台跨POD互通业务接口指令模板中,增加防火墙状态使能开关来决定是否是过防火墙。另外斟酌到流量模型的对称,在过墙的场景下要求两侧POD内均过墙。
跨POD互通不过防火墙流量,租户流量在本地接入VTEP封装进本地VXLAN隧道,到达POD内SDNGW解开本地VXLAN封装,并重新封装进互联VXLAN后发往对端POD内SDNGW。流量到达对端POD内SDNGW后解开互联VXLAN封装,再封装进相应租户本地VXLAN隧道。不同业务的跨POD互通流量应予以隔离,需要为每组业务互通流量计划一个单独的VNI和VRF,并将VNI和VRF绑定。
跨POD互通过防火墙流量模型,租户流量到达POD内SDNGW解开本地VXLAN封装后通过VLAN二层转发送往防火墙,防火墙处理终了后送回SDNGW,SDNGW重新封装进互联VXLAN后发往对端POD内SDNGW。流量到达对端POD内SDNGW后解开互联VXLAN封装,通过VLAN二层转发送往本POD内防火墙,防火墙处理终了后送回SDNGW,SDNGW再将流量封装进相应租户本地VXLAN隧道。
不同业务的跨POD互通流量应予以隔离,需要为每组业务互通流量计划一个单独的VNI和VRF,并将VNI和VRF绑定。对部份需要经过负载均衡装备处理的业务流量,可以由云管平台统一编排流量经过相应的负载均衡。
5.大范围SDN数据中心南北向流量简述
大范围SDN数据中心对南北向流量的处理,在引入多POD组网后,增加了南北会聚交换机。由南北会聚交换机分别上连互联网防火墙、IP专网和专线路由器。南北会聚交换机在互联网南北业务流量的处理上工作在二层透传模式,三层分别终结在SDNGW和网络防火墙。在进出IP专网和专线的南北流量处理上可以视具体情况工作在二层透传还是三层模式,工作在三层模式需要配置VRF进行不同业务流量的隔离。