DDC云集群技术白皮书
Copyright © 2024 新华三技术有限公司 版权所有,保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。
除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。
本文中的内容为通用性技术信息,某些信息可能不适用于您所购买的产品。
目 录
随着大数据、云计算和人工智能技术的快速发展,数据中心遭遇了流量激增的挑战。如何快速处理这些流量,这给数据中心的核心交换机带来了巨大的压力。
数据中心的核心交换机均为传统框式交换机。传统框式交换机通常是封闭式的、集中式的大型机箱(Chassis)。其中所有的组件如路由引擎、交换板、接口卡等都集中在一个大型的物理机箱内。这种设计虽然集中且易于管理,但是在扩展性、灵活性和成本效益方面存在局限性。传统的大型框式交换机在交换芯片技术不断进步、交换容量不断增大(从100G迈向400G)的同时,也带来了功耗的显著提升。一个16槽位、全400G端口的框交换机可能需要高达4到5万瓦的电力供应,这对许多老旧机房的设备升级构成了巨大挑战,尤其当机柜的电力供应无法满足这一需求时。
DDC(Distributed Disaggregated Chassis,分布式解耦机框)是一种网络架构设计,其核心思想是将传统的大型网络交换机(通常是模块化的机箱交换机)拆分成更小、更灵活的组件,这些组件通过高速网络互联。在DDC架构中,网络的各个功能组件,如路由、交换、控制平面等,被物理分离并分布在不同的硬件设备上,这些设备可以独立扩展,从而提供更高的灵活性、可扩展性和成本效率。同时,它们可以被分散安装在多个机柜中,从而提供了更好的散热管理、功耗控制,并且克服了设备升级和空间扩展的局限。
云集群是H3C自主研发的一种软件虚拟化技术,它基于Comware V9容器化架构,实现了应用和物理设备间尽可能的解耦。云集群分为两个层面:物理设备层面的集群(以下称为物理集群)和应用层面的集群(以下称为容器集群)。
· 物理集群的核心思想是将多台物理设备连接在一起,进行必要的配置后,虚拟化成一台设备。使用这种虚拟化技术可以集合多台设备的硬件资源,一方面可实现多台设备硬件资源统一管理和调配,提高资源利用率,降低管理难度;另一方面还可实现硬件层面的备份,提高整个系统的高可靠性。
· 容器集群的核心思想是将运行在物理设备上的容器逻辑上连接在一起,进行必要的配置后,虚拟化成一个系统。使用这种虚拟化技术可以集合多个容器的软件处理能力,实现多个容器的协同工作、统一管理和不间断维护。
DDC云集群是H3C云集群技术在DDC组网下的应用。
· 在物理形态,DDC云集群采用DDC分布式架构,使用独立的物理设备NCC(Network Cloud Controller,云网控制单元)作为DDC架构的控制器,使用独立的物理设备NCP(Network Cloud Processor,云网业务单元)作为DDC架构的业务板,使用独立的物理设备NCF(Network Cloud Fabric,云网交换单元)作为DDC架构的交换网板。
· 在管理层面,采用虚拟化的集中式管理,通过云集群技术将DDC架构中的物理设备虚拟成一台超级大型集中式机框式框交换机,NCC是该虚拟交换机的主控板,NCP是该虚拟交换机的业务板,NCF是该虚拟交换机的网板。
图2 DDC云集群物理架构
如图2所示,H3C的DDC方案将传统的框式交换机解耦成三种类型的物理设备:云网控制单元NCC、云网业务单元NCP和云网交换单元NCF。
NCC、NCP、NCF之间使用一种专属物理接口IPC(Inter-Process Communication,进程间通信)通道接口来传输控制报文。NCP和NCF之间使用另一种专属物理接口SFI接口来传输数据报文。S12500AI系列设备的端口情况如表1所示。
表1 S12500AI系列设备的端口情况
|
产品系列 |
机箱类型 |
产品型号 |
接口情况 |
|
H3C S12500AI系列 |
NCC |
S12500AI-6C-NCCA |
· 2个SFP28 IPC通道接口 · 6个QSFP28 IPC通道接口 |
|
NCF |
S12500AI-96B-NCFK |
· 2个SFP+ IPC通道接口 · 96个QSFP56 SFI接口 |
|
|
NCP |
S12500AI-36B48B-NCPK |
· 2个SFP+ IPC通道接口 · 48个QSFP56 SFI接口 · 36个QSFP56业务口 |
|
|
S12500AI-18D48B-NCPK |
· 2个SFP+ IPC通道接口 · 48个QSFP56 SFI接口 · 18个QSFP-DD业务口 |
DDC云集群组网中,建议每种类型的物理设备至少部署两台,从而提高网络的可靠性。
NCC类似于框式交换机S12500R的主控板功能,用来集中管理NCP和NCF、下发配置、收集日志信息、处理协议报文,生成管理控制平面和数据平面的数据表项。
通常一个DDC云集群组网中至少部署两台NCC:
· 一台为主用NCC,相当于主用主控板,处于工作状态。
· 另外一台为备用NCC,相当于备用主控板,仅作为主用NCC的备份身份存在,当主用NCC故障时,可平滑接替主用NCC的业务。
在DDC云集群形成的超级虚拟交换机中,NCC对应该虚拟交换机的主控板,可使用的槽位号范围为1~8,用户可自行定义NCC对应的槽位号。
图3 S12500AI-6C-NCCA前面板示意图
NCP类似于框式交换机S12500R的业务板,负责报文转发。NCP上的业务口用来连接业务网,是整个DDC云集群对外输入、输出接口。
在DDC云集群形成的超级虚拟交换机中,NCP对应该虚拟交换机的业务板,可使用的槽位号范围为11~106,用户可自行定义NCP对应的槽位号。
图4 S12500AI-18D48B-NCPK前面板示意图
图5 S12500AI-36B48B-NCPK前面板示意图
NCF类似于框式交换机S12500R的交换网板,如果报文的入接口和出接口分布在不同的NCP,则需要通过NCF将入口NCP收到的报文转发给出口NCP。
在DDC云集群形成的超级虚拟交换机中,NCF对应该虚拟交换机的交换网板,可使用的槽位号范围为140~187,用户可自行定义NCF对应的槽位号。
图6 S12500AI-96B-NCFK前面板示意图
管理交换机MGT是一款支持IPv6的三层交换机,使用IPv6协议与DDC云集群物理建立起管理网络。NCC、NCP、NCF均需要与管理交换机MGT建立连接。
MGT交换机推荐如下:
表2 DDC云集群组网中推荐的管理交换机MGT款型描述表
|
物理设备类型 |
端口 |
推荐版本 |
|
S6850-56HF (产品代码LS-6850-56HF-H1) |
48*10/25G + 8*40/100G |
Release 6710+HS11 |
|
S6850-56HF (产品代码LS-6850-56HF-H3) |
48*10/25G + 8*40/100G |
Release 6710P03 |
|
S6825-54HF |
48*10/25G + 6*40/100G |
Release 6710+HS11 |
|
S6890-54HF |
48*10G + 6*100G |
Release 2719P01 |
|
S12500R-48Y8C |
48*25G + 8*100G |
Release 5212P01 |
在DDC云集群中使用IPC通道接口组建控制平面。要求如下:
· 需要使用MGT管理交换机组建控制平面,建议至少使用两台MGT管理交换机,以形成备份,增强控制平面的可靠性。
· 为提高管理网的可靠性,MGT管理交换机之间请采用三层接口进行环形拓扑连接。
· NCC有多个IPC通道接口,请选择相同速率的IPC通道接口分别连接到不同的MGT管理交换机。
· NCP、NCF上分别有两个IPC通道接口,请将IPC通道接口连接到MGT管理交换机。为提高链路可靠性,建议将这两个接口分别连接到两台MGT管理交换机。
如图7所示,NCP/NCF双上行连接到不同的管理交换机,NCC建议双上行到不同的管理交换机,管理交换机组成环型组网。通过MGT管理交换机转发DDC云集群内的控制平面报文(例如管理报文、协议报文等)。
图7 DDC云集群控制平面连接拓扑图
图8中管理交换机MGT以S6850-56HF-H1为例,NCP以S12500AI-36B48B-NCPK为例,用于演示各物理设备上控制平面的连接关系。
图8 DDC云集群控制平面连接具象图
DDC云集群数据平面连接要求如下:
· 根据网络规模,建议NCP、NCF设备数量按照2:1比例组网。
· NCP与NCF通过SFI接口全连接(FULL MESH)。
· SFI接口上支持的可插拔光模块如表3所示。
表3 SFI接口上支持的可插拔光模块描述表
|
BOM |
描述 |
|
0231AJHS |
功能模块-H3C-LSXM1QSFP56-200G QSFP56光模块-(850nm,100m OM4,SR4,MPO12/UPC)-国内海外合一版 |
|
0231AJHU |
功能模块-H3C-LSXM1QSFP56B-200G QSFP56光模块-(1300nm,2km,FR4,SMF/LC)-国内海外合一版 |
|
0231AL4N |
QSFP56-200G-D-AOC-5M(海信) |
DDC云集群数据平面连接的典型拓扑如图9所示。
图9 DDC云集群数据平面连接拓扑图
图10中NCP以S12500AI-36B48B-NCPK为例,用于演示各物理设备上数据平面的连接关系。
图10 DDC云集群数据平面连接具象图
DDC云集群技术适合构建现代化、高度可扩展和灵活的数据中心网络,尤其在云计算、大数据和分布式存储等场景下。
如图11所示,DDC云集群组网中包含两台NCC、多台NCF、多台NCP,NCC、NCF、NCP均和MGT相连。采用DDC云集群技术,可以将这些设备虚拟化成一台设备中的板卡,对上、下层设备来说,整个DDC云集群系统虚拟化成一台网络设备(对应图11中的容器集群),类似一台超级框式交换机。所有物理设备上的资源归该虚拟网络设备拥有和统一管理。
图11 DDC云集群组网应用示意图
DDC云集群技术具有以下优势:
· 极强融合
DDC架构允许网络按需增长,用户可以根据需要添加更多的单元来扩展网络容量、端口数、带宽,提升整个系统的业务能力、计算能力、存储能力以及处理能力,而不需要替换整个交换机。
· 极高可靠
云集群支持设备级备份、协议级备份、链路级备份,从各个层面来提高设备的可靠性,确保设备的不间断运行。
· 极速转发
DDC云集群基于VOQ(Virtual Output Queuing,虚拟输出队列)/CELL(信元)交换等先进硬件技术,VOQ技术能够保证数据在云集群内部转发时不丢包,CELL转发技术能够保证数据流在云集群内部转发时负载更加均衡,提升了NCP和NCF之间链路的利用率和吞吐量,充分满足HPC(High Performance Computing,高性能计算)业务对传输网络提出的低转发时延、低丢包率的严格要求。
· 极简运维
整个云集群在网络中就是一个网络节点,简化了网络拓扑和上下层设备的配置。
云集群内部成员设备间的配置同步机制简化了配置过程。
由于DDC是基于模块化设计的,NCC、NCP、NCF可以根据组网需求弹性扩缩容,每台设备独立进行硬件升级和维护。同时,在DDC架构中,可以更有效地使用资源,因为用户可以根据流量模式和需求,对网络资源进行精细化管理。
· 极智云化
云集群采用物理集群和容器集群双重虚拟架构,将基础硬件设施和业务分离,增加了整个云集群系统的灵活性,助力企业快速入云。
· 绿色环保
DDC架构可以提高能源效率,因为它允许精确的容量规划和动态电源管理,从而降低了电力消耗和冷却需求。
DDC云集群技术基于Comware V9容器化架构,分别实现了物理设备和业务两个层面的虚拟化。NCC、NCP和NCF设备的启动软件包中包含云平台软件模块、Route容器镜像、Comware容器镜像。
云平台软件模块、Route容器、Comware容器分工合作,共同实现了云集群的双层虚拟化:
· 云平台软件模块运行在设备上,各物理设备上的云平台软件模块间通过三层通道通信,将多台物理设备虚拟化成一个物理集群。物理集群为上层业务提供管理服务,例如:负责部署容器、为容器提供统一的资源管理和故障监控功能、负责发现和管理容器的拓扑等。
· 容器也运行在宿主机上,设备通过容器提供业务。
DDC云集群组网中运行了两种容器:
¡ Route容器:每台NCC、NCP、NCF上均会运行一个Route容器,Route容器中会包含IPC通道接口(接口类型为EthIPCChannel),用于实现DDC云集群控制平面的互连互通。
¡ Comware容器:Comware容器也称为Base容器,是运行了Comware系统的容器,为设备提供基本的路由、交换等通信功能。目前仅支持将Comware容器虚拟化成容器集群。Comware容器通过LIPC(Leopard Inter-process Communication,内部进程间通信)和MBUS(Management Bus,管理总线协议)通道通信,将多个容器虚拟化成一个容器集群。
图12 DDC云集群软件架构图
云集群将物理设备虚拟化成物理集群和容器集群双重集群虚拟架构,如图13所示。
物理集群中每台设备都称为成员设备。成员设备按照功能不同,分为两种角色:
· Manager:负责云平台HA功能,建立集群,管理集群成员。它包括以下功能:
¡ 负责管理物理集群,建立物理集群,维护物理集群,管理集群成员,生成并更新集群拓扑。
¡ 负责管理容器集群,能根据物理集群中硬件资源的分布智能部署Comware容器,并选举容器集群的主用容器和从属容器。
Manager按照职责不同又分为Leader和Follower。
¡ Leader:作为主用Manager,负责管理和控制整个云集群,是整个云集群的控制中心。
¡ Follower:作为备用Manager,是Leader的备份,处理业务、转发报文的同时作为Leader的备份设备运行。当Leader故障时,系统会自动从Follower中选举一个新的Leader接替原Leader工作。
¡ 在DDC云集群中,NCC均作为Manager。多个NCC通过角色选举来确定Leader。一个云集群中只有一个Leader,其它NCC均为Follower。
· Worker:负责节点本地管理,上报节点资源给Leader,接收Leader的调度消息来部署容器。
将设备配置为Worker后,设备会自动运行Worker组件来完成Worker的相关功能。
在DDC云集群中,所有NCC、NCP、NCF均是Worker。
在DDC云集群中,使用成员编号来唯一标识一台物理设备,物理集群和容器集群在搭建和维护过程中,均会用到成员编号。
一个云集群中,只有一台设备可以使用缺省的成员编号,其它设备均需修改成员编号后,才能加入云集群。且修改成员编号时,请确保该编号在云集群中唯一。
· 在搭建物理集群时,如果有设备的成员编号相同,则后注册的成员设备不能加入物理集群。
· 在物理集群的运行过程中,如果新设备加入物理集群,但是该设备与已有成员设备的编号冲突,则该设备不能加入物理集群。
NCC的成员设备编号缺省为1,可通过cloud-cluster member member-id renumber new-member-id命令修改;NCP、NCF的成员编号需要网络管理员通过集群成员编号映射文件指定。
集群成员编号映射文件用于为NCP、NCF设备分配SlotID自动组建云集群。
集群成员编号映射文件是一种后缀为.csv的文件,它包含了序列号、MAC地址、SlotID三列,这三列记录了物理设备和SlotID的映射关系。因为序列号和MAC地址均可标识一台物理设备,所以,在集群成员编号映射文件中序列号和MAC地址至少指定一种即可。
集群成员编号映射文件内容示例如下:
Serial Number,MAC Address,Slot number
210231AE3BH20BXXXXXX1,00e0-fc00-0001,10
210231AE3BH20BXXXXXX2,00e0-fc00-0002,11
该文件会被存储在NCC以及逃生容器所在NCP的存储介质上(关于逃生容器的介绍请参考“5 DDC云集群高可靠性机制”)。当NCP、NCF携带自己的序列号、MAC地址向NCC注册时,NCC会根据NCP、NCF的序列号和MAC地址查找物理集群成员编号映射文件,并将找到的SlotID分配给NCP、NCF,NCP、NCF根据这个SlotID生成MemberID,MemberID的值等于SlotID的值。
每台NCC、NCP、NCF启动时,均会运行一个Route容器,Route容器中会包含IPC通道接口(接口类型为EthIPCChannel),将成员设备的IPC通道接口和管理交换机MGT相连组成管理网络。各设备之间:
· 使用IPv6协议和链路本地地址通信。
· 使用IS-IS协议控制单播路由。
· 使用PIM协议控制IPv6组播路由(组播地址为FF1E::1)。
然后,还需要在MGT管理交换机上创建Loopback接口,该接口的IPv6地址格式为2017:61E:81E:0:XXXX:XXFF:FEXX:XXXX的IPv6地址,其中X为变量,可以替换成其它十六进制数。
物理集群的建立过程涉及几个关键步骤:
(1) 路由节点发现:每个NCC、NCP和NCF上均运行路由容器,路由容器使用ISIS协议,实现集群内节点之间的互相发现和通信,形成管理网的路由表。
(2) 物理节点发现:集群中的节点根据ISIS路由信息单播发送报文,互相交换信息。交换的信息包括domainID、memberID、成员角色(manager、worker)和成员身份(Leader、Follower)等,以识别彼此并建立连接。
(3) Leader选举:在DDC云集群组网中,只有NCC参与物理集群的管理,即作为DDC云集群的Manager。当DDC云集群组网中存在多台NCC,会选择成员编号(MemberID)小的作为Leader。
缺省情况下,NCC的成员编号(MemberID)均为1。请选择其中一台NCC作为Leader,并登录其它NCC,使用cloud-cluster member renumber命令将其成员编号修改为未被占用的编号。
(4) 节点加入和资源分配:NCC当选为Leader后,单播通知所有节点(NCC、NCP和NCF)其设备信息。
¡ NCP、NCF收到Leader的报文后,向Leader申请成员编号;Leader按照集群成员编号映射文件中的配置给NCP、NCF分配成员编号。NCP、NCF申请到成员编号后,向Leader注册加入Leader。
¡ 其它NCC收到Leader的报文后,向Leader注册加入Leader。
当NCC和其它NCC的连接断开,备NCC没有收到主NCC的协议报文,备NCC会认为主NCC故障,该NCC和其下挂的NCF、NCP就会组建一个新的物理集群,原物理集群就会分裂成两个物理集群。分裂出来的新的物理集群会按照Leader选举规则(成员编号小的优先)选举自己的Leader。
当NCC和其它NCC的故障链路修复,分裂的两个物理集群会自动合并为一个物理集群。两个物理集群合并时,只会保留一个Leader,竞选成功的物理集群的Leader作为整个物理集群的Leader,竞选失败的物理集群会以Follower身份重新加入合并后的物理集群。
两个物理集群的竞选规则如下:
(1) NCP总数多的物理集群获胜。
(2) NCP总数相同,Leader的成员编号较小的物理集群获胜。
通常,物理集群的合并会连带容器集群的合并,在合并过程中,物理设备不会重启,竞选失败的容器集群会自动重启,加入竞选成功的容器集群。
NCC、NCP、NCF启动时会自动运行Comware容器,来提供报文转发业务。为提高业务的可靠性和可维护性,这些Comware容器会组建容器集群。
容器集群中每个容器都称为成员容器。成员容器按照功能不同,分为三种角色:
· 主用容器(简称为主容器或Master):负责管理和控制整个容器集群。
· 从属容器(简称为从容器或Standby):处理业务、转发报文的同时作为主容器的备份容器运行。当主容器故障时,系统会自动在从容器中选举一个新的主容器接替原主容器工作。
· IO容器:作为业务板在DDC云集群中运行,提供报文转发业务。
当物理集群能正常工作时,主容器和从容器角色由物理集群中的Leader决定;当物理集群不能正常工作时,主设备和从设备均由角色选举产生。
一个容器集群中同时只能存在一台主容器。
在容器集群中可能存在多个容器,成员容器的编号用来唯一标识一个容器。成员容器的编号由物理集群的Leader统一分配。
在DDC云集群中,用成员设备的编号来唯一标识一台物理设备。成员容器运行在物理设备上,所以,成员容器使用物理设备的成员编号来唯一标识一个容器。
一个云集群中,只有一台设备可以使用缺省的成员编号,其它设备均需修改成员编号后,才能加入云集群。且修改成员编号时,请确保该编号在云集群中唯一。
· 在搭建物理集群时,如果有设备的成员编号相同,则后加入的设备不能加入物理集群。
· 在物理集群的运行过程中,如果新设备加入物理集群,但是该设备与已有成员设备的编号冲突,则该设备不能加入物理集群。
域是一个逻辑概念,一个容器集群对应一个容器集群域。
为了适应各种组网应用,同一个网络里可以部署多个容器集群,容器集群之间使用域编号(DomainID)来区别。
NCC类似框式交换机S12500R的主控板功能,用来集中管理NCP、NCF。所以,物理集群的Leader会在NCC中选举一个主容器Master,其它NCC上的Comware容器均为从容器Standby。NCF和NCP上的Comware容器均为IO容器。
Leader选举Master的规则为:Leader所在的NCC上运行的Comware容器为Master。
Master会按周期发送心跳报文给Standby、NCP和NCF,来维持连接。如果因为链路故障导致超时时间到达,Standby还没有收到Master的心跳报文,Standby会认为Master故障,Standby会自动选举新的Master。此时,DDC云集群中会出现两个Master,这种现象称为容器集群分裂。
对于NCP和NCF,如果NCP和NCF还能收到原Master的心跳报文,则NCP和NCF不会响应新Master的心跳报文,它仍然作为IO接受原Master的管理。如果直到超时时间到达,NCP、NCF没有收到原Master的心跳报文,NCP、NCF会认为Master故障,才会响应新Master的心跳报文,被新Master纳管。
当两个分裂的容器集群的控制链路得到修复后,这两个集群将自动合并为一个单一的容器集群。合并过程中涉及到一个竞选机制,竞选成功集群将继续运行,竞选失败的集群将重启其所有成员设备,以便重新加入竞选成功的集群。
容器集群合并时的竞选规则为:
(1) NCP数量多的优先。
(2) Master为非逃生容器的优先。
(3) Master成员编号小的优先。
在容器集群的控制链路修复后,自动合并和竞选机制确保了集群管理的连续性和系统的稳定性。这种方法不仅优化了资源的使用,还减少了人工干预的需求,提高了系统恢复的效率和可靠性。
在数据中心传统Spine-Leaf网络架构中,尽管通过控制器或统一的运维脚本简化了设备配置,但其依然采用传统的分布式控制面。在这种模式下,每台设备都作为一个独立的路由节点,需要执行诸如路由域管理、路由信息同步等操作,这增加了路由计算的复杂性和时间。
DDC云集群采用集中控制,改变了传统架构。在此模式下,接入转发设备NCP不再单独运行路由协议栈,而是由云集群中的Master统一管理路由协议和路径学习处理。这种设计不仅简化了网络配置,减少了错误配置的风险,还提高了路由的收敛和传播效率。
在DDC云集群中,路由表项是这样生成和同步的:
· 如果手工配置了静态路由,则Master会将生成的静态路由表项同步给所有的NCC、NCP和NCF。
· 如果网络中部署了动态路由协议,NCP收到协议报文后,会转发给Master处理,Master生成动态路由表项并同步给所有的NCC、NCP和NCF。
从而确保,所有NCC、NCP和NCF上保存的路由表项保持一致。
以云数据中心为例,所有服务器通过NCP相连。随着服务器数量的变化,可以灵活增减NCP。在集中控制的视角下,所有服务器相当于连接到同一台框式设备上,实现直连路由。这种设置无需复杂的路由协议配置,便可实现大规模的三层服务器互联,并通过灵活应用ACL和QoS技术,保障访问控制和链路带宽。
DDC云集群基于Cell的转发技术适用于需要处理大量数据和高速数据传输的场景,如云数据中心、HPC、AI训练平台和大规模机器学习环境。
在数据中心传统Spine-Leaf网络架构中,基于五元组信息的逐流ECMP(Equal-Cost Multi-Path)负载均衡存在效率问题。尤其当处理大容量流量时,这种方法容易造成单条链路的过载和其他链路的闲置,进而需要预留更多的带宽资源并调整收敛比例以避免拥塞。
DDC架构采用了一种创新的ECMP转发策略,它基于信元而非整体流量进行转发。这种做法能够在入口设备处将大流量细分为多个信元,并均匀地分配到Spine-Leaf架构中的各条链路上。这种策略的实现通常涉及以下几个关键步骤:
(1) 流量切分
当数据流进入数据中心的入向设备时,它被切分成多个较小的数据单元,称为“信元”。这些信元是数据传输的基本单位,可独立于原始数据流进行管理和路由。
(2) 独立路由
每个信元都根据其头信息独立进行hash运算,然后根据hash结果被分配到多条等价的路径上。与传统的基于流的ECMP不同,这种方法可以更细粒度地控制数据流的分布,从而优化链路利用率。
(3) 信元重组
在数据到达目标节点前,各个信元在目的地被重新组合成原始数据流,以供最终处理或存储。
图14 DDC云集群业务数据转发示意图
如图14所示,DDC云集群的业务数据转发流程如下:
(1) 数据包从Ingress NCP的业务接口进入DDC云集群。
(2) Ingress NCP将数据包交给本机的转发芯片处理。转发芯片查询FIB表以确定数据包的出接口。数据包根据转发信息进入相应的出接口队列。
¡ 如果出接口是本NCP上的接口,则直接转发数据包。
¡ 如果出接口位于其他NCP上,数据包将被分割成多个CELL,并将CELL负载均衡发送给与Egress NCP相连的所有NCF。
(3) NCF收到CELL后,查询Reachability table来决定如何转发这些CELL。
NCP和NCF基于内部协议,通过交互Reachability协议报文构建了Reachability table,Reachability table记录了NCP和NCF的拓扑连接关系。
(4) Egress NCP收到这些CELL后,将它们重新组合为完整的数据包,并通过出接口进行转发。
DDC云集群采用基于CELL的转发技术,具有以下技术价值:
· 高链路利用率:基于信元的转发可以减少或避免因大流量负载不均导致的链路拥堵。不同于传统ECMP可能将大流量负载不均匀地分布在少数链路上,基于信元的转发确保即便是大流量也能被均匀地分布到所有可用链路上。这种方法减少了某些链路过载而其他链路处于空闲状态的情况,从而优化了整体网络性能。
· 降低网络拥塞:由于流量更均匀地分布,每条链路的负载更加平衡,从而降低了网络拥塞的可能性。这对于维持端到端低延迟和高吞吐量至关重要。
· 提高数据中心的弹性和鲁棒性:基于信元的转发提供了更好的流量控制,使得数据中心能够有效处理高流量需求和突发流量,增强了网络的稳定性和可靠性。
基于VOQ的拥塞控制技术广泛应用于大规模数据中心、高性能计算和大数据处理等领域,尤其适用于对网络性能和稳定性有高要求的环境。
VOQ是一种在交换机内部实现的技术,它为每个输入端口到每个输出端口的传输维护一个单独的虚拟队列。这种机制允许交换机根据数据流的目的地和优先级进行更细致的流量调度,同时实现交换网级的端到端流量控制。
VOQ的工作原理如下:
(1) Credit申请与分配
入口NCP收到报文,对报文进行分类和路由查找后,根据其目标出端口被放入相应的虚拟输出队列。入口NCP不直接将数据包推送至NCF和出口NCP,而是通过VOQ机制与出口NCP协同工作,检查是否有足够的带宽可供使用。
输入端口调度器向输出端口申请Credit,以通知输出端口有数据待发送。
只有当输出端口有足够带宽资源时,出口NCP才会向输入端口分配Credit。
(2) 数据转发
输入端口在收到Credit后,开始将数据包转发至输出端口。这一过程涉及将数据包分割成信元,并在所有可用的路径上进行负载平衡。
(3) 防止内部丢包
当输出端口没有足够资源时,不会分配Credit给输入端口,这样输入端口在没有Credit的情况下无法向该输出端口转发数据,从而避免了网络内部的丢包。
· 无阻塞传输:通过精确的流量调度,VOQ技术最小化了网络中的拥塞,确保了数据包的无阻塞传输。
· 优先级调度:支持基于流量优先级的调度,确保关键数据流可以优先传输。
· 提高网络利用率:通过避免拥塞和优化数据流的传输路径,提升了网络的整体带宽利用率。
完成DDC云集群搭建后,可通过如下方式登录DDC云集群:
· 本地登录:通过NCC的Console口登录。
· 远程登录:
¡ 通过Master所在设备的管理以太网接口登录。给管理以太网接口配置IP地址,并且和登录终端之间路由可达,登录终端就可以通过Telnet、SSH、SNMP等方式远程登录DDC云集群。
¡ 通过任意NCP上的业务接口登录。给业务接口配置IP地址,并且和登录终端之间路由可达,登录终端就可以通过Telnet、SSH、SNMP等方式远程登录DDC云集群。
不管使用哪种方式登录DDC云集群,实际上登录的都是Master。Master是DDC云集群的配置和控制中心,在Master上配置后,Master会将相关配置同步给Standby,以便保证Master和从Standby配置的一致性。
DDC云集群通过其独特的虚拟化和解耦技术,极大简化了网络的复杂性和提高了故障时的快速恢复能力,为数据中心网络带来了显著的可靠性提升。
· 首先,DDC云集群中NCP和NCF之间的链路支持多链路自动聚合。多条链路既互为备份,又负载分担,提供了链路的高可靠性。
· 其次,DDC云集群基于硬件检测技术实现了转发链路故障的极速收敛。
在传统Spine-Leaf架构中,每台路由器或交换机作为独立的路由实体,这对整网的路由设计、路由协议的规模以及故障时的路由收敛速度构成了挑战。
DDC云集群采用解耦的框式设备设计,利用虚拟化技术将整个集群虚拟化为单一的路由实体。这种框式设备设计与虚拟化技术的结合有效地简化了网络架构,其中的数据转发仅作为网络中的一跳。使得整网的路由设计和维护变得更加简单,路由的收敛和扩展性得到改善,易于管理和维护。
在DDC集群内,NCP和NCF作为系统内不同节点间的通信,无需运行动态路由协议。这种设计利用硬件芯片监控数据链路的联通性,避免了动态路由协议的复杂性,提高了系统的稳定性和响应速度。
在现代云计算环境中,集群控制平面的稳定性是保证服务连续性和可靠性的关键。由于硬件故障、网络问题或其他不可预见的事件,控制平面的组件可能会发生故障,从而影响整个云集群的运行。因此,设计一种高可靠性机制,以应对这些挑战并确保控制平面持续正常运行,对于维护业务连续性至关重要。
DDC云集群控制平面高可靠性机制,通过实施多控制链路备份、多NCC备份以及创新的容器逃生功能,提供了一种全面的解决方案,确保在控制平面组件发生故障时,云集群能够继续无缝运行。
· 多控制链路备份机制:用于避免单条控制链路故障,影响DDC云集群控制平面的稳定运行。
· 多NCC备份机制:应对Master单点故障,通过多节点备份提升系统整体可靠性。
· 容器逃生功能:应对管理网故障,包括NCC故障或控制链路故障,保障控制平面的稳定运行。
在DDC云集群组网中,每台NCP、NCF支持两个IPC通道接口,每个NCC支持多个IPC通道接口,MGT建议采用环型拓扑组网,每个IPC通道接口连接到不同的MGT
DDC云集群多控制链路备份机制如下:
· 正常情况下,所有控制链路均可用,数据正常传输。
· 当某条链路故障时,自动切换到备份链路,保障数据传输不中断。
图15 DDC云集群控制平面连接拓扑图
在DDC云集群组网中,建议至少部署两台NCC,以便NCC之间形成备份。每个NCC上运行一个Comware容器管理容器集群,Comware容器的角色分为Master和Standby。一个DDC云集群中只有一个Master,其它NCC上的Comware容器的角色为Standby。
多NCC备份机制如下:
· 正常操作时,Master NCC负责所有管理任务。
· 若Master NCC发生故障:
a. 系统自动检测故障。
b. 从Standby NCC中选出编号最小的NCC。
c. 该NCC升级为新的Master,自动接管所有管理任务。
图16 多NCC备份示意图
为了避免管理网故障(例如NCC故障或者控制链路故障),NCP和NCC之间通信超时,导致NCP认为控制平面故障,进而重启,影响业务。DDC云集群提供了容器集群逃生功能,来提升云集群控制平面的高可靠性,尽可能的减少NCP重启的次数。
容器集群逃生功能包括:
· 代理逃生:当少数NCP的管理网故障(故障NCP的数量小于等于NCP总数的一半),导致这些NCP无法和NCC交互控制报文时,在其它NCP上启用代理功能,帮助这些控制链路故障的NCP转发控制报文。
· 逃生容器逃生:当多数NCP的管理网故障(故障NCP的数量大于NCP总数的一半),导致这些NCP无法和NCC交互控制报文时,在NCP上启用逃生容器来接替NCC的工作。
当组网中少部分NCP的管理网故障(故障NCP的数量小于等于NCP总数的一半),导致这些NCP无法收到NCC的控制报文时,DDC云集群会启用代理逃生功能。
如图17所示,DDC云集群组网中一共有4台NCP,当NCP3、NCP4到NCC的控制链路故障,直到超时也没有收到NCC的心跳报文,DDC云集群会进行以下处理:
(1) NCP3通知NCP1和NCP2自己的管理网已经故障。
(2) NCP3判断当前还有超过一半NCP的管理网可用,于是选择一个NCP作为自己的代理节点(假设为NCP1),并通知NCP1。
(3) NCP1收到通知后,开启代理功能。后续NCP3发往NCC的报文均经过NCP1中转。
(4) NCP4通知NCP1和NCP2自己的管理网已经故障。
(5) NCP4判断当前还有一半NCP的管理网可用,于是选择一个NCP作为自己的代理节点(假设为NCP2)。
(6) NCP2收到通知后,开启代理功能。后续NCP4发往NCC的报文均经过NCP2中转。
(7) NCP1通知NCC1和NCC2自己作为NCP3的代理,所有发往NCP3的报文,经过NCP1转发。
(8) NCP2通知NCC1和NCC2自己作为NCP4的代理,所有发往NCP4的报文,经过NCP2转发。
一个NCP只能代理一个NCP,不能代理多个NCP。
图17 代理逃生场景示意图
在搭建DDC云集群时,最先注册到NCC的两台NCP上会分别自动多运行一个Comware容器,用于NCC故障时,接替NCC管理容器集群,这个额外运行的Comware容器称为逃生容器。逃生容器包含了必要的服务和功能,以在故障期间维持云集群的基本运行,从而确保云集群的连续性和可用性不受影响。
当组网中的所有NCC故障,或者大部分NCP的管理网故障(故障NCP的数量大于NCP总数的一半),导致这些NCP无法收到NCC的控制报文时,DDC云集群会从两个逃生容器中选择一个逃生容器作为Master(主逃生容器)接替NCC管理容器集群。另外一个逃生容器作为Standby(Master的备份),为系统提供高可靠性。
当NCC正常工作时,NCC是容器集群的Master,管理容器集群。逃生容器是Standby,作为Master的备份。NCC和逃生容器之间会进行数据备份。当所有NCC故障时,其中一个逃生容器会竞选成功作为新的Master来接管容器集群,NCP和NCF还是通过管理网交互控制报文,如图18所示。
图18 NCC故障,管理网无故障场景
如果图18中的NCC故障恢复,NCC会以Standby身份加入现有容器集群。例如NCC1恢复了,NCC1和NCP、NCF管理网已路由可达。云集群会进行以下处理:
(1) NCC1发现网络中存在Master(NCP1),且NCP1下注册的NCP户数量大于本机下注册的NCP数量,为了不影响NCP1上的现有业务,NCC1会以Standby身份加入现有容器集群,如图19所示。
(2) 云集群会打印摘要为SCLST_NCC_READY的日志提醒网络管理员,当前的Master是逃生容器。
在确认NCC故障已修复、云集群处于稳定状态且业务允许的情况下,为保证云集群长期稳定运行,建议在业务空闲时重启主用逃生容器(当前Master),使得Master切换到NCC上,以让NCC重新管理云集群。(在任意视图执行display system stable命令,如果System state字段取值为Stable,则表示云集群处于稳定状态)
图19 所有NCC故障恢复的场景
当组网中大部分NCP的管理网故障(故障NCP的数量大于NCP总数的一半),导致这些NCP无法收到NCC的控制报文时,因为代理节点数量不够(一个NCP只能代理一个NCP),DDC云集群也会将Master切换到逃生容器,让逃生容器来管理云集群。
如图20所示,DDC云集群组网中一共有4台NCP,NCC无故障,NCP2、NCP3、NCP4到NCC的控制链路故障,直到超时也没有收到NCC的心跳报文,DDC云集群会进行以下处理:
(1) NCP2、NCP3、NCP4会分别通知其它NCP自己的管理网已经故障。
(2) NCP1和NCP2判断当前和NCC断开连接的NCP数量大于NCP总数的一半,于是在两个逃生容器会进入逃生状态并从两个逃生容器中选举一个作为Master来管理容器集群。
处于逃生状态的逃生容器不会处理NCC发过来的云集群协议报文,逃生容器会使用数据网发送云集群协议报文,所以,NCC也不会收到逃生容器的云集群协议报文。于是,NCP会组建一个容器集群,两个NCC会另外组建一个容器集群。云集群网络中出现双主(双Master)。
(3) NCP之间通过NCF和数据网传输云集群协议报文。从而确保业务的继续运行。
图20 NCC无故障,管理网大部分故障场景
如果图20所示的管理网链路恢复,当NCP检测到当前和NCC断开连接的NCP数量小于等于NCP总数的一半时,云集群会进行以下处理:
(1) NCP认为管理网恢复,解除逃生状态。
(2) 逃生状态解除后,NCP切换到管理网发送云集群协议报文。于是,逃生容器和NCC能互相收到云集群协议报文。
(3) 为了确保NCP上的业务不受影响,NCC会重启并以Standby的省份加入NCP所在的容器集群,双主(Master)现象解除。
(4) 云集群会打印摘要为SCLST_NCC_READY的日志提醒网络管理员,当前的Master是逃生容器。
· DDC云集群中出现的双主(Master)现象不会影响业务转发,可能会存在管理IP冲突的问题。
· 在确认NCC故障已修复、云集群处于稳定状态且业务允许的情况下,为保证云集群长期稳定运行,建议在业务空闲时重启主用逃生容器(当前Master),使得Master切换到NCC上,以让NCC重新管理云集群。(在任意视图执行display system stable命令,如果System state字段取值为Stable,则表示云集群处于稳定状态)
容器集群中运行Comware系统,用户通过接口登录云集群之后,所有配置均提交给容器集群的Master设备处理,Master设备会将配置同步给容器集群中的Standby设备。对于物理集群的配置,Master会转化成系统内部的指令下发给物理集群。
容器集群的配置同步包括两个步骤:初始化时的批量同步和稳定运行时的实时同步。
l 批量同步
¡ 当多台设备组合形成容器集群时,先选举出Master设备。Master设备使用本地保存的启动配置文件启动,Master设备启动完成后,将配置批量同步给所有Standby设备,Standby设备完成初始化,容器集群形成。
¡ 在容器集群运行过程中,有新的成员设备加入时,也会进行批量同步。新设备重启以Standby的身份加入容器集群,Master会将当前的配置批量同步给新设备。新设备以同步过来的配置完成初始化,而不再读取本地的启动配置文件。
l 实时同步
所有设备初始化完成后,容器集群作为单一网络设备在网络中运行。用户使用Console口或者Telnet方式登录到容器集群中任意一台成员设备,都可以对整个容器集群进行管理和配置。
Master设备作为容器集群的管理中枢,负责响应用户的登录请求,即用户无论使用什么方式,通过哪台成员设备登录容器集群,最终都是对Master设备进行配置。Master设备负责将用户的配置同步给各个Standby设备,从而使容器集群内各设备的配置随时保持高度统一。
高性能计算(HPC)通过并行处理技术使用超级计算机及其集群系统解决复杂的科学、工程或商业问题。得益于其快速的计算速度和准确的结果,HPC正在被越来越多的数据中心采用。
在HPC应用场景中,DDC云集群采用了创新的网络架构设计,突破了传统的框式交换机模式,通过分布式解耦方式增强了数据中心网络的灵活性和可扩展性。该设计将大型网络交换机分解为较小的、独立的模块化盒式交换机,实现了网络功能的分散部署,并优化了散热及功耗控制,同时解决了设备升级和空间扩展的问题。
此外,DDC云集群的虚拟化技术显著提升了数据中心架构的性能和可靠性,为未来的发展开辟了新道路,同时使得设备管理和运维更加高效、简便。
DDC云集群还采用了一系列高效技术,如无阻塞、低时延的转发架构、虚拟输出队列(VOQ)和信元(Cell)交换技术,提供了超越传统方案的转发性能和带宽利用率。这些技术能够实现均匀的链路负载,避免大流量任务导致的链路过载和拥塞,从而有效提升带宽利用率和网络整体性能。
图21 DDC云集群典型组网图
