拒绝宕机!Intel携手ZStack将F.T.技术推向生产应用
企业数字化、智能化转型还在继续,新基建浪潮已经来临。新基建不仅是国家长期的战略部署,更是拉动中国经济新的增长点。云计算作为新基建的基础,必将迎来前所未有的发展契机!
全面推行数字经济的过程中,老旧的IT应用不可能完全被取代,必然对底层的计算、存储、网络提出更高的要求,在特殊场景中,例如ETC,业务的连续性变成首要考虑的问题,然而现实情况是,如果没有在应用层进行相应改写,云平台层面是无法实现容灾的。
针对这一问题,ZStack联合Intel发布了业界首个采用了F.T.技术的ZStack Mini超融合一体机。在ZStack Mini里,不需要针对老应用做任何支持容灾的改造,就可以实现业务0中断。
以下是Intel亚太研发有限公司资深首席工程师、Xen/KVM社区F.T.技术的主要发起者Eddie董(董耀祖),详细阐述F.T.技术在实际场景中应用的原理和意义。
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.这项技术在虚拟化中落地这么难?