公开/公告号CN101770410A
专利类型发明专利
公开/公告日2010-07-07
原文格式PDF
申请/专利权人 联想(北京)有限公司;
申请/专利号CN200910076111.X
申请日2009-01-07
分类号G06F11/14(20060101);G06F9/455(20060101);
代理机构11243 北京银龙知识产权代理有限公司;
代理人许静
地址 100085 北京市海淀区上地信息产业基地创业路6号
入库时间 2023-12-18 00:05:42
法律状态公告日
法律状态信息
法律状态
2016-08-17
授权
授权
2010-12-22
实质审查的生效 IPC(主分类):G06F11/14 申请日:20090107
实质审查的生效
2010-07-07
公开
公开
技术领域
本发明涉及虚拟机技术领域,具体涉及一种基于客户操作系统的系统还原方法、虚拟机管理器及系统。
背景技术
在一些意外情况下,计算机的操作系统会因为用户安装了某些软件或者做了某些操作后而进入到一种非期望的状态,此时,经常需要利用之前的系统备份对操作系统进行还原,即还原到以前某个时间点所做的备份状态。
现有技术中的系统还原技术,需要利用先前的备份文件对硬盘上的操作系统进行恢复,恢复完成之后,还需要重新启动计算机,所以系统还原时间较为漫长,效率低下。
发明内容
本发明实施例所要解决的技术问题是提供一种基于客户操作系统的系统还原方法、虚拟机管理器及系统,用于快速地还原操作系统。
为解决上述技术问题,本发明实施例提供方案如下:
一种还原客户操作系统的方法,运行在虚拟机管理器之上的所述客户操作系统包括有一第一硬盘,所述第一硬盘是所述虚拟机管理器通过一增量文件系统的增量文件映射得到的,所述增量文件系统设置在物理硬盘中,所述方法包括:
接收针对所述客户操作系统的还原指令,并在接收到所述还原指令后暂停运行所述客户操作系统,其中,所述还原指令包括一预先设置的还原点;
确定所述还原点对应的第一内存快照和第一增量文件,其中,所述第一内存快照是在设置所述还原点时创建的所述客户操作系统的内存快照,所述第一增量文件是在设置所述还原点时映射为所述第一硬盘的增量文件;
将所述第一增量文件重新映射为所述第一硬盘,以及根据所述第一内存快照执行快照恢复。
优选地,上述方法中,还包括:
在所述快照恢复完成之后,继续运行所述客户操作系统。
优选地,上述方法中,所述内存快照用于记录所述客户操作系统的硬件状态以及内存状态,所述执行快照恢复包括:根据所述第一内存快照恢复所述客户操作系统的硬件状态和内存状态。
优选地,上述方法中,在快照恢复完成之后,进一步建立基于所述第一增量文件的第二增量文件,并将所述第二增量文件映射为所述第一硬盘。
优选地,上述方法中,所述增量文件系统为qcow文件系统或ZFS文件系统。
本发明实施例还提供了一种虚拟机管理器,包括:
映射模块,用于将一增量文件系统的增量文件映射为运行在所述虚拟机管理器之上的客户操作系统的第一硬盘,其中所述增量文件系统设置在物理硬盘中;
接收模块,用于接收针对所述客户操作系统的还原指令,所述还原指令包括一预先设置的还原点;
还原关系对应模块,用于确定所述还原点对应的第一内存快照和第一增量文件,其中,所述第一内存快照是在设置所述还原点时创建的所述客户操作系统的内存快照,所述第一增量文件是在设置所述还原点时映射为所述第一硬盘的增量文件;
控制模块,用于在所述接收模块接收到所述还原指令后,暂停运行所述客户操作系统;
还原点恢复模块,用于在所述控制模块暂停运行所述客户操作系统之后,将所述第一增量文件重新映射为所述第一硬盘,以及根据所述第一内存快照执行快照恢复。
优选地,上述虚拟机管理器中,所述控制模块包括一启动子模块,用于在所述还原点恢复模块执行所述快照恢复完毕后,继续运行所述客户操作系统。
优选地,上述虚拟机管理器中,所述内存快照用于记录所述客户操作系统的硬件状态以及内存状态,所述还原点恢复模块包括快照恢复子模块,用于据所述内存快照恢复所述客户操作系统的硬件状态和内存状态。
优选地,上述虚拟机管理器中,所述还原点恢复模块包括创建模块,用于在快照恢复完成之后,建立基于所述第一增量文件的第二增量文件,并将所述第二增量文件映射为所述第一硬盘。
本发明实施例还提供了一种虚拟机系统,包括:
硬件平台,所述硬件平台至少包括CPU、内存和物理硬盘;
运行在所述硬件平台上的虚拟机管理器;以及,
运行在所述虚拟机管理器上的客户操作系统,所述客户操作系统包括有第一硬盘;
所述虚拟机管理器包括:
映射模块,用于将一增量文件系统的增量文件映射为所述第一硬盘,其中所述增量文件系统设置在物理硬盘中;
接收模块,用于接收针所述客户操作系统的还原指令,其中,所述还原指令包括一预先设置的还原点;
还原关系对应模块,用于确定所述还原点对应的第一内存快照和第一增量文件,其中,所述第一内存快照是在设置所述还原点时创建的所述客户操作系统的内存快照,所述第一增量文件是在设置所述还原点时映射为所述第一硬盘的增量文件;
控制模块,用于在所述接收模块接收到所述还原指令后,暂停运行所述客户操作系统;
还原点恢复模块,用于在所述控制模块暂停所述客户操作系统之后,将所述第一增量文件重新映射为所述第一硬盘,以及根据所述第一内存快照执行快照恢复。
优选地,上述虚拟机系统中,所述控制模块包括一启动子模块,用于在所述还原点恢复模块执行所述快照恢复完毕后,继续运行所述客户操作系统。
优选地,上述虚拟机系统中,所述内存快照用于记录所述客户操作系统的硬件状态以及内存状态,所述还原点恢复模块包括快照恢复子模块,用于据所述内存快照恢复所述客户操作系统的硬件状态和内存状态。
优选地,上述虚拟机系统中,所述还原点恢复模块包括创建模块,用于在快照恢复完成之后,建立基于所述第一增量文件的第二增量文件,并将所述第二增量文件映射为所述第一硬盘。
从以上所述可以看出,本发明实施例提供的基于客户操作系统的系统还原方法、虚拟机管理器及系统,基于虚拟机技术,通过先后停止客户操作系统以及重新运行客户操作系统,避免了重新启动操作系统带来的时间损失;同时,利用增量文件系统在设置还原点时的基准文件,通过配置操作快速简便地恢复了客户操作系统的当前映像文件,无需硬盘恢复,省去了硬盘操作系统恢复的时间;本实施例最后结合虚拟机中的内存快照功能,实现了客户操作系统的快速还原。
附图说明
图1为本发明实施例所述系统还原方法的流程图;
图2为本发明实施例所述虚拟机系统的结构示意图。
具体实施方式
本发明实施例提出了一种利用虚拟机技术快速进行客户操作系统还原的方法。以下结合附图通过具体实施例对本发明作进一步说明。
如图1所示,本发明实施例所述基于客户操作系统的系统还原方法,基于虚拟机技术,应用在安装有客户操作系统的虚拟机系统中,该方法具体包括以下步骤:
步骤11,在为客户操作系统创建硬盘时,配置一增量文件系统,并将所述增量文件系统的增量文件映射为所述客户操作系统的硬盘。
这里,在为客户操作系统创建硬盘时,映射底层虚拟机的增量文件系统的增量文件为客户操作系统的硬盘,其中,所述增量文件系统设置在真实的物理硬盘中。而客户操作系统可以使用自身支持的任意文件系统,如FAT32、NTFS等,但是客户操作系统对自身文件系统的读写操作都被映射到增量文件系统中到增量文件。增量文件系统可以将当前正在使用的增量文件作为基准文件,基于该基准文件建立一个新的增量文件。新的增量文件用于保存客户操作系统后续对硬盘的写操作,即在建立了新的增量文件以后,客户操作系统对自身文件系统数据的修改都将记录在该增量文件上,而不会记录在之前的基准文件上。
本实施例中,所述增量文件系统具体是qcow或者是ZFS文件系统,但本发明并不局限于该qcow或ZFS(Zettabyte File System)文件系统,任何其它的增量文件系统都适用于本发明。qcow(QEMU写时复制,QEMUCopy-on-Write)是QEMU映像格式。而QEMU是一个面向完整PC系统的开源仿真技术,QEMU应用程序可用于客户操作系统的虚拟化,或作为完整的机器仿真器使用。本实施例中,客户操作系统在硬盘上的存储可以是以qcow格式的磁盘映像(Disk Image)方式存储。
步骤12,当需要为客户操作系统设置一个还原点时,创建所述客户操作系统的内存快照,该内存快照与所述还原点对应,并以所述增量文件系统的当前映射为客户操作系统硬盘的第一增量文件为基准文件,建立基于所述基准文件的第二增量文件。
这里,内存快照用于记录客户操作系统的硬件状态以及内存状态,例如,记录各种寄存器的状态值,快照保存在硬盘上。本实施例中,上述第一增量文件和第二增量文件均采用增量文件系统格式。
步骤13,当需要恢复所述还原点时,暂停运行所述客户操作系统,配置所述增量文件系统的当前映射为客户操作系统硬盘的增量文件为所述第一增量文件,即,将所述第一增量文件重新映射为所述客户操作系统的硬盘,然后根据所述内存快照执行快照恢复,并在快照恢复完成之后,重新运行所述客户操作系统。
这里,在快照恢复完成之后,还可以进一步建立基于所述第一增量文件的第三增量文件,并映射该第三增量文件为客户操作系统的硬盘,所述第三增量文件用于记录在重新运行所述客户操作系统之后,所述客户操作系统对文件系统的修改。
这里,所述执行快照恢复是根据所述内存快照恢复所述客户操作系统的硬件状态和内存状态。在快照恢复完成之后,通过重新运行客户操作系统,将该客户操作系统恢复到设置还原点时的状态,从而实现了客户操作系统的快速还原。
本实施例中,用户可以设置一个以上的还原点,每个还原点都是以当前映射为客户操作系统硬盘的增量文件为基准,再次建立一个新的增量文件,同时还需要创建与该还原点对应的内存快照。
从以上所述可以看出,本实施例基于虚拟机技术,通过先后停止客户操作系统以及重新运行客户操作系统,避免了重新启动操作系统带来的时间损失;同时,利用增量文件系统在设置还原点时的基准文件,通过配置操作快速简便地恢复了客户操作系统的当前映像文件,无需硬盘恢复,省去了硬盘操作系统恢复的时间;本实施例最后结合虚拟机中的内存快照功能,实现了客户操作系统的快速还原。
基于上述系统还原方法,本实施例还提供了一种虚拟机管理器及虚拟机系统,如图2所示,所述虚拟机系统包括:
硬件平台21,所述硬件平台至少包括CPU、内存和物理硬盘;
运行在所述硬件平台上的虚拟机管理器22;以及,
运行在所述虚拟机管理器22上的客户操作系统23和服务操作系统(SOS,Service Operation System)24。服务操作系统24包括一映射模块241,该映射单元241将磁盘映像映射为所述客户操作系统23的硬盘,并按照增量文件系统管理所述磁盘映像,即映射单元241用于将增量文件系统的增量文件映射为所述客户操作系统23的硬盘,其中,该增量文件为磁盘映像文件。具体的,映射单元241可以为一QEMU模拟器。客户操作系统23的文件系统231可以是该客户操作系统23所支持的任意文件系统,如NTFS、FAT32等。客户操作系统23对其文件系统231的读写操作都被映射到某个特定的增量文件,该特定的增量文件是所述增量文件系统的当前映射为所述客户操作系统23的硬盘的增量文件。
所述虚拟机管理器22包括:
还原点设置模块221,用于设置客户操作系统23的还原点,创建所述客户操作系统23的内存快照,该内存快照与所述还原点相对应,并以所述增量文件系统的当前映射为客户操作系统23硬盘的第一增量文件为基准文件,建立基于所述基准文件的第二增量文件;
接收模块223,用于接收针对所述客户操作系统23的还原指令,所述还原指令包括一预先设置的还原点;
还原关系对应模块224,用于确定所述还原点对应的第一内存快照和第一增量文件,其中,所述第一内存快照是在设置所述还原点时创建的所述客户操作系统的内存快照,所述第一增量文件是在设置所述还原点时映射为所述第一硬盘的增量文件;
控制模块225,用于在所述接收模块223接收到所述还原指令后,暂停运行所述客户操作系统23;
还原点恢复模块222,用于在所述控制模块暂停运行所述客户操作系统23之后,将所述第一增量文件重新映射为所述第一硬盘,以及根据所述第一内存快照执行快照恢复。
这里,所述控制模块225可以包括一启动子模块,用于在所述还原点恢复模块222执行所述快照恢复完毕后,继续运行所述客户操作系统23。
这里,所述还原点恢复模块包括创建模块,用于在快照恢复完成之后,建立基于所述第一增量文件的第三增量文件,并将所述第三增量文件映射为客户操作系统硬盘。
这里,所述快照用于记录客户操作系统的硬件状态以及内存状态,所述还原点恢复模块222包括快照恢复子模块,用于据所述快照恢复所述客户操作系统的硬件状态和内存状态。所述增量文件系统的增量文件的格式可以是为qcow或ZFS格式,本发明并不局限于qcow或ZFS文件系统,任何其它的增量文件系统都适用于本发明。
这里,所述映射单元241,还可以设置在虚拟器管理器22中。
综上所述,本发明实施例所提供的基于客户操作系统的系统还原方法、虚拟机管理器及系统,利用虚拟机技术,在操作系统还原时无需重新启动系统以及无需硬盘文件恢复,从而可以快速地还原系统。
以上所述仅是本发明的实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
机译: 基于客户端操作系统的系统恢复方法,虚拟机管理器和使用该方法的系统
机译: 包括客户端管理器和视频服务器的监控系统的操作方法,其客户端管理器以及能够通过基于网络的控制命令解码来控制旧相机的视频服务器
机译: 用于在由具有寄存器栈引擎功能的主机系统虚拟化的中央处理装置上运行在客户机操作系统上运行的虚拟机计算机系统的方法