论文部分内容阅读
虚拟化数据中心是云计算的基础性平台,是推动云计算发展的关键因素之一。虚拟化数据中心大多由普通服务器构成,发生故障的可能性非常高。AFCOM的一份调查报告显示,有81%的公司都遇到过数据中心发生服务器故障的事件,20%的公司曾发生过五次以上服务器故障。在云计算模式下,虚拟化数据中心一旦发生故障,普通用户将立刻体验到服务质量下降或服务中断,其后果将导致用户流失、甚至公司破产等不可估量的损失。虚拟化数据中心的可用性问题是阻碍关键性应用使用云计算资源的主要原因之一。
平均在线时间和平均恢复时间是高可用性系统的两个关键参数。本文分别从增加系统的平均在线时间和减少系统的平均恢复时间两个角度为虚拟化数据中心设计了一套高可用性解决方案。根据关键性应用程序对可用性需求的差异,本文的研究分为两个层次:第一个层次是增加系统的平均在线时间,我们利用虚拟机快速同步技术实现了一个零宕机的高可用性服务Taiji;第二个层次是减小系统的平均恢复时间,我们利用虚拟机资源按需分配技术实现了一个针对Internet Service的快速启动服务 Twinkle。Taiji和Twinkle都在虚拟机管理器层实现,对上层操作系统和应用程序透明,可以满足云计算数据中心为各类关键性应用提供高可用性服务的需求。
具体而言,本文主要有如下研究成果:
(一)我们根据虚拟化数据中心的典型架构,设计并实现了一个零宕机的高可用性服务Taiji。Taiji是一个基于检查点/恢复(Checkpoint/Recovery)机制的容错系统,我们利用虚拟机快速同步技术在两台服务器之间实时同步虚拟机状态。raiji支持共享存储模型,如果主虚拟机出现故障,存储系统能快速恢复到一致的状态;Taiji支持典型的输出提交问题,客户端始终看到一致的网络输出。利用Taiji系统,我们已经为流媒体服务器、在线聊天服务器和高性能计算服务器等关键性应用提供了零宕机的高可用性服务。
(二)在Taiji系统的研究中,我们发现现有的虚拟机状态记录和复制技术对应用程序的性能造成了很大影响。我们通过分析各种基准测试程序在Taiji系统中的执行行为,提出了高效的虚拟机状态记录技术,包括Read FaultReduction和Write Fault Prediction,这两个技术把虚拟机状态记录机制的性能分别提高了31%和21%。另外,我们提出了软件大页技术,有效降低了虚拟机之间映射大量内存页面的开销,加快了虚拟机状态复制过程。
(三)针对Internet Service这类关键性应用的高可用性需求,我们提出了虚拟机快速启动服务Twinkle。Twinkle通过虚拟机资源按需分配等技术把虚拟机服务的启动时间从数分钟降到5秒以下。Twinkle快速启动服务可以在应用程序出现Flash Crowds或系统故障时快速启动新的虚拟机服务,保持Internet Service的服务质量和用户体验,增强了云计算资源自动缩放(Auto Scaling)的执行效果。