掌桥专利:专业的专利平台
掌桥专利
首页

跨OpenStack的虚拟机迁移方法、装置及介质

文献发布时间:2023-06-19 10:19:37


跨OpenStack的虚拟机迁移方法、装置及介质

技术领域

本申请涉及云计算技术领域,特别是涉及一种跨OpenStack集群的虚拟机迁移方法、装置及计算机可读存储介质。

背景技术

随着云计算技术的发展,多云和混合云成为未来技术发展的趋势,OpenStack由于其独特的优势作为云计算管理平台被广泛应用在各种多云、混合云技术中。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenStack通过各种互补的服务提供了基础设施即服务的解决方案,每个服务提供API以进行集成。

在多云环境下,因用户业务的发展、商务关系等原因,需要将业务虚拟机迁移到其它集群中,相关技术在跨OpenStack集群的迁移虚拟机时,需要在虚拟机关机状态下执行迁移动作,这样就会造成虚拟机业务中断,而且相关技术还需要手工操作、步骤繁琐,容易造成数据丢失。

鉴于此,如何方便、快捷地实现在线跨OpenStack集群迁移虚拟机,保障业务连续性,是所属领域技术人员需要解决的技术问题。

发明内容

本申请提供了一种跨OpenStack集群的虚拟机迁移方法、装置及计算机可读存储介质,实现跨OpenStack集群的虚拟机在线、自动迁移,最大程度减少了虚拟机业务的暂停时间,有效保障虚拟机业务的连续性。为解决上述技术问题,本发明实施例提供以下技术方案:

本发明实施例一方面提供了一种跨OpenStack集群的虚拟机迁移方法,包括:

当迁移任务被创建,创建与源虚拟机磁盘参数相同的云磁盘,并挂载到预先于目标OpenStack集群中创建的代理虚拟机中;

利用所述代理虚拟机读取所述源虚拟机的磁盘备份数据并写入至所述云磁盘中;

在所述源虚拟机将缓存数据刷新至磁盘并创建缓存备份数据过程中,利用所述代理虚拟机将读取的每一次缓存备份数据写入至所述云磁盘直至当前缓存备份数据的占用空间容量值小于预设阈值;

当检测到所述当前缓存备份数据的占用空间容量值小于所述预设阈值,发送暂停所述源虚拟机的指令,同时卸载云磁盘;使用卸载后的云磁盘创建与所述源虚拟机配置和网络地址相同的目标虚拟机。

可选的,所述在所述源虚拟机将缓存数据刷新至磁盘并创建缓存备份数据过程中,利用所述代理虚拟机将读取的每一次缓存备份数据写入至所述云磁盘直至当前缓存备份数据的占用空间容量值小于预设阈值包括:

调用源OpenStack集群接口将所述源虚拟机在当前时刻的缓存数据刷新到所述源虚拟机的磁盘中,并基于所述磁盘备份数据为所述源虚拟机创建增量备份数据,以作为当前时刻的缓存备份数据;

判断所述增量备份数据的占用空间容量值是否小于预设增量阈值;

若所述增量备份数据的占用空间容量值小于所述预设增量阈值,发送暂停所述源虚拟机的指令;若所述增量备份数据的占用空间容量值不小于所述预设增量阈值,返回继续执行所述调用源OpenStack集群接口将所述源虚拟机在当前时刻的缓存数据刷新到所述源虚拟机的磁盘中的操作。

可选的,所述当检测到所述当前缓存备份数据的占用空间容量值小于所述预设阈值,发送暂停所述源虚拟机的指令,同时卸载云磁盘;使用卸载后的云磁盘创建与所述源虚拟机配置和网络地址相同的目标虚拟机包括:

调用目标OpenStack集群接口,将所述云磁盘从所述代理虚拟机中卸载;

使用卸载后的云磁盘创建所述目标虚拟机,并指定所述源虚拟机的IP地址和MAC地址为所述目标虚拟机的IP地址和MAC地址;所述目标虚拟机与所述源虚拟机的配置相同;

启动所述目标虚拟机,并在启动过程中自动设置所述目标虚拟机的IP地址和MAC地址与所述源虚拟机相同;

当所述目标虚拟机完成启动,发送关闭所述源虚拟机的指令,以完成所述源虚拟机从所述源OpenStack集群到所述目标OpenStack集群的迁移。

可选的,所述迁移任务被创建包括:

向授权用户展示管理平台的人机交互界面;

根据用户在所述人机交互界面中输入的所需迁移虚拟机的CPU、内存、磁盘个数和配置信息、网络类型、网卡个数、IP地址和MAC地址,所述目标OpenStack集群的存储后端信息和网络信息自动创建迁移任务。

本发明实施例另一方面提供了一种跨OpenStack集群的虚拟机迁移装置,包括:

代理虚拟机创建模块,用于当迁移任务被创建,创建与源虚拟机磁盘参数相同的云磁盘,并挂载到预先于目标OpenStack集群中创建的代理虚拟机中;

数据迁移模块,用于利用所述代理虚拟机读取所述源虚拟机的磁盘备份数据并写入至所述云磁盘中;

脏数据迁移模块,用于在所述源虚拟机将缓存数据刷新至磁盘并创建缓存备份数据过程中,利用所述代理虚拟机将读取的每一次缓存备份数据写入至所述云磁盘直至当前缓存备份数据的占用空间容量值小于预设阈值;

目标虚拟机创建模块,用于当检测到所述当前缓存备份数据的占用空间容量值小于所述预设阈值,发送暂停所述源虚拟机的指令,同时卸载云磁盘;使用卸载后的云磁盘创建与所述源虚拟机配置和网络地址相同的目标虚拟机。

可选的,所述脏数据迁移模块包括:

缓存数据刷新子模块,用于调用源OpenStack集群接口将所述源虚拟机在当前时刻的缓存数据刷新到所述源虚拟机的磁盘中;

增量备份子模块,用于基于所述磁盘备份数据为所述源虚拟机创建增量备份数据,以作为当前时刻的缓存备份数据;

判断子模块,用于判断所述增量备份数据的占用空间容量值是否小于预设增量阈值;

暂停虚拟机子模块,用于若所述增量备份数据的占用空间容量值小于所述预设增量阈值,发送暂停所述源虚拟机的指令;

跳转执行子模块,用于若所述增量备份数据的占用空间容量值不小于所述预设增量阈值,调用所述缓存数据刷新子模块执行调用源OpenStack集群接口将所述源虚拟机在当前时刻的缓存数据刷新到所述源虚拟机的磁盘中的操作。

可选的,所述目标虚拟机创建模块包括:

卸载子模块,用于调用目标OpenStack集群接口,将所述云磁盘从所述代理虚拟机中卸载;

创建子模块,用于使用卸载后的云磁盘创建所述目标虚拟机,并指定所述源虚拟机的IP地址和MAC地址为所述目标虚拟机的IP地址和MAC地址;所述目标虚拟机与所述源虚拟机的配置相同;

启动子模块,用于启动所述目标虚拟机,并在启动过程中自动设置所述目标虚拟机的IP地址和MAC地址与所述源虚拟机相同;

关闭子模块,用于当所述目标虚拟机完成启动,发送关闭所述源虚拟机的指令,以完成所述源虚拟机从所述源OpenStack集群到所述目标OpenStack集群的迁移。

可选的,还包括任务创建模块,用于向授权用户展示管理平台的人机交互界面;根据用户在所述人机交互界面中输入的所需迁移虚拟机的CPU、内存、磁盘个数和配置信息、网络类型、网卡个数、IP地址和MAC地址,所述目标OpenStack集群的存储后端信息和网络信息自动创建迁移任务。

本发明实施例还提供了一种跨OpenStack集群的虚拟机迁移装置,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如前任一项所述跨OpenStack集群的虚拟机迁移方法的步骤。

本发明实施例最后还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有跨OpenStack集群的虚拟机迁移程序,所述跨OpenStack集群的虚拟机迁移程序被处理器执行时实现如前任一项所述跨OpenStack集群的虚拟机迁移方法的步骤。

本申请提供的技术方案的优点在于,创建代理虚拟机,并利用代理虚拟机挂载磁盘创建目标虚拟机,利用代理虚拟机读取所需迁移虚拟机配置信息的方式实现元数据、磁盘数据和内存数据的迁移至目标虚拟机,通过循环备份方式实现将源虚拟机在运行过程中产生的脏数据迁移至目标集群的虚拟机中,通过读取源虚拟机IP/MCA地址,并在目的集群创建虚拟机时指定IP/MAC地址,实现迁移前后IP、MAC地址不变,实现在线、自动跨OpenStack集群迁移虚拟机,最大程度地减少了虚拟机业务的暂停时间,保障业务的连续性。

此外,本发明实施例还针对跨OpenStack集群的虚拟机迁移方法提供了相应的实现装置及计算机可读存储介质,进一步使得所述方法更具有实用性,所述装置及计算机可读存储介质具有相应的优点。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。

附图说明

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

图1为本发明实施例提供的一种跨OpenStack集群的虚拟机迁移方法的流程示意图;

图2为本发明实施例提供的另一种跨OpenStack集群的虚拟机迁移方法的流程示意图;

图3为本发明实施例提供的跨OpenStack集群的虚拟机迁移装置的一种具体实施方式结构图;

图4为本发明实施例提供的跨OpenStack集群的虚拟机迁移装置的另一种具体实施方式结构图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。

在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种非限制性实施方式。

首先参见图1,图1为本发明实施例提供的一种跨OpenStack集群的虚拟机迁移方法的流程示意图,本发明实施例可包括以下内容:

S101:当迁移任务被创建,创建与源虚拟机磁盘参数相同的云磁盘,并挂载到预先于目标OpenStack集群中创建的代理虚拟机中。

本申请的执行主语可为管理OpenStack集群的管理平台,该管理平台通过调用OpenStack集群接口管理源OpenStack集群和目标OpenStack集群。在迁移任务被创建时,可选择所需迁移虚拟机即源虚拟机及想要迁移至的目标OpenStack集群,源虚拟机在源OpenStack中,并选择目标OpenStack集群对应的磁盘、网络配置,任务会保存源虚拟机的CPU(central processing unit,中央处理器)、内存、磁盘个数、磁盘大小、网络类型、网卡个数、IP地址、MAC地址等信息。也就是说,管理平台创建迁移任务后,迁移任务对于的任务信息可包括所需迁移虚拟机的CPU、内存、磁盘、网络等元数据信息,目的集群存储后端、网络信息等。源虚拟机迁移过程中需要将源虚拟机的元数据、磁盘数据、内存数据、脏数据、网络数据如IP/MAC地址等均迁移至目标OpenStack集群的虚拟机中。

在本申请中,管理平台需要预先在目标OpenStack集群中创建代理虚拟机,该代理虚拟机能够通过集群管理网与源OpenStack集群和目标OpenStack集群通信,并可以通过OpenStack接口访问源OpenStack集群和目标OpenStack集群来管理这两个集群的虚拟机、快照数据和备份资源。代理虚拟机会预置代理程序,该代理程序用于读取源虚拟机的存储数据。本实施例中的磁盘参数相同是指磁盘个数和磁盘配置信息,也即云磁盘与源虚拟机的磁盘的个数和配置信息均相同,本步骤中的云磁盘为空白磁盘。

S102:利用代理虚拟机读取源虚拟机的磁盘备份数据并写入至云磁盘中。

在本步骤中,磁盘备份数据为磁盘数据和内存数据的全量备份数据,在进行虚拟机迁移之前,可先将源虚拟机内存中的数据刷到磁盘中,源虚拟机例如可以通过虚拟机代理Qemu-guest-agent将内存数据刷新到磁盘中,源虚拟机的磁盘中包含磁盘原有数据和内存数据,代理虚拟机通过内置程序读取源虚拟机的磁盘备份数据,并写入空白的云磁盘中,实现虚拟机磁盘数据和内存数据的迁移。

S103:在源虚拟机将缓存数据刷新至磁盘并创建缓存备份数据过程中,利用代理虚拟机将读取的每一次缓存备份数据写入至云磁盘直至当前缓存备份数据的占用空间容量值小于预设阈值。

可以理解的是,本申请在对源虚拟机进行迁移时,源虚拟机仍处于工作状态,故在迁移过程中源虚拟机会因为继续运行产生新的数据,这些运行过程中产生的新数据可称为脏数据。在脏数据进行迁移过程中,将源虚拟机磁盘和内存数据可打为增量备份,当然可为打为全量备份,相比全量备份,增量备份不仅可提高备份效率,还可节省数据占用空间,并通过代理虚拟机将读取这些备份数据写入至云磁盘中,实现脏数据迁移到目标OpenStack集群中。缓存备份数据会随着备份次数的增大,占用空间容量值逐渐降低,为了减少虚拟机暂停时间,保障业务的连续性,可预先设置停止执行缓存备份数据迁移的阈值,该预设阈值为经验值,可根据业务情况灵活并提前设置,例如可设置为50M~100M之间的任何值,例如可为51M、60M、90M等。当缓存备份数据小于指定阈值,将源虚拟机暂停,停止源虚拟机的数据迁移。

S104:当检测到当前缓存备份数据的占用空间容量值小于预设阈值,发送暂停源虚拟机的指令,同时卸载云磁盘;使用卸载后的云磁盘创建与源虚拟机配置和网络地址相同的目标虚拟机。

在本步骤中,源虚拟机处于暂停状态后,将云磁盘从代理虚拟机中卸载,此时的云磁盘中包含源虚拟机的磁盘数据、内存数据和脏数据,在目标OpenStack集群中创建新的虚拟机,该虚拟机作为源虚拟机迁移在目标OpenStack集群的虚拟机,利用卸载的云磁盘创建目标虚拟机,实现将源虚拟机的磁盘数据、内存数据和脏数据迁移至目标虚拟机中,新虚拟机即目标虚拟机的CPU、内存、网络、磁盘信息等元数据在创建任务时指定,保障配置的一致性,这些数据均与源虚拟机均相同,实现源虚拟机元数据的迁移。目标虚拟机的网络地址包括IP地址和MAC地址指定与源虚拟机相同,目标虚拟机在启动时会自动设置与源虚拟机相同的IP/MAC地址信息,保证迁移前后IP、MAC地址不变,实现IP/MAC地址的迁移。

在本发明实施例提供的技术方案中,创建代理虚拟机,并利用代理虚拟机挂载磁盘创建目标虚拟机,利用代理虚拟机读取所需迁移虚拟机配置信息的方式实现元数据、磁盘数据和内存数据的迁移至目标虚拟机,通过循环备份方式实现将源虚拟机在运行过程中产生的脏数据迁移至目标集群的虚拟机中,通过读取源虚拟机IP/MCA地址,并在目的集群创建虚拟机时指定IP/MAC地址,实现迁移前后IP、MAC地址不变,实现在线、自动跨OpenStack集群迁移虚拟机,最大程度地减少了虚拟机业务的暂停时间,保障业务的连续性。

在上述实施例中,对于如何执行任务创建并没有进行限定,为了提升用户使用体验,迁移任务创建过程可包括:

管理平台在检测到授权用户登录后,向授权用户展示管理平台的人机交互界面。人机交互界面可提供迁移任务创建选项,在该选项中可设置输入任务信息的输入框或下拉菜单选项,用户在人机交互界面中输入所需迁移虚拟机的CPU、内存、磁盘个数和配置信息、网络类型、网卡个数、IP地址和MAC地址,目标OpenStack集群的存储后端信息和网络信息,管理平台根据用户在人机交互界面中输入的所需迁移虚拟机的CPU、内存、磁盘个数和配置信息、网络类型、网卡个数、IP地址和MAC地址,目标OpenStack集群的存储后端信息和网络信息自动创建迁移任务。

本实施例可通过UI界面操作,一键可视化、不停机完成虚拟机跨集群迁移,保障业务连续性。

在上述实施例中,对于如何执行步骤S103并不做限定,本实施例中给出一种具体实施方式,可包括如下步骤:

调用源OpenStack集群接口将源虚拟机在当前时刻的缓存数据刷新到源虚拟机的磁盘中,并基于磁盘备份数据为源虚拟机创建增量备份数据,以作为当前时刻的缓存备份数据;

判断增量备份数据的占用空间容量值是否小于预设增量阈值;

若增量备份数据的占用空间容量值小于预设增量阈值,发送暂停源虚拟机的指令;若增量备份数据的占用空间容量值不小于预设增量阈值,返回继续执行调用源OpenStack集群接口将源虚拟机在当前时刻的缓存数据刷新到源虚拟机的磁盘中的操作。

上述实施例的缓存备份数据的备份方式并未进行限定,不同备份方式下的预设阈值不同,本实施例的预设增量阈值为缓存备份数据为增量备份数据对应的阈值。本实施例通过将脏数据进行增量备份并刷新至云磁盘中,在基于上述实施例的有益效果的基础上,还可有效提升数据处理效率。

在上述实施例中,对于如何执行步骤S104并不做限定,本实施例中还给出一种具体实施方式,可包括如下步骤:

调用目标OpenStack集群接口,将云磁盘从代理虚拟机中卸载。

使用卸载后的云磁盘创建目标虚拟机,并指定源虚拟机的IP地址和MAC地址为目标虚拟机的IP地址和MAC地址。其中,目标虚拟机与源虚拟机的配置相同。

启动目标虚拟机,并在启动过程中自动设置目标虚拟机的IP地址和MAC地址与源虚拟机相同。启动新虚拟机时,例如可通过cloudinit等初始化虚拟机方式,读取任务保存的源虚拟机IP/MAC地址信息,并注入新虚拟机。新虚拟机启动时会自动设置IP/MAC地址信息,与原虚拟机相同,实现IP/MAC地址的迁移。

当目标虚拟机完成启动,发送关闭源虚拟机的指令,以完成源虚拟机从源OpenStack集群到目标OpenStack集群的迁移。

最后,为了使所属领域技术人员更加清楚本申请迁移任务的执行流程,如图2所示,本申请还提供了一个示意性例子,可包括下述内容:

a)调用目标OpenStack集群接口创建与源虚拟机A相同的云硬盘disks(>=1个),并挂载到代理虚拟机。

b)调用源OpenStack集群接口为源虚拟机A创建全量备份backup1。

c)代理虚拟机AgentVM读取源虚拟机A的备份数据backup1,并写入对应挂载的云硬盘disks中。

d)调用源OpenStack集群接口将源虚拟机A的缓存数据刷新到磁盘中,并为源虚拟机A创建增量备份backup2。

e)代理虚拟机AgentVM读取源虚拟机A的备份数据backup2,判断backup2数据大小,并写入挂载的云硬盘中disks。

f)循环上述d)和e)步骤,直到增量备份数据大小小于指定阈值T。

g)暂停虚拟机A

h)调用目标OpenStack集群接口将迁移后的硬盘从代理虚拟机卸载。

i)使用新硬盘在目标OpenStack集群中创建新虚拟机B,该虚拟机配置与任务中存储的源虚拟机配置相同,同时指定源虚拟机的IP/MAC地址信息。

j)新虚拟机B启动后,通过cloudinit初始化虚拟机IP、MAC地址。

k)完成迁移任务,将源虚拟机A关机。

本发明可实现跨OpenStack集群在线迁移虚拟机,迁移过程虚拟机不需要关机,迁移磁盘数据的同时迁移缓存数据,最大程度减轻业务暂停时间。

需要说明的是,本申请中各步骤之间没有严格的先后执行顺序,只要符合逻辑上的顺序,则这些步骤可以同时执行,也可按照某种预设顺序执行,图1-图2只是一种示意方式,并不代表只能是这样的执行顺序。

本发明实施例还针对跨OpenStack集群的虚拟机迁移方法提供了相应的装置,进一步使得所述方法更具有实用性。其中,装置可从功能模块的角度和硬件的角度分别说明。下面对本发明实施例提供的跨OpenStack集群的虚拟机迁移装置进行介绍,下文描述的跨OpenStack集群的虚拟机迁移装置与上文描述的跨OpenStack集群的虚拟机迁移方法可相互对应参照。

基于功能模块的角度,参见图3,图3为本发明实施例提供的跨OpenStack集群的虚拟机迁移装置在一种具体实施方式下的结构图,该装置可包括:

代理虚拟机创建模块301,用于当迁移任务被创建,创建与源虚拟机磁盘参数相同的云磁盘,并挂载到预先于目标OpenStack集群中创建的代理虚拟机中。

数据迁移模块302,用于利用代理虚拟机读取源虚拟机的磁盘备份数据并写入至云磁盘中。

脏数据迁移模块303,用于在源虚拟机将缓存数据刷新至磁盘并创建缓存备份数据过程中,利用代理虚拟机将读取的每一次缓存备份数据写入至云磁盘直至当前缓存备份数据的占用空间容量值小于预设阈值;

目标虚拟机创建模块304,用于当检测到当前缓存备份数据的占用空间容量值小于预设阈值,发送暂停源虚拟机的指令,同时卸载云磁盘;使用卸载后的云磁盘创建与源虚拟机配置和网络地址相同的目标虚拟机。

可选的,在本实施例的一些实施方式中,所述脏数据迁移模块303例如可以包括:

缓存数据刷新子模块,用于调用源OpenStack集群接口将源虚拟机在当前时刻的缓存数据刷新到源虚拟机的磁盘中。

增量备份子模块,用于基于磁盘备份数据为源虚拟机创建增量备份数据,以作为当前时刻的缓存备份数据。

判断子模块,用于判断增量备份数据的占用空间容量值是否小于预设增量阈值。

暂停虚拟机子模块,用于若增量备份数据的占用空间容量值小于预设增量阈值,发送暂停源虚拟机的指令。

跳转执行子模块,用于若增量备份数据的占用空间容量值不小于预设增量阈值,调用缓存数据刷新子模块执行调用源OpenStack集群接口将源虚拟机在当前时刻的缓存数据刷新到源虚拟机的磁盘中的操作。

在本实施例的另一些实施方式中,所述目标虚拟机创建模块304可以包括:

卸载子模块,用于调用目标OpenStack集群接口,将云磁盘从代理虚拟机中卸载。

创建子模块,用于使用卸载后的云磁盘创建目标虚拟机,并指定源虚拟机的IP地址和MAC地址为目标虚拟机的IP地址和MAC地址;目标虚拟机与源虚拟机的配置相同;

启动子模块,用于启动目标虚拟机,并在启动过程中自动设置目标虚拟机的IP地址和MAC地址与源虚拟机相同;

关闭子模块,用于当目标虚拟机完成启动,发送关闭源虚拟机的指令,以完成源虚拟机从源OpenStack集群到目标OpenStack集群的迁移。

可选的,在本实施例的其他一些实施方式中,所述装置例如还可包括任务创建模块,用于向授权用户展示管理平台的人机交互界面;根据用户在人机交互界面中输入的所需迁移虚拟机的CPU、内存、磁盘个数和配置信息、网络类型、网卡个数、IP地址和MAC地址,目标OpenStack集群的存储后端信息和网络信息自动创建迁移任务。

本发明实施例所述跨OpenStack集群的虚拟机迁移装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。

由上可知,本发明实施例实现跨OpenStack集群的虚拟机在线、自动迁移,最大程度减少了虚拟机业务的暂停时间,有效保障虚拟机业务的连续性。

上文中提到的跨OpenStack集群的虚拟机迁移装置是从功能模块的角度描述,进一步的,本申请还提供一种跨OpenStack集群的虚拟机迁移装置,是从硬件角度描述。图4为本申请实施例提供的另一种跨OpenStack集群的虚拟机迁移装置的结构图。如图4所示,该装置包括存储器40,用于存储计算机程序;

处理器41,用于执行计算机程序时实现如上述任一实施例提到的跨OpenStack集群的虚拟机迁移方法的步骤。

其中,处理器41可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器41可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器41也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器41可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器41还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。

存储器40可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器40还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器40至少用于存储以下计算机程序401,其中,该计算机程序被处理器41加载并执行之后,能够实现前述任一实施例公开的跨OpenStack集群的虚拟机迁移方法的相关步骤。另外,存储器40所存储的资源还可以包括操作系统402和数据403等,存储方式可以是短暂存储或者永久存储。其中,操作系统402可以包括Windows、Unix、Linux等。数据403可以包括但不限于跨OpenStack集群的虚拟机迁移结果对应的数据等。

在一些实施例中,跨OpenStack集群的虚拟机迁移装置还可包括有显示屏42、输入输出接口43、通信接口44、电源45以及通信总线46。

本领域技术人员可以理解,图4中示出的结构并不构成对跨OpenStack集群的虚拟机迁移装置的限定,可以包括比图示更多或更少的组件,例如还可包括传感器47。

本发明实施例所述跨OpenStack集群的虚拟机迁移装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。

由上可知,本发明实施例实现跨OpenStack集群的虚拟机在线、自动迁移,最大程度减少了虚拟机业务的暂停时间,有效保障虚拟机业务的连续性。

可以理解的是,如果上述实施例中的跨OpenStack集群的虚拟机迁移方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、磁碟或者光盘等各种可以存储程序代码的介质。

基于此,本发明实施例还提供了一种计算机可读存储介质,存储有跨OpenStack集群的虚拟机迁移程序,所述跨OpenStack集群的虚拟机迁移程序被处理器执行时如上任意一实施例所述跨OpenStack集群的虚拟机迁移方法的步骤。

本发明实施例所述计算机可读存储介质的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。

由上可知,本发明实施例实现跨OpenStack集群的虚拟机在线、自动迁移,最大程度减少了虚拟机业务的暂停时间,有效保障虚拟机业务的连续性。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

以上对本申请所提供的一种跨OpenStack集群的虚拟机迁移方法、装置及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

相关技术
  • 跨OpenStack的虚拟机迁移方法、装置及介质
  • 用于OpenStack环境中迁移虚拟机的方法和装置
技术分类

06120112502880