● 摘要
随着大规模分布式系统、系统虚拟化以及海量数据处理等相关技术的快速发展,云计算已经成为计算模式的主要形态和发展趋势。云计算平台通过分布式管理大量的异构设备来满足海量用户的并发访问,同时提供7×24的持续服务,其可伸缩、安全可信的特性吸引着越来越多的应用程序移植到云平台上执行。然而,由于云平台中设备异构性、低可靠性,软件系统及服务多样性,以及外部环境动态性等因素,云计算平台失效频繁发生。云计算平台失效将导致其上所有业务停止服务,或影响数以亿计的用户,并造成严重的商业经济损失。因此,高可用性成为云计算的关键需求之一。由于系统失效的必然性,如何在失效后快速恢复业务执行,已经成为云计算可用性研究的重要问题和关键挑战。
在以系统虚拟化为支撑技术的云计算环境中,基于虚拟机备份的失效恢复技术成为提升系统可用性的主流解决方案。通过虚拟机备份,虚拟机中业务的运行时状态可以被序列化,然后存放至物理机或存储设备,以在系统失效后从中加载数据并恢复业务执行。虚拟机迁移技术、快照回滚技术及热备份技术作为失效恢复技术的典型方法,被许多商业云平台和开源系统所采用。尽管这三类技术在一定程度上保障了虚拟机系统及其业务的持续可用,但在虚拟化技术快速发展和大数据处理需求的急剧扩增背景下,当前对失效恢复技术方面的研究工作仍存在一定局限性,主要体现在以下四个方面。首先,以大数据处理为代表的应用程序占用平台中大量的存储资源和网络资源,而备份技术因虚拟机体量大往往引入较高的资源开销。二者对资源的竞争将造成恢复时间长,且导致上层业务性能下降。其次,快照技术本身引入停机时间开销。同时,快照为了避免计算量的丢失需周期性执行,这使得快照在频繁执行时引入较长的停机时间,最终损失系统可用性。第三,快照回滚技术将快照文件存入存储节点中,而存储节点的失效将导致文件损坏及数据丢失,使得恢复技术本身失效。同时,其所创建的大量备份文件,带来较大的存储开销。最后,在提供更高效计算能力的虚拟集群应用场景中,单机系统失效往往导致协同处理任务的多台虚拟机同时需要恢复,使得迁移和快照回滚技术在资源成本和时间成本上的开销倍增。这些问题表明,如何在有限的物理资源空间中缩减系统恢复时间,同时保持对上层业务执行的性能透明,并保证恢复技术本身的可用性,是虚拟计算环境中失效恢复技术的重要挑战。
针对上述问题,本文面向云计算平台对高可用的需求,以提升系统快速恢复能力为目标,针对物理计算节点失效、软件系统失效及存储节点失效,从虚拟机备份的生命周期管理角度出发,在快速迁移技术、低成本的快照技术、低延迟的回滚技术、以及备份文件可靠性存储技术方面开展研究工作,形成一套实际、有效的解决方案。本文的主要贡献如下:
1、针对物理计算节点失效,提出了面向多宿主机的多虚拟机迁移技术。设计了基于相同页面去重的页传输机制,避免目的端为单台物理机时的页冗余传输。同时,针对迁移目的端为多台宿主机的场景,提出了基于页组播的多虚拟机迁移技术,避免页面重复传输。然后分析了大量组播组切换时引入的网络开销问题,以最小化网络开销为目标,提出了基于汉密尔顿最短路径的组播组序列求解方法。在满足上层业务负载均衡的前提下,分析了不同的虚拟机放置策略对迁移过程中网络资源开销的影响,并以最小化网络带宽占用为目标,提出了基于贪心算法的虚拟机放置策略。最后,实现了面向多宿主机的多虚拟机迁移原型系统VMScatter,并通过实验验证了其有效性。
2、针对软件系统失效,提出了低资源成本、低时间成本的虚拟集群分布式快照技术。设计了基于写时复制的内存状态快照机制和基于写时重定向的磁盘状态快照机制,并结合这两项机制提出了基于后拷贝的单机快照技术。该快照技术通过推迟保存虚拟机运行时状态,在用于执行虚拟集群快照时,可以最小化因单机快照持续时间差异引入的网络中断时间,使得虚拟集群快照后业务可以迅速恢复正常执行。同时,利用染色算法,设计了一致性快照协议来保障集群快照状态的全局一致性。最后,实现了虚拟集群分布式快照原型系统HotSnap,并通过实验验证了其有效性。
3、针对软件系统失效,提出了低延迟的虚拟集群回滚技术。提出了弹性工作集的思想,并基于弹性工作集预取设计了虚拟机回滚机制,减小回滚延迟的同时避免了恢复后程序的性能损失。通过分析虚拟机之间的网络通信次序,构建回滚依赖图,并基于依赖图计算以最小化网络中断时间为目标的虚拟机因果次序。然后基于该次序,提出了虚拟机工作集大小修订算法,满足虚拟机实际回滚次序与因果次序的一致性。同时,提出了虚拟集群回滚协议,以协调真实场景下虚拟机回滚次序。最后,实现了虚拟集群回滚原型系统HotRestore,并通过实验验证了其有效性。
4、针对存储节点失效,提出了针对快照文件的高可用存储技术,在不损失数据可用性的前提下减少存储空间开销。通过分析操作系统对内存页面的使用语义,提出了基于系统执行重要性的页分类机制;然后设计了页类型感知的副本策略,通过对关键页面冗余备份、对非关键型页面保留一份,满足了有限存储开销下文件的高可用需求。针对磁盘失效导致数据丢失问题,提出了页面缺失处理机制,保证虚拟机恢复后执行的正确性。同时,提出了基于非关键页面缺省的加载机制,减小了虚拟机的恢复时间。最后,实现了快照文件存储系统PARS,并通过实验验证了其有效性。