返回

拒绝宕机!Intel携手ZStack将F.T.技术推向生产应用

2020-06-08 09:21用户投稿

企业数字化、智能化转型还在继续,新基建浪潮已经来临。新基建不仅是国家长期的战略部署,更是拉动中国经济新的增长点。云计算作为新基建的基础,必将迎来前所未有的发展契机!

全面推行数字经济的过程中,老旧的IT应用不可能完全被取代,必然对底层的计算、存储、网络提出更高的要求,在特殊场景中,例如ETC,业务的连续性变成首要考虑的问题,然而现实情况是,如果没有在应用层进行相应改写,云平台层面是无法实现容灾的。

针对这一问题,ZStack联合Intel发布了业界首个采用了F.T.技术的ZStack Mini超融合一体机。在ZStack Mini里,要针对老应用做任何支持容灾的改造,就可以实现业务 0 中断。

以下是Intel亚太研发有限公司资深首席工程师、Xen/KVM社区F.T.技术的主要发起者Eddie董(董耀祖),详细阐述F.T.技术在实际场景中应用的原理和意义。

Intel ZStack

QUESTION 01

问:现有的虚拟化软件里,只有VMware提供了相对成熟的F.T.技术,您作为Xen/KVM社区F.T.技术的主要发起者,请给观众简单介绍一下这项技术的原理和意义吗?

答:首先,随着互联网技术的发展,信息系统在各行业的关键业务中扮演着越来越重要的角色,例如在通讯、金融、医疗、电子商务、物流、政府等领域。而信息系统业务中断,会导致巨大经济损失、影响企业品牌形象,并可能导致重要数据丢失。因此,保证业务系统连续性,就是信息系统建设的关键之一。解决这些问题,需要FT/HA技术。

传统的FT/HA技术经过多年的发展,已经被业界广泛认同, 主要分为 3 类:

1.  应用层实现的FT/HA功能。 需要用户程序在设计时就添加FT/HA相关功能逻辑与机制。这类方案的缺点是,需要每个APP都有一套FT/HA机制,软件开发成本比较高。

2.  基础软件层实现的FT/HA功能。比如MySQL数据库所实现的用户数据高可用功能。这种方案解决了用户APP开发的痛点,但是基础软件的种类和数量非常大,并不是所有基础软件都具备这个能力。这当中存储层面实现的FT/HA功能目前最为普及,各大云厂商甚至都有自己的解决方案。

3.  操作系统和虚拟机层面实现的FT/HA功能。COLO就属于这类的实现方案。COLO可以在主/备端之间完全同步用户虚拟机的运行时状态,并保证磁盘数据的一致性,并且在发生故障时可以进行自动切换 (Failover) ,对用户完全透明。

VMware vSphere Fault Tolerance最早提供商用虚拟机层面的高可用性支持,它通过指令级别的锁步(Lock-stepping)方法对用户虚拟机进行热备份,以防止主机发生故障时丢失数据、事务或连接。但是在某些情况下,这种锁步方案可能导致虚拟机状态同步的性能开销很大。

在另一个方面,云计算厂商广泛采用开源虚拟化方案如Xen和KVM,而开源虚拟化方案中的高可用性支持一直是一个痛点。因此,开源社区也进行了广泛的技术探索。最先在Xen上出现了以checkpoint为基础的技术方案,这种技术并不是基于指令层面的同步,而是在某些限定条件下通过周期性的同步来达到相同的效果。但是checkpoint带来的虚拟机同步开销和额外延迟,仍然是一个严重问题。

在这种情况下Intel从 2012 年开始提出了全新的基于开源虚拟化方案的FT/HA方案COLO (COarse-grained LOck-stepping Virtual Machines for Non-stop Service)。在COLO环境下,如果运行主虚拟机的主机发生故障,则会发生即时且对软件透明的故障切换(Failover)。正常运行的备份虚拟机将无缝切换成主虚拟机,而不会出现可感知的断网或服务中断现象。采用透明故障切换,不会有数据丢失,并且可以维护用户的网络连接。在进行透明故障切换之后,COLO将重新生成新的备份虚拟机,并重新建立系统备机冗余。 

COLO基于虚拟机的热迁移功能实现, 在整个过程中,主虚拟机内运行的服务,可以像普通热迁移一样持续保持运行,外部用户对整个过程几乎没有感知。所以,能够保证关键服务在极端情况下的高可用性,如电力意外中断,网络意外中断等,这对用户来说是至关重要的。

QUESTION 02

问:为什么F.T.这项技术在虚拟化中落地这么难?

答:因为FT/HA技术在虚拟化中涉及的技术点非常多, 需要保证主虚拟机和备份虚拟机的全部运行状态和磁盘状态的完全一致,或者从外部观察者角度看起来上完全一致;以及如何在出现意外错误的时候,可以在用户无感知的情况下切换运行中的服务。这里面具体会涉及到虚拟机热迁移、磁盘远程增量复制、虚拟机网络包复制和路由等一系列较为复杂的技术问题。

QUESTION 03

问:过去一年里,ZStack产品团队跟Intel团队在将F.T.技术运用到私有云的过程中进行了紧密配合,你们具体分工是如何?

答:在过去的一年中,Intel COLO团队和开源社区以及ZStack产品团队,都致力于将COLO 产品化,将这个FT/HA技术真正落地,让终端用户真正可以方便的使用COLO。COLO是Intel众多的开源项目之一, 在KVM/Xen上是目前最为成熟的FT/HA方案。而ZStack具有丰富的面对客户需求的实践经验,双方合作的基础非常雄厚。

在这个过程中,Intel主要负责upstream为基础的社区开发和支持,而ZStack利用upstream的工作成果并结合自己的业务需求,再开发形成downstream产品,将COLO集成在ZStack产品中,从而便于技术真正落地。我们秉承开源合作精神,通过开源社区和开源协作模式,一直保持着非常紧密的合作关系。

比如,根据ZStack的需求和提议,我们开发了全新的COLO内置的心跳模块(Heart Beat)来自动监控和处理系统的状态,使其可以与云厂商的控制面软件保持实时连接,部署更加方便快捷。又比如,我们在和ZStack技术团队深入交流后发现,客户需要能够持续建立备机的能力,才可以真正保证用户服务”永不宕机”。

QUESTION 04

问:ZStack首先将F.T.技术运用到私有云产品中,在国内还是首次,您对这项技术在生产实践中的期望。

答:ZStack作为国内一个领先的私有云厂商,我们对ZStack公司的技术和产品非常看好。我们也相信,集成了COLO功能的ZStack产品,一定能在国内私有云市场上获得更大的成功,同时也能帮助中国的企业获得更可靠、高效的普遍FT/HA技术, 杜绝再发生服务宕机的事故。

QUESTION 05

问:未来Intel在F.T.方面继续投入的方向及预期?

答:COLO FT/HA 既是Intel和ZStack的合作落地项目,更是一个开源项目, Intel会基于开源社区的反馈不断进行升级和改造,基于开源社区不断投入资源去优化和改进COLO的各项功能, 另外我们也期望ZStack能够带来更多的市场和客户对COLO的精准需求。共同打造成功一个由中国人发起和领导的主流云技术与云产品!

相关文章 大家在看
Intel
2584篇文章
查看