• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

H3C SeerEngine-DC高可靠性技术白皮书

Copyright © 2020 新华三技术有限公司 版权所有,保留一切权利。

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。

除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。

本文档中的信息可能变动,恕不另行通知。



1 引言

H3C SeerEngine-DC是H3C推出的一款SDN数据中心控制器,简称为DC控制器。它为用户提供SDN网络操作系统,基于控制器集群实现数据中心网络的管理和控制功能,并可管理网络中的所有网络节点。DC控制器作为数据中心网络的核心组件,需要长时间稳定运行。DC控制器从设计架构上采用了不同层面的可靠性机制,包括运行平台,管理层面,南向网络层面等,为客户提供高可靠的网络管理中心。

DC控制器支持基于SNA平台进行部署和运行,通过SNA架构为客户提供统一的业务部署和运维入口。

2 SNA平台

2.1 SNA Center

2.1.1 基本概念

SNA(SeerNetwork Architecture,先知网络架构)是H3C推出的下一代智慧网络架构。SNA Center是智慧网络的核心组件,它具有对网络进行全局统一管理、控制和智能分析、业务编排的能力。SNA系统包括的概念有:

· SNA Center:先知网络中心,是先知网络架构的核心组件,用于管理各产品组件。

· Kubernetes平台,用于部署SNA Center。

· 组件:SNA Center安装部署的最小单位。

· 场景:SNA Center定义的用户可以选择的安装部署单元,包括但不限于园区网络、云数据中心、广域网、智能分析引擎。一个场景包含一个或者多个组件。

· 服务集群:由组件提供的业务功能集群。

· 管理网络:用户登录SNA Center使用的网络,也称为北向网络。

· 南向网络:与南向设备通信的网络。

2.1.2 系统框架

图1 SNA Center系统框架

· SNA Center基于云原生PaaS平台,基于容器、微服务技术,并提供统一认证、日志等服务,各场景应用基于此平台开发和部署。

· SNA Center支持三大场景控制器:数据中心应用、园区网络应用、广域网应用,分别负责各场景下网络业务发放和自动化。

· SNA Center支持各场景融合情况下的业务和网络管理。

· SNA Center为用户提供统一的业务设计、发放、运维、网络数据分析入口,提供统一的使用体验。

· 运维监控负责监控所有业务系统的运行情况,包括物理/虚拟网元和SNA Center各部件的运行状态。

· 在SNA Center的平台架构下,数据中心控制器依托容器技术,实现子系统相互独立和隔离,依赖松耦合,动态扩缩容,支持集成第三方服务,可动态加载卸载。

2.2 SNA Center的组件

2.2.1 安装升级

SNA Center提供了三大场景下产品组件的安装向导和升级功能。用户可以通过安装向导完成组件的安装,提供简便的部署步骤。SNA Center提供组件的一键升级功能,用户只需要上传并安装新版本的组件安装包,系统会自动完成组件的滚动升级。

图2 组件升级

通过向导部署组件成功后,在SNA Center首页对应场景的操作入口图标即为点亮状态。

图3 场景入口

2.3 SNA Center运行机制

SNA Center为各场景组件提供了基础的功能和机制,包括产品的安装/部署/升级、统一认证系统、统一日志中心、高可靠的数据库服务等。其中统一的认证系统和微服务化的前端架构为用户提供了良好的使用体验。

图4 SNA Center访问机制

在SNA Center的场景下,通过前端微服务的架构,提供了统一的管理界面,涵盖了不同场景的网络控制管理分析功能。在操作界面下,所有的请求都经过网关进行统一的认证处理。在认证通过后,由网关和Kubernetes平台,将请求分发到不同节点的不同服务实例中,从而实现系统的负载分担以及高可靠性的服务功能。

如果某个应用服务实例出现异常,Kubernetes平台会自动将访问流量切换到正常的服务实例上。

如果某个主机异常,Kubernetes平台同样会将访问流量切换到正常的主机上,同时通过集群多数派的机制保证最终的数据一致性。

3 集群机制

3.1 基于Kubernetes的集群机制

图5 高可用的集群机制

在SNA Center平台下,整个系统采用多重机制实现高可靠性:

· Master节点组建集群,避免单点故障。

· Kubernetes的HA模型,支持三个Master节点和任意个数Worker节点。Master节点和Worker节点均支持部署容器应用,Kubernetes默认按负载均衡算法调度某个容器到某个节点,也可以通过配置绑定某个容器到指定节点。

· Kubernetes的多个Worker节点的模型,除了提供高可靠性之外,还可以支持横向扩容。

· 采用服务副本机制,服务级可靠性保证;有状态服务构建服务集群,无状态服务提供冗余备份。

· 服务动态编排到Node节点,节点物理级故障对服务透明。

· 采用Kubernetes原生Pod机制,服务状态可靠监控。

· 提供集群虚IP机制,用户或者北向系统可以通过这个统一的集群虚IP登录或者对接,当前节点故障后,集群虚IP地址不会发生变化,新的主用Master节点会接管虚IP的处理,做到节点故障无感知。

· 通过服务集群和集群虚IP机制为北向和用户访问提供主备功能。

· 通过Region机制为南向设备提供备份和复杂分担功能。

3.2 服务集群

图6 服务集群

DC控制器作为有状态的服务,在Kubernetes的集群之上,形成控制器自身的服务集群。图6中的用户管理网络也称为北向网络,用于用户登录控制器或北向对接第三方系统;南向网络用于控制器管理南向设备。

DC控制器在SNA Center平台部署安装完成之后,即自动创建服务集群、南向网络和Region。控制器对南向网络也会自动进行防火墙保护。设备只能通过南向协议和控制器进行交互,而不能通过南向网络和控制器进行任意连接。在为用户提供操作方便性的同时,最大程度地提供了安全防护。

在DC控制器的部署管理上,用户的管理网络可以和南向网络合一管理,也可以划分不同的网段分别管理。用户可以在部署安装过程中根据需求进行选择,提供了灵活的系统部署和管理方式。

3.3 设备负载分担

Region机制为控制器和设备之间的连接提供了主备备份和负载分担业务。集群中每两台控制器组成一个Region,分别作为主备控制器对设备进行管理,当其中一个控制器主机故障或者DC控制器服务实例故障时,Region内的另一个控制器可以快速接管,整个过程中业务不会中断。

在部署DC控制器时,系统会自动创建Region。在设备上线的过程中,控制器为设备分配Region,并将Region中两个控制器IP地址通告给设备,使设备与控制器建立Openflow连接。

Region的负载分担有两种方式:

· Region内控制器间的负载分担。

· 设备分担到不同的Region上,实现Region间的负载分担。

Region内的两台控制器有独立的保活机制,当Region内的主控制器出现异常时,备控制器可以快速感知到对端的异常,将自己的角色切换为主角色,然后根据Openflow协议通知设备进行角色切换。设备将主控制器切换为新的控制器,后续报文上送到新的主控制器进行处理。当旧的主控制器恢复时,Region内的新主控制器会感知的旧主控制器的恢复,通知设备重新切换回旧的主控制器,以保证报文流量的负载分担。

3.4 集群的部署

为了支持容灾备份,DC控制器的集群推荐将控制器部署在不同的Fabric中,同时建议在集群系统之外额外预留一台服务器,作为支持灾备处理的冗余节点。在集群正常工作时,备用冗余节点不需要上电工作。当集群出现多台故障,导致集群无法工作时,冗余节点可以在用户加电启动后快速加入集群,做到快速的灾备恢复。

图7 多Fabric下的容灾机制

3.5 集群的故障恢复

3.5.1 部署建议

为使系统具备更佳的容灾能力,在多Fabric的场景下,在部署时请注意以下两点:

· 当License server与SNA Center部署在相同的物理机上时,建议两台License server分别安装在两个Fabric中。

· Region中的两台控制器,建议分别安装在两个Fabric中。

3.5.2 单节点故障

图8 DC单节点故障

如图8所示,在单节点故障情况下,整个集群系统不会受到影响,仍然可以正常工作。发生故障后,需尽快修复控制器3及其相连的网络,避免整个集群系统的处理性能受到影响。当控制器3修复完成后,可自动加入集群,同时集群会在控制器3上同步最新的业务数据,以保持整个服务集群业务数据的一致性。

3.5.3 Fabric间网络故障

图9 Fabric间网络故障

如图9所示,如果Fabric间的网络出现故障,在Fabric-1里面的控制器系统认为DC控制器3已下线,整个集群仍然可以正常工作,不会受到影响。DC控制器3会认为自己已离开集群,成为独立状态,允许用户登录查看,但不能再在DC控制器3对设备进行配置,否则就会出现配置冲突的情况。故障发生后,需尽快修复Fabric间的网络,使DC控制器3重新加入集群系统,以免对集群系统的处理能力造成影响。

3.5.4 两节点故障

图10 DC双节点故障

对于三台Leader节点的集群,当两个节点都出现故障时,意味着集群系统的多数节点出现异常,这时集群系统不能正常工作,需要用户尽快干预恢复。整个系统仅有DC控制器3能够登录,同时DC控制器3进入紧急模式,在紧急模式下,DC控制器提供只读功能,提供配置数据的查看功能和恢复功能。

图11 DC双节点故障后的恢复流程

在两节点异常的情况下,操作的恢复流程如上图所示:

(1) 当控制器1和控制器2同时出现异常时,控制器3感知到对端两台控制器异常,将自动进入紧急模式,只能进行配置查看,不能进行配置下发,以免造成配置混乱。

(2) 对Standby控制器进行加电启动操作,Standby控制器只需要预装H3C installer软件即可。Standby控制器将以控制器1的身份加入集群,因此要求Standby控制器的IP地址,主机名,网卡名称都和控制器1保持一致;

(3) 登录控制器3的H3C Installer页面,通过页面进行集群的恢复操作。在恢复操作过程中,需要保证控制器1、控制器2断电或者断开网络连接,避免异常的控制器进行集群连接处理或者网络震荡对恢复过程造成影响;

(4) 在系统恢复前,可以登录集群中唯一正常的控制器进行配置数据的查看。在登录前,首先需要明确控制器的IP地址,可以通过H3C Installer的页面查看控制器的IP地址。

图12 查看控制器的IP地址

登录H3C Installer界面,在[部署>应用>应用列表]页面可查看DC节点的信息,在DC节点的详细信息页面,可查看主机名和IP地址的对应关系。

图13 查看DC的IP地址

在[应用>详情]页面可查看主机名称对应DC的IP地址,在紧急模式下,用户需要通过该IP地址对DC进行访问。当DC 的IP地址为IPv4版本时,用户登录地址为http://IP address/vcf/ui;当IP地址为IPv6版本时,用户的登录地址则为http://[IP address]/vcf/ui。登录用户名为admin,密码为admin@h3c。

Standby控制器加入集群后,集群即可恢复到可用状态,能够进行正常的配置下发。

在集群正常后,用户可以对原有物理服务器进行修复和恢复。如果使用全新的物理服务器代替异常控制器2,那么需要登录H3C Installer页面进行修复操作。如果原有的控制器2的文件系统能够恢复,并可正常启动,则控制器可以在加电启动后自动加入集群。此时集群恢复到3台均可用的正常状态。

注意

· 由于在修复操作中,Standby控制器将以控制器1的身份加入集群,控制器1故障恢复后不能直接再次加入集群,推荐对恢复好的控制器1执行卸载Matrix并删除Matrix相关文件后,作为Fabric-1的Standby控制器,成为灾备处理的冗余节点。

· 如果两台控制器出现异常,唯一正常的控制器不能执行重启操作,否则Kubernetes集群不能正常工作,无法通过此方式恢复集群。针对这种情况,需要用户将三台物理服务器都修复正常后,再进行整个系统的恢复操作。

4 备份恢复

4.1 备份功能

SNA Center的统一备份恢复功能为各个业务组件提供了配置数据的备份、恢复功能,以方便在异常情况下,或者根据用户的要求回到系统某个配置数据的状态:

· 在备份页面下,进行某个业务组件的备份操作,触发备份恢复微服务调用组件的备份脚本,形成备份文件,存储在宿主机约定的目录下。

· 恢复页面下,进行某个业务组件的恢复操作,触发备份恢复微服务将备份文件放到约定的目录,然后调用组件的恢复脚本恢复组件。

4.2 组件备份恢复

备份恢复功能是针对业务组件备份恢复,支持的操作包括:

· 支持组件单独备份;

· 支持手动和定时两种备份方式;

· 支持按天、周、月为单位进行定时备份;

· 备份文件存储在宿主机上,支持备份文件的下载功能;

· 支持在远端FTP服务器上存放备份文件;

· 支持上传备份文件和选择历史备份文件两种方式进行恢复操作;

SNA Center组件作为基础运行组件,如果进行独立的恢复操作,可能会出现SNA Center的数据和组件 业务数据不一致的情况,因此SNA Center基础组件仅支持在整系统恢复过程中进行恢复,不支持独立的恢复操作。

图14 备份恢复参数

图15 根据产品组件进行备份和恢复

4.3 系统恢复

系统恢复是指某一个节点故障,或者整个Kubernetes集群迁移,需要在新的服务器上恢复原有业务的情况。系统恢复前,需要准备同一时间点下,H3C Installer平台、SNA Center、业务组件的备份文件,系统恢复流程如下:

(1) 安装H3C Installer平台。

(2) 登录H3C Installer平台页面,上传H3C Installer备份文件,恢复H3C Installer数据。

(3) 在H3C Installer恢复完成后,业务的服务实例就正常启动,接下来需要对业务应用的配置数据进行恢复。

(4) 登录SNA Center平台页面,上传SNA Cetner备份文件,恢复SNA Center数据。

(5) 在SNA Center平台的备份页面,上传业务组件的备份文件,恢复业务组件数据。

(6) 在SNA Center平台中,进入业务组件页面,查看业务的配置数据情况、等待业务恢复。

5 总结

DC控制器有着不同层面的高可靠性机制:

· 基于Kubernetes的主机集群,实现主机、管理网络层面的高可靠性。

· DC自身的服务集群机制,实现北向业务处理层面的高可靠性。

· Region机制实现对设备管理的高可靠性。

· 备份恢复功能支持用户数据的定时备份及手动备份,保证在各种异常情况下的配置数据的恢复。

· 基于Kubernetes的容器化机制保证外界对控制器的所有访问都受控,实现对系统的安全防护。

· 在多重高可靠性机制的前提下,用户可以根据组网规模和业务特点,合理的选择控制器集群的部署模式,可以最大程度地利用集群的高性能和高可靠优势。

联系我们