虚拟机快速扩容方法、装置、设备以及存储介质与流程

文档序号:14175093阅读:176来源:国知局
虚拟机快速扩容方法、装置、设备以及存储介质与流程

本发明涉及计算机技术领域,尤其涉及一种虚拟机快速扩容方法、装置、设备以及存储介质。



背景技术:

通常用户对于虚拟机的需求都是按需购买,但是随着业务应用的增加,刚开始的虚拟机的配置就满足不了用户的需要,这个时候用户就会升级配置以及扩容。升级配置的过程相对简单,相对而言对于应用系统的过程比较复杂。例如,对于一个java应用来说,一般运维人员会先找一个新的物理机或者虚拟机将节点a上的所有jar包,拷贝到节点b上重新部署,并需要测试人员进行全面的测试。导致整个虚拟机的部署过程时间比较长,进而增加了运维人员的工作负担。



技术实现要素:

有鉴于此,本发明实施例提供一种虚拟机快速扩容方法、装置、设备以及存储介质,实现虚拟机的快速部署,以减轻运维人员的工作负担。

第一方面,本发明实施例提供了一种虚拟机快速扩容方法,该方法包括:

对虚拟机进行克隆,得到虚拟机副本;

将所述虚拟机副本同步至全局存储上;

将所述虚拟机副本复制到目标物理机或者目标虚拟机上;

在所述目标物理机或者目标虚拟机中执行所述虚拟机副本的操作。

进一步地,所述将所述虚拟机副本复制到目标物理机或者目标虚拟机上,包括:

接收目标物理机或者目标虚拟机发送的复制请求;

根据所述复制请求在所述全局存储上对所述虚拟机副本进行复制;

将复制后的虚拟机副本发送至目标物理机或者目标虚拟机上。

进一步地,所述对虚拟机进行克隆,包括:

接收打开目标虚拟机的指令,并根据所接收的指令打开目标虚拟机;

若检测到在预设的克隆平台上单击预设的克隆虚拟按键的操作,启动虚拟机的克隆;

在当前显示界面中选择目标虚拟机的克隆状态;

根据所选择的目标虚拟机的克隆状态在当前显示界面选择克隆类型;

根据所选择的克隆类型对所述目标虚拟机进行克隆。

进一步地,所述将所述虚拟机副本复制到目标物理机或者目标虚拟机上,包括:

调用预设云环境平台的弹性伸缩接口;

通过所述弹性伸缩接口将所述虚拟机副本复制到目标物理机或者目标虚拟机上。

进一步地,所述方法还包括:

监控所述虚拟机副本的工作状态;

若监测到所述虚拟机副本工作状态异常,发出告警信息。

另一方面,本发明实施例提供了一种虚拟机快速扩容装置,所述装置包括:

克隆单元,用于对虚拟机进行克隆,得到虚拟机副本;

同步单元,用于将所述虚拟机副本同步至全局存储上;

第一复制单元,用于将所述虚拟机副本复制到目标物理机或者目标虚拟机上;

执行单元,用于在所述目标物理机或者目标虚拟机中执行所述虚拟机副本的操作。

进一步地,所述第一复制单元,包括:

接收单元,用于接收目标物理机或者目标虚拟机发送的复制请求;

第二复制单元,用于根据所述复制请求在所述全局存储上对所述虚拟机副本进行复制;

发送单元,用于将复制后的虚拟机副本发送至目标物理机或者目标虚拟机上。

进一步地,所述克隆单元,包括:

打开单元,用于接收打开目标虚拟机的指令,并根据所接收的指令打开目标虚拟机;

启动单元,用于若检测到在预设的克隆平台上单击预设的克隆虚拟按键的操作,启动虚拟机的克隆;

第一选择单元,用于在当前显示界面中选择目标虚拟机的克隆状态;

第二选择单元,用于根据所选择的目标虚拟机的克隆状态在当前显示界面选择克隆类型;

克隆子单元,用于根据所选择的克隆类型对所述目标虚拟机进行克隆。

又一方面,本发明实施例还提供了一种虚拟机快速扩容设备,包括:

存储器,用于存储实现虚拟机快速扩容方法的程序;以及

处理器,用于运行所述存储器中存储的实现虚拟机快速扩容方法的程序,以执行如上所述方法。

再一方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序可被一个或者一个以上的处理器执行,以实现如上所述的方法。

本发明实施例通过对虚拟机进行克隆;获取克隆后的虚拟机副本并同步至全局存储上;将所述虚拟机副本复制到目标物理机或者目标虚拟机上;在所述目标物理机或者目标虚拟机中执行所述虚拟机副本的操作,实现虚拟机的快速部署,同时可以减轻运维人员的工作负担。

附图说明

为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种虚拟机快速扩容方法的示意流程图;

图2是本发明实施例提供的一种虚拟机快速扩容方法的示意流程图;

图3是本发明实施例提供的一种虚拟机快速扩容方法的示意流程图;

图4是本发明另一实施例提供的一种虚拟机快速扩容方法的示意流程图;

图5是本发明另一实施例提供的一种虚拟机快速扩容方法的示意流程图;

图6是本发明实施例提供的一种虚拟机快速扩容装置的示意性框图;

图7是本发明实施例提供的一种虚拟机快速扩容装置的另一示意性框图;

图8是本发明实施例提供的一种虚拟机快速扩容装置的另一示意性框图;

图9是本发明实施例提供的一种虚拟机快速扩容装置的另一示意性框图;

图10是本发明实施例提供的一种虚拟机快速扩容装置的另一示意性框图;

图11是本发明实施例提供的一种虚拟机快速扩容设备的结构组成示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

请参阅图1,图1为本发明实施例提供的一种虚拟机快速扩容方法的示意流程图。该方法可以运行在智能手机(如android手机、ios手机等)、平板电脑、笔记本电脑以及智能设备等终端中。本发明实施例所述的虚拟机快速扩容方法,能够实现虚拟机的快速部署,同时可以减轻运维人员的工作负担。图1是本发明实施例提供的虚拟机快速扩容方法的示意流程图。该方法包括步骤s101~s104。

s101,对虚拟机进行克隆,得到虚拟机副本。

在本发明实施例中,一般情况下,所述克隆指的是在vmware软件中对虚拟机的原始状态进行拷贝,或者进行镜像等复制操作,所谓虚拟机中的原始状态包括虚拟机中各应用软件、各脚本以及各应用插件等,因此,完成对虚拟机进行克隆的操作,即完成对虚拟机中的各应用软件、各脚本以及各应用插件等克隆的操作。

需要说明的是,对虚拟机进行克隆并不会影响虚拟机本身,也就是说对虚拟机进行克隆只是进行了如拷贝、镜像的操作,并不会损坏原始虚拟机中的应用软件、脚本等软件程序,并且将克隆后得到的虚拟机称为虚拟机副本,该虚拟机副本可以脱离原始虚拟机而独立存在,该虚拟机副本具备原始虚拟机的所有应用软件、所有脚本以及所有应用插件等。

进一步地,如图2所示,步骤s101包括步骤s201~s205。

s201,接收打开目标虚拟机的指令,并根据所接收的指令打开目标虚拟机。

在本发明实施例中,用户选择一个虚拟机后,通过硬件设备打开用户所选择的虚拟机,将用户所选择的虚拟机作为目标虚拟机。

s202,若检测到在预设的克隆平台上单击预设的克隆虚拟按键的操作,启动虚拟机的克隆。

在本发明实施例中,所述预设的克隆平台为vmware8.0虚拟机软件,该虚拟机软件集成了功能强大的桌面虚拟计算机软件,并提供用户可在单一的桌面上同时运行该虚拟机软件,通过该虚拟机软件也可以同时运行不同的操作系统,以及针对不同操作系统进行克隆、测试、开发等操作。

在vmware8.0虚拟机软件平台上,存在预设的克隆虚拟按键,例如菜单vm、子菜单manage、以及子菜单clone,当用户选择了所要克隆的虚拟机作为目标虚拟机后,通过硬件设备在vmware8.0虚拟机软件平台上打开目标虚拟机,通过单击菜单的vm--manage--clone以启动对目标虚拟机的克隆。

s203,在当前显示界面中选择目标虚拟机的克隆状态。

在本发明实施例中,所述克隆状态指的是可以选择将原始虚拟机作为父本的当前状态进行克隆,也可以选择原始虚拟机的快照进行克隆,并且所述克隆状态可以在单击菜单vm--manage--clone之后进行选择,例如,若用户选择的虚拟机是原始虚拟机,则选择将原始虚拟机作为父本进行克隆,若用户选择的虚拟机是虚拟机快照,则选择将虚拟机快照进行克隆。

s204,根据所选择的目标虚拟机的克隆状态在当前显示界面选择克隆类型。

在本发明实施例中,所述克隆类型包括联系克隆或者全面克隆,其中,联系克隆指的是从父本的一个快照中进行的克隆,全面克隆指的是从父本的当前状态进行的克隆;在当前显示页面中通常会显示linkedclone代表联系克隆,显示fullclone代表全面克隆,在用户选择完克隆状态之后,在当前显示界面会显示两个栏目分别为linkedclone和fullclone,其中,linkedclone指向原始虚拟机,并且占用很多的磁盘空间,并不用脱离原始的虚拟机而独立进行克隆操作,fullclone指的是完全独立的克隆,并可以分别指向原始虚拟机以及虚拟机快照,其同样会占用很多的磁盘空间,并且克隆的速度相对于linkedclone要慢。

s205,根据所选择的克隆类型对所述目标虚拟机进行克隆。

在本发明实施例中,当确定所选择的克隆类型之后,vmware8.0虚拟机软件会自动进入克隆操作,该自动的克隆操作为:首先会弹出新虚拟机名页面以供用户填入所克隆的虚拟机的名称,然后确定新的虚拟机的安装位置,最后通过克隆步骤完成原始虚拟机或者虚拟机快照的克隆。

s102,将所述虚拟机副本同步至全局存储上。

在本发明实施例中,所述全局存储为跨可用区的全局存储,所谓可用区(availablezone,az)指的是由多个交换机组成的区域,其中,全局存储可以是全局存储器,也可以是全局存储空间,还可以是全局云存储空间;在云环境中,有很多可用区存在,一个可用区有很多系统管理程序,其中,如果将应用部署在两个az上,代表这个应用的多个实例一定不是在一个交换机上;如果将应用跨az部署,那么一个az上的交换机有问题,我们就可以立即启动另外一个az上的应用实例,保证应用的高可用性。因此,本发明实施例采用跨可用区的全局存储,该全局存储可以被两个或者两个以上可用区共享,以便于快速将克隆的虚拟机从一个可用区到另一个可用区。

s103,将所述虚拟机副本复制到目标物理机或者目标虚拟机上。

在本发明实施例中,在vmware8.0虚拟机软件上的虚拟机副本可以视为一个vmdk文件,也就是说一个克隆的虚拟机即为一个vmdk文件,由于克隆类型中的linkedclone或者fullclone均具有拷贝虚拟机副本的功能,因此,对于两个az的全局存储,若需要将虚拟机副本复制到另一个可用区中,用户可以选择linkedclone或者fullclone的方法将所述虚拟机副本从一个可用区拷贝至另一个可用区中,其中,将目标拷贝的可用区作为目标物理机或者目标虚拟机。

进一步地,如图3所示,步骤s103包括步骤s301~s302。

s301,调用预设云环境平台的弹性伸缩接口。

在本发明实施例中,若全局存储收到要求将虚拟机副本复制到目标物理机或者目标虚拟机上的指令,vmware8.0虚拟机软件会调用预设云环境平台(例如,openstack平台)的弹性伸缩接口,通过该弹性伸缩接口增加虚拟机或者物理机,也可以通过该弹性伸缩接口确定目标虚拟机或者目标物理机,其中,若通过该弹性伸缩接口增加虚拟机或者物理机,将所增加的虚拟机或者物理机视为目标虚拟机或者目标物理机。

s302,通过所述弹性伸缩接口将所述虚拟机副本复制到目标物理机或者目标虚拟机上。

在本发明实施例中,若确定虚拟机副本所要复制的目标物理机或者目标虚拟机,利用linkedclone或者fullclone并通过所述弹性伸缩接口将所述虚拟机副本复制到目标物理机或者目标虚拟机上。

s104,在所述目标物理机或者目标虚拟机中执行所述虚拟机副本的操作。

在本发明实施例中,所述vm操作指的是在目标物理机或者目标虚拟机上,执行所复制的虚拟机副本,即在目标物理机或者目标虚拟机上运行所克隆的虚拟机副本,在执行vm操作时,所述虚拟机副本在目标物理机或者目标虚拟机中被运行的过程,与所述虚拟机副本对应的原始虚拟机或者虚拟机快照执行的vm操作完全一致,并且两者互不影响、互相独立。

由以上可见,本发明实施例通过对虚拟机进行克隆,得到虚拟机副本;将所述虚拟机副本同步至全局存储上;将所述虚拟机副本复制到目标物理机或者目标虚拟机上;在所述目标物理机或者目标虚拟机中执行所述虚拟机副本的操作,实现虚拟机的快速部署,同时可以减轻运维人员的工作负担。

请参阅图4,图4是本发明实施例提供的一种虚拟机快速扩容方法的示意流程图。该方法可以运行在智能手机(如android手机、ios手机等)、平板电脑、笔记本电脑以及智能设备等终端中。如图4所示,该方法包括步骤s401~s406。

s401,对虚拟机进行克隆,得到虚拟机副本。

在本发明实施例中,一般情况下,所述克隆指的是在vmware软件中对虚拟机的原始状态进行拷贝,或者进行镜像等复制操作,所谓虚拟机中的原始状态包括虚拟机中各应用软件、各脚本以及各应用插件等,因此,完成对虚拟机进行克隆的操作,即完成对虚拟机中的各应用软件、各脚本以及各应用插件等克隆的操作。

需要说明的是,对虚拟机进行克隆并不会影响虚拟机本身,也就是说对虚拟机进行克隆只是进行了如拷贝、镜像的操作,并不会损坏原始虚拟机中的应用软件、脚本等软件程序,并且将克隆后得到的虚拟机称为虚拟机副本,该虚拟机副本可以脱离原始虚拟机而独立存在,该虚拟机副本具备原始虚拟机的所有应用软件、所有脚本以及所有应用插件等。

s402,将所述虚拟机副本同步至全局存储上。

在本发明实施例中,所述全局存储为跨可用区的全局存储,所谓可用区(availablezone,az)指的是由多个交换机组成的区域,其中,全局存储可以是全局存储器,也可以是全局存储空间,还可以是全局云存储空间;在云环境中,有很多可用区存在,一个可用区有很多系统管理程序,其中,如果将应用部署在两个az上,代表这个应用的多个实例一定不是在一个交换机上;如果将应用跨az部署,那么一个az上的交换机有问题,我们就可以立即启动另外一个az上的应用实例,保证应用的高可用性。因此,本发明实施例采用跨可用区的全局存储,该全局存储可以被两个或者两个以上可用区共享,以便于快速将克隆的虚拟机从一个可用区到另一个可用区。

s403,接收目标物理机或者目标虚拟机发送的复制请求。

在本发明实施例中,客户预先确定所要复制的所述目标物理机或者目标虚拟机,并将目标虚拟机或者目标物理机将与所述全局存储进行关联,若所述目标物理机或者目标虚拟机需要获取虚拟机副本进行运行,所述目标物理机或者目标虚拟机可以通过所述全局存储与所述目标虚拟机或者目标物理机的关联关系将复制请求发送给所述全局存储以要求获得虚拟机副本。

s404,根据所述复制请求在所述全局存储上对所述虚拟机副本进行复制。

在本发明实施例中,若接收到目标物理机或者目标虚拟机发送的复制请求,所述全局存储便会接收到与所述复制请求相对应的复制指令,该复制指令也复制请求相对应并从目标物理机或者目标虚拟机获得,所述全局存储根据该复制指令对全局存储上的虚拟机副本进行复制。

s405,将复制后的虚拟机副本发送至目标物理机或者目标虚拟机上。

在本发明实施例中,根据该复制指令对全局存储上的虚拟机副本进行复制后,得到与所述虚拟机副本完全相同的另一虚拟机副本,并将复制后的虚拟机副本发送至目标物理机或者目标虚拟机上。

s406,在所述目标物理机或者目标虚拟机中执行所述虚拟机副本的操作。

在本发明实施例中,所述vm操作指的是在目标物理机或者目标虚拟机上,执行所复制的虚拟机副本,即在目标物理机或者目标虚拟机上运行所克隆的虚拟机副本,在执行vm操作时,所述虚拟机副本在目标物理机或者目标虚拟机中被运行的过程,与所述虚拟机副本对应的原始虚拟机或者虚拟机快照执行的vm操作完全一致,并且两者互不影响、互相独立。

请参阅图5,图5是本发明实施例提供的一种虚拟机快速扩容方法的示意流程图。该方法可以运行在智能手机(如android手机、ios手机等)、平板电脑、笔记本电脑以及智能设备等终端中。如图5所示,该方法包括步骤s501~s507。

s501,对虚拟机进行克隆,得到虚拟机副本。

在本发明实施例中,一般情况下,所述克隆指的是在vmware软件中对虚拟机的原始状态进行拷贝,或者进行镜像等复制操作,所谓虚拟机中的原始状态包括虚拟机中各应用软件、各脚本以及各应用插件等,因此,完成对虚拟机进行克隆的操作,即完成对虚拟机中的各应用软件、各脚本以及各应用插件等克隆的操作。

需要说明的是,对虚拟机进行克隆并不会影响虚拟机本身,也就是说对虚拟机进行克隆只是进行了如拷贝、镜像的操作,并不会损坏原始虚拟机中的应用软件、脚本等软件程序,并且将克隆后得到的虚拟机称为虚拟机副本,该虚拟机副本可以脱离原始虚拟机而独立存在,该虚拟机副本具备原始虚拟机的所有应用软件、所有脚本以及所有应用插件等。

s502,将所述虚拟机副本同步至全局存储上。

在本发明实施例中,所述全局存储为跨可用区的全局存储,所谓可用区(availablezone,az)指的是由多个交换机组成的区域,其中,全局存储可以是全局存储器,也可以是全局存储空间,还可以是全局云存储空间;在云环境中,有很多可用区存在,一个可用区有很多系统管理程序,其中,如果将应用部署在两个az上,代表这个应用的多个实例一定不是在一个交换机上;如果将应用跨az部署,那么一个az上的交换机有问题,我们就可以立即启动另外一个az上的应用实例,保证应用的高可用性。因此,本发明实施例采用跨可用区的全局存储,该全局存储可以被两个或者两个以上可用区共享,以便于快速将克隆的虚拟机从一个可用区到另一个可用区。

s503,将所述虚拟机副本复制到目标物理机或者目标虚拟机上。

在本发明实施例中,在vmware8.0虚拟机软件上的虚拟机副本可以视为一个vmdk文件,也就是说一个克隆的虚拟机即为一个vmdk文件,由于克隆类型中的linkedclone或者fullclone均具有拷贝虚拟机副本的功能,因此,对于两个az的全局存储,若需要将虚拟机副本复制到另一个可用区中,用户可以选择linkedclone或者fullclone的方法将所述虚拟机副本从一个可用区拷贝至另一个可用区中,其中,将目标拷贝的可用区作为目标物理机或者目标虚拟机。

s504,在所述目标物理机或者目标虚拟机中执行所述虚拟机副本的操作。

在本发明实施例中,所述vm操作指的是在目标物理机或者目标虚拟机上,执行所复制的虚拟机副本,即在目标物理机或者目标虚拟机上运行所克隆的虚拟机副本,在执行vm操作时,所述虚拟机副本在目标物理机或者目标虚拟机中被运行的过程,与所述虚拟机副本对应的原始虚拟机或者虚拟机快照执行的vm操作完全一致,并且两者互不影响、互相独立。

s505,监控所述虚拟机副本的工作状态。

s506,若监测到所述虚拟机副本工作状态异常,发出告警信息。

在本发明实施例中,所述虚拟机副本的工作状态异常包括非正常关闭、无法运行虚拟机等等。若所述虚拟机副本的工作状态异常为非正常关闭,触发告警,具体为触发目标物理机或者目标虚拟机中的蜂鸣器告警;或者,若所述虚拟机副本的工作状态异常为无法运行虚拟机,触发告警,具体为触发目标物理机或者目标虚拟机中的光源装置告警。

请参阅图6,对应上述一种虚拟机快速扩容方法,本发明实施例还提出一种虚拟机快速扩容装置,该装置100包括:克隆单元101、同步单元102、第一复制单元103、执行单元104。

其中,所述克隆单元101,用于对虚拟机进行克隆,得到虚拟机副本。在本发明实施例中,一般情况下,所述克隆指的是在vmware软件中对虚拟机的原始状态进行拷贝,或者进行镜像等复制操作,所谓虚拟机中的原始状态包括虚拟机中各应用软件、各脚本以及各应用插件等,因此,完成对虚拟机进行克隆的操作,即完成对虚拟机中的各应用软件、各脚本以及各应用插件等克隆的操作。

需要说明的是,对虚拟机进行克隆并不会影响虚拟机本身,也就是说对虚拟机进行克隆只是进行了如拷贝、镜像的操作,并不会损坏原始虚拟机中的应用软件、脚本等软件程序,并且将克隆后得到的虚拟机称为虚拟机副本,该虚拟机副本可以脱离原始虚拟机而独立存在,该虚拟机副本具备原始虚拟机的所有应用软件、所有脚本以及所有应用插件等。

同步单元102,用于将所述虚拟机副本同步至全局存储上。在本发明实施例中,所述全局存储为跨可用区的全局存储,所谓可用区(availablezone,az)指的是由多个交换机组成的区域,其中,全局存储可以是全局存储器,也可以是全局存储空间,还可以是全局云存储空间;在云环境中,有很多可用区存在,一个可用区有很多系统管理程序,其中,如果将应用部署在两个az上,代表这个应用的多个实例一定不是在一个交换机上;如果将应用跨az部署,那么一个az上的交换机有问题,我们就可以立即启动另外一个az上的应用实例,保证应用的高可用性。因此,本发明实施例采用跨可用区的全局存储,该全局存储可以被两个或者两个以上可用区共享,以便于快速将克隆的虚拟机从一个可用区到另一个可用区。

第一复制单元103,用于将所述虚拟机副本复制到目标物理机或者目标虚拟机上。在本发明实施例中,在vmware8.0虚拟机软件上的虚拟机副本可以视为一个vmdk文件,也就是说一个克隆的虚拟机即为一个vmdk文件,由于克隆类型中的linkedclone或者fullclone均具有拷贝虚拟机副本的功能,因此,对于两个az的全局存储,若需要将虚拟机副本复制到另一个可用区中,用户可以选择linkedclone或者fullclone的方法将所述虚拟机副本从一个可用区拷贝至另一个可用区中,其中,将目标拷贝的可用区作为目标物理机或者目标虚拟机。

执行单元104,用于在所述目标物理机或者目标虚拟机中执行所述虚拟机副本的操作。在本发明实施例中,所述vm操作指的是在目标物理机或者目标虚拟机上,执行所复制的虚拟机副本,即在目标物理机或者目标虚拟机上运行所克隆的虚拟机副本,在执行vm操作时,所述虚拟机副本在目标物理机或者目标虚拟机中被运行的过程,与所述虚拟机副本对应的原始虚拟机或者虚拟机快照执行的vm操作完全一致,并且两者互不影响、互相独立。

由以上可见,本发明实施例通过对虚拟机进行克隆,得到虚拟机副本;将所述虚拟机副本同步至全局存储上;将所述虚拟机副本复制到目标物理机或者目标虚拟机上;在所述目标物理机或者目标虚拟机中执行所述虚拟机副本的操作,实现虚拟机的快速部署,同时可以减轻运维人员的工作负担。

如图7所示,所述克隆单元101,包括:

打开单元1011,用于接收打开目标虚拟机的指令,并根据所接收的指令打开目标虚拟机。在本发明实施例中,用户选择一个虚拟机后,通过硬件设备打开用户所选择的虚拟机,将用户所选择的虚拟机作为目标虚拟机。

启动单元1012,用于若检测到在预设的克隆平台上单击预设的克隆虚拟按键的操作,启动虚拟机的克隆。在本发明实施例中,所述预设的克隆平台为vmware8.0虚拟机软件,该虚拟机软件集成了功能强大的桌面虚拟计算机软件,并提供用户可在单一的桌面上同时运行该虚拟机软件,通过该虚拟机软件也可以同时运行不同的操作系统,以及针对不同操作系统进行克隆、测试、开发等操作。

在vmware8.0虚拟机软件平台上,存在预设的克隆虚拟按键,例如菜单vm、子菜单manage、以及子菜单clone,当用户选择了所要克隆的虚拟机作为目标虚拟机后,通过硬件设备在vmware8.0虚拟机软件平台上打开目标虚拟机,通过单击菜单的vm--manage--clone以启动对目标虚拟机的克隆。

第一选择单元1013,用于在当前显示界面中选择目标虚拟机的克隆状态。在本发明实施例中,所述克隆状态指的是可以选择将原始虚拟机作为父本的当前状态进行克隆,也可以选择原始虚拟机的快照进行克隆,并且所述克隆状态可以在单击菜单vm--manage--clone之后进行选择,例如,若用户选择的虚拟机是原始虚拟机,则选择将原始虚拟机作为父本进行克隆,若用户选择的虚拟机是虚拟机快照,则选择将虚拟机快照进行克隆。

第二选择单元1014,用于根据所选择的目标虚拟机的克隆状态在当前显示界面选择克隆类型。在本发明实施例中,所述克隆类型包括联系克隆或者全面克隆,其中,联系克隆指的是从父本的一个快照中进行的克隆,全面克隆指的是从父本的当前状态进行的克隆;在当前显示页面中通常会显示linkedclone代表联系克隆,显示fullclone代表全面克隆,在用户选择完克隆状态之后,在当前显示界面会显示两个栏目分别为linkedclone和fullclone,其中,linkedclone指向原始虚拟机,并且占用很多的磁盘空间,并不用脱离原始的虚拟机而独立进行克隆操作,fullclone指的是完全独立的克隆,并可以分别指向原始虚拟机以及虚拟机快照,其同样会占用很多的磁盘空间,并且克隆的速度相对于linkedclone要慢。

克隆子单元1015,用于根据所选择的克隆类型对所述目标虚拟机进行克隆。在本发明实施例中,当确定所选择的克隆类型之后,vmware8.0虚拟机软件会自动进入克隆操作,该自动的克隆操作为:首先会弹出新虚拟机名页面以供用户填入所克隆的虚拟机的名称,然后确定新的虚拟机的安装位置,最后通过克隆步骤完成原始虚拟机或者虚拟机快照的克隆。

如图8所示,所述复制单元103,包括:

调用单元1031,用于调用预设云环境平台的弹性伸缩接口。在本发明实施例中,若全局存储收到要求将虚拟机副本复制到目标物理机或者目标虚拟机上的指令,vmware8.0虚拟机软件会调用预设云环境平台(例如,openstack平台)的弹性伸缩接口,通过该弹性伸缩接口增加虚拟机或者物理机,也可以通过该弹性伸缩接口确定目标虚拟机或者目标物理机,其中,若通过该弹性伸缩接口增加虚拟机或者物理机,将所增加的虚拟机或者物理机视为目标虚拟机或者目标物理机。

第二复制单元1032,用于通过所述弹性伸缩接口将所述虚拟机副本复制到目标物理机或者目标虚拟机上。在本发明实施例中,若确定虚拟机副本所要复制的目标物理机或者目标虚拟机,利用linkedclone或者fullclone并通过所述弹性伸缩接口将所述虚拟机副本复制到目标物理机或者目标虚拟机上。

请参阅图9,对应上述一种虚拟机快速扩容方法,本发明实施例还提出一种虚拟机快速扩容装置,该装置200包括:克隆单元201、同步单元202、接收单元203、第三复制单元204、发送单元205、执行单元206。

其中,所述克隆单元201,用于对虚拟机进行克隆,得到虚拟机副本。在本发明实施例中,一般情况下,所述克隆指的是在vmware软件中对虚拟机的原始状态进行拷贝,或者进行镜像等复制操作,所谓虚拟机中的原始状态包括虚拟机中各应用软件、各脚本以及各应用插件等,因此,完成对虚拟机进行克隆的操作,即完成对虚拟机中的各应用软件、各脚本以及各应用插件等克隆的操作。

需要说明的是,对虚拟机进行克隆并不会影响虚拟机本身,也就是说对虚拟机进行克隆只是进行了如拷贝、镜像的操作,并不会损坏原始虚拟机中的应用软件、脚本等软件程序,并且将克隆后得到的虚拟机称为虚拟机副本,该虚拟机副本可以脱离原始虚拟机而独立存在,该虚拟机副本具备原始虚拟机的所有应用软件、所有脚本以及所有应用插件等。

同步单元202,用于将所述虚拟机副本同步至全局存储上。在本发明实施例中,所述全局存储为跨可用区的全局存储,所谓可用区(availablezone,az)指的是由多个交换机组成的区域,其中,全局存储可以是全局存储器,也可以是全局存储空间,还可以是全局云存储空间;在云环境中,有很多可用区存在,一个可用区有很多系统管理程序,其中,如果将应用部署在两个az上,代表这个应用的多个实例一定不是在一个交换机上;如果将应用跨az部署,那么一个az上的交换机有问题,我们就可以立即启动另外一个az上的应用实例,保证应用的高可用性。因此,本发明实施例采用跨可用区的全局存储,该全局存储可以被两个或者两个以上可用区共享,以便于快速将克隆的虚拟机从一个可用区到另一个可用区。

接收单元203,用于接收目标物理机或者目标虚拟机发送的复制请求。在本发明实施例中,客户预先确定所要复制的所述目标物理机或者目标虚拟机,并将目标虚拟机或者目标物理机将与所述全局存储进行关联,若所述目标物理机或者目标虚拟机需要获取虚拟机副本进行运行,所述目标物理机或者目标虚拟机可以通过所述全局存储与所述目标虚拟机或者目标物理机的关联关系将复制请求发送给所述全局存储以要求获得虚拟机副本。

第三复制单元204,用于根据所述复制请求在所述全局存储上对所述虚拟机副本进行复制。在本发明实施例中,若接收到目标物理机或者目标虚拟机发送的复制请求,所述全局存储便会接收到与所述复制请求相对应的复制指令,该复制指令也复制请求相对应并从目标物理机或者目标虚拟机获得,所述全局存储根据该复制指令对全局存储上的虚拟机副本进行复制。

发送单元205,用于将复制后的虚拟机副本发送至目标物理机或者目标虚拟机上。在本发明实施例中,根据该复制指令对全局存储上的虚拟机副本进行复制后,得到与所述虚拟机副本完全相同的另一虚拟机副本,并将复制后的虚拟机副本发送至目标物理机或者目标虚拟机上。

执行单元206,用于在所述目标物理机或者目标虚拟机中执行所述虚拟机副本的操作。在本发明实施例中,所述vm操作指的是在目标物理机或者目标虚拟机上,执行所复制的虚拟机副本,即在目标物理机或者目标虚拟机上运行所克隆的虚拟机副本,在执行vm操作时,所述虚拟机副本在目标物理机或者目标虚拟机中被运行的过程,与所述虚拟机副本对应的原始虚拟机或者虚拟机快照执行的vm操作完全一致,并且两者互不影响、互相独立。

请参阅图10,对应上述一种虚拟机快速扩容方法,本发明实施例还提出一种虚拟机快速扩容装置,该装置300包括:克隆单元301、同步单元302、第一复制单元303、执行单元304、监控单元305、告警单元306。

其中,所述克隆单元301,用于对虚拟机进行克隆,得到虚拟机副本。在本发明实施例中,一般情况下,所述克隆指的是在vmware软件中对虚拟机的原始状态进行拷贝,或者进行镜像等复制操作,所谓虚拟机中的原始状态包括虚拟机中各应用软件、各脚本以及各应用插件等,因此,完成对虚拟机进行克隆的操作,即完成对虚拟机中的各应用软件、各脚本以及各应用插件等克隆的操作。

需要说明的是,对虚拟机进行克隆并不会影响虚拟机本身,也就是说对虚拟机进行克隆只是进行了如拷贝、镜像的操作,并不会损坏原始虚拟机中的应用软件、脚本等软件程序,并且将克隆后得到的虚拟机称为虚拟机副本,该虚拟机副本可以脱离原始虚拟机而独立存在,该虚拟机副本具备原始虚拟机的所有应用软件、所有脚本以及所有应用插件等。

获取单元302,用于将所述虚拟机副本同步至全局存储上。在本发明实施例中,所述全局存储为跨可用区的全局存储,所谓可用区(availablezone,az)指的是由多个交换机组成的区域,其中,全局存储可以是全局存储器,也可以是全局存储空间,还可以是全局云存储空间;在云环境中,有很多可用区存在,一个可用区有很多系统管理程序,其中,如果将应用部署在两个az上,代表这个应用的多个实例一定不是在一个交换机上;如果将应用跨az部署,那么一个az上的交换机有问题,我们就可以立即启动另外一个az上的应用实例,保证应用的高可用性。因此,本发明实施例采用跨可用区的全局存储,该全局存储可以被两个或者两个以上可用区共享,以便于快速将克隆的虚拟机从一个可用区到另一个可用区。

第一复制单元303,用于将所述虚拟机副本复制到目标物理机或者目标虚拟机上。在本发明实施例中,在vmware8.0虚拟机软件上的虚拟机副本可以视为一个vmdk文件,也就是说一个克隆的虚拟机即为一个vmdk文件,由于克隆类型中的linkedclone或者fullclone均具有拷贝虚拟机副本的功能,因此,对于两个az的全局存储,若需要将虚拟机副本复制到另一个可用区中,用户可以选择linkedclone或者fullclone的方法将所述虚拟机副本从一个可用区拷贝至另一个可用区中,其中,将目标拷贝的可用区作为目标物理机或者目标虚拟机。

执行单元304,用于在所述目标物理机或者目标虚拟机中执行所述虚拟机副本的操作。在本发明实施例中,所述vm操作指的是在目标物理机或者目标虚拟机上,执行所复制的虚拟机副本,即在目标物理机或者目标虚拟机上运行所克隆的虚拟机副本,在执行vm操作时,所述虚拟机副本在目标物理机或者目标虚拟机中被运行的过程,与所述虚拟机副本对应的原始虚拟机或者虚拟机快照执行的vm操作完全一致,并且两者互不影响、互相独立。

监控单元305,用于监控所述虚拟机副本的工作状态。

告警单元306,用于若监测到所述虚拟机副本工作状态异常,发出告警信息。在本发明实施例中,所述虚拟机副本的工作状态异常包括非正常关闭、无法运行虚拟机等等。若所述虚拟机副本的工作状态异常为非正常关闭,触发告警,具体为触发目标物理机或者目标虚拟机中的蜂鸣器告警;或者,若所述虚拟机副本的工作状态异常为无法运行虚拟机,触发告警,具体为触发目标物理机或者目标虚拟机中的光源装置告警。

在硬件实现上,以上克隆单元101、同步单元102、第一复制单元103、执行单元104等可以以硬件形式内嵌于或独立于数据处理的装置中,也可以以软件形式存储于数据处理装置的存储器中,以便处理器调用执行以上各个单元对应的操作。该处理器可以为中央处理单元(cpu)、微处理器、单片机等。

上述虚拟机快速扩容装置可以实现为一种计算机程序的形式,计算机程序可以在如图11所示的计算机设备上运行。

图11为本发明一种虚拟机快速扩容设备的结构组成示意图。该设备可以是终端,也可以是服务器,其中,终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式装置等具有通信功能的电子装置。服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。参照图11,该计算机设备500包括通过系统总线501连接的处理器502、非易失性存储介质503、内存储器504和网络接口505。其中,该计算机设备500的非易失性存储介质503可存储操作系统5031和计算机程序5032,该计算机程序5032被执行时,可使得处理器502执行一种虚拟机快速扩容方法。该计算机设备500的处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序被处理器执行时,可使得处理器502执行一种虚拟机快速扩容方法。计算机设备500的网络接口505用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

其中,所述处理器502执行如下操作:

对虚拟机进行克隆,得到虚拟机副本;

将所述虚拟机副本同步至全局存储上;

将所述虚拟机副本复制到目标物理机或者目标虚拟机上;

在所述目标物理机或者目标虚拟机中执行所述虚拟机副本的操作。

在一个实施例中,所述将所述虚拟机副本复制到目标物理机或者目标虚拟机上,包括:

接收目标物理机或者目标虚拟机发送的复制请求;

根据所述复制请求在所述全局存储上对所述虚拟机副本进行复制;

将复制后的虚拟机副本发送至目标物理机或者目标虚拟机上。

在一个实施例中,所述对虚拟机进行克隆,包括:

接收打开目标虚拟机的指令,并根据所接收的指令打开目标虚拟机;

若检测到在预设的克隆平台上单击预设的克隆虚拟按键的操作,启动虚拟机的克隆;

在当前显示界面中选择目标虚拟机的克隆状态;

根据所选择的目标虚拟机的克隆状态在当前显示界面选择克隆类型;

根据所选择的克隆类型对所述目标虚拟机进行克隆。

在一个实施例中,所述将所述虚拟机副本复制到目标物理机或者目标虚拟机上,包括:

调用预设云环境平台的弹性伸缩接口;

通过所述弹性伸缩接口将所述虚拟机副本复制到目标物理机或者目标虚拟机上。

所述处理器502还执行如下操作:

监控所述虚拟机副本的工作状态;

若监测到所述虚拟机副本工作状态异常,发出告警信息。

本领域技术人员可以理解,图11中示出的虚拟机快速扩容设备的实施例并不构成对虚拟机快速扩容设备具体构成的限定,在其他实施例中,虚拟机快速扩容设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,虚拟机快速扩容设备以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图9所示实施例一致,在此不再赘述。

本发明提供了一种计算机可读存储介质,计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序可被一个或者一个以上的处理器执行,以实现以下步骤:

对虚拟机进行克隆,得到虚拟机副本;

将所述虚拟机副本同步至全局存储上;

将所述虚拟机副本复制到目标物理机或者目标虚拟机上;

在所述目标物理机或者目标虚拟机中执行所述虚拟机副本的操作。

在一个实施例中,所述将所述虚拟机副本复制到目标物理机或者目标虚拟机上,包括:

接收目标物理机或者目标虚拟机发送的复制请求;

根据所述复制请求在所述全局存储上对所述虚拟机副本进行复制;

将复制后的虚拟机副本发送至目标物理机或者目标虚拟机上。

在一个实施例中,所述对虚拟机进行克隆,包括:

接收打开目标虚拟机的指令,并根据所接收的指令打开目标虚拟机;

若检测到在预设的克隆平台上单击预设的克隆虚拟按键的操作,启动虚拟机的克隆;

在当前显示界面中选择目标虚拟机的克隆状态;

根据所选择的目标虚拟机的克隆状态在当前显示界面选择克隆类型;

根据所选择的克隆类型对所述目标虚拟机进行克隆。

在一个实施例中,所述将所述虚拟机副本复制到目标物理机或者目标虚拟机上,包括:

调用预设云环境平台的弹性伸缩接口;

通过所述弹性伸缩接口将所述虚拟机副本复制到目标物理机或者目标虚拟机上。

在一个实施例中,还实现以下步骤:

监控所述虚拟机副本的工作状态;

若监测到所述虚拟机副本工作状态异常,发出告警信息。

本发明前述的存储介质包括:磁碟、光盘、只读存储记忆体(read-onlymemory,rom)等各种可以存储程序代码的介质。

本发明所有实施例中的单元可以通过通用集成电路,例如cpu(centralprocessingunit,中央处理器),或通过asic(applicationspecificintegratedcircuit,专用集成电路)来实现。

本发明实施例虚拟机快速扩容方法中的步骤可以根据实际需要进行顺序调整、合并和删减。

本发明实施例虚拟机快速扩容装置中的单元可以根据实际需要进行合并、划分和删减。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1