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

云主机迁移方法、装置、计算机设备和存储介质

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


云主机迁移方法、装置、计算机设备和存储介质

技术领域

本申请涉及云计算技术领域,特别是涉及一种云主机迁移方法、装置、计算机设备和存储介质。

背景技术

近年来,随着云计算产业规模的扩大,越来越多的企业产生了设备上云的需求。用户会根据延迟等因素选择距离较近的数据中心搭建云主机来部署云业务。而随着云业务的普及,云主机克隆或者迁移的需求也应运而生。

目前在异地迁移云主机方案中,普遍采用的是云主机磁盘文件传输的方式迁移云主机,其迁移过程为先在服务器后台找出待迁移云主机的磁盘文件,把该磁盘文件拷贝出来,然后在要创建的云平台上创建新的云主机,之后通过网络传输以导入到要迁移的云主机的磁盘中。

然而,上述云迁移过程中云主机的迁移过程会造成大量的时间成本,导致云迁移效率较低。

发明内容

基于此,有必要针对上述技术问题,提供一种云主机迁移方法、装置、计算机设备和存储介质,能够节省云主机的迁移时间成本,提高云迁移效率。

第一方面,本申请实施例提供一种云主机迁移方法,该方法包括:

确定待迁移云主机的目标可用域;目标可用域包括目标迁移地区对应的第一物理服务器提供的计算资源;其中,不同可用域用于对应不同地区的云主机;

根据待迁移云主机的计算资源,在目标可用域中划分出与待迁移云主机的计算资源相同的计算资源,得到目标云主机;目标云主机为待迁移云主机迁移完成的云主机;

目标云主机的磁盘文件为从第二物理服务器的后端分布式存储系统中,将待迁移云主机的磁盘文件备份至第一物理服务器的后端分布式存储系统后得到的;第二物理服务器为待迁移云主机所属地区的物理服务器。

在其中一个实施例中,上述第一物理服务器的后端分布式存储系统包括第一数据池,上述第二物理服务器的后端分布式存储系统包括第二数据池;第一数据池与第二数据池的标识相同;

第二数据池中包括待迁移云主机的磁盘文件;

第一数据池中包括目标云主机的磁盘文件;

上述目标云主机的磁盘文件为根据标识从第二数据池中将待迁移云主机的磁盘文件备份至第一数据池后得到的。

在其中一个实施例中,在上述得到目标云主机之后,该方法还包括:

控制目标云主机通过内置访问组件,访问目标云主机的磁盘文件。

在其中一个实施例中,在上述得到目标云主机之后,该方法还包括:

将待迁移云主机的服务器信息更换为目标云主机的服务器信息。

在其中一个实施例中,在上述确定待迁移云主机在目标迁移地区中的目标可用域之前,该方法还包括:

确认回写第一物理服务器的后端分布式存储系统返回的备份命令是否完毕;

若是,执行确定待迁移云主机的目标可用域的步骤。

在其中一个实施例中,上述第一物理服务器和第二物理服务器均部署有云计算管理平台;

云计算管理平台通过统一的身份认证组件管理上述第一物理服务器上搭建的云主机和上述第二物理服务器上搭建的云主机。

在其中一个实施例中,上述待迁移云主机的磁盘文件和目标云主机的磁盘文件均以卷的形式进行存储。

第二方面,本申请实施例提供一种云主机迁移装置,该装置包括:

确定模块,用于确定待迁移云主机的目标可用域;目标可用域包括目标迁移地区对应的第一物理服务器提供的计算资源;其中,不同可用域用于对应不同地区的云主机;

迁移模块,用于根据待迁移云主机的计算资源,在目标可用域中划分出与待迁移云主机的计算资源相同的计算资源,得到目标云主机;目标云主机为待迁移云主机迁移完成的云主机;

目标云主机的磁盘文件为从第二物理服务器的后端分布式存储系统中,将待迁移云主机的磁盘文件备份至第一物理服务器的后端分布式存储系统后得到的;第二物理服务器为待迁移云主机所属地区的物理服务器。

第三方面,本申请实施例提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,该处理器执行计算机程序时实现上述第一方面中任一项实施例的方法步骤。

第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面中任一项实施例的方法步骤。

本申请实施例提供的一种云主机迁移方法、装置、计算机设备和存储介质,通过确定待迁移云主机的目标可用域,该目标可用域包括目标迁移地区对应的第一物理服务器提供的计算资源,然后根据待迁移云主机的计算资源,在目标可用域中划分出与待迁移云主机的计算资源相同的计算资源,得到目标云主机;其中,目标云主机的磁盘文件为从第二物理服务器的后端分布式存储系统中,将待迁移云主机的磁盘文件备份至第一物理服务器的后端分布式存储系统后得到的,从而完成待迁移云主机的迁移。在该方法中,在各地区部署了分布式存储系统,利用分布式存储、异地同步的部署方式,使得待迁移云主机的磁盘文件可以自动备份到目标迁移地区后端部署的分布式存储系统中,这样,在对待迁移云主机进行迁移时,无需进行迁移云主机的磁盘文件传输,而是以同步存储日志文件的形式进行磁盘文件同步,日志文件属于小文件,通过小日志传输可以避免网络不稳定情况造成的中断或丢失问题,实现数据传输的完整性,同时以小文件传输提高了云主机迁移过程中数据的传输效率,极大地缩短迁移时间,从而提高了云迁移效率。而且,以日志文件的形式进行磁盘文件同步,即使在迁移过程中日志被劫持,也是无法还原出与磁盘文件的具体内容,确保传输内容的安全性。另外,该方法部署了云计算管理平台和后端分布式存储系统之后,并没有使用多region模式,而是通过区分可用域的方式,将不同地区的数据放在不同的可用域中,以将不同地区的云主机从逻辑上分离,实现统一管理。

附图说明

图1为一个实施例中提供的一种云主机迁移方法的应用环境图;

图1a为一个实施例中服务器的内部结构图;

图2为一个实施例中提供的一种云主机迁移方法的流程示意图;

图3为另一个实施例中提供的一种云主机迁移方法的流程示意图;

图4为另一个实施例中提供的一种云主机迁移方法的流程示意图;

图5为一个实施例中提供的一种不同地区云主机迁移系统部署示意图;

图6为另一个实施例中提供的一种云主机迁移方法的流程示意图;

图7为一个实施例中提供的一种云主机迁移过程的流程图;

图7a为一个实施例中OpenStack集群和Ceph集群之间关系的示意图;

图8为一个实施例中提供的一种云主机迁移装置的结构框图;

图9为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的一种云主机迁移方法,可以应用于如图1所示的应用环境中。该应用环境包括多个地区的物理服务器,每个地区的物理服务器上均搭建云主机,且部署有云主机的管理操作系统云计算管理平台,在各地区的物理服务器后端部署有分布式存储系统。其中,各地区的物理服务器包括但不限于是通用型服务器、专用型服务器、台式服务器、机架式服务器、机柜式服务器和刀片式服务器等。各物理服务器上搭建的云主机数量不作限定。其中,各物理服务器的内部结构均可参见图1a所示,图1a中的处理器用于提供计算和控制能力。存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。数据库用于存储工作时的相关数据。该网络接口用于与外部的其他设备通过网络连接通信。

目前在大型公有云运营商的异地迁移云主机方案中,普遍采用的是云主机磁盘文件传输的方式迁移云主机。但是,由于云主机磁盘文件占用空间大,批量集群的迁移会造成大量的时间成本;且磁盘文件传输时传输速度取决于网络带宽,在传输过程中会占用网络资源,若数据使用公网传输,存在数据泄露的风险;若以物理介质快递,存在丢失风险;另外,目前的云主机迁移方法中在完成迁移后恢复云主机时,由于部署环境改变,相关的环境配置需要手动调整,迁移过程的停机时间造成业务中断,也会降低用户体验。基于此,本申请实施例提供一种云主机迁移方法、装置、计算机设备和存储介质,能够节省云主机的迁移时间成本,提高云迁移效率。下面将通过实施例并结合附图具体地对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。需要说明的是,本申请提供的一种云主机迁移方法,图2-图9的执行主体为运行有云计算管理平台的控制台,后续简称云计算管理平台,其中,其执行主体还可以是云主机迁移装置,其中该装置可以通过软件、硬件或者软硬件结合的方式实现成为云计算管理平台的控制台的部分或者全部。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。

在一个实施例中,如图2所示,提供了一种云主机迁移方法,本实施例涉及的是云计算管理平台从目标迁移地区中确定出待迁移云主机目标可用域,然后根据待迁移云主机的计算资源,将目标迁移地区的第一物理服务器中相同的计算资源划分至目标可用域,得到目标云主机;以及目标云主机的磁盘文件为从第二物理服务器的后端分布式存储系统中,将待迁移云主机的磁盘文件备份至第一物理服务器的后端分布式存储系统后得到的具体过程;该实施例包括以下步骤:

S101,确定待迁移云主机的目标可用域;目标可用域包括目标迁移地区对应的第一物理服务器提供的计算资源;其中,不同可用域用于对应不同地区的云主机。

其中,待迁移云主机为当前需要进行迁移的云主机,相应地,目标迁移地区指的该待迁移云主机需要迁移的目的区域,其中,待迁移云主机未迁移之前的地区称为该待迁移云主机的所属地区,例如,可参见图3所示,为待迁移云主机从其所属地区(地区A)迁移到目标迁移地区(地区B)的示意图。

可用域(available zone),即是可靠的、可用的区域。其是按照不同条件划分的不同的区域,例如,按照电力和网络设备划分的相互独立的区域,也可以是按照用途划分的不同区域。本申请实施例以按照用途划分多个可用域为例进行说明,即预先划分多个可用域,不同可用域对应的不同地区的云主机,同一个可用域中部署的都是同一地区的云主机。由于云主机不是实体主机,其是由一些实体的物理服务器的计算资源(CPU内存,显卡资源、网络资源等)虚拟出来的多个类似独立主机的的虚拟主机,因此,也可以理解为一个可用域是由一个地区对应的物理服务器提供的计算资源构成的,可用域是将不同地区的计算资源区别开来,且实际应用中,一个可用于中除了对应地区的物理服务器提供的计算资源之外,还包括其他必须的硬件设施或者软件设施,本申请申请实施例对此不作限定。为了语义简洁清楚,本申请实施例中全部以云主机进行说明。

如图4所示,划分了多个可用域:可用域1、可用域2、可用域3、....、可用域N;例如,可用域1包括的是地区C的物理服务器提供的计算资源,其部署的是地区C的云主机,可用域2包括的是地区C的物理服务器提供的计算资源,其部署的是地区D的云主机;可用域3包括的是地区C的物理服务器提供的计算资源,其部署的是地区A的云主机,可用域N包括的是地区C的物理服务器提供的计算资源,其部署的是地区B的云主机。因此,本步骤中确定待迁移云主机的目标可用域,即是从设定的多个可用域中,确定出与待迁移云主机所属地区(地区A)对应的可用域,即为目标可用域(例如,图4中的可用域3)。这样,按照上述方式进行可用域划分,使得可以通过可用域对不同地方的云主机进行有效管理。需要说明的是,对于同一地区划分的可用域之间,虽然不同可用域存储的是不同地区的云主机,但各可用域之间的内网是可以连通的,只是网络的响应时间会有些许差异。

S102,根据待迁移云主机的计算资源,在目标可用域中划分出与待迁移云主机的计算资源相同的计算资源,得到目标云主机;目标云主机为待迁移云主机迁移完成的云主机;其中,目标云主机的磁盘文件为从第二物理服务器的后端分布式存储系统中,将待迁移云主机的磁盘文件备份至第一物理服务器的后端分布式存储系统后得到的;第二物理服务器为待迁移云主机所属地区的物理服务器。

前面有说明云主机不是实体主机,其是由一些实体的物理服务器的计算资源(CPU内存,显卡资源、网络资源等)虚拟出来的多个类似独立主机的的虚拟主机,因此云主机迁移实际上就是在目标迁移地区划分与需要迁移的云主机的计算资源相同的计算资源,然后再将需要迁移的云主机中的磁盘文件(存储的文件)迁移到该目标迁移地区划分的计算资源中,就完成了云主机迁移。

而本申请实施例中划分了不同可用域,一个可用域对应一个地区,所以需要根据待迁移云主机的计算资源,在目标可用域中划分出与待迁移云主机的计算资源相同的计算资源,目标可用域对应的就是目标迁移地区,其包括目标迁移地区对应的第一物理服务器提供的计算资源,这样就在目标迁移地区中构建出与待迁移云主机相同的计算资源,也得到了待迁移云主机迁移完成的目标云主机。

请参见图5所示,以地区A(待迁移云主机所属地区)和地区B(目标迁移地区)为例,地区B的物理服务器称为第一物理服务器,地区A的物理服务器称为第二物理服务器,其中,第一,第二只是用于区分不同地区的物理服务器,并不用于其他限定。其中,物理服务器指的是具有实体的服务器,各地区物理服务器的数量不作限定,因此,第一物理服务器可以认为是很多个物理服务器的集群,第二物理服务器也可以认为是很多物理服务器的服务器集群。

可选地,第一物理服务器和第二物理服务器均部署有云计算管理平台;该云计算管理平台通过统一的身份认证组件管理第一物理服务器上搭建的云主机和第二物理服务器上搭建的云主机。

第一物理服务器和第二物理服务器中各物理服务器上均建立有云主机,且一台物理服务器中可建立不止一个云主机,这样地区A和地区B中就会在第一物理服务器和第二物理服务器中虚拟出很多云主机,而这里的云计算管理平台指的就是管理这些云主机集群的云操作系统。其中,云计算管理平台可以是Op enStack,OpenStack为私有云和公有云提供可扩展的弹性的云计算服务。在第一物理服务器和第二物理服务器中部署OpenStack时,使用统一的身份认证组件,即使用同一个keystone进行部署,这样,管理第一物理服务器和第二物理服务器中虚拟出的云主机集群时,就可以对各云主机节点进行统一管理。那么基于部署的云计算管理平台,本申请实施例中进行云主机迁移的过程的各步骤则是由云计算管理平台执行。

除了部署有云计算管理平台来管理第一物理服务器和第二物理服务器中虚拟出的云主机集群,还对第一物理服务器和第二物理服务器的后端分别部署分布式存储系统。该分布式存储系统用于存储各云主机的磁盘文件,例如,第一物理服务器的后端分布式存储系统中存储有第一物理服务器上虚拟出的各云主机的磁盘文件,第二物理服务器的后端分布式存储系统中存储有第二物理服务器上虚拟出的各云主机的磁盘文件。

其中,分布式存储系统可以是Ceph架构的分布式存储系统,例如,使用开源软件(不限于是现有的一些开源软件)的部署方案搭建Ceph架构分布式存储系统,且Ceph版本要求在jewel以上。同时还需要设置备份机制,例如,RBD mirroring功能模块,使得在第一物理服务器的后端分布式存储系统和第二物理服务器的后端分布式存储系统搭建好之后,第一物理服务器的后端分布式存储系统和第二物理服务器的后端分布式存储系统中各云主机的磁盘文件可以互相备份;且需要强调的是,第一物理服务器的后端分布式存储系统和第二物理服务器的后端分布式存储系统搭建好之后,即使不进行云主机迁移操作,第一物理服务器的后端分布式存储系统和第二物理服务器的后端分布式存储系统中各云主机的磁盘文件也一直在互相备份。

因此,在待迁移云主机迁移过程中,该待迁移云主机的磁盘文件会以日志文件的形式自动从第二物理服务器的后端分布式存储系统(地区A)中备份至第一物理服务器的后端分布式存储系统的(地区B)。那么在上述根据待迁移云主机的计算资源,在目标可用域中划分出与待迁移云主机的计算资源相同的计算资源后,目标可用域中的计算资源和第一物理服务器的后端分布式存储系统中的已经自动备份的待迁移云主机的磁盘文件,两者就共同构成上述目标云主机,这样也就成功地将待迁移云主机从地区A中迁移到地区B中。

本实施例提供的云主机迁移方法,通过确定待迁移云主机的目标可用域,该目标可用域包括目标迁移地区对应的第一物理服务器提供的计算资源,然后根据待迁移云主机的计算资源,在目标可用域中划分出与待迁移云主机的计算资源相同的计算资源,得到目标云主机;其中,目标云主机的磁盘文件为从第二物理服务器的后端分布式存储系统中,将待迁移云主机的磁盘文件备份至第一物理服务器的后端分布式存储系统后得到的,从而完成待迁移云主机的迁移。在该方法中,在各地区部署了分布式存储系统,利用分布式存储、异地同步的部署方式,使得待迁移云主机的磁盘文件可以自动备份到目标迁移地区后端部署的分布式存储系统中,这样,在对待迁移云主机进行迁移时,无需进行迁移云主机的磁盘文件传输,而是以同步存储日志文件的形式进行磁盘文件同步,日志文件属于小文件,通过小日志传输可以避免网络不稳定情况造成的中断或丢失问题,实现数据传输的完整性,同时以小文件传输提高了云主机迁移过程中数据的传输效率,极大地缩短迁移时间,从而提高了云迁移效率。而且,以日志文件的形式进行磁盘文件同步,即使在迁移过程中日志被劫持,也是无法还原出与磁盘文件的具体内容,确保传输内容的安全性。另外,该方法部署了云计算管理平台和后端分布式存储系统之后,并没有使用多region模式,而是通过区分可用域的方式,将不同地区的数据放在不同的可用域中,将不同地区的云主机从逻辑上分离,实现统一管理。

基于上述实施例,在一个实施例中,第一物理服务器的后端分布式存储系统包括第一数据池,第二物理服务器的后端分布式存储系统包括第二数据池;第一数据池与第二数据池的标识相同;第二数据池中包括待迁移云主机的磁盘文件;第一数据池中包括目标云主机的磁盘文件;上述目标云主机的磁盘文件为根据标识从第二数据池中将待迁移云主机的磁盘文件备份至第一数据池后得到的。

上述实施例中有提及,对地区A的第二物理服务器后端部署了分布式存储系统,以及对地区B的第一物理服务器后端也部署了分布式系统。在此基础上,对第一物理服务器的后端分布式存储系统划分第一数据池,例如pool(1),对第二物理服务器的后端分布式存储系统划分第二数据池,例如pool(2),且第一数据池与第二数据池的标识相同,即pool(1)和pool(2)的名称一致;以相同的标识命名两个地区的数据池,第一数据池和第二数据池对接计算机管理平台时标识是统一的,就可以使得第一物理服务器的后端分布式存储系统和第二物理服务器的后端分布式存储系统均与云计算管理平台之间采用统一的接口。基于该统一的接口,云计算管理平台从第一数据池和第二数据池中调用云主机磁盘文件时,生成的通用唯一识别码(Universally Unique Identifier,UUID)是一致的,在第一物理服务器的后端分布式存储系统和第二物理服务器的后端分布式存储系统使用同一UUID来识别相同的文件,即使云主机从地区A迁移到地区B,也可以精确地快速地查找到相同的文件名,通过这样的方式把逻辑划分到一起,实现了地区A和地区B之间的异地同步。

例如,pool(1)和pool(2)的名称均是uihopenstack,则在预先设置的备份机制(RBD mirroring)的前提下,第一物理服务器的后端分布式存储系统中的pool(1)和第二物理服务器的后端分布式存储系统中的pool(2)之间的就可以实现自动备份。那么pool(2)中包括待迁移云主机的磁盘文件,待迁移云主机的磁盘文件从pool(2)中自动备份到pool(1)后即为目标云主机的磁盘文件。

可选地,待迁移云主机的磁盘文件和目标云主机的磁盘文件均以卷的形式进行存储。具体地,以卷的形式将磁盘文件划分成多个小空间进行存储。其中磁盘文件包括系统盘、数据盘中的文件,即系统盘、数据盘均以卷(volume)形式存放在上述分布式存储系统中,例如存储的文件类型可以是raw、qcw2格式。

本实施例中,通过建立数据池的方式对在两地区后端部署的分布式存储系统中存储云主机的磁盘文件,并使用相同标识命名两地区分布式存储系统中的数据池,形成统一的存储数据池,实现云计算管理平台采用统一的接口调用后端存储,使得可以精确地快速地查找到相同的文件名,将存储逻辑划分到一起,实现了地区A和地区B之间的异地同步效果。

基于上述对各地区的部署方式,在对待迁移云主机迁移过程中,只需要将待迁移云主机关闭,在目标迁移地区中的目标可用域进行迁移即可。为了保证云主机在迁移过程中系统环境保持一致,实现无感知迁移,本申请实施例中进行云主机迁移时可以通过冷迁移(也叫静态迁移)的方式进行,即在对待迁移云主机进行迁移之前,需要先将待迁移云主机关机。但是由于地区A和地区B后端部署的分布式存储系统之间的数据备份功能在云主机没有迁移时也会进行备份操作,所以迁移待迁移云主机之前,还需要确认正在进行的备份操作是否结束,避免导致正在进行的备份操作因为迁移操作造成数据丢失。则在一个实施例中,如图6所示,该方法还包括:

S201,确认回写第一物理服务器的后端分布式存储系统返回的备份命令是否完毕。

本实施例可以在上述确定待迁移云主机在目标迁移地区中的目标可用域之前执行。其中,备份命令是指第二物理服务器的后端分布式存储系统中的数据备份至第一物理服务器的后端分布式存储系统后,第一物理服务器的后端分布式存储系统返回给第二物理服务器这边的备份完毕的信号。例如,分布式存储系统是Ceph架构分布式存储系统,每次备份一次磁盘文件会在Ceph journal中回写sync命令,则云计算管理平台需要确认sync命令是否回写完毕。

S202,若是,执行确定待迁移云主机的目标可用域的步骤。

若备份命令回写完毕,则云计算管理平台开始进行待迁移云主机的迁移操作,即执行确定待迁移云主机的目标可用域的步骤。

本实施例中只有在确认了分布式存储系统之间的正在进行的备份操作备份完毕,才开始进行待迁移云主机的迁移操作,避免了正在进行的备份操作因为迁移操作造成数据丢失,保证了待迁移云主机的正常迁移。

可选地,在上述得到目标云主机之后,将待迁移云主机的服务器信息更换为目标云主机的服务器信息。迁移完成待迁移云主机,得到目标云主机之后,还需要将待迁移云主机的服务器信息更换为目标云主机所在可用域中的服务器信息。其中,服务器信息包括IP地址、DNS信息等。那么就是对目标云主机的IP地址、DNS信息等更换为目标可用域中的可用的IP地址、DNS信息。但若是此次待迁移云主机的迁移操作是内网之间的操作,就无需更换目标云主机的服务器信息。这样修改迁移后的目标云主机的服务器信息,保证了迁移后的目标云主机可以正常工作。

可选地,在得到目标云主机之后,控制目标云主机通过内置访问组件,访问目标云主机的磁盘文件。完成了待迁移云主机的迁移操作,目标云主机也可以正常工作之后,云计算管理平台可控制目标云主机通过内置访问组件访问目标云主机的磁盘文件,执行云主机的正常功能。其中,内置访问组件包括但不限于是nova、cinder组件,这两个组件是虚拟机中的调用读写数据和访问数据的组件。

如图7所示,提供一个实施例,以云计算管理平台是OpenStack,后端部署的分布式存储系统是Ceph架构的分布式存储系统为例,对上述云主机从地区A迁移到地区B的过程进行说明。

S301,对地区A和地区B两地的物理服务器部署OpenStack集群。

具体地,地区A和地区B两地的物理服务器部署OpenStack集群使用同一个keystone(统一的认证服务组件),以使集群内所有节点可以统一管理。部署了OpenStack集群后不使用多region模式,划分多个可用域,以可用域来区分不同地区的主机,将不同地区的云主机从逻辑上分离,实现统一管理。

S302,对地区A和地区B两地的物理服务器后端部署Ceph架构分布式存储系统,且部署的地区A的Ceph集群地区B的Ceph集群以同一接口接入对应的地区的OpenStack集群。

请参见图7a,为部署的地区A和地区B两地的OpenStack集群和Ceph集群之间关系的示意图。具体地,采用Ceph部署地区A和地区B两地的物理服务器后端的分布式存储系统,使用开源软件搭建Ceph架构分布式存储系统,Ceph版本要求在jewel以上,得到地区A的Ceph集群和地区B的Ceph集群。在地区A的Ceph集群和地区B的Ceph集群上分别划分一个数据池pool作为两地区OpenStack集群的接入后端存储,得到地区A的Ceph集群poolA和地区B的Ceph集群poolB;其中,poolA和poolB的名称一致(例如,uihopenstack),然后对poolA和poolB配置RBD mirroring策略,其中,RBD mirroring是一种两个集群之间,异步镜像的机制,使得A的Ceph集群poolA和地区B的Ceph集群poolB之间的数据互为备份。

S303,将待迁移云主机关机,确认Ceph journal回写sync命令完毕。

S304,OpenStack控制台或命令行执行迁移云主机,在预先划分的多个可用域中确定待迁移的目标可用域,并根据待迁移云主机的计算资源,在目标可用域划分出相同的计算资源。

S305,等待待迁移云主机迁移完成后,将待迁移云主机迁移前的映射的浮动IP更换为迁移后的目标可用域中可用的浮动IP,并修改相应DNS。

S306,使用地区B的Ceph集群poolB作为迁移完成的云主机的后端存储,相应地,迁移完成的云主机的磁盘文件即为poolB中备份的磁盘文件,且磁盘文件以volume文件格式存放。

S307,使用内置访问组件nova、cinder访问数据池中存储的磁盘文件。

其中,本申请实施例提供的云主机迁移方法在部署OpenStack和Ceph分布式存储系统时,至少包括两个部署在不同地区的OpenStack集群。至少包括两个Ceph架构的分布式存储系统(Ceph版本不低于jewel),并以后端存储形式分别接入上述OpenStack集群。且至少要包括一台创建在上述OpenStack集群中的云主机,其系统盘、数据盘以卷形式存放在Ceph架构的分布式存储系统中。对于部署过程中涉及到的Ceph集群内环境配置可以进行任意设置,本申请实施例对此不作限定;对于部署过程中涉及到的多地部署的集群数量也可以根据实际需求动态扩展,本申请实施例对此也不作限定。

本实施例中提供的云主机迁移方法,通过部署Ceph架构分布式存储系统,且部署的地区A的Ceph集群地区B的Ceph集群以同一接口接入对应的地区的OpenStack集群的方式,实现异地之间分布式存储、异地同步的功能。OpenStack调用后端存储时采用统一的接口,将异地存储互为备份,形成一个统一的存储数据池;将不同地区的计算资源以可用域区分,使得创建云主机时可根据需求选择目标可用域,且在迁移过程中只需要将原主机关闭,选择要迁移地区的可用域迁移即可完成迁移,这样通过冷迁移的方式,使云主机在迁移过程中系统环境保持一致,实现无感知迁移。再者,在对待迁移云主机进行迁移时,无需进行迁移云主机的磁盘文件传输,而是以同步存储日志文件的形式进行磁盘文件同步,日志文件属于小文件,通过小日志传输可以避免网络不稳定情况造成的中断或丢失问题,实现数据完整传输。又由于以日志文件的形式进行磁盘文件同步,即使在迁移过程中日志被劫持,也是无法还原出与磁盘文件的具体内容,确保传输内容的安全性,从而解决现有磁盘文件传输时带来的时间和安全性上的缺陷。

本实施例提供的云主机迁移方法中各步骤,其实现原理和技术效果与前面云主机迁移方法实施例中类似,在此不再赘述。图7实施例中各步骤的实现方式只是一种举例,对各实现方式不作限定,各步骤的顺序在实际应用中可进行调整,只要可以实现各步骤的目的即可。

应该理解的是,虽然图2-7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-7中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图8所示,提供了一种云主机迁移装置,该装置包括:确定模块10、迁移模块11,其中:

确定模块10,用于确定待迁移云主机的目标可用域;目标可用域包括目标迁移地区对应的第一物理服务器提供的计算资源;其中,不同可用域用于对应不同地区的云主机;

迁移模块11,用于根据待迁移云主机的计算资源,在目标可用域中划分出与待迁移云主机的计算资源相同的计算资源,得到目标云主机;目标云主机为待迁移云主机迁移完成的云主机;

目标云主机的磁盘文件为从第二物理服务器的后端分布式存储系统中,将待迁移云主机的磁盘文件备份至第一物理服务器的后端分布式存储系统后得到的;第二物理服务器为待迁移云主机所属地区的物理服务器。

在一个实施例中,上述第一物理服务器的后端分布式存储系统包括第一数据池,上述第二物理服务器的后端分布式存储系统包括第二数据池;第一数据池与第二数据池的标识相同;

第二数据池中包括待迁移云主机的磁盘文件;

第一数据池中包括目标云主机的磁盘文件;

上述目标云主机的磁盘文件为根据标识从第二数据池中将待迁移云主机的磁盘文件备份至第一数据池后得到的。

在一个实施例中,该装置还包括:

访问模块,用于控制目标云主机通过内置访问组件,访问目标云主机的磁盘文件。

在一个实施例中,该装置还包括:

信息更换模块,用于将待迁移云主机的服务器信息更换为目标云主机的服务器信息。

在一个实施例中,该装置还包括:

确认模块,用于确认回写第一物理服务器的后端分布式存储系统返回的备份命令是否完毕;若是,执行确定待迁移云主机的目标可用域的步骤。

在一个实施例中,上述第一物理服务器和第二物理服务器均部署有云计算管理平台;云计算管理平台通过统一的身份认证组件管理上述第一物理服务器上搭建的云主机和上述第二物理服务器上搭建的云主机。

在一个实施例中,上述待迁移云主机的磁盘文件和目标云主机的磁盘文件均以卷的形式进行存储。

关于云主机迁移装置的具体限定可以参见上文中对于云主机迁移方法的限定,在此不再赘述。上述云主机迁移装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种云主机迁移方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

确定待迁移云主机的目标可用域;目标可用域包括目标迁移地区对应的第一物理服务器提供的计算资源;其中,不同可用域用于对应不同地区的云主机;

根据待迁移云主机的计算资源,在目标可用域中划分出与待迁移云主机的计算资源相同的计算资源,得到目标云主机;目标云主机为待迁移云主机迁移完成的云主机;

目标云主机的磁盘文件为从第二物理服务器的后端分布式存储系统中,将待迁移云主机的磁盘文件备份至第一物理服务器的后端分布式存储系统后得到的;第二物理服务器为待迁移云主机所属地区的物理服务器。

在一个实施例中,上述第一物理服务器的后端分布式存储系统包括第一数据池,上述第二物理服务器的后端分布式存储系统包括第二数据池;第一数据池与第二数据池的标识相同;

第二数据池中包括待迁移云主机的磁盘文件;

第一数据池中包括目标云主机的磁盘文件;

上述目标云主机的磁盘文件为根据标识从第二数据池中将待迁移云主机的磁盘文件备份至第一数据池后得到的。

在一个实施例中,该处理器执行计算机程序时实现以下步骤:

控制目标云主机通过内置访问组件,访问目标云主机的磁盘文件。

在一个实施例中,该处理器执行计算机程序时实现以下步骤:

将待迁移云主机的服务器信息更换为目标云主机的服务器信息。

在一个实施例中,该处理器执行计算机程序时实现以下步骤:

确认回写第一物理服务器的后端分布式存储系统返回的备份命令是否完毕;

若是,执行确定待迁移云主机的目标可用域的步骤。

在一个实施例中,上述第一物理服务器和第二物理服务器均部署有云计算管理平台;云计算管理平台通过统一的身份认证组件管理上述第一物理服务器上搭建的云主机和上述第二物理服务器上搭建的云主机。

在一个实施例中,上述待迁移云主机的磁盘文件和目标云主机的磁盘文件均以卷的形式进行存储。

上述实施例提供的一种计算机设备,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

确定待迁移云主机的目标可用域;目标可用域包括目标迁移地区对应的第一物理服务器提供的计算资源;其中,不同可用域用于对应不同地区的云主机;

根据待迁移云主机的计算资源,在目标可用域中划分出与待迁移云主机的计算资源相同的计算资源,得到目标云主机;目标云主机为待迁移云主机迁移完成的云主机;

目标云主机的磁盘文件为从第二物理服务器的后端分布式存储系统中,将待迁移云主机的磁盘文件备份至第一物理服务器的后端分布式存储系统后得到的;第二物理服务器为待迁移云主机所属地区的物理服务器。

在一个实施例中,上述第一物理服务器的后端分布式存储系统包括第一数据池,上述第二物理服务器的后端分布式存储系统包括第二数据池;第一数据池与第二数据池的标识相同;

第二数据池中包括待迁移云主机的磁盘文件;

第一数据池中包括目标云主机的磁盘文件;

上述目标云主机的磁盘文件为根据标识从第二数据池中将待迁移云主机的磁盘文件备份至第一数据池后得到的。

在一个实施例中,该计算机程序被处理器执行时实现以下步骤:

控制目标云主机通过内置访问组件,访问目标云主机的磁盘文件。

在一个实施例中,该计算机程序被处理器执行时实现以下步骤:

将待迁移云主机的服务器信息更换为目标云主机的服务器信息。

在一个实施例中,该计算机程序被处理器执行时实现以下步骤:

确认回写第一物理服务器的后端分布式存储系统返回的备份命令是否完毕;

若是,执行确定的目标可用域的步骤。

在一个实施例中,上述第一物理服务器和第二物理服务器均部署有云计算管理平台;云计算管理平台通过统一的身份认证组件管理上述第一物理服务器上搭建的云主机和上述第二物理服务器上搭建的云主机。

在一个实施例中,上述待迁移云主机的磁盘文件和目标云主机的磁盘文件均以卷的形式进行存储。

上述实施例提供的一种计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

技术分类

06120112670023