摘要:高可靠性是电信产品非常重要的属性。许多架构被引入以保证产品的高可靠性,其中之一就是2N主备冗余模型。2N模型在传统电信产品架构上工作良好,但是在迁移到云平台时暴露了大量的问题,因此需要对其进行演进以适应云计算的发展。
关键词:高可靠性;冗余模型
1. 引言
随着云计算的蓬勃发展,电信产品也在积极向云平台迁移。因为电信产品要求的可靠性极高(通常是99.9999%),在迁移过程中需要仔细设计以达到在满足高可靠性的要求下的平滑演进。本文将介绍一种从ATCA平台向电信云平台平滑演进时对2N模型演化的一种实践性的方法。
2. ATCA平台的高可靠性模型
在ATCA平台中,为了达到所要求的可靠性,主备冗余模型2N被大量使用在关键节点上。
这个模型即使用2份相同的硬件,各自运行相同或者有轻微差别的软件,并且使用输入消息同步或者消息检查点的方式来同步运行时数据。在同一时间只有主节点向外服务,另外一个节点处于备份状态。当主节点失效时(如硬件损坏)备节点能够迅速切换成主节点继续服务以减少整个系统的故障时间。
2N模型为ATCA平台同时提供了硬件和软件的高可靠性。
3. 转向云平台所面临的挑战
在向云平台迁移的时候,ATCA硬件被抛弃,整个网元上的应用软件被打包迁移到云平台的虚拟机中。但是在迁移到云平台之后,传统2N冗余模型的问题开始逐步显露:
a. 在ATCA平台中,硬件是确定的,硬件和软件模型必须1-1对应,2N模型方能正常工作。但是在云平台上硬件是不确定的,可能主节点VM和备份节点VM运行在一个HOST上,在这种情况下当HOST损坏的时候将导致所有的运行时数据比如呼叫连接丢失。在这种情况下,2N模型失去了原有的硬件冗余功能,仅存在了软件冗余功能,即当主节点软件发生错误的时候,迅速切换到备节点软件。
b. 2N模型导致将近一半的容量损失,备节点不向外提供服务。大量资源被浪费。
4. 对2N模型的演进
为了对2N模型的这些缺陷进行改进,在这里引入了一个中间模型 N+1。
N+1冗余模型:即在同一时间有N个运行节点(N)并且有1个备份节点。
N+1模型有N个运行节点,如2N模型要达到 3倍服务容量 需要6倍的硬件容量(1+1)*3。
期刊文章分类查询,尽在期刊图书馆而N+1模型要达到3倍服务容量只需要4倍的硬件容量即3+1。所需要的硬件数量降低了33.3%,随着服务容量的增加,备份硬件的所占用的额外硬件占用总硬件数量的比率会越来越低。
引入此模型的主要目的是为了快速实现和平滑演进。在云平台中,N+1与2N平台可以使用相同的切换机制和切换策略(即当 N中的某一个节点失效时迅速迁移到备节点)。需要修改的仅为这个备份节点即1需要同时备份所有的运行节点即N的运行时用户数据。
在传统2N模型和实现里面,运行数据(runtime data)被各个节点单独保存。主节点和备份节点之间通过输入同步或者检查点方式保证主备节点的数据和运行的一致性。主节点和备节点之间的运行数据同步问题通常是2N模型实现的难点。
在云平台中,一种新的运行数据保存模式被引入,所有的运行节点的运行数据都被保存在中央运行数据库例如redis-db中。备节点并不保存任何数据,也不需要同步数据。备节点所做的改变仅仅为当接到切换指令的时候(即主节点失效的时候)从数据库把失效的主节点运行数据读取回来,从而达到切换的目的。
因此在这种环境下,对软件的修改很少,从而可以快速从2N节点模型切换到N+1模型并保持与2N节点相同的可靠性,但是又克服了2N模型的缺点。大大的降低了备份节点数量,提高了硬件使用率。
5. 对N+1模型的继续演进
显然,N+1 模型也有一定的缺点:备节点的存在导致硬件浪费,此外当主备节点运行在同一个HOST之上,HOST损坏会导致切换不会发生。最终方案就是把备节点移除,从而达到N+。
N+冗余模型:即所有的节点都是运行态并向外提供服务,无备份节点。当一个节点因为某种原因导致失败时,其他的节点可以立刻接过该节点的任务继续运行。
显然N+模型更加适合云计算,从N+1演进到N+需要对原有的软件进行一定的改进:
a.每个节点都能够在逻辑上处理所有的处理请求。所有节点都运行在同一个状态。
b.在N+1的模型的基础上移除掉所有的切换逻辑和备节点有关的软件逻辑。
c.需引入一个额外的负载均衡的节点以将服务请求均匀的分配到各个工作节点。
6. 结论
本文分析了2N模型在云平台中的缺点和不足,并提出了一种比较好冗余模型的演进的解决方案,具有一定的实践意义。
参考文献:
[1]Gergely Csatari. Cloud native architecture. June 2017.
[2]童俊杰,苗 杰,赫 罡. NFV基础设施建设策略的研究. 邮电设计技术(2016.11)
论文作者:张伟
论文发表刊物:《基层建设》2019年第12期
论文发表时间:2019/7/17
标签:节点论文; 模型论文; 冗余论文; 硬件论文; 平台论文; 备份论文; 数据论文; 《基层建设》2019年第12期论文;