【技术实现步骤摘要】
一种虚拟机故障快速恢复方法及系统
本专利技术涉及一种虚拟机故障快速恢复方法及系统,属于虚拟机故障处理
技术介绍
目前,提高虚拟机可靠性的主要方法是检查点技术,检查点技术是保存进程或系统运行过程中瞬时状态信息的一个镜像文件,根据某种需求可以通过它把系统回滚到之前运行的某个状态。虚拟机内存检查点技术主要有四个重要性能量化指标,分别是检查点大小、停机时间、保存总时间和恢复时间。内存排除是减小检查点大小的一个重要手段,进程中不需要保存的内存部分包括只读的和已消亡的。增量机制是一项广为人知的检查点优化技术,它只保存最近一次检查点文件中那些修改过的部分,当需要从检查点文件恢复进程的执行时,未修改的数据可以从上一次检查点文件中读取,因此增量技术可以减少保存的检查点数据主要取决于应用程序的内存访问特性。气球机制是另一种内存排除技术,通过改变物理内存和虚拟机内存之间的映射关系来动态调整虚拟机的内存大小。为了减小保存虚拟机检查点的停机时间,Factor等提出利用虚拟机在线迁移技术来实现在线的虚拟机检查点机制。当保存某个虚拟机的检查点的时候,该虚拟机在本机进行在线迁移,然而迁移传输的数据在传递到虚拟机管理器的同时都被截获并写入磁盘。该机制利用了Xen的现有特性并简化了虚拟机检查点的实现,但是这种方法实现的检查点并不适用于时间敏感性的应用场合,比如系统的Debug或要求精确输出的高可靠系统的状态保护,因为迁移是一个需要耗费较长时间的过程,基于预拷贝算法的迁移同步机制使得最终保存下来的检查点状态总是超前于应该捕获的时间点(即检查点触发的时刻)。但是该方法存在一个重大缺陷, ...
【技术保护点】
1.一种虚拟机故障快速恢复方法,包括以下步骤,S100、备份虚拟机地址映射表,设置虚拟机对应的宿主机物理页为只读,同时保存此时刻的虚拟CPU状态和虚拟外设状态;S200、利用写时复制技术,执行虚拟机对应宿主机物理页的写操作;S300、判断虚拟机是否故障崩溃;若是,则执行S400,若否,则执行S500;S400、恢复备份的虚拟机地址映射表,然后执行S700;S500、判断上一轮备份的时间或写操作占用的物理页是否超过预设的阈值条件;若是,则执行S600,若否,则执行S700;S600、更新备份的虚拟机地址映射表;S700、开始下一轮备份操作,返回S100。
【技术特征摘要】
1.一种虚拟机故障快速恢复方法,包括以下步骤,S100、备份虚拟机地址映射表,设置虚拟机对应的宿主机物理页为只读,同时保存此时刻的虚拟CPU状态和虚拟外设状态;S200、利用写时复制技术,执行虚拟机对应宿主机物理页的写操作;S300、判断虚拟机是否故障崩溃;若是,则执行S400,若否,则执行S500;S400、恢复备份的虚拟机地址映射表,然后执行S700;S500、判断上一轮备份的时间或写操作占用的物理页是否超过预设的阈值条件;若是,则执行S600,若否,则执行S700;S600、更新备份的虚拟机地址映射表;S700、开始下一轮备份操作,返回S100。2.根据权利要求1所述的方法,其中,优选的,所述步骤S100中,备份虚拟机地址映射表包括:对客户机原有的影子页表进行备份,得到新备份的影子页表;对客户机原有的地址转换表进行备份,得到新备份的地址转换表。3.根据权利要求2所述的方法,其中,所述步骤S200中,利用写时复制技术,执行虚拟机对应宿主机物理页的写操作,包括:S201、设置原有的影子页表的页表项读写位为只读,执行虚拟机对应宿主机物理页的写操作;S202、判断写操作过程中是否存在缺页异常;若是,则执行S203;若否,则执行S300;S203、捕获缺页异常,判断该缺页异常是否为设置宿主机物理页为只读而导致的异常;若是,则执行S204;若否,则执行S300;S204、为虚拟机执行写操作重新分配宿主机物理页,并将引起缺页故障的写操作目标页复制到重新分配的宿主机物理页,更新原有的影子页表,执行虚拟机对应重新分配的宿主机物理页的写操作,然后执行S300。4.根据权利要求3所述的方法,其中,所述步骤S400中,恢复备份的虚拟机地址映射表,包括:S401、以新备份的影子页表覆盖原有的影子页表;S402、释放重新分配的宿主机物理页;S403、以新备份的地址转换表覆盖原有的地址转换表;S404、加载保存的虚拟CPU状态和虚拟外设状态,恢复到虚拟机备份操作之前的状态。5.根据权利要求4所述的方法,其中,所述步骤S600中,更新备份的虚拟机地址映射表,包括:S601、修正原有的影子页表的页表项为可读写,释放新备份的影子页表占用的宿主机物理页,以修正后的原有的影子页表更新新备份的影子页表;S602、以原有的地址转换...
【专利技术属性】
技术研发人员:王强,董小社,折波,杨帆,崔靖茹,张哲,安宁刚,成永刚,董凡,覃遵颖,朱晓芒,
申请(专利权)人:西安交通大学,赛尔网络有限公司,
类型:发明
国别省市:陕西,61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。