发明内容
基于此,有必要针对上述问题,提供一种便于提高效率且操作简便的虚拟机模板镜像管理方法和系统。
一种虚拟机模板镜像管理方法,该方法包括:获取触发将第一数据中心的虚拟机模板镜像同步到第二数据中心的指令;检测第二数据中心是否存在虚拟机模板镜像;若否,则根据预先设置的同步参数将虚拟机模板镜像同步到第二数据中心。
在其中一个实施例中,上述方法还包括:接收迁移第一数据中心的目标虚拟机到第二数据中心的指令;检测目标虚拟机对应的虚拟机模板镜像在第二数据中心中是否存在;若存在,则将目标虚拟机的增量数据和对应的虚拟机模板镜像的唯一标识发送到第二数据中心,使第二数据中心根据虚拟机模板镜像的唯一标识找到已存在的虚拟机模板镜像,并根据目标虚拟机的增量数据与已存在的虚拟机模板镜像恢复目标虚拟机。
在其中一个实施例中,获取触发将第一数据中心的虚拟机模板镜像同步到第二数据中心的指令的步骤,包括:获取第一数据中心创建虚拟机模板镜像或创建虚拟机或更新虚拟机模板镜像的请求或当获取到同步虚拟机模板镜像的操作指令时,根据请求或操作指令触发将第一数据中心的虚拟机模板镜像同步到第二数据中心的指令。
在其中一个实施例中,根据预先设置的同步参数将虚拟机模板镜像同步到第二数据中心的步骤,包括:检测预先设置的同步方式;若同步方式为网络闲时同步,则在网络空闲时将虚拟机模板镜像同步到第二数据中心;若同步方式为按固定时间同步,则按照预设时间间隔或者在预设时间点将虚拟机模板镜像同步到第二数据中心。
在其中一个实施例中,上述方法还包括:当第一数据中心更新虚拟机模板镜像时,检测第二数据中心是否存在虚拟机模板镜像,若是,则第一数据中心更新虚拟机模板镜像,并保存更新虚拟机模板镜像带来的增量数据;将增量数据和虚拟机模板镜像的唯一标识发送到第二数据中心,使第二数据中心根据虚拟机模板镜像的唯一标识找到已存在的虚拟机模板镜像,并根据增量数据和已存在的虚拟机模板镜像更新已存在的虚拟机模板镜像。
一种虚拟机模板镜像管理系统,该系统包括:获取模块,用于获取触发将第一数据中心的虚拟机模板镜像同步到第二数据中心的指令;第一检测模块,用于检测第二数据中心是否存在所述虚拟机模板镜像;同步模块,用于若所述第二数据中心不存在虚拟机模板镜像,则根据预先设置的同步参数将虚拟机模板镜像同步到第二数据中心。
在其中一个实施例中,上述系统还包括:第一接收模块,用于接收迁移第一数据中心的目标虚拟机到第二数据中心的指令;第二检测模块,检测目标虚拟机对应的虚拟机模板镜像在第二数据中心中是否存在;第一恢复模块,用于若目标虚拟机对应的虚拟机模板镜像在第二数据中心存在,则将目标虚拟机的增量数据和对应的虚拟机模板镜像的唯一标识发送到第二数据中心,使第二数据中心根据虚拟机模板镜像的唯一标识找到已存在的虚拟机模板镜像,并根据目标虚拟机的增量数据与已存在的虚拟机模板镜像恢复目标虚拟机。
在其中一个实施例中,获取模块还用于获取第一数据中心创建虚拟机模板镜像或创建虚拟机或更新虚拟机模板镜像的请求或当获取到同步虚拟机模板镜像的操作指令时,根据请求或操作指令触发将第一数据中心的虚拟机模板镜像同步到第二数据中心的指令。
在其中一个实施例中,同步模块还用于检测预先设置的同步方式,若同步方式为网络闲时同步,则在网络空闲时将虚拟机模板镜像同步到第二数据中心;若同步方式为按固定时间同步,则按照预设时间间隔或者在预设时间点将虚拟机模板镜像同步到第二数据中心。
在其中一个实施例中,上述系统还包括:更新模块,用于当第一数据中心更新虚拟机模板镜像时,检测第二数据中心是否存在虚拟机模板镜像,若是,则第一数据中心更新虚拟机模板镜像,并保存更新虚拟机模板镜像带来的增量数据;发送模块,用于将增量数据和虚拟机模板镜像的唯一标识发送到第二数据中心,使第二数据中心根据虚拟机模板镜像的唯一标识找到已存在的虚拟机模板镜像,并根据增量数据和已存在的虚拟机模板镜像更新已存在的虚拟机模板镜像。
上述虚拟机模板镜像管理方法和系统,通过获取触发将第一数据中心的虚拟机模板镜像同步到第二数据中心的指令;检测第二数据中心是否存在虚拟机模板镜像;若否,则根据预先设置的同步参数将虚拟机模板镜像同步到第二数据中心。当第二数据中心不存在虚拟机模板镜像时,根据预先设置的同步参数自动将虚拟机模板镜像同步到第二数据中心,实现了根据触发同步参数的指令即可自动传输虚拟机模板镜像,操作简便。另外,以后当需要迁移虚拟机时,只需要迁移虚拟机的增量数据,减少了虚拟机迁移时的数据量传输,从而提高了数据传输的速度和效率。
此外,还提供了一种能提高虚拟机迁移速度的虚拟机迁移方法和系统。
一种虚拟机迁移方法,上述方法包括:接收迁移第一数据中心的目标虚拟机到第二数据中心的指令;检测目标虚拟机对应的虚拟机模板镜像在第二数据中心中是否存在;若存在,则将目标虚拟机的增量数据和对应的虚拟机模板镜像的唯一标识发送到第二数据中心,使第二数据中心根据虚拟机模板镜像的唯一标识找到已存在的虚拟机模板镜像,并根据目标虚拟机的增量数据与已存在的虚拟机模板镜像恢复目标虚拟机。
在其中一个实施例中,上述方法还包括:若检测到目标虚拟机对应的虚拟机模板镜像在第二数据中心中存在,则进一步检测第一数据中心中是否存在虚拟机模板镜像的增量数据,若是,则发送目标虚拟机的增量数据、第一数据中心中更新的虚拟机模板镜像的增量数据和虚拟机模板镜像的唯一标识到第二数据中心,使第二数据中心根据虚拟机模板镜像的唯一标识找到已存在的虚拟机模板镜像,并根据已存在的虚拟机模板镜像、虚拟机模板镜像的增量数据和目标虚拟机的增量数据恢复目标虚拟机。
一种虚拟机迁移系统,该系统包括:第二接收模块,用于接收迁移第一数据中心的目标虚拟机到第二数据中心的指令;第三检测模块,用于检测目标虚拟机对应的虚拟机模板镜像在第二数据中心中是否存在;第二恢复模块,用于若目标虚拟机对应的虚拟机模板镜像在第二数据中心存在,则将目标虚拟机的增量数据和对应的虚拟机模板镜像的唯一标识发送到第二数据中心,使第二数据中心根据虚拟机模板镜像的唯一标识找到已存在的虚拟机模板镜像,并根据目标虚拟机的增量数据与已存在的虚拟机模板镜像恢复目标虚拟机。
在其中一个实施例中,上述系统还包括:第四检测模块,用于若检测到目标虚拟机对应的虚拟机模板镜像在第二数据中心中存在,则进一步检测第一数据中心中是否存在虚拟机模板镜像的增量数据;第三恢复模块,用于若第一数据中心存在虚拟机模镜像的增量数据则发送目标虚拟机的增量数据、第一数据中心中更新的虚拟机模板镜像的增量数据和虚拟机模板镜像的唯一标识到第二数据中心,使第二数据中心根据虚拟机模板镜像的唯一标识找到已存在的虚拟机模板镜像,并根据已存在的虚拟机模板镜像、虚拟机模板镜像的增量数据和目标虚拟机的增量数据恢复目标虚拟机。
上述虚拟机迁移方法和系统,接收迁移第一数据中心的目标虚拟机到第二数据中心的指令;检测目标虚拟机对应的虚拟机模板镜像在第二数据中心中是否存在;若存在,则将目标虚拟机的增量数据和对应的虚拟机模板镜像的唯一标识发送到第二数据中心,使第二数据中心根据虚拟机模板镜像的唯一标识找到已存在的虚拟机模板镜像,并根据目标虚拟机的增量数据与已存在的虚拟机模板镜像恢复目标虚拟机。当需要进行虚拟机迁移时,若第二数据中心已经存在目标虚拟机对应的虚拟机模板镜像,则只需要将虚拟机的增量数据和该虚拟机对应的虚拟机模板镜像的唯一标识传送到第二数据中心,不需要再传送目标虚拟机对应的虚拟机模板镜像,大大减少了一次性数据传输量,提高了虚拟机迁移速度。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,提出了一种虚拟机模板镜像管理方法,该方法包括:
步骤102,获取触发将第一数据中心的虚拟机模板镜像同步到第二数据中心的指令。
具体的,虚拟机模板镜像是一种专门用来创建与之相同配置虚拟机的一种虚拟机镜像,虚拟机镜像保存了虚拟机硬盘的全部信息,不同厂商的存储方式有所不同,但都以不同的方式保存了虚拟机硬盘的全部信息。第二数据中心可以是除了第一数据中心之外的其它所有数据中心的集合,也可以是指定的一个或者多个数据中心。即可以理解为,可以将第一数据中心的虚拟机模板镜像同时同步到一个或多个其它的数据中心中。触发第一数据中心的虚拟机模板镜像同步到第二数据中心的指令可以是通过获取第一数据中心创建虚拟机模板镜像的请求,也可以是获取第一数据中心创建虚拟机的请求,也可以是获取第一数据中心更新虚拟机模板镜像的请求。在另一个实施例中,在获取触发将第一数据中心的虚拟机模板镜像同步到第二数据中心的指令的步骤之后,还包括:检测是否开启了多数据中心同步虚拟机模板镜像的设置,若是,则进入步骤104,若否,则结束。
步骤104,检测第二数据中心是否存在虚拟机模板镜像,若否,则进入步骤106,若是,则结束。
具体的,当获取到触发将第一数据中心的虚拟机模板镜像同步到第二数据中心的指令后,检测指定的一个或多个其它数据中心中是否存在该虚拟机模板镜像,如果不存在,将根据预先的设置的同步参数将该虚拟机模板镜像同步到其它数据中心。
步骤106,根据预先设置的同步参数将虚拟机模板镜像同步到第二数据中心。
具体的,同步参数设定了将虚拟机模板镜像同步到其它数据中心的时机,同步参数可以设置为网络闲时同步,当网络空闲的时候开始进行同步,即选择网络占用率小的时候开始同步,这样一方面不会影响网络的正常使用,另一方面也可以加快虚拟机模板镜像同步的速率。
在本实施例中,通过获取触发将第一数据中心的虚拟机模板镜像同步到第二数据中心的指令,检测第二数据中心是否存在虚拟机模板镜像,若否,则根据预先设置的同步参数将虚拟机模板镜像同步到第二数据中心。当第二数据中心不存在虚拟机模板镜像时,根据预先设置的同步参数自动将虚拟机模板镜像同步到第二数据中心,实现了根据触发同步参数的指令即可自动传输虚拟机模板镜像,操作简便。另外,以后当需要迁移虚拟机时,只需要迁移虚拟机的增量数据,减少了虚拟机迁移时的数据量传输,从而提高了数据传输的速度和效率。
如图2所示,在一个实施例中,上述虚拟机模板镜像管理方法还包括:
步骤108,接收迁移第一数据中心的目标虚拟机到第二数据中心的指令。
在本实施例中,当需要将虚拟机从第一数据中心迁移到第二数据中心时,获取迁移指令后,检测需要迁移的虚拟机对应的虚拟机模板镜像是否之前已经同步到第二数据中心,即第二数据中心是否已经存在该虚拟机对应的虚拟机模板镜像。其中,这里的第二数据中心一般指的是指定的一个或多个数据中心。在实际中,迁移的触发场景有员工出差或者调动,比如,员工1从办公地点A切换到办公地点B,这样需要将员工1对应的虚拟机数据从数据中心A迁移到数据中心B。
步骤110,检测目标虚拟机对应的虚拟机模板镜像在第二数据中心中是否存在;若存在,则进入步骤112,若不存在,则结束。
在本实施例中,迁移虚拟机之前首先需要检测要迁移的目标虚拟机对应的虚拟机模板镜像是否已经在第二数据中心中存在,若是,则只需要迁移虚拟机的增量数据。若否,则结束。在另一个实施例中,若第二数据中心不存在该虚拟机模板镜像对应的虚拟机模板镜像,则将目标虚拟机的增量数据和与其对应的虚拟机模板镜像一起传输到第二数据中心。
步骤112,将目标虚拟机的增量数据和对应的虚拟机模板镜像的唯一标识发送到第二数据中心,使第二数据中心根据虚拟机模板镜像的唯一标识找到已存在的虚拟机模板镜像,并根据目标虚拟机的增量数据与已存在的虚拟机模板镜像恢复目标虚拟机。
具体的,当检测到第二数据中心已存在目标虚拟机对应的虚拟机模板镜像,则将该目标虚拟机的增量数据和对应的虚拟机模板镜像的唯一标识一起发送到第二数据中心,第二数据中心接收到该目标虚拟机数据和对应的虚拟机模板镜像的唯一标识后,根据唯一标识找到在第二数据中心已存在的虚拟机模板镜像,利用已存在的虚拟机模板镜像和虚拟机的增量数据恢复虚拟机的功能。
在一个实施例中,获取触发将第一数据中心的虚拟机模板镜像同步到第二数据中心的指令的步骤,包括:获取第一数据中心创建虚拟机模板镜像或创建虚拟机或更新虚拟机模板镜像的请求或当获取到同步虚拟机模板镜像的操作指令时,根据上述请求或操作指令触发将第一数据中心的虚拟机模板镜像同步到第二数据中心的指令。
具体的,触发将第一数据中心的虚拟机模板镜像同步到第二数据中心的方式可以有多种,可以是在通过VMP(VirtualdesktopManagementPlatform,虚拟桌面管理平台)创建虚拟机模板镜像时触发,也可以是在利用虚拟机模板创建虚拟机的时候触发,还可以是更新虚拟机模板镜像时触发。其中,VMP是桌面云的载体,一台或者多台运行有众多虚拟桌面和虚拟应用的服务器。虚拟机模板镜像可以用来创建虚拟机,用于在VDC(VirtualDesktopControl,虚拟桌面接入管理系统)上为用户分配虚拟机资源,其中,虚拟机桌面接入管理系统用于通过一系列安全机制对接入桌面云的用户进行认证和授权,该系统可以很方便对用户进行添加、删除、设置密码、设定角色并赋予不同权限等操作。
另外,当获取到同步虚拟机模板镜像的操作指令时,根据操作指令也可触发将第一数据中心的虚拟机模板镜像同步到第二数据中心。本实施例中,在虚拟机操作界面可设置有同步模板镜像的按钮,比如设置“一键同步”按钮,当管理员点击该按钮,则产生同步虚拟机模板镜像的操作指令,第一数据中心接收到该操作指令,即可触发将第一数据中心的虚拟机模板镜像同步到第二数据中心。本实施例中,管理员可以随时触发同步,实现一键同步,提高了同步虚拟机模板镜像的灵活性。
如图3所示,在一个实施例中,根据预先设置的同步参数将虚拟机模板镜像同步到第二数据中心的步骤,包括:
步骤106a,检测预先设置的同步方式。
在本实施例中,若检测到第二数据中心不存在要同步的虚拟机模板镜像,则获取预先设置的同步方式,根据获取到的同步方式进行相应的同步操作。其中,同步的方式有多种,进行同步方式设置的方法也可以有多种。具体的,管理员用户可以预先通过获取设置同步方式的界面,在界面上进行同步方式的选择设置,比如,可以选择网络闲时同步,也可以选择在固定时间点同步。在另一个实施例中,还可以是在检测到第二数据中心不存在要同步的虚拟机模板镜像后,获取进行同步方式设置的界面,在界面上实时的选择要同步的方式。
步骤106b,若同步方式为网络闲时同步,则在网络空闲时将虚拟机模板镜像同步到第二数据中心。
在本实施例中,若获取到的预先设置的同步方式为网络闲时同步,则在网络空闲时即网络占用率较小时开始将虚拟机模板镜像同步到第二数据中心。
步骤106c,若同步方式为按固定时间同步,则按照预设时间间隔或者在预设时间点将虚拟机模板镜像同步到第二数据中心。
在本实施例中,若获取到的预先设置的同步方式为按固定时间同步,则按预先设置的时间间隔或者在预设时间点开始将虚拟机模板镜像同步到第二数据中心。具体的,预设的时间间隔可以理解为隔预设的一段时间后(比如一个小时后)开始进行同步虚拟机模板镜像的操作。在预设时间点可以理解为具体设置在某个时间点(比如,18:00点)开始同步,还可以是在指定的某个时间范围内(比如,18:00-20:00)进行同步虚拟机模板镜像。
如图4所示,在一个实施例中,上述虚拟机模板镜像管理方法还包括:
步骤402,获取第一数据中心更新虚拟机模板镜像的请求,根据请求触发将第一数据中心的虚拟机模板镜像同步到第二数据中心的指令。
在本实施例中,当虚拟机模板镜像需要更新时,获取到第一数据中心更新虚拟机模板镜像的请求后,触发将第一数据中心的虚拟机模板镜像同步到第二数据中心的指令,然后需要首先去检测第二数据中心是否存在该虚拟机模板镜像。
步骤404,检测第二数据中心是否存在虚拟机模板镜像,若是,则执行步骤406,若否,则进入步骤405。
在本实施例中,检测第二数据中心是否已存在需要同步的虚拟机模板镜像,如果已经存在,则只需要把更新虚拟机模板镜像的增量数据同步到第二数据中心;如果第二数据中心不存在该虚拟机模板镜像,则直接把更新后的虚拟机模板镜像同步到第二数据中心。
步骤405,将更新后的虚拟机模板镜像同步到第二数据中心。
在本实施例中,当检测到第二数据中心不存在需要更新的虚拟机模板镜像后,首先在第一数据中心执行更新虚拟机模板镜像,再将更新后的虚拟机模板镜像同步到第二数据中心,同时为了保证虚拟机模板镜像的功能,将更新前的虚拟机模板镜像进行备份。
步骤406,第一数据中心更新虚拟机模板镜像,并保存更新虚拟机模板镜像带来的增量数据。
在本实施例中,若检测到第二数据中心已存在需要更新的虚拟机模板镜像,则首先在第一数据中心执行更新虚拟机模板镜像,并将更新该虚拟机模板镜像带来的增量数据进行保存。
步骤408,将增量数据和虚拟机模板镜像的唯一标识发送到第二数据中心,使第二数据中心根据虚拟机模板镜像的唯一标识找到已存在的虚拟机模板镜像,并根据增量数据和已存在的虚拟机模板镜像更新已存在的虚拟机模板镜像。
具体的,将增量数据和标识该虚拟机模板镜像的唯一标识ID一起发送到第二数据中心。同样的虚拟机模板镜像对应的唯一标识也相同。第二数据中心收到更新虚拟机模板镜像的增量数据和虚拟机模板镜像的唯一标识后,首先根据该唯一标识找到在第二数据中心已存在的同样的虚拟机模板镜像,然后执行增量数据和虚拟机模板镜像的合并操作,完成虚拟机模板镜像的更新,同时为了能够保持原来的功能,将原来的虚拟机模板镜像进行保存备份。
在本实施例中,通过接收迁移第一数据中心的目标虚拟机到第二数据中心的指令,检测目标虚拟机对应的虚拟机模板镜像在第二数据中心中是否存在,若存在,则将目标虚拟机和对应的虚拟机模板镜像的唯一标识发送到第二数据中心,使第二数据中心根据虚拟机模板镜像的唯一标识找到已存在的虚拟机模板镜像,并根据目标虚拟机与已存在的虚拟机模板镜像恢复目标虚拟机。当虚拟机对应的虚拟机模板镜像在第二数据中心存在时,只需要传送虚拟机和该虚拟机对应的虚拟机模板镜像的唯一标识,大大减少了数据的传输,提高了传送速率。
如图5所示,在一个实施例中,提出了一种虚拟机模板镜像管理系统,该系统包括:
获取模块502,用于获取触发将第一数据中心的虚拟机模板镜像同步到第二数据中心的指令。
第一检测模块504,用于检测第二数据中心是否存在虚拟机模板镜像。
同步模块506,用于若第二数据中心不存在虚拟机模板镜像,则根据预先设置的同步参数将虚拟机模板镜像同步到第二数据中心。
如图6所示,在一个实施例中,上述虚拟机模板镜像管理系统还包括:
第一接收模块508,用于接收迁移第一数据中心的目标虚拟机到第二数据中心的指令。
第二检测模块510,用于检测目标虚拟机对应的虚拟机模板镜像在第二数据中心中是否存在。
第一恢复模块512,用于若目标虚拟机对应的虚拟机模板镜像在第二数据中心存在,则将目标虚拟机的增量数据和对应的虚拟机模板镜像的唯一标识发送到第二数据中心,使第二数据中心根据虚拟机模板镜像的唯一标识找到已存在的虚拟机模板镜像,并根据目标虚拟机的增量数据与已存在的虚拟机模板镜像恢复目标虚拟机。
在一个实施例中,获取模块502还用于获取第一数据中心创建虚拟机模板镜像或创建虚拟机或更新虚拟机模板镜像的请求或当获取到同步虚拟机模板镜像的操作指令时,根据请求或操作指令触发将第一数据中心的虚拟机模板镜像同步到第二数据中心的指令。
在一个实施例中,同步模块506还用于检测预先设置的同步方式,若同步方式为网络闲时同步,则在网络空闲时将虚拟机模板镜像同步到第二数据中心;若同步方式为按固定时间同步,则按照预设时间间隔或者在预设时间点将虚拟机模板镜像同步到第二数据中心。
如图7所示,在一个实施例中,上述虚拟机模板镜像管理系统还包括:
更新模块507,用于当第一数据中心更新虚拟机模板镜像时,检测第二数据中心是否存在虚拟机模板镜像,若是,则第一数据中心更新虚拟机模板镜像,并保存更新虚拟机模板镜像带来的增量数据。
发送模块508,用于将增量数据和虚拟机模板镜像的唯一标识发送到第二数据中心,使第二数据中心根据虚拟机模板镜像的唯一标识找到已存在的虚拟机模板镜像,并根据增量数据和已存在的虚拟机模板镜像更新已存在的虚拟机模板镜像。
如图8所示,在一个实施例中,提出了一种虚拟机迁移方法,该方法包括:
步骤802,接收迁移第一数据中心的目标虚拟机到第二数据中心的指令。
在本实施例中,当需要将虚拟机从第一数据中心迁移到第二数据中心时,获取迁移指令后,检测迁移的虚拟机对应的虚拟机模板镜像是否之前已经同步到第二数据中心,即第二数据中心是否已经存在该虚拟机对应的虚拟机模板镜像。其中,这里的第二数据中心一般指的是指定的一个或多个数据中心。在实际中,迁移的触发场景有员工出差或者调动,比如,员工1从办公地点A切换到办公地点B,这样需要将员工1对应的虚拟机数据从数据中心A迁移到数据中心B。
步骤804,检测目标虚拟机对应的虚拟机模板镜像在第二数据中心中是否存在,若是,则执行步骤806,若否,则结束。
在本实施例中,迁移虚拟机之前首先需要检测要迁移的目标虚拟机对应的虚拟机模板镜像是否已经在第二数据中心中存在,若是,则只需要迁移虚拟机的增量数据。若否,则结束。在另一个实施例中,若第二数据中心不存在该虚拟机模板镜像对应的虚拟机模板镜像,则将目标虚拟机的增量数据和其对应的虚拟机模板镜像一起传输到第二数据中心。
步骤806,将目标虚拟机的增量数据和对应的虚拟机模板镜像的唯一标识发送到第二数据中心,使第二数据中心根据虚拟机模板镜像的唯一标识找到已存在的虚拟机模板镜像,并根据目标虚拟机的增量数据与已存在的虚拟机模板镜像恢复目标虚拟机。
具体的,当检测到第二数据中心已存在目标虚拟机对应的虚拟机模板镜像,则将该目标虚拟机的增量数据和对应的虚拟机模板镜像的唯一标识一起发送到第二数据中心,第二数据中心接收到该目标虚拟机的增量数据和对应的虚拟机模板镜像的唯一标识后,根据唯一标识找到在第二数据中心已存在的虚拟机模板镜像,利用已存在的虚拟机模板镜像恢复虚拟机的功能。
在本实施例中,通过接收迁移第一数据中心的目标虚拟机到第二数据中心的指令,检测目标虚拟机对应的虚拟机模板镜像在第二数据中心中是否存在,若存在,则将目标虚拟机的增量数据和对应的虚拟机模板镜像的唯一标识发送到第二数据中心,使第二数据中心根据虚拟机模板镜像的唯一标识找到已存在的虚拟机模板镜像,并根据目标虚拟机的增量数据与已存在的虚拟机模板镜像恢复目标虚拟机。当需要进行虚拟机迁移时,若第二数据中心已经存在目标虚拟机对应的虚拟机模板镜像,则只需要将虚拟机的增量数据和该虚拟机对应的虚拟机模板镜像的唯一标识传送到第二数据中心,不需要再传送目标虚拟机对应的虚拟机模板镜像,大大减少了一次性数据传输量,提高了虚拟机迁移速度。
在一个实施例中,上述虚拟机迁移方法还包括:若检测到目标虚拟机对应的虚拟机模板镜像在第二数据中心中存在,则进一步检测第一数据中心中是否存在虚拟机模板镜像的增量数据,若是,则发送目标虚拟机的增量数据、第一数据中心中更新的虚拟机模板镜像的增量数据和虚拟机模板镜像的唯一标识到第二数据中心,使第二数据中心根据虚拟机模板镜像的唯一标识找到已存在的虚拟机模板镜像,并根据已存在的虚拟机模板镜像、虚拟机模板镜像的增量数据和目标虚拟机的增量数据恢复目标虚拟机。
在本实施例中,若检测到目标虚拟机对应的虚拟机模板镜像在第二数据中心已存在,则进一步检测第一数据中心中的虚拟机模板镜像相对于第二数据中心中的虚拟机模板镜像是否存在更新的增量数据,若是,则将目标虚拟机的增量数据、更新的虚拟机模板镜像的增量数据和虚拟机模板镜像的唯一标识一起发送到第二数据中心,这样,第二数据中心接收到以上数据时,首先根据唯一标识找到已存在的虚拟机模板,利用更新的虚拟机模板镜像的增量数据更新该虚拟机模板镜像,进而利用更新后的虚拟机模板镜像恢复目标虚拟机。若第一数据中心不存在虚拟机模板镜像的增量数据,则只需要将虚拟机的增量数据和该虚拟机对应的虚拟机模板镜像的唯一标识传送到第二数据中心,第二数据中心接收到该虚拟机的增量数据和对应的虚拟机模板镜像的唯一标识后,根据唯一标识找到在第二数据中心已存在的虚拟机模板镜像,利用已存在的虚拟机模板镜像和虚拟机的增量数据恢复虚拟机的功能。
如图9所示,在一个实施例中,提出了一种虚拟机迁移系统,该系统包括:
第二接收模块902,用于接收迁移第一数据中心的目标虚拟机到第二数据中心的指令;
第三检测模块904,用于检测目标虚拟机对应的虚拟机模板镜像在第二数据中心中是否存在;
第二恢复模块906,用于若目标虚拟机对应的虚拟机模板镜像在第二数据中心存在,则将目标虚拟机的增量数据和对应的虚拟机模板镜像的唯一标识发送到第二数据中心,使第二数据中心根据虚拟机模板镜像的唯一标识找到已存在的虚拟机模板镜像,并根据目标虚拟机的增量数据与已存在的虚拟机模板镜像恢复目标虚拟机。
如图10所示,在一个实施例中,上述虚拟机迁移系统还包括:
第四检测模块907,用于若检测到目标虚拟机对应的虚拟机模板镜像在第二数据中心中存在,则进一步检测第一数据中心中是否存在虚拟机模板镜像的增量数据;
第三恢复模块908,用于若第一数据中心存在虚拟机模镜像的增量数据则发送目标虚拟机的增量数据、第一数据中心中更新的虚拟机模板镜像的增量数据和虚拟机模板镜像的唯一标识到第二数据中心,使第二数据中心根据虚拟机模板镜像的唯一标识找到已存在的虚拟机模板镜像,并根据已存在的虚拟机模板镜像、虚拟机模板镜像的增量数据和目标虚拟机的增量数据恢复目标虚拟机。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。