一种可快速还原系统盘的虚拟机创建方法技术方案

技术编号:9489798 阅读:113 留言:0更新日期:2013-12-25 23:34
本发明专利技术涉及云计算技术领域,特别是指一种可快速还原系统盘的虚拟机创建方法。本发明专利技术首先将制作好的虚拟机镜像上传到NFS服务器中保存;然后以共享存储的方式将NFS服务器挂载到宿主机;将虚拟机母版镜像拷贝到宿主机本地存储指定目录;对本地存储指定目录中的模板镜像创建外部快照;利用外部快照文件创建虚拟机和快速还原虚拟机系统盘。本发明专利技术提供了一种可快速还原系统盘的虚拟机创建方法,使虚拟机可以随时在秒级时间上还原到刚创建的时候;可以用于虚拟机的创建。

【技术实现步骤摘要】
【专利摘要】本专利技术涉及云计算
,特别是指。本专利技术首先将制作好的虚拟机镜像上传到NFS服务器中保存;然后以共享存储的方式将NFS服务器挂载到宿主机;将虚拟机母版镜像拷贝到宿主机本地存储指定目录;对本地存储指定目录中的模板镜像创建外部快照;利用外部快照文件创建虚拟机和快速还原虚拟机系统盘。本专利技术提供了,使虚拟机可以随时在秒级时间上还原到刚创建的时候;可以用于虚拟机的创建。【专利说明】
本专利技术涉及云计算
,特别是指。
技术介绍
对于经常由不同的人员使用的虚拟机来说,考虑到用户数据保密性和系统安全性,有必要对系统盘进行还原。目前可用于虚拟机系统盘还原的方法有两种。第一种方法是使用还原精灵一类的软件,这种方法首先会对系统盘的初始数据做一个备份,每次操作系统重启后,将系统盘还原到备份时的状态;这种方法有以下缺点:1、系统盘的备份数据会占用虚拟机磁盘的空间,造成额外的存储空间浪费;2、还原精灵一类的软件每次关机后再开机都会执行系统盘还原,不能有选择性地执行还原;3、还原时间过长。第二种方法是在虚拟机创建完毕以后创建快照,在需要对系统盘进行还原时使用这个快照还原到初始状态;这种方法有如下缺点:1、虚拟机的快照会占用宿主机额外的磁盘空间;2、还原时间过长。为了能够满足虚拟机快速还原系统盘到刚创建的时候而又避免存储资源的浪费和还原事件过长的问题,需要。
技术实现思路
本专利技术解决的技术问题在于提供,解决现存系统还原方法浪费存储资源、还原时间非常长等问题,另外本专利技术还实现了可按照用户需要随时还原系统盘,还原过程中时间非常短,能达到秒级还原的效果。本专利技术解决上述技术问题的技术方案是:包括如下步骤:步骤1:将制作好的虚拟机镜像上传到NFS服务器中保存;步骤2:然后以共享存储的方式将NFS服务器挂载到宿主机;步骤3:将虚拟机母版镜像拷贝到宿主机本地存储指定目录;如果宿主机本地存储指定目录上面已经存在该母版镜像,则放弃;步骤4:对本地存储指定目录中的模板镜像创建外部快照;步骤5:利用外部快照文件创建虚拟机和快速还原虚拟机系统盘。所述的虚拟机创建过程如下:(I)从NFS服务器中拷贝虚拟机镜像文件到宿主机本地存储目录I;(2)对镜像文件做外部快照,并将快照文件保存到宿主机本地存储目录2;(3)准备启动虚拟机所需要的配置文件并启动虚拟机;(4)为虚拟机挂载存储卷,用作永久数据保存。所述的虚拟机系统盘还原过程如下:(I)卸载虚拟机的存储卷;(2)强制关闭虚拟机;(3)删除虚拟机对应宿主机本地存储目录2中的外部快照文件;(4)利用本地存储目录I中的母版镜像重新创建外部快照;(5)重新启动虚拟机;(6)挂载之前保存有永久数据的存储卷。所述的母版镜像是创建虚拟机时准备的原始镜像文件。所述的外部快照是指虚拟机管理平台针对虚拟机镜像文件提供的一个工具,利用它创建的快照文件启动虚拟机,用户在虚拟机内部新建、删除、修改文件等操作时只会修改快照文件,而不会影响到母版镜像。采用本专利技术的方法创建虚拟机,在进行系统还原时,无需依赖于还原软件,避免浪费存储资源。利用外部快照文件创建虚拟机和快速还原虚拟机系统盘,实现了按照用户需要随时还原系统盘。本专利技术的方法可缩短还原时间,能达到秒级还原的效果。【专利附图】【附图说明】下面结合附图对本专利技术进一步说明:图1是本专利技术方法流程图;图2是本专利技术创建虚拟机流程图;图3是本专利技术还原系统盘流程图。【具体实施方式】请参阅附图,本专利技术首先准备一台单独物理机作为NFS服务器(例如IP为20.251.32.19,用户可自定义),进行如下操作完成NFS服务器的搭建:步骤1:登陆服务器,创建/sdb文件夹#mkdir /sdb#mkdir /sdb/images#mkdir /sdb/buckets_xm#mkdir /sdb/isos步骤2:编辑/etc/exports,添加如下内容:#vi /etc/exports/sdb* (rw, no—root—squash)步骤3:启动nfs服务#/etc/init.d/nfs start步骤4:将nfs服务加入开机启动#chkconfig—add/etc/init.d/nfs#chkconfig—level2345nfs on然后进入宿主机挂载NFS服务器到本地:步骤1:登录宿主机服务器,查看是否能访问nfs服务。#showmount-e20.251.32.19步骤2:挂载NFS到本地/sharefiles目录#mount _t nfs _o vers = 320.251.32.19:/sdb/sharefiles 步骤3:设置NFS开机自动挂载#echo" mount _t nfs _o vers = 3, nolock20.251.32.19:/sdb/sharefiles;/> > /etc/rc.local经过以上步骤,保证了 NFS服务器能够为宿主机提供正常服务,然后创建虚拟机,利用dd命令或者cp命令将模板镜像拷贝到宿主机本地存储/instances目录下面:dd if = /sharefiles/images/em1-χχχχχχχχ of = /instances/cache执行“qemu-1mg create -f qcow2 _b母镜像路径虚拟机系统镜像名字”创建外部快照,具体代码如下: int vmSnapCreate (const char * in, const char * out) { logprintfl(EUCAINFO,XIONGM_DEBUG"enter function: %s \n",—func—);int ret = OK; char * Output=NULL; output = pruntf (TR UE, "qemu-1mg create -b %s -f qcow2 %s", in.0ut); if (!output) { logprintfl(EUCAERROR,XIONGM_DEBUG"leave function: %s withFAILED \n —func—); return ERROR; I else {free (output); logprintfl(EUCAINFO,XiONGM_DEBUG"leave function: %s withSUCCESS \n",_func_); }return ret; }接着准备启动虚拟机配置文件libvirt.xml,代码如下:int gen_libvirt_instance_xml(nclnstance * instance) { logprintfl(EUCAINFO, XIONGM_DEBUG!,entei function: %s \n",_ tunc_);char instanceXmlFilePath;snprintf(mstanceXmlFilePath, CHAR—BUFFER—SIZE, n%s/instance.xml",i n stan c e -> i n s tan c e Wo rk P at h);snprintf(instance->libvirtFilePath,C本文档来自技高网...

【技术保护点】
一种可快速还原系统盘的虚拟机创建方法,其特征在于:包括如下步骤:步骤1:将制作好的虚拟机镜像上传到NFS服务器中保存;步骤2:然后以共享存储的方式将NFS服务器挂载到宿主机;步骤3:将虚拟机母版镜像拷贝到宿主机本地存储指定目录;如果宿主机本地存储指定目录上面已经存在该母版镜像,则放弃;步骤4:对本地存储指定目录中的模板镜像创建外部快照;步骤5:利用外部快照文件创建虚拟机和快速还原虚拟机系统盘。

【技术特征摘要】

【专利技术属性】
技术研发人员:熊梦杨松莫展鹏季统凯
申请(专利权)人:国云科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1