论文部分内容阅读
随着云计算的发展,虚拟集群技术应运而生,将分布式应用部署到虚拟集群已成为一种趋势。但是,虚拟化层的引入造成故障层次增多,系统整体故障率也随之增高,而且物理层故障造成的损失也更大。这无疑阻碍了分布式应用向云环境迁移的步伐。现有的解决方案一般基于传统的节点冗余和进程迁移技术,不适应弹性的云服务模式且资源利用率低,或者基于虚拟机级别的容错技术,不具有高效性。 云环境下分布式应用多级故障容错系统(CDMCR),为虚拟集群中的分布式应用提供了透明、高效的分层容错机制。CDMCR采用基于虚拟磁盘快照的检查点协议,将程序的执行状态和文件系统的当前状态周期性地备份到分布式备份存储库中。备份文件只保留与应用程序相关的状态而忽略虚拟机的运行状态,从而最大限度减小备份开销。磁盘快照保存了备份时刻的文件系统状态,能够解决应用程序恢复时的环境依赖问题。分布式备份存储库通过各物理节点的空闲存储构建而成,在提高存储资源利用率的同时能够缓解集中式存储带来的I/O瓶颈问题。CDMCR实现了多级别的故障检测机制,能全面应对应用程序故障、虚拟机故障、虚拟机管理器故障和物理机故障。检测到故障时,CDMCR利用分层的故障恢复机制对故障组件进行逐级恢复:采用进程检查点直接恢复应用层故障,采用虚拟机克隆技术对故障虚拟机进行快速恢复,在物理层故障情况下采用调度算法根据物理节点的历史故障率和资源负载情况选举最优迁移目标节点。CDMCR能够集成到StrongCloud容灾云平台中,为用户提供高可靠的分布式应用容错PaaS服务,做到可靠性和易用性的统一。 功能测试表明,CDMCR系统能够为用户提供弹性的虚拟容错集群服务,能够自动对应用进行备份,在模拟故障发生时,系统能够准确检测故障并自动对虚拟集群和分布式应用进行恢复。性能测试表明,系统的单次备份开销小于10s,总的备份时间开销占应用程序正常运行时间的比例不超过20%,且在虚拟集群节点规模呈指数增长的情况下该比例保持稳定。