ZStack Mini超融合一体机(以下简称ZStack Mini)产品从发布到现在已经一年有余。2020年,在 ZStack Mini 3.0版本上增加了许多创新性的功能,实现了一个真正意义上的开箱即用、操作简单、永不宕机的边缘云平台。ZStack Mini一方面以数字化双胞胎的形式来远程监测双子星硬件的实时状态、一站式纯UI完成网络配置信息变更;另一方面,继承了ZStack双管理节点高可用,将一体机两节点的数据进行实时同步,保证每一份云主机、数据盘、镜像、备份数据等资源都能够在本地有冗余,当意外发生的时候,能够迅速切换至伙伴节点继续运行。
在新基建浪潮的推动下,传统IT全面上云势在必行,对于传统IT应用来讲, 业务不宕机一直是痛点,ZStack Mini应势而生,是业界首个采用了FT技术的ZStack Mini超融合一体机。
01为什么选择FT
FT功能在IaaS层的应用,最早是出现在VMware的虚拟化功能中,但是在云平台场景中还是首次实现。
在IT 发展过程中,需要认识到一点,任何一个系统中,错误是一定会存在并且无法避免,即使规避错误的手段不断升级,也不能做到百分之百防止所有问题的产生,从某种程度上来说,解决措施总是滞后于问题的出现,更何况一些特殊场景,例如:临时断电、硬件故障等。
在这个前提下,利用灾备来保护业务不中断的办法就出现了。ZStack Mini为云主机提供三种保护级别——None、HA、FT。None云主机以双副本和校验码来保障运行;HA(High Availability, 高可用)可以把云主机在故障发生时,快速跨节点自动恢复,恢复的时间为分钟级别。FT(Fault Tolerance,容错)可以在云主机发生故障时在另一节点上自动接管运行,整个过程对用户无感。三个级别的保护程度依次递增,对于承载了核心业务的云主机,以FT保护级别来运行是最佳选择。
02FT技术在ZStack Mini中应用原理
在ZStack Mini中,云主机以FT技术保护模式运行的时候,两个节点上各自会有一台相同配置的云主机以“主备”模式工作(云主机1号,云主机2号)。云主机2号的状态时刻与云主机1号保持一致,云主机1号通过内部网络把内存状态和数据实时同步给云主机2号。当意外发生的时候,云主机1号因意外断电或节点发生故障导致宕机,业务可平滑无缝地切换到时刻待命的云主机2号继续运行,这一切换过程对用户和上层应用无感知。当故障修复后,依旧可以在用户及上层应用无感知的情况下将内存状态和数据同步到云主机1号。通过FT技术,就可实现应用一直在线,让业务一直运行。
对于上层应用或者用户来讲,云主机1号与云主机2号之间的同步、故障切换等动作都无感,用户看到的总是云主机,访问的都是云主机以及对外提供的服务。
03基于FT技术的COLO解决方案
早期的容错技术有两种。一种叫做Lock-stepping,该技术通过保持每一个指令的同步来实现主备完全一致。可以想到这个方案会带来一个问题,备端每执行一个指令后,主端会在接收到备端执行完成的消息后再进行下一个指令,虽然主备的完全一致能够得到保证,但是牺牲了性能;同时,因为该方案无法支持SMP以及指令乱序执行,会导致性能进一步恶化。另一种方案叫做Continuous Checkpoint,即通过每隔一段时间进行一次同步来保持主备之间的一致性,所以比较明显可以看出在两次同步之间的时间里,是没有办法对外提供服务的,因此使用者在访问时,每一次操作结果都需要等待一段时间才能拿到,这样就会带来额外的网络延迟并且影响性能。
ZStack通过与英特尔在开源社区的合作,ZStack Mini采用的是全新的COLO(COarse-grained LOck-stepping Virtual Machines for Non-stop Service)技术来实现云平台层面的容错方案。COLO技术中,主备云主机两者并行地运行,不需要以周期性强制同步来确保指令层面的同步。当用户访问云主机的时候,主备云主机都会收到请求并进行处理,只要主备两边的处理结果是一致的,我们就认为主备云主机的状态达到同步。这种基于网络包来探测云主机内部状态一致性的方法来源于英特尔在ACM Symposium on Cloud Computing 2013上发表的一篇论文。【https://dl.acm.org/doi/10.1145/2523616.2523630】与前两种技术相比,COLO只有在检测到主备两边结果不一致的时候才做同步,从技术手段上就避免了上面提到的两种方案采取的定时同步而导致的资源浪费的情况,也因此不存在网络延迟的问题。
ZStack Mini作为一款以边缘计算为核心场景的平台,实际的部署和应用行业是十分多样化的。但对于某些直接服务民生的政企行业来讲,业务连续性、稳定性是首要考虑的范畴,有了ZStack Mini FT功能,解决了实际使用场景的难题,降低了政企行业转型的成本,加快了服务传统民生企业的数字化转型。