一种获取虚拟机损坏系统盘镜像的方法
【专利摘要】本发明涉及云计算领域,特别是指一种获取虚拟机损坏系统盘镜像的方法。本发明先使用外部快照的方式创建虚拟机,使虚拟机的系统盘分成两个部分,母镜像A和子镜像B,B是A的外部快照;当虚拟机系统盘损坏时,首先关闭虚拟机,针对母镜像A重新生成一个外部快照C;然后,在虚拟机的配置文件中使用快照C替换子镜像B作为系统盘,将子镜像B挂载成一个数据盘;最后,在虚拟机中将原系统盘的数据拷贝到新的系统盘中,重新运行业务系统;或者,先关机,将原系统盘进行清除后启动,再运行业务系统。本发明解决了虚拟机损坏系统盘时的恢复问题;可以用于虚拟机损坏系统盘的恢复上。
【专利说明】一种获取虚拟机损坏系统盘镜像的方法
【技术领域】
[0001] 本发明涉及云计算领域,特别是指一种获取虚拟机损坏系统盘镜像的方法。
【背景技术】
[0002] 在云平台中,如果虚拟机的系统盘损坏,那么就要设法获取虚拟机系统盘中保存 的数据,并把数据拷贝到可以正常运行的虚拟机中,继续运行业务系统的应用。虚拟机的系 统盘损坏与物理机不同的地方在于,虚拟机的系统盘不会出现硬盘坏道等物理损坏,只是 因为系统文件的损坏而导致虚拟机操作系统无法启动,因此,获取数据可以通过把系统盘 挂载成非系统盘这个思路来实现。目前,获取已损坏系统盘数据的方法步骤如下:
[0003] 1、准备一个虚拟机操作系统的Live⑶的ISO镜像文件;
[0004] 2、将ISO镜像文件挂载到虚拟机所在宿主机的一个loop设备上;
[0005] 3、把loop设备作为cdrom设备添加到虚拟机的配置文件中;
[0006] 4、在虚拟机的配置文件中把启动顺序设置为从cdrom启动;
[0007] 5、启动并登录虚拟机,就可以在Live⑶运行的操作系统中访问已损坏的系统盘。
[0008] 上述方法存在以下弊端:
[0009] 1、通用性不强,过于依赖虚拟光驱,对于某些情况下,虚拟机硬件也产生损坏,虚 拟机不能以光驱启动时,此方法不适用;
[0010] 2、获取到数据后转移不方便,由于LiveCD系统启动的系统盘本身不可写,原系统 盘的数据需要先拷贝到虚拟机的另外一个虚拟磁盘,然后再从这个虚拟磁盘拷贝到新虚拟 机的系统盘中,最后才能恢复原来的业务系统的正常运行。
【发明内容】
[0011] 本发明解决的技术问题在于提供一种获取虚拟机损坏系统盘镜像的方法,能以最 快的速度恢复虚拟机上原有业务系统的运行。
[0012] 本发明解决上述技术问题的技术方案是:
[0013] 包括如下步骤:
[0014] 步骤一:使用外部快照的方式创建虚拟机,使虚拟机的系统盘分成两个部分,母镜 像A和子镜像B,B是A的外部快照;
[0015] 步骤二:虚拟机系统盘损坏时,首先关闭虚拟机,针对母镜像A重新生成一个外部 快照C ;
[0016] 步骤三:在虚拟机的配置文件中使用快照C替换子镜像B作为系统盘,将子镜像B 挂载成一个数据盘;
[0017] 步骤四:在虚拟机中将原系统盘的数据拷贝到新的系统盘中,重新运行业务系统; 或者,先关机,将原系统盘进行清除后启动,再运行业务系统。
[0018] 所述使用外部快照方式创建的虚拟机采用写时复制的原理,母镜像只读,修改的 部分都写入到B镜像;因此损坏部分都在镜像B。
[0019] 所述虚拟机系统盘损坏是指虚拟机无法进入系统。
[0020] 所述使用外部快照方式创建的虚拟机可以根据虚拟机的配置文件重新指定作为 系统盘的镜像;可以对母镜像再次进行快照;
[0021] 所述重新运行业务系统是指将原系统盘的数据拷贝到新的系统盘中,格式化原系 统盘,快速重新运行业务系统。
[0022] 本发明方案的有益效果如下:
[0023] 1、在所有虚拟机系统盘损坏的情况下均可以采用此方法获取数据;本发明方法通 用性强;
[0024] 2、本发明的方法获取数据的过程比较简便,原系统盘的数据只需要经过一次转移 即可,虚拟机也可只经过一次重启,能以最快的速度恢复虚拟机上原有业务系统的运行。
【专利附图】
【附图说明】
[0025] 下面结合附图对本发明进一步说明:
[0026] 图1为本发明的流程图。
【具体实施方式】
[0027] 见图1,是本发明的流程图,具体实施过程如下:
[0028] 1、外部快照的方式创建虚拟机,方式如下
[0029] #qemu-img create/instance/cache/emi-12345-f qcow2/instance/i~ab234/ emi-12345. snap
[0030] 其中emi-123456为母镜像;emi-12345. snap为快照镜像
[0031] 虚拟机配置文件libvirt. xml如下:
[0032]
【权利要求】
1. 一种获取虚拟机损坏系统盘镜像的方法,其特征在于:包括以下步骤: 步骤一:使用外部快照的方式创建虚拟机,使虚拟机的系统盘分成两个部分,母镜像A 和子镜像B,B是A的外部快照; 步骤二:虚拟机系统盘损坏时,首先关闭虚拟机,针对母镜像A重新生成一个外部快照 C; 步骤三:在虚拟机的配置文件中使用快照C替换子镜像B作为系统盘,将子镜像B挂载 成一个数据盘; 步骤四:在虚拟机中将原系统盘的数据拷贝到新的系统盘中,重新运行业务系统;或 者,先关机,将原系统盘进行清除后启动,再运行业务系统。
2. 根据权利要求1所述一种获取虚拟机损坏系统盘镜像的方法,其特征在于:所述使 用外部快照方式创建的虚拟机采用写时复制的原理,母镜像只读,修改的部分都写入到B 镜像;因此损坏部分都在镜像B。
3. 根据权利要求1所述一种获取虚拟机损坏系统盘镜像的方法,其特征在于:所述虚 拟机系统盘损坏是指虚拟机无法进入系统。
4. 根据权利要求2所述一种获取虚拟机损坏系统盘镜像的方法,其特征在于:所述虚 拟机系统盘损坏是指虚拟机无法进入系统。
5. 根据权利要求1至4任一项所述一种获取虚拟机损坏系统盘镜像的方法,其特征在 于:所述使用外部快照方式创建的虚拟机可以根据虚拟机的配置文件重新指定作为系统盘 的镜像;可以对母镜像再次进行快照。
6. 根据权利要求1至4任一项所述一种获取虚拟机损坏系统盘镜像的方法,其特征在 于:所述重新运行业务系统是指将原系统盘的数据拷贝到新的系统盘中,格式化原系统盘, 快速重新运行业务系统。
7. 根据权利要求5所述一种获取虚拟机损坏系统盘镜像的方法,其特征在于:所述重 新运行业务系统是指将原系统盘的数据拷贝到新的系统盘中,格式化原系统盘,快速重新 运行业务系统。
【文档编号】G06F11/14GK104407931SQ201410588815
【公开日】2015年3月11日 申请日期:2014年10月28日 优先权日:2014年10月28日
【发明者】张瑜科, 杨松, 莫展鹏, 季统凯 申请人:国云科技股份有限公司