虚拟集群下虚拟机级容错机制研究概要课题背景当前研究现状设计方案技术难点及创新预期目标进度安排课题背景虚拟集群中的节点数目增加当出现故障时,系统必须有某种机制保证在错误发生时程序运行的连续性。否则,虚拟集群将会由于它的低可用性而没有实用价值。因此提高虚拟集群的可用性成为虚拟化研究过程中一个要解决的问题。整个集群的失效的概率也就增加当前研究现状科研领域Remus:HighAvailabilityviaAsynchronousVirtualMachineReplication(NSDI2008Bestpaperaward)优点:针对单个虚拟机提供异步方式的快速检查点容错机制不足:没有考虑多台虚拟机产生交互后的容错问题ProactiveFaultToleranceforHPCwithXenVirtualization(ICS2007)优点:预检测硬件不稳定状况,使用热迁移技术将可能出错的物理节点上的虚拟机提前迁移到稳定健康的物理节点上,减小了容错过程中的存储网络开销。不足:只针对由硬件环境不稳定造成的一类错误,对于更为普遍的fail-stop以及软件错误都无能为力。当前研究现状其他文章Mercury:CombiningPerformancewithDependabilityUsingSelf-virtualization(ICPP2007)由于容错也并不总是需要虚拟机处于开启状态,该项目实现能在本地操作系统与虚拟机上的操作系统之间的模式切换。Peterchen领导的小组在多处理器方向做的关于faulttolerance的工作:Executionreplayonmultiprocessorvirtualmachines,(VEE2008)coordinatedcheckpoint方面的文章:Group-basedCoordinatedCheckpointingforMPI:ACaseStudyonInfiniBand(ICPP07)Blockingvs.non-blockingcoordinatedcheckpointingforlarge-scalefaulttolerantMPI.InACM/IEEESuperComputing(SC),2006.综述:Asurveyofrollback-recoveryprotocolsinmessage-passingsystems(ACMComputingSurveys(CSUR),2002)当前研究现状商业领域VMware与Citrix都将为它们的虚拟化平台提供故障容错(fault-tolerant)功能,即使在硬件出现故障的情况下,虚拟机也能一直正常运行。Vmware作为VirtualDatacenterOperatingSystem(VDC-OS)的一部分,VMware计划交付VMwareFaultTolerance,如果物理机出现故障,反射的虚拟机能持续正常的运作。这将与VHA形成对比,VMwareHighAvailability在硬件出现故障时将重新启动虚拟机。Raghuram说VMwareFaultTolerance目前处于秘密beta测试版本。XenXen到目前为止还没有提供真正的主机故障恢复(fail-over)功能。在最近的XenSummit2008中,提出kemari项目,未来将会集成到Xen中。研究现状(思考)●综合上述分析,现有的成果都是针对单个虚拟机的容错方案,尚未有针对虚拟集群环境下实现容错方面的工作。虚拟集群需要一套容错机制来保证其可用性。研究现状(分析)现有虚拟机容错方案是否可以直接用在虚拟集群环境中?单个虚拟机容错方案:做checkpoint时没有考虑消息通信各个虚拟机独立设置自己的检查点如果采用配合跟踪记录消息依赖关系,每个虚拟机要保存多个检查点,保存的状态不具有全局一致性。实际上无法恢复到出错前的正确状态。研究现状(分析)●传统物理集群环境容错多采用进程级checkpoint带来依赖性问题要根据具体应用进行修改和调整不具有通用性如果在物理集群中做系统级checkpoint需要对操作系统内核进行修改这种情况下变化因素增多容易引入新的错误,增加出错概率同时还面临checkpoint开销太大有待改进的问题研究现状(结论)●在此分析基础上,提出针对虚拟集群环境的虚拟机级容错机制。●引入虚拟化后的优势:●做虚拟机级别的checkpoint,不需要考虑虚拟机内部应用之间复杂的依赖关系。●实现对应用和进程的透明。●采用增量式checkpoint,checkpoint开销显著减小。ProxyServerVMWebServerVMWebServerVMDatabaseServerVMDatabaseServerVMVMMVMMVMMPhysicalMachinePhysicalMachinePhysicalMachine副本副本副本副本副本BackupServerVM副本FailureDetection场景VirtualCluster为提供虚拟集群容错机制,将采用:Fail-stop故障检测虚拟机级别检查点(vs.进程级检查点)协同检查点策略(vs.独立检查点)增量式检查点副本卷回恢复关键技术version2version1Checkpointschedulercheckpointcommandrank0rank1rank2rank3协同检查点storage核心策略虚拟集群中各虚拟机在协调过程中同步以达到建立一致性全局检查点是难点。failuredetectionversion1checkpointcommandrank0rank1rank2rank3错误恢复storageCheckpointscheduler核心策略Domain0CenterDomain0UserlevelDaemonKernel协同模块DomUAppGuestOSXenHypervisorDomUAppGuestOSXenHypervisorCheckpointScheduler检错模块备份模块DomUAppGuestOSXenHypervisorRecoverySchedulerUserlevelDaemonKernel协同模块检错模块备份模块Dom0BackupVM系统架构VirtualClusterBackupserver技术创新及难点针对虚拟集群高可靠性设计并提出一个虚拟机级、透明协同检查点容错机制。设计虚拟集群环境下各虚拟机同步协议,这是第一个难点。虚拟集群环境下存在多个虚拟机的消息通讯,通过协同检查点维护系统一致性状态,这是第二个难点。由于要对GuestOS做checkpoint,引至GuestOS的网络消息都要经过Domain0再分发,实现网络通信的阻塞和解除阻塞需要对Domain0的内核模块进行添加和修改,这是第三个难点。预期目标①针对虚拟集群高可靠性实现一个虚拟机级、透明协同检查点容错系统。②能够完成错误检测发现、协同检查点全局状态一致性保存以及错误恢复。③在虚拟集群上运行MPI程序来验证整套容错机制的正确性。工作进展计划2008.12-2009.3相关资料调研2009.4-2009.7系统策略的设计与实现2009.9-2010.2总体功能实现2010.3-2010.4系统调试和整合2010.5-2010.6书写论文请各位老师指导,提出宝贵意见!Thankyou!