CN113687779B - 数据迁移方法、装置、电子设备及可读存储介质 - Google Patents
数据迁移方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN113687779B CN113687779B CN202110866141.1A CN202110866141A CN113687779B CN 113687779 B CN113687779 B CN 113687779B CN 202110866141 A CN202110866141 A CN 202110866141A CN 113687779 B CN113687779 B CN 113687779B
- Authority
- CN
- China
- Prior art keywords
- host
- persistent memory
- data
- cloud
- cloud host
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000013508 migration Methods 0.000 title claims abstract description 95
- 230000005012 migration Effects 0.000 title claims abstract description 94
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000003860 storage Methods 0.000 title claims abstract description 25
- 230000002085 persistent effect Effects 0.000 claims abstract description 150
- 238000013507 mapping Methods 0.000 claims abstract description 12
- 238000004590 computer program Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000011084 recovery Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据迁移方法、装置、电子设备及可读存储介质。其中,方法包括预先将物理持久内存设备的命名空间与原宿主机的设备进行映射,并将命名空间对应的设备提供给云主机。响应云主机迁移指令,根据云主机所需资源和物理持久内存设备选择目标宿主机;将云主机的持久内存数据和所需资源从原宿主机迁移至目标宿主机,从而在对云主机进行离线迁移时,可实现将云主机持久内存中的数据同云主机一起迁移至目标宿主机中,不丢失云主机数据,保证云主机数据的一致性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种数据迁移方法、装置、电子设备及可读存储介质。
背景技术
随着大数据、云技术的快速发展,物理主机搭建虚拟云主机来运行业务也越来越被广泛应用。云主机的离线迁移操作属于云主机高级管理功能,物理主机或者是原宿主机发生故障或是需要维护时,需要将云主机进行迁移,可以通过该功能将云主机迁移到其他节点。相应的,云主机在从原宿主机迁移至目标宿主机过程中,会将原宿主机上的数据一起迁移过去。
持久内存的IO(Input/Output)速度介于普通内存和SSD(Solid State Disk,固态硬盘)之间,其访问速度略小于普通内存但远大于SSD,持久内存容量远大于普通内存,且持久内存在断电如在系统停机或系统重启后不会消失。用户会将原先存储在普通内存中的访问速度要求低的非热点数据转而存储在持久内存中,或者是将原先存储在SSD中需要极致稳定响应时间的核心应用数据库转而存储在持久内存中。也就是说,持久内存可以作为普通内存使用,也可作为SSD盘使用,实现大幅降低但GiB内存的整体拥有成本,获取更高的带宽、更低的延迟,提升整体集群业务性能。
但是,由于云主机的系统数据与持久内存的数据位于不同的存储上,相关技术的云主机离线迁移不能将云主机持久内存的数据一起迁移至目标宿主机中,从而导致云主机持久内存的数据丢失,不利于云主机数据在目标宿主机中的恢复。
鉴于此,在对云主机进行离线迁移时,如何实现将云主机持久内存中的数据同云主机一起迁移,保证云主机的数据不丢失,是所属领域技术人员需要解决的技术问题。
发明内容
本申请提供了一种数据迁移方法、装置、电子设备及可读存储介质,在对云主机进行离线迁移时,可将云主机持久内存中的数据同云主机一起迁移至目标宿主机中,不丢失云主机数据,保证云主机数据的一致性。
为解决上述技术问题,本发明实施例提供以下技术方案:
本发明实施例一方面提供了一种数据迁移方法,包括:
预先将物理持久内存设备的命名空间与原宿主机的设备进行映射,并将所述命名空间对应的设备提供给云主机;
响应云主机迁移指令,根据所述云主机所需资源和所述物理持久内存设备选择目标宿主机;
将所述云主机的持久内存数据和所需资源从所述原宿主机迁移至所述目标宿主机。
可选的,所述将所述云主机的持久内存数据和所需资源从所述原宿主机迁移至所述目标宿主机之后,还包括:
若判定所述云主机的持久内存数据和所需资源均已成功迁移至目标宿主机之后,通过所述原宿主机向所述目标宿主机发送云主机启动指令;
响应所述云主机启动指令,若所述云主机启动失败,清除所述目标宿主机的物理持久内存设备中的数据,同时将所述云主机在所述原宿主机上进行恢复。
可选的,所述将所述云主机的持久内存数据和所需资源从所述原宿主机迁移至所述目标宿主机之后,还包括:
若所述云主机启动成功,分别计算所述原宿主机和所述目标宿主机的物理持久内存设备中的持久内存数据的第一md5值和第二md5值;
根据所述第一md5值和所述第二md5值判断所述持久内存数据是否成功迁移。
可选的,所述将所述云主机的持久内存数据和所需资源从所述原宿主机迁移至所述目标宿主机,包括:
基于RDMA协议,将所述云主机的持久内存数据从所述原宿主机迁移至所述目标宿主机。
可选的,所述将物理持久内存设备的命名空间与原宿主机的块设备进行映射,包括:
将所述原宿主机上的物理持久内存设备划分成devdax模式的命名空间;每个命名空间对应所述原宿主机的一个dax字符设备;
相应的,所述将所述命名空间对应的块设备提供给云主机为:
将所述原宿主机的持久内存命名空间对应的dax字符设备提供给所述云主机。
可选的,所述将物理持久内存设备的命名空间与原宿主机的块设备进行映射,包括:
将所述原宿主机上的物理持久内存设备划分成fsdax模式的命名空间;每个命名空间对应所述原宿主机的一个块设备;
相应的,所述将所述命名空间对应的块设备提供给云主机为:
将所述原宿主机的持久内存命名空间对应的块设备提供给所述云主机。
可选的,所述将所述云主机的持久内存数据和所需资源从所述原宿主机迁移至所述目标宿主机之后,还包括:
响应迁移取消指令,清除迁移至所述目标宿主机上的数据,同时将所述云主机在所述原宿主机上进行恢复。
本发明实施例另一方面提供了一种数据迁移装置,包括:
持久内存使用模块,用于预先将物理持久内存设备的命名空间与原宿主机的设备进行映射,并将所述命名空间对应的设备提供给云主机;
目标选择模块,用于响应云主机迁移指令,根据所述云主机所需资源和所述物理持久内存设备选择目标宿主机;
迁移模块,用于将所述云主机的持久内存数据和所需资源从所述原宿主机迁移至所述目标宿主机。
本发明实施例还提供了一种电子设备,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如前任一项所述数据迁移方法的步骤。
本发明实施例最后还提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前任一项所述数据迁移方法的步骤。
本申请提供的技术方案的优点在于,将宿主机的物理持久内存设备与宿主机的设备进行映射,在对云主机进行离线迁移时,若用户需要迁移持久内存,则可基于映射关系将云主机所需资源和云主机持久内存中的数据同云主机一起迁移至目标宿主机中,不丢失云主机的数据,有利于保证云主机数据的一致性,更加方便云主机在目标宿主机的恢复。
此外,本发明实施例还针对数据迁移方法提供了相应的实现装置、电子设备及可读存储介质,进一步使得所述方法更具有实用性,所述装置、电子设备及可读存储介质具有相应的优点。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
为了更清楚的说明本发明实施例或相关技术的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据迁移方法的流程示意图;
图2为本发明实施例提供的一个示例性应用场景的框架示意图;
图3为本发明实施例提供的数据迁移过程中各端的交互流程示意图;
图4为本发明实施例提供的持久内存完整性验证方法示意图;
图5为本发明实施例提供的数据迁移装置的一种具体实施方式结构图;
图6为本发明实施例提供的电子设备的一种具体实施方式结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种非限制性实施方式。
首先参见图1,图1为本发明实施例提供的一种数据迁移方法的流程示意图,本实施例的执行主语为云平台,也即本申请的技术方案适用于任何一种类型的云平台,例如可应用于OpenSatck云平台。云平台为云主机生命周期管理平台,云主机为云计算在基础设施应用上的重要组成部分,也可称为虚拟机VM,相应的,整个技术方案便为基于云平台如OpenSatck云平台和Intel持久内存的数据迁移方法,本发明实施例可包括以下内容:
S101:预先将物理持久内存设备的命名空间与原宿主机的设备进行映射,并将命名空间对应的设备提供给云主机。
在本实施例中,持久内存的AD(APP Direct)工作模式可以实现数据的持久化,将持久内存可以AD模式提供给云主机,以增强云主机的IO读写性能,同时持久内存中的数据在断电情况下不会丢失,便于后期云主机数据的恢复。为了使得后续用户在需要将云主机的持久内存一起迁移至目标宿主机时,本申请会预先对物理持久内存设备进行命名空间的设置,并将通过命名空间和原宿主机的设备的映射关系,使得物理持久内存设备存储的持久内存可作为原宿主机的数据在其迁移过程中一起进行迁移。
S102:响应云主机迁移指令,根据云主机所需资源和物理持久内存设备选择目标宿主机。
用户在需要进行云主机迁移,可向云平台下发云主机迁移指令,若该原宿主机有多台虚拟的云主机,可在下达云主机迁移指令时携带待迁移云主机的标识信息,如设备编号。云平台会根据云主机所需的资源如中央处理器CPU、内存、磁盘等和物理持久内存设备信息,来选择一个合适的目标宿主机,并将目标宿主机的信息和云主机持久内存命名空间的信息,记录到云平台相应的数据库。命名空间的信息包括但并不限制于命名空间对应的设备、大小。
S103:将云主机的持久内存数据和所需资源从原宿主机迁移至目标宿主机。
在S102中选择到合适的目标宿主机后,云主机所在的原宿主机开始执行云主机的离线迁移操作,可基于现有的云主机离线迁移技术结合持久内存数据的迁移技术、数据安全传输协议,实现云主机系统数据和持久内存数据的同步迁移,保证云主机数据的一致性。为了进一步提高云主机迁移效率,在云主机离线迁移过程中,可应用RDMA(Remote DirectMemory Access,远程直接数据存取)协议,也即基于RDMA协议,将云主机的持久内存数据从原宿主机迁移至目标宿主机,加速云主机持久内存数据的迁移速度。
在本发明实施例提供的技术方案中,将宿主机的物理持久内存设备与宿主机的设备进行映射,在对云主机进行离线迁移时,若用户需要迁移持久内存,则可基于映射关系将云主机所需资源和云主机持久内存中的数据同云主机一起迁移至目标宿主机中,不丢失云主机的数据,有利于保证云主机数据的一致性,更加方便云主机在目标宿主机的恢复。
可以理解的是,在将云主机由原宿主机迁移至目标宿主机的过程中,会出现持久内存迁移不成功,云主机所需资源迁移不成功,云主机在迁移后无法成功启动,用户取消云主机迁移等等各种异常,为了解决这些问题,基于上述实施例,本申请还可包括:
将云主机的持久内存数据和所需资源从原宿主机迁移至目标宿主机之后,判断云主机的持久内存数据和所需资源是否均已成功迁移至目标宿主机。
若判定云主机的持久内存数据和/或所需资源未成功迁移至目标宿主机,清除迁移至目标宿主机上的数据,同时将云主机在原宿主机上进行恢复。若判定云主机的持久内存数据和所需资源均已成功迁移至目标宿主机,通过原宿主机向目标宿主机发送云主机启动指令。
响应云主机启动指令,执行云主机启动任务。判断云主机是否成功启动。
若云主机启动失败,清除目标宿主机的物理持久内存设备中的数据,同时将云主机在原宿主机上进行恢复。
当用户想要取消云主机迁移任务时,可向云平台发送迁移取消指令,云平台响应迁移取消指令,清除迁移至目标宿主机上的数据,同时将云主机在原宿主机上进行恢复。
进一步的,为了进一步保证持久内存成功迁移至目标宿主机,在云主机启动成功之后,还可对持久内存进行完整性验证,可包括下述内容:
分别计算原宿主机和目标宿主机的物理持久内存设备中的持久内存数据的第一md5值和第二md5值;根据第一md5值和第二md5值判断持久内存数据是否成功迁移。若判定持久内存数据迁移失败,清除迁移至目标宿主机上的数据,同时将云主机在原宿主机上进行恢复。
在上述实施例中,对于如何执行步骤S101并不做限定,基于持久内存的两种使用模式devdax模式和fsdax模式,本实施例中还提供了两种可选的实施方式,可包括如下步骤:
可选的,可将原宿主机上的物理持久内存设备划分成devdax模式的命名空间;将原宿主机的持久内存命名空间对应的dax(Data Analysis Expressions,数据分析表达式)字符设备提供给云主机。每个命名空间对应原宿主机的一个dax字符设备。举例来说,将宿主机上的物理持久内存设备划分成devdax模式的命名空间如Namespace,ns,每个命名空间对应宿主机上的一个dax字符设备,如dax0.0。
可选的,将原宿主机上的物理持久内存设备划分成fsdax模式的命名空间;将原宿主机的持久内存命名空间对应的块设备提供给云主机。每个命名空间对应原宿主机的一个块设备;
在本实施例中,devdax模式命名空间会在宿主机上对应一个字符设备:如”/dev/dax0.0”,相应的,持久内存AD模式使用方式为:基于宿主机的持久内存创建devdax模式命名空间提供给云主机使用。fsdax模式命名空间会在宿主机上对应一个块设备:如”/dev/pmem0”。其中,pmem为持久内存命名空间,0为块设备的编号,相应的,持久内存AD模式使用方式为:基于宿主机的持久内存创建fsdax模式命名空间提供给云主机使用。
为了使所属领域技术人员更加清楚明白本申请的技术方案,本申请还以云平台为OpenStack,物理持久内存设备为devdax模式命名空间为例,结合图2-图4阐述整个基于OpenStack和Intel持久内存的数据迁移方法,可包括:
A1:将宿主机上的物理持久内存设备划分成devdax模式的命名空间,每个命名空间对应宿主机上的一个dax字符设备。将宿主机上持久内存命名空间对应的dax字符设备提供给云主机。
A2:用户通过云平台执行云主机离线迁移操作,若用户需要迁移持久内存中的数据,则会在云主机迁移过程中将云主机持久内存的数据一起迁移。
A3:云平台根据云主机所需的资源和物理持久内存设备信息,选择合适的目标宿主机,并将目标宿主机的信息和云主机持久内存命名空间对应的dax字符设备和命名空间大小记录至云平台相应的数据库。
A4:在确定合适的目标宿主机后,云主机所在的原宿主机开始执行云主机的离线迁移操作,若用户选择迁移云主机持久内存数据,则会执行迁移持久内存数据的操作。如果持久内存数据迁移失败,则把已经迁移到目标节点的数据清除,清除数据可通过daxio工具向设备进行写0操作来实现,然后将云主机在原宿主机进行恢复。若云主机和持久内存数据迁移完成,则原宿主机会通知目标宿主机启动云主机,如果启动失败则会清除目标宿主机命名空间的数据,然后将云主机在原宿主机进行恢复。若云主机启动成功,则校验持久内存数据迁移的一致性,该校验方法主要是通过md5算法和daxio工具实现,若校验数据前后不一致,则清除目标宿主机上的数据,然后在原宿主机恢复云主机,若校验一致,则云平台通知用户是否确认迁移,当然,云平台也可以设置成自动确认。若用户取消此次迁移,则清除目标宿主机上的数据,然后在原宿主机恢复云主机。若用户确认迁移操作,云平台也可设置自动确认,则目标宿主机通知原宿主机云主机迁移成功、持久内存数据前后一致,原宿主机删除云主机、清除持久内存命名空间的数据。
其中,迁移持久内存数据可基于daxio和ssh工具来实现,具体实现方式可为:daxio-i“/dev/daxn.m”|ssh“目标宿主机IP”“daxio-o/dev/daxm.n”。在云主机持久内存数据迁移后,通过持久内存数据校验装置来校验数据迁移前后的完整性,校验装置基于md5算法和daxio工具来实现,如图4所示,可通过daxio读取持久内存数据,使用md5算法对读取的数据求取md5值,然后比较迁移前的md5值与迁移后的md5值是否一致。
由上可知,本实施例可实现云主机的离线迁移操作将云主机持久内存的数据同步迁移,来保证云主机数据的一致性。通过对持久内存数据md5校验策略,保证持久内存数据迁移前后数据不变,保证云主机数据的一致性。
需要说明的是,本申请中各步骤之间没有严格的先后执行顺序,只要符合逻辑上的顺序,则这些步骤可以同时执行,也可按照某种预设顺序执行,图1和图3只是一种示意方式,并不代表只能是这样的执行顺序。
本发明实施例还针对数据迁移方法提供了相应的装置,进一步使得方法更具有实用性。其中,装置可从功能模块的角度和硬件的角度分别说明。下面对本发明实施例提供的数据迁移装置进行介绍,下文描述的数据迁移装置与上文描述的数据迁移方法可相互对应参照。
基于功能模块的角度,参见图5,图5为本发明实施例提供的数据迁移装置在一种具体实施方式下的结构图,该装置可包括:
持久内存使用模块501,用于预先将物理持久内存设备的命名空间与原宿主机的设备进行映射,并将命名空间对应的设备提供给云主机。
目标选择模块502,用于响应云主机迁移指令,根据云主机所需资源和物理持久内存设备选择目标宿主机。
迁移模块503,用于将云主机的持久内存数据和所需资源从原宿主机迁移至目标宿主机。
可选的,在本实施例的一些实施方式中,上述装置还可以包括迁移后处理模块,用于若判定云主机的持久内存数据和所需资源均已成功迁移至目标宿主机之后,通过原宿主机向目标宿主机发送云主机启动指令;响应云主机启动指令,若云主机启动失败,清除目标宿主机的物理持久内存设备中的数据,同时将云主机在原宿主机上进行恢复。
作为本实施例的一种可选的实施方式,上述迁移后处理模块还可包括验证单元,验证单元用于:若云主机启动成功,分别计算原宿主机和目标宿主机的物理持久内存设备中的持久内存数据的第一md5值和第二md5值;根据第一md5值和第二md5值判断持久内存数据是否成功迁移。
作为本实施例的另一种可选的实施方式,上述迁移模块503可为基于RDMA协议,将云主机的持久内存数据从原宿主机迁移至目标宿主机的模块。
作为本实施例的其他一些可选的实施方式,上述装置例如还可包括迁移取消模块,用于响应迁移取消指令,清除迁移至目标宿主机上的数据,同时将云主机在原宿主机上进行恢复。
可选的,在本实施例的另一些实施方式中,上述持久内存使用模块501可用于将原宿主机上的物理持久内存设备划分成devdax模式的命名空间;每个命名空间对应原宿主机的一个dax字符设备;将原宿主机的持久内存命名空间对应的dax字符设备提供给云主机。
可选的,在本实施例的其他一些实施方式中,上述持久内存使用模块501还可用于将原宿主机上的物理持久内存设备划分成fsdax模式的命名空间;每个命名空间对应原宿主机的一个块设备;将原宿主机的持久内存命名空间对应的块设备提供给云主机。
本发明实施例所述数据迁移装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例在对云主机进行离线迁移时,可将云主机持久内存中的数据同云主机一起迁移至目标宿主机中,不丢失云主机数据,保证云主机数据的一致性。
上文中提到的数据迁移装置是从功能模块的角度描述,进一步的,本申请还提供一种电子设备,是从硬件角度描述。图6为本申请实施例提供的电子设备在一种实施方式下的结构示意图。如图6所示,该电子设备包括存储器60,用于存储计算机程序;处理器61,用于执行计算机程序时实现如上述任一实施例提到的数据迁移方法的步骤。
其中,处理器61可以包括一个或多个处理核心,比如4核心处理器、8核心处理器,处理器61还可为控制器、微控制器、微处理器或其他数据处理芯片等。处理器61可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable GateArray,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器61也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器61可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器61还可以包括AI(ArtificialIntelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器60可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器60还可包括高速随机存取存储器以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。存储器60在一些实施例中可以是电子设备的内部存储单元,例如服务器的硬盘。存储器60在另一些实施例中也可以是电子设备的外部存储设备,例如服务器上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器60还可以既包括电子设备的内部存储单元也包括外部存储设备。存储器60不仅可以用于存储安装于电子设备的应用软件及各类数据,例如:执行漏洞处理方法的程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。本实施例中,存储器60至少用于存储以下计算机程序601,其中,该计算机程序被处理器61加载并执行之后,能够实现前述任一实施例公开的数据迁移方法的相关步骤。另外,存储器60所存储的资源还可以包括操作系统602和数据603等,存储方式可以是短暂存储或者永久存储。其中,操作系统602可以包括Windows、Unix、Linux等。数据603可以包括但不限于数据迁移结果对应的数据等。
在一些实施例中,上述电子设备还可包括有显示屏62、输入输出接口63、通信接口64或者称为网络接口、电源65以及通信总线66。其中,显示屏62、输入输出接口63比如键盘(Keyboard)属于用户接口,可选的用户接口还可以包括标准的有线接口、无线接口等。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。通信接口64可选的可以包括有线接口和/或无线接口,如WI-FI接口、蓝牙接口等,通常用于在电子设备与其他电子设备之间建立通信连接。通信总线66可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extendedindustry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本领域技术人员可以理解,图6中示出的结构并不构成对该电子设备的限定,可以包括比图示更多或更少的组件,例如还可包括实现各类功能的传感器67。
本发明实施例所述电子设备的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例在对云主机进行离线迁移时,可将云主机持久内存中的数据同云主机一起迁移至目标宿主机中,不丢失云主机数据,保证云主机数据的一致性。
可以理解的是,如果上述实施例中的数据迁移方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电可擦除可编程ROM、寄存器、硬盘、多媒体卡、卡型存储器(例如SD或DX存储器等)、磁性存储器、可移动磁盘、CD-ROM、磁碟或者光盘等各种可以存储程序代码的介质。
基于此,本发明实施例还提供了一种可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时如上任意一实施例所述数据迁移方法的步骤。
本发明实施例所述可读存储介质的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的硬件包括装置及电子设备而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上对本申请所提供的一种数据迁移方法、装置、电子设备及可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (8)
1.一种数据迁移方法,其特征在于,包括:
预先将物理持久内存设备的命名空间与原宿主机的设备进行映射,并将所述命名空间对应的设备提供给云主机;
响应云主机迁移指令,根据所述云主机所需资源和所述物理持久内存设备选择目标宿主机;
将所述云主机的持久内存数据和所需资源从所述原宿主机迁移至所述目标宿主机;
其中,所述将物理持久内存设备的命名空间与原宿主机的块设备进行映射,包括:
将所述原宿主机上的物理持久内存设备划分成devdax模式或fsdax模式的命名空间;
相应的,对于所述devdax模式,每个命名空间对应所述原宿主机的一个dax字符设备,所述将所述命名空间对应的设备提供给云主机为:将所述原宿主机的持久内存命名空间对应的dax字符设备提供给所述云主机;对于所述fsdax模式,每个命名空间对应所述原宿主机的一个块设备,所述将所述命名空间对应的设备提供给云主机为:将所述原宿主机的持久内存命名空间对应的块设备提供给所述云主机。
2.根据权利要求1所述的数据迁移方法,其特征在于,所述将所述云主机的持久内存数据和所需资源从所述原宿主机迁移至所述目标宿主机之后,还包括:
若判定所述云主机的持久内存数据和所需资源均已成功迁移至所述目标宿主机之后,通过所述原宿主机向所述目标宿主机发送云主机启动指令;
响应所述云主机启动指令,若所述云主机启动失败,清除所述目标宿主机的物理持久内存设备中的数据,同时将所述云主机在所述原宿主机上进行恢复。
3.根据权利要求2所述的数据迁移方法,其特征在于,所述将所述云主机的持久内存数据和所需资源从所述原宿主机迁移至所述目标宿主机之后,还包括:
若所述云主机启动成功,分别计算所述原宿主机和所述目标宿主机的物理持久内存设备中的持久内存数据的第一md5值和第二md5值;
根据所述第一md5值和所述第二md5值判断所述持久内存数据是否成功迁移。
4.根据权利要求1所述的数据迁移方法,其特征在于,所述将所述云主机的持久内存数据和所需资源从所述原宿主机迁移至所述目标宿主机,包括:
基于RDMA协议,将所述云主机的持久内存数据从所述原宿主机迁移至所述目标宿主机。
5.根据权利要求1所述的数据迁移方法,其特征在于,所述将所述云主机的持久内存数据和所需资源从所述原宿主机迁移至所述目标宿主机之后,还包括:
响应迁移取消指令,清除迁移至所述目标宿主机上的数据,同时将所述云主机在所述原宿主机上进行恢复。
6.一种数据迁移装置,其特征在于,包括:
持久内存使用模块,用于预先将物理持久内存设备的命名空间与原宿主机的设备进行映射,并将所述命名空间对应的设备提供给云主机;
目标选择模块,用于响应云主机迁移指令,根据所述云主机所需资源和所述物理持久内存设备选择目标宿主机;
迁移模块,用于将所述云主机的持久内存数据和所需资源从所述原宿主机迁移至所述目标宿主机;
其中,所述持久内存使用模块进一步用于:将所述原宿主机上的物理持久内存设备划分成devdax模式或fsdax模式的命名空间;
相应的,对于所述devdax模式,每个命名空间对应所述原宿主机的一个dax字符设备,所述将所述命名空间对应的设备提供给云主机为:将所述原宿主机的持久内存命名空间对应的dax字符设备提供给所述云主机;对于所述fsdax模式,每个命名空间对应所述原宿主机的一个块设备,所述将所述命名空间对应的设备提供给云主机为:将所述原宿主机的持久内存命名空间对应的块设备提供给所述云主机。
7.一种电子设备,其特征在于,包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现如权利要求1至5任一项所述数据迁移方法的步骤。
8.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述数据迁移方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110866141.1A CN113687779B (zh) | 2021-07-29 | 2021-07-29 | 数据迁移方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110866141.1A CN113687779B (zh) | 2021-07-29 | 2021-07-29 | 数据迁移方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113687779A CN113687779A (zh) | 2021-11-23 |
CN113687779B true CN113687779B (zh) | 2024-02-23 |
Family
ID=78578289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110866141.1A Active CN113687779B (zh) | 2021-07-29 | 2021-07-29 | 数据迁移方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113687779B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114356501A (zh) * | 2021-12-30 | 2022-04-15 | 苏州浪潮智能科技有限公司 | 一种用于云平台虚拟机中容器的持久内存访问方法及装置 |
CN115190124B (zh) * | 2022-06-24 | 2023-12-26 | 远光软件股份有限公司 | 基于分布式工业控制系统的消息传输方法、装置、存储介质及调度服务器 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1297423A2 (en) * | 2000-06-02 | 2003-04-02 | Sun Microsystems, Inc. | Virtual heap for a virtual machine |
CN106125888A (zh) * | 2016-06-23 | 2016-11-16 | 河海大学常州校区 | 云数据中心中基于虚拟机迁移的资源利用高效的节能方法 |
CN107111452A (zh) * | 2015-12-03 | 2017-08-29 | 华为技术有限公司 | 应用于计算机系统的数据迁移方法和装置、计算机系统 |
CN110955488A (zh) * | 2019-09-10 | 2020-04-03 | 中兴通讯股份有限公司 | 一种持久性内存的虚拟化方法及系统 |
CN111858509A (zh) * | 2020-07-06 | 2020-10-30 | 苏州浪潮智能科技有限公司 | 一种基于容器的分布式计算方法和装置 |
CN112306627A (zh) * | 2020-09-22 | 2021-02-02 | 苏州浪潮智能科技有限公司 | 一种云主机vcpu与宿主机物理cpu的绑定方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11809888B2 (en) * | 2019-04-29 | 2023-11-07 | Red Hat, Inc. | Virtual machine memory migration facilitated by persistent memory devices |
-
2021
- 2021-07-29 CN CN202110866141.1A patent/CN113687779B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1297423A2 (en) * | 2000-06-02 | 2003-04-02 | Sun Microsystems, Inc. | Virtual heap for a virtual machine |
CN107111452A (zh) * | 2015-12-03 | 2017-08-29 | 华为技术有限公司 | 应用于计算机系统的数据迁移方法和装置、计算机系统 |
CN106125888A (zh) * | 2016-06-23 | 2016-11-16 | 河海大学常州校区 | 云数据中心中基于虚拟机迁移的资源利用高效的节能方法 |
CN110955488A (zh) * | 2019-09-10 | 2020-04-03 | 中兴通讯股份有限公司 | 一种持久性内存的虚拟化方法及系统 |
CN111858509A (zh) * | 2020-07-06 | 2020-10-30 | 苏州浪潮智能科技有限公司 | 一种基于容器的分布式计算方法和装置 |
CN112306627A (zh) * | 2020-09-22 | 2021-02-02 | 苏州浪潮智能科技有限公司 | 一种云主机vcpu与宿主机物理cpu的绑定方法及装置 |
Non-Patent Citations (3)
Title |
---|
Reza Salkhordeh ; Hossein Asadi.An Operating System level data migration scheme in hybrid DRAM-NVM memory architecture.IEEE Xplore.2016,全文. * |
云计算中能耗和性能感知的虚拟机优化部署算法;房丙午;黄志球;;计算机工程与科学(12);全文 * |
基于用户个性化需求的虚拟机部署机制;彭红;杨根兴;蔡立志;;软件产业与工程(01);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113687779A (zh) | 2021-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230138736A1 (en) | Cluster file system-based data backup method and apparatus, and readable storage medium | |
WO2018099299A1 (zh) | 一种图数据处理的方法、装置及系统 | |
US10324754B2 (en) | Managing virtual machine patterns | |
US8904386B2 (en) | Running a plurality of instances of an application | |
CN108667859A (zh) | 一种实现资源调度的方法及装置 | |
CN113687779B (zh) | 数据迁移方法、装置、电子设备及可读存储介质 | |
CN111813713B (zh) | 数据加速运算处理方法、装置及计算机可读存储介质 | |
US11924117B2 (en) | Automated local scaling of compute instances | |
CN111506386A (zh) | 虚拟机在线迁移方法、装置、设备及计算机可读存储介质 | |
CN104539708B (zh) | 一种云平台资源的缩容方法、装置与系统 | |
CN107632937B (zh) | 一种对虚拟机集群进行测试的方法、装置、可读存储介质 | |
CN112433812B (zh) | 一种虚拟机跨集群迁移方法、系统、设备及计算机介质 | |
CN105704188A (zh) | 应用与服务的部署方法和装置 | |
CN112463296B (zh) | 一种创建虚拟机的方法及装置 | |
US9875137B2 (en) | Intelligent application back stack management | |
CN106855834B (zh) | 一种数据备份方法、装置和系统 | |
CN109951553B (zh) | 数据处理方法、系统、电子设备以及计算机可读存储介质 | |
CN105095103A (zh) | 用于云环境下的存储设备管理方法和装置 | |
CN112328365A (zh) | 一种虚拟机迁移方法、装置、设备及存储介质 | |
WO2023226197A1 (zh) | 基于kubernetes的云原生存储方法、装置、设备及介质 | |
CN111736915A (zh) | 云主机实例硬件加速设备的管理方法、装置、设备及介质 | |
CN109062580B (zh) | 一种虚拟化环境部署方法和部署装置 | |
CN112631994A (zh) | 数据迁移方法及系统 | |
CN115951845A (zh) | 一种磁盘管理方法、装置、设备及存储介质 | |
US11157309B2 (en) | Operating cluster computer system with coupling facility |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |