CN111324413B - 一种数据迁移方法及数据迁移管理设备 - Google Patents

一种数据迁移方法及数据迁移管理设备 Download PDF

Info

Publication number
CN111324413B
CN111324413B CN201811536776.XA CN201811536776A CN111324413B CN 111324413 B CN111324413 B CN 111324413B CN 201811536776 A CN201811536776 A CN 201811536776A CN 111324413 B CN111324413 B CN 111324413B
Authority
CN
China
Prior art keywords
data
data migration
disk
migration management
destination
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
Application number
CN201811536776.XA
Other languages
English (en)
Other versions
CN111324413A (zh
Inventor
郝大祥
陈立群
金亮
李玉龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
China Mobile Hangzhou Information Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Hangzhou Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd, China Mobile Hangzhou Information Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201811536776.XA priority Critical patent/CN111324413B/zh
Publication of CN111324413A publication Critical patent/CN111324413A/zh
Application granted granted Critical
Publication of CN111324413B publication Critical patent/CN111324413B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明公开了一种数据迁移方法及数据迁移管理设备,该方法包括:数据迁移管理设备将待迁移数据分成不同等级;数据迁移管理设备采用不同的数据迁移方法将不同等级的待迁移数据迁移至目的磁盘。通过这种方式,提高虚拟机数据迁移方式的灵活性。

Description

一种数据迁移方法及数据迁移管理设备
技术领域
本发明涉及云计算技术领域,尤指一种数据迁移方法及数据迁移管理设备。
背景技术
虚拟机存储热迁移(又叫动态迁移、实时迁移)是指在不中断虚拟机上负载服务的情况下,将虚拟机的磁盘镜像从一台宿主机迁移到另一台宿主机的机制。
现有技术中,由于虚拟机的磁盘镜像中的数据是采用同一种方法从一台宿主机迁移到另一台宿主机中的,因此,虚拟机的磁盘镜像的数据迁移较单一,使得虚拟机的磁盘镜像的数据迁移方式不灵活。
发明内容
本发明实施例提供一种数据迁移方法及数据迁移管理设备,用以提高虚拟机数据迁移方式的灵活性。
第一方面,本发明实施例提供一种数据迁移方法,应用于一数据迁移管理设备,所述方法包括:
数据迁移管理设备将待迁移数据分成不同等级;
所述数据迁移管理设备采用不同的数据迁移方法将不同等级的待迁移数据迁移至目的磁盘。
可选地,所述数据迁移管理设备将待迁移数据分成不同等级,包括:
所述数据迁移管理设备将实时进程产生的数据标记为高优先级数据,将普通进程产生的数据标记为普通优先级数据,将其它数据标记为静态数据;其中,所述实时进程的使用频率大于所述普通进程的使用频率。
可选地,所述数据迁移管理设备采用不同的数据迁移方法将不同等级的数据迁移至目的磁盘,包括:
所述数据迁移管理设备采用异步输入输出IO镜像数据迁移方法将所述高优先级数据迁移至目的磁盘;
所述数据迁移管理设备采用目的镜像更新数据迁移方法将所述普通优先级数据迁移至所述目的磁盘;
所述数据迁移管理设备采用拷贝压缩的数据迁移方法将所述静态数据迁移至所述目的磁盘。
可选地,所述数据迁移管理设备采用异步IO镜像数据迁移方法将所述高优先级数据迁移至目的磁盘,包括:
所述数据迁移管理设备将对所述实时进程产生的数据的IO写请求同时发送给源磁盘和所述目的磁盘;
若所述目的磁盘中先完成所述IO写请求,所述数据迁移管理设备确定所述高优先级数据迁移至目的磁盘;
若所述源磁盘先完成所述IO写请求,所述数据迁移管理设备将所述IO写请求对应的数据发送给所述目的磁盘。
可选地,所述数据迁移管理设备采用目的镜像更新的方法将所述普通优先级数据迁移至所述目的磁盘之后,所述方法还包括:
若普通优先级数据已经成功迁移至所述目的磁盘,所述数据迁移管理设备将对普通优先级数据块的读请求和写请求发送给所述目的磁盘,并利用写时复制技术跟踪普通优先级数据的更新,并将更新的普通优先级数据存储在所述源磁盘的快照中,以使所述源磁盘从所述快照中获取所述更新后的普通优先级数据;
若所述普通优先级数据还未成功迁移至所述目的磁盘,所述数据迁移管理设备将对普通优先级数据的读请求和写请求发往所述普通优先级数据所在的源磁盘。
可选地,所述数据迁移管理设备采用拷贝压缩的数据迁移方法将所述静态数据迁移至所述目的磁盘,包括:
所述数据迁移管理设备对所述静态数据进行压缩拷贝到所述目的磁盘。
第二方面,本发明实施例提供一种数据迁移管理设备,包括:
处理单元,用于将待迁移数据分成不同等级;
所述处理单元,还用于采用不同的数据迁移方法将不同等级的待迁移数据迁移至目的磁盘。
可选地,所述处理单元在用于将待迁移数据分成不同等级时,具体用于:
将实时进程产生的数据标记为高优先级数据,将普通进程产生的数据标记为普通优先级数据,将其它数据标记为静态数据;其中,所述实时进程的使用频率大于所述普通进程的使用频率。
可选地,所述处理单元在用于采用不同的数据迁移方法将不同等级的数据迁移至目的磁盘时,具体用于:
采用异步输入输出IO镜像数据迁移方法将所述高优先级数据迁移至目的磁盘;
采用目的镜像更新数据迁移方法将所述普通优先级数据迁移至所述目的磁盘;
采用拷贝压缩的数据迁移方法将所述静态数据迁移至所述目的磁盘。
可选地,所述处理单元在用于采用异步IO镜像数据迁移方法将所述高优先级数据迁移至目的磁盘时,具体用于:
将对所述实时进程产生的数据的IO写请求同时发送给源磁盘和所述目的磁盘;
若所述目的磁盘中先完成所述IO写请求,确定所述高优先级数据迁移至目的磁盘;
若所述源磁盘先完成所述IO写请求,将所述IO写请求对应的数据发送给所述目的磁盘。
可选地,所述处理单元在用于采用目的镜像更新的方法将所述普通优先级数据迁移至所述目的磁盘之后,具体用于:
若普通优先级数据已经成功迁移至所述目的磁盘,将对普通优先级数据块的读请求和写请求发送给所述目的磁盘,并利用写时复制技术跟踪普通优先级数据的更新,并将更新的普通优先级数据存储在所述源磁盘的快照中,以使所述源磁盘从所述快照中获取所述更新后的普通优先级数据;
若所述普通优先级数据还未成功迁移至所述目的磁盘,将对普通优先级数据的读请求和写请求发往所述普通优先级数据所在的源磁盘。
可选地,所述处理单元在用于采用拷贝压缩的数据迁移方法将所述静态数据迁移至所述目的磁盘时,具体用于:
对所述静态数据进行压缩拷贝到所述目的磁盘。
第三方面,本发明实施例提供一种数据迁移管理设备,包括:
处理器,用于将待迁移数据分成不同等级;
所述处理器,还用于采用不同的数据迁移方法将不同等级的待迁移数据迁移至目的磁盘。
可选地,所述处理器在用于将待迁移数据分成不同等级时,具体用于:
将实时进程产生的数据标记为高优先级数据,将普通进程产生的数据标记为普通优先级数据,将其它数据标记为静态数据;其中,所述实时进程的使用频率大于所述普通进程的使用频率。
可选地,所述处理器在用于采用不同的数据迁移方法将不同等级的数据迁移至目的磁盘时,具体用于:
采用异步输入输出IO镜像数据迁移方法将所述高优先级数据迁移至目的磁盘;
采用目的镜像更新数据迁移方法将所述普通优先级数据迁移至所述目的磁盘;
采用拷贝压缩的数据迁移方法将所述静态数据迁移至所述目的磁盘。
可选地,所述处理器在用于采用异步IO镜像数据迁移方法将所述高优先级数据迁移至目的磁盘时,具体用于:
将对所述实时进程产生的数据的IO写请求同时发送给源磁盘和所述目的磁盘;
若所述目的磁盘中先完成所述IO写请求,确定所述高优先级数据迁移至目的磁盘;
若所述源磁盘先完成所述IO写请求,将所述IO写请求对应的数据发送给所述目的磁盘。
可选地,所述处理器在用于采用目的镜像更新的方法将所述普通优先级数据迁移至所述目的磁盘之后,具体用于:
若普通优先级数据已经成功迁移至所述目的磁盘,将对普通优先级数据块的读请求和写请求发送给所述目的磁盘,并利用写时复制技术跟踪普通优先级数据的更新,并将更新的普通优先级数据存储在所述源磁盘的快照中,以使所述源磁盘从所述快照中获取所述更新后的普通优先级数据;
若所述普通优先级数据还未成功迁移至所述目的磁盘,将对普通优先级数据的读请求和写请求发往所述普通优先级数据所在的源磁盘。
可选地,所述处理器在用于采用拷贝压缩的数据迁移方法将所述静态数据迁移至所述目的磁盘时,具体用于:
对所述静态数据进行压缩拷贝到所述目的磁盘。
第四方面,本发明实施例提供一种数据迁移管理设备,包括处理器和存储器;其中,所述存储器用于存储一个或多个计算机程序;当所述存储器存储的一个或多个计算机程序被所述处理器执行时,使得所述数据迁移管理设备实现第一方面或上述第一方面的任意一种可能的设计的方法。
第五方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时,使所述计算机执行第一方面或上述第一方面的任意一种可能的设计的方法。
第六方面,本发明实施例提供一种计算机程序产品,所述计算机程序产品存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时,使所述计算机执行第一方面或上述第一方面的任意一种可能的设计的方法。
本发明有益效果如下:
本发明中实施例的技术方案中,数据迁移管理设备将待迁移数据分成不同等级;数据迁移管理设备采用不同的数据迁移方法将不同等级的数据迁移至目的磁盘。通过这种方式,可以提高虚拟机数据迁移方式的灵活性。
附图说明
图1为本发明实施例提供的一种应用场景的示意图;
图2为本发明实施例提供的一种数据迁移方法的流程示意图;
图3为本发明实施例提供的一种源磁盘中的待迁移数据分成不同等级的示意图;
图4为本发明实施例提供的一种异步IO镜像数据迁移方法的示意图;
图5为本发明实施例提供的一种目的镜像更新数据迁移方法的示意图;
图6为本发明实施例提供的一种拷贝压缩的数据迁移方法的示意图;
图7为本发明实施例提供的一种数据迁移管理设备的结构示意图;
图8为本发明实施例提供的一种数据迁移管理设备的结构示意图;
图9为本发明实施例提供的一种数据迁移管理设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
附图中各部件的形状和大小不反映真实比例,目的只是示意说明本发明内容。
请参考图1,为本发明实施例提供的一种应用场景的示意图。如图1所示,当源物理主机上的负载量过大时,或者为了源物理主机方便更新操作系统时,源物理主机与目的物理主机通过数据迁移管理设备100建立连接,数据迁移管理设备100将源物理主机的磁盘中的数据映射到源物理主机上加载的虚拟机的磁盘(即源磁盘101)中,即虚拟机的磁盘数据与源物理主机的磁盘数据相同。数据迁移管理设备100将源磁盘101的待迁移数据同步迁移到目的物理主机上加载的空的虚拟机的磁盘(即目标磁盘102)中,则可以减少源物理主机上的负载量,或者是方便源物理主机系统的更新。具体而言,数据迁移管理设备100可以将源磁盘101中的待迁移数据分成不同等级,并采用不同的数据迁移方法将源磁盘101中的不同等级的数据迁移至目的磁盘102中。数据迁移管理设备100采用不同的数据迁移方法将源磁盘101中的不同等级的数据迁移至目的磁盘102在后文介绍。
可选地,数据迁移管理设备100通过对不同数据采用不同的数据迁移方法,可以提高数据迁移的效率。比如,相对重要的数据可以使用第一种数据迁移方法,而相对次要的数据可以使用第二种数据迁移方式。具体而言,第一种数据迁移方式可以和第二种数据迁移方式不同。比如,第一种数据迁移方式需要较长的时间(需要保证相对重要的数据的迁移时的准确性,所以需要时间较长),第二种数据迁移方式需要较短时间(无需保证相对次要的数据的迁移时的准确性,所以需要时间较短)。因此,本发明实施例中,可以在保证相对重要数据的准确性情况下,减少非重要数据的迁移时间,提高数据迁移的效率。
需要说明的是,在图1中,是以源磁盘101设置在源物理主机上加载的虚拟机中为例,但实际上,源磁盘101还可以设置在源物理主机上,或者设置在其它设备上,只要该其它设备上的源磁盘101可以被源物理主机访问即可。当然,目的磁盘102也可以是类似的。
请参考图2,为本发明实施例提供的一种数据迁移方法的流程示意图。该方法可以适用于上述应用场景或者类似的应用场景。如图2所示,该方法流程包括:
S201、数据迁移管理设备将待迁移数据分成不同等级。
可选地,在S201中,数据迁移管理设备可以根据产生数据的进程的相关信息来划分数据的不同等级。下面先介绍数据迁移管理设备获取进程的相关信息的过程。
可选地,数据迁移管理设备中可以安装虚拟机管理器(Hypervisor),其中,Hypervisor可以设置有虚拟机进程监视模块。数据迁移管理设备可以通过虚拟机进程监视模块获取源磁盘中的栈指针ESP寄存器信息。数据迁移管理设备通过ESP寄存器信息读取源磁盘进程的task_struct结构,进而获得源磁盘相关的所有进程相关的信息。
示例性的,请参考图3,为本发明实施例提供的一种源磁盘中的待迁移数据分成不同等级的示意图。
如图3所示,Hypervisor(图3中未示出)获取到源磁盘300中所有进程的相关信息后,通过task_struct中的prio成员获取所有进程的动态优先级,比如,Hypervisor将prio成员小于等于99的进程标记为实时进程301(即实时进程可以为动态优先级高的进程),将prio成员大于99的进程标记为普通进程302(即普通进程的动态优先级低于实时进程)。
Hypervisor将进程分为实时进程和普通进程之后,Hypervisor可以通过task_struct中的files_struct结构体获取实时进程使用的第一文件信息和普通进程使用的第二文件信息。其中,第一文件信息中可以包括实时进程产生的数据,第二文件信息中可以包括普通进程产生的数据。
可选地,Hypervisor可以将第一文件信息中的实时进程产生的数据标记为高优先级数据303,将第二文件信息中的普通进程产生的数据标记为普通优先级数据304,将其余的数据标记为静态数据305。其中,实时进程301的使用频率大于普通进程302的使用频率。
S202、数据迁移管理设备采用不同的数据迁移方法将不同等级的数据迁移至目的磁盘。
可选地,数据迁移管理设备可以采用异步输入输出(Input-Output,IO)镜像数据迁移方法将高优先级数据迁移至目的磁盘。示例性的,请参考图4,为本发明实施例提供的一种异步IO镜像数据迁移方法的示意图。
由于实时进程产生的数据是动态变化的,所以数据迁移管理设备在迁移该数据的过程中,前面产生的数据已经迁移完毕,后面产生的数据可能正在迁移或者未迁移。因此,数据迁移管理设备可以将已迁移的数据和未迁移的数据用不同的标识区分。如图4所示,数据迁移管理设备400可以用C=1来标记已迁移的高优先级数据,即被标记为C=1的高优先级数据已迁移到目的磁盘402中。数据迁移管理设备400可以用C=0来标记未迁移的高优先级数据,即被标记为C=0的高优先级数据还未迁移到目的磁盘402中。
可选地,数据迁移管理设备400可以将对于已迁移的高优先级数据的IO写请求和未迁移的高优先级数据,数据迁移管理设备400可以同时将IO写请求W1和IO写请求W2发送给源磁盘401和目的磁盘402。比如,以已迁移的高优先级数据为例,数据迁移管理设备400可以将IO写请求W1会转为发往源磁盘401的IO写请求W3和发往目的磁盘402的IO写请求W4。当IO写请求W3和IO写请求W4完成时,源磁盘401将用于表示IO写请求W3完成的反馈信息A1发给数据迁移管理设备400。数据迁移管理设备400根据A1将计数器403中的N增加1;目的磁盘402将用于表示IO写请求W4完成的反馈信息A2发给数据迁移管理设备400。数据迁移管理设备400根据A2将计数器403中的N增加1。其中,发往源磁盘IO写请求W3和目的磁盘的IO写请求W4中任何一个先完成都会使得计数器403中的N≥1(每一次IO写请求之前,N清零),即表示IO写请求W1完成。同样的,请继续参见图4所示,对于未迁移的高优先级数据,数据迁移管理设备可以将IO写请求W2会转为发往源磁盘401的IO写请求W5和发往目的磁盘402的IO写请求W6。当IO写请求W5和IO写请求W6完成时,源磁盘401将用于表示IO写请求W5完成的反馈信息B1发给数据迁移管理设备400。数据迁移管理设备400根据B1将都会使计数器404中的N增加1;目的磁盘402将用于表示IO写请求W6完成的反馈信息B2发给数据迁移管理设备400。数据迁移管理设备400根据B2将计数器404中的N增加1。其中,发往源磁盘IO写请求W5和目的磁盘的IO写请求W6中任何一个先完成都会使得计数器404中的N≥1,即表示IO写请求W2完成。
需要说明的是,计数器403和计数器404可以是同一个计数器。当然,当计数器403和计数器404不是同一个的计数器时,计数器403和计数器404可以是相同类型计数器,也可以是不同类型的计数器,本发明实施例不限定。
可选地,请继续参考图4,对于已迁移的高优先级数据,数据迁移管理设备400将IO读请求R1发往目的磁盘402。对于未迁移的高优先级数据,数据迁移管理设备400将IO读请求R2发往源磁盘401。
可选地,当源磁盘401中的高优先级数据完成迁移到目的磁盘402后,由于对于高优先级数据的写请求是同时在源磁盘401和目的磁盘402中进行的,源磁盘401中的脏数据块与目的磁盘402中的脏数据块是相同的,因此,无需再拷贝源磁盘401中的脏数据块,虚拟机从而可以根据目的磁盘402中的高优先级数据直接在目的物理主机上启动,省去了拷贝源磁盘401中的脏数据,有效减少虚拟机停机时间。
请继续参考图4,以已迁移的高优先级数据为例,由于发往源磁盘401的IO写请求W3和目的磁盘402的IO写请求W4中任何一个先完成都可以表示虚拟机IO写请求W1完成,从而可以确保迁移过程IO写请求W1取决于速度较快的磁盘,从而能保证较高的IO性能。假设源磁盘401先完成写请求,则源磁盘镜像中始终有最新的数据,因而不需要进行高优先级数据的恢复,源磁盘401中的最新数据可以拷贝到目的磁盘402,使得高优先级数据迁移失败时,目的磁盘仍然可以具有最新的高优先级数据。假设目的磁盘402先完成写请求,则目的磁盘镜像中有最新的高优先级数据,目的磁盘高优先级数据仍然可以将最新数据拷贝到源磁盘401,本发明实施例不限定。
请继续参见图4所示,对于已迁移的高优先级数据,数据迁移管理设备400的读请求R1发往目的磁盘402。对于未迁移的高优先级数据,数据迁移管理设备400的读请求R2发往源磁盘401。
可选地,数据迁移管理设备可以采用目的镜像更新数据迁移方法将普通优先级数据从源磁盘中迁移至目的磁盘。示例性的,请参考图5,为本发明实施例提供的一种目的镜像更新数据迁移方法的示意图。
如图5所示,数据迁移管理设备500可以用C=1来标记已迁移的普通优先级数据,即被标记为C=1的普通优先级数据已迁移到目的磁盘502中。数据迁移管理设备500可以用C=0来标记未迁移的普通优先级数据,即被标记为C=0的普通优先级数据501还未迁移到目的磁盘502中。对于已迁移的普通优先级数据,数据迁移管理设备500将对已迁移的普通优先级数据的读请求R1和写请求W2直接发往目的磁盘402,并利用写时复制技术跟踪普通优先级数据的更新,并将更新的普通优先级数据存储到源磁盘501的快照503中,源磁盘501可以从快照503中获取更新的普通优先级数据。
可选地,请继续参考图5,对于未迁移的普通优先级数据,数据迁移管理设备500将则对未迁移的普通优先级数据的读请求R2和写请求W2发往源磁盘501。因此,数据迁移管理设备500可以在完成普通优先级数据的迁移时,省去将源磁盘501中的普通优先级数据产生的脏数据块的进行迁移操作,降低虚拟机停机时间。数据迁移管理设备500可以根据源磁盘501的快照503中的快照信息快速恢复对已迁移数据块的更新,减少普通优先级数据恢复的时间。
可选地,数据迁移管理设备可以采用拷贝压缩的数据迁移方法将静态数据迁移至目的磁盘。示例性的,请参考图6,为本发明实施例提供的一种拷贝压缩的数据迁移方法的示意图。
如图6所示,对于静态数据,数据迁移管理设备600可以将静态数据压缩后迁移到目的磁盘602中以减少迁移时间。数据迁移管理设备600在对静态数据进行压缩拷贝过程中,数据迁移管理设备600将对静态数据的IO读请求R发往源磁盘601中。若有对静态数据的IO写请求W,数据迁移管理设备600则将写请求W发往源磁盘601中,同时利用重做日志技术跟踪静态数据的更新。当静态数据中有更新的数据时,数据迁移管理设备600设置F=1用于标记静态数据中更新的数据(其中,F=0表示静态数据中无更新的数据),并将静态数据中更新的数据存储到目的磁盘602的重做日志603中。当数据迁移管理设备600完成静态数据的迁移后,数据迁移管理设备600可以将静态数据解压出来,然后读取目的磁盘602的重做日志603中记录的信息,用重做日志603中记录的更新的静态数据来更新解压后的静态数据,以完成目的磁盘602中的静态数据和源磁盘601中的静态数据同步。
可选地,由于静态数据一般占源磁盘601的存储空间比较大并且极少有静态数据更新,因此通过将静态数据进行压缩后再迁移,可以减少静态数据的迁移时间,从而减少虚拟机的数据迁移时间。若静态数据迁移失败,由于源磁盘601中有最新的静态数据,因此,数据迁移管理设备600无需对静态数据进行恢复,省去了数据迁移管理设备600对静态数据进行恢复的时间。
通过以上描述可知,本发明中实施例的技术方案中,数据迁移管理设备将待迁移数据分成不同等级;数据迁移管理设备采用不同的数据迁移方法将不同等级的数据迁移至目的磁盘。通过这种方式,提高虚拟机数据迁移方式的灵活性。
基于同一发明构思下,本发明实施例提供了一种数据迁移管理设备。请参考图7所示,为本发明实施例提供的一种数据迁移管理设备的结构示意图。
如图7所示,数据迁移管理设备700包:处理单元701。可选地,用于将待迁移数据分成不同等级;处理单元701,还用于采用不同的数据迁移方法将不同等级的待迁移数据迁移至目的磁盘(图7中未示出)。
可选地,处理单元701在用于将待迁移数据分成不同等级时,具体用于:
将实时进程产生的数据标记为高优先级数据,将普通进程产生的数据标记为普通优先级数据,将其它数据标记为静态数据;其中,实时进程的使用频率大于普通进程的使用频率。
可选地,处理单元701在用于采用不同的数据迁移方法将不同等级的数据迁移至目的磁盘时,具体用于:
采用异步输入输出IO镜像数据迁移方法将高优先级数据迁移至目的磁盘;
采用目的镜像更新数据迁移方法将普通优先级数据迁移至目的磁盘;
采用拷贝压缩的数据迁移方法将静态数据迁移至目的磁盘。
可选地,处理单元701在用于采用异步IO镜像数据迁移方法将高优先级数据迁移至目的磁盘时,具体用于:
将对实时进程产生的数据的IO写请求同时发送给源磁盘(图7中未示出)和目的磁盘;
若目的磁盘中先完成IO写请求,确定高优先级数据迁移至目的磁盘;
若源磁盘先完成IO写请求,将IO写请求对应的数据发送给目的磁盘。
可选地,处理单元701在用于采用目的镜像更新的方法将普通优先级数据迁移至目的磁盘之后,具体用于:
若普通优先级数据已经成功迁移至目的磁盘,将对普通优先级数据块的读请求和写请求发送给目的磁盘,并利用写时复制技术跟踪普通优先级数据的更新,并将更新的普通优先级数据存储在源磁盘的快照中,以使源磁盘从快照中获取更新后的普通优先级数据;
若普通优先级数据还未成功迁移至目的磁盘,将对普通优先级数据的读请求和写请求发往普通优先级数据所在的源磁盘。
可选地,处理单元701在用于采用拷贝压缩的数据迁移方法将静态数据迁移至目的磁盘时,具体用于:
对静态数据进行压缩拷贝到目的磁盘。
本发明实施例中的数据迁移管理设备700与前述图2所示的数据迁移方法是基于同一构思下的发明,通过前述对数据迁移方法的详细描述,本领域技术人员可以清楚的了解本实施例中数据迁移管理设备700的实施过程,所以为了说明书的简洁,在此不再赘述。
基于同一发明构思下,本发明实施例提供了一种数据迁移管理设备。请参考图8所示,为本发明实施例提供的一种数据迁移管理设备的结构示意图。
如图8所示,数据迁移管理设备800包:处理器801。可选地,处理器801可以是通用的中央处理器(Central Processing Unit,CPU)或特定应用集成电路(ApplicationSpecific Integrated Circuit,ASIC),可以是一个或多个用于控制程序执行的集成电路。
可选地,处理器801,用于将待迁移数据分成不同等级;处理器801,还用于采用不同的数据迁移方法将不同等级的待迁移数据迁移至目的磁盘(图8中未示出)。
可选地,处理器801在用于将待迁移数据分成不同等级时,具体用于:
将实时进程产生的数据标记为高优先级数据,将普通进程产生的数据标记为普通优先级数据,将其它数据标记为静态数据;其中,实时进程的使用频率大于普通进程的使用频率。
可选地,处理器801在用于采用不同的数据迁移方法将不同等级的数据迁移至目的磁盘时,具体用于:
采用异步输入输出IO镜像数据迁移方法将高优先级数据迁移至目的磁盘;
采用目的镜像更新数据迁移方法将普通优先级数据迁移至目的磁盘;
采用拷贝压缩的数据迁移方法将静态数据迁移至目的磁盘。
可选地,处理器801在用于采用异步IO镜像数据迁移方法将高优先级数据迁移至目的磁盘时,具体用于:
将对实时进程产生的数据的IO写请求同时发送给源磁盘(图8中未示出)和目的磁盘;
若目的磁盘中先完成IO写请求,确定高优先级数据迁移至目的磁盘;
若源磁盘先完成IO写请求,将IO写请求对应的数据发送给目的磁盘。
可选地,处理器801在用于采用目的镜像更新的方法将普通优先级数据迁移至目的磁盘之后,具体用于:
若普通优先级数据已经成功迁移至目的磁盘,将对普通优先级数据块的读请求和写请求发送给目的磁盘,并利用写时复制技术跟踪普通优先级数据的更新,并将更新的普通优先级数据存储在源磁盘的快照中,以使源磁盘从快照中获取更新后的普通优先级数据;
若普通优先级数据还未成功迁移至目的磁盘,将对普通优先级数据的读请求和写请求发往普通优先级数据所在的源磁盘。
可选地,处理器801在用于采用拷贝压缩的数据迁移方法将静态数据迁移至目的磁盘时,具体用于:
对静态数据进行压缩拷贝到目的磁盘。
本发明实施例中的数据迁移管理设备800与前述图2所示的数据迁移方法是基于同一构思下的发明,通过前述对数据迁移方法的详细描述,本领域技术人员可以清楚的了解本实施例中数据迁移管理设备800的实施过程,所以为了说明书的简洁,在此不再赘述。
基于同一发明构思下,本发明实施例提供了一种数据迁移管理设备。请参考图9所示,为本发明实施例提供的一种数据迁移设备的结构示意图。如图9所示,数据迁移管理设备900包括处理器901和存储器902。可选地,处理器901可以是通用的中央处理器(CentralProcessing Unit,CPU)或特定应用集成电路(Application Specific IntegratedCircuit,ASIC),可以是一个或多个用于控制程序执行的集成电路。
可选地,存储器902可以包括高速随机存取存储器,还可以包括非易失存储器,例如磁盘存储器件、闪存器件或其他非易失性固态存储器件等,本发明实施例不作限定。
可选地,存储器902用于存储一个或多个计算机程序;当存储器902存储的一个或多个计算机程序被处理器901执行时,使得数据迁移管理设备900能够实现图2所示的实施例中的全部或部分步骤。
本实施例中的数据迁移管理设备900与前述图2所示的数据迁移方法是基于同一构思下的发明,通过前述对数据迁移方法的详细描述,本领域技术人员可以清楚的了解本实施例中数据迁移管理设备900的实施过程,所以为了说明书的简洁,在此不再赘述。
基于同一发明构思下,本发明实施例提供了一种计算机可读存储介质。可选地,计算机可读存储介质有计算机程序,计算机程序包括程序指令,程序指令当被计算机执行时,使计算机执行上述数据迁移方法的步骤。由于本实施例中的计算机程序与前述图2所示的数据迁移方法是基于同一构思下的发明,通过前述对数据迁移方法的详细描述,本领域技术人员可以清楚的了解本实施例中计算机程序的实施过程,所以为了说明书的简洁,在此不再赘述。
基于同一发明构思下,本发明实施例提供了一种计算机程序产品,计算机程序产品存储有计算机程序,计算机程序包括程序指令,程序指令当被计算机执行时,使得计算机执行上述数据迁移方法的步骤。由于本实施例中的计算机程序产品与前述图2所示的数据迁移方法是基于同一构思下的发明,通过前述对数据迁移方法的详细描述,本领域技术人员可以清楚的了解本实施例中计算机程序产品的实施过程,所以为了说明书的简洁,在此不再赘述。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (7)

1.一种数据迁移方法,应用于一数据迁移管理设备,其特征在于,所述方法包括:
数据迁移管理设备将实时进程产生的数据标记为高优先级数据,将普通进程产生的数据标记为普通优先级数据,将其它数据标记为静态数据;其中,所述实时进程的使用频率大于所述普通进程的使用频率;
所述数据迁移管理设备采用异步输入输出IO镜像数据迁移方法将所述高优先级数据迁移至目的磁盘;
所述数据迁移管理设备采用目的镜像更新数据迁移方法将所述普通优先级数据迁移至所述目的磁盘;
所述数据迁移管理设备采用拷贝压缩的数据迁移方法将所述静态数据迁移至所述目的磁盘。
2.如权利要求1所述的方法,其特征在于,所述数据迁移管理设备采用异步IO镜像数据迁移方法将所述高优先级数据迁移至目的磁盘,包括:
所述数据迁移管理设备将对所述实时进程产生的数据的IO写请求同时发送给源磁盘和所述目的磁盘;
若所述目的磁盘中先完成所述IO写请求,所述数据迁移管理设备确定所述高优先级数据迁移至目的磁盘;
若所述源磁盘先完成所述IO写请求,所述数据迁移管理设备将所述IO写请求对应的数据发送给所述目的磁盘。
3.如权利要求1所述的方法,其特征在于,所述数据迁移管理设备采用目的镜像更新数据迁移方法将所述普通优先级数据迁移至所述目的磁盘之后,所述方法还包括:
若所述普通优先级数据已经成功迁移至所述目的磁盘,所述数据迁移管理设备将对所述普通优先级数据的读请求和写请求发送给所述目的磁盘,并利用写时复制技术跟踪所述普通优先级数据的更新,并将更新的普通优先级数据存储在源磁盘的快照中,以使所述源磁盘从所述快照中获取所述更新后的普通优先级数据;
若所述普通优先级数据还未成功迁移至所述目的磁盘,所述数据迁移管理设备将对所述普通优先级数据的读请求和写请求发往所述普通优先级数据所在的源磁盘。
4.如权利要求1所述的方法,其特征在于,所述数据迁移管理设备采用拷贝压缩的数据迁移方法将所述静态数据迁移至所述目的磁盘,包括:
所述数据迁移管理设备对所述静态数据进行压缩拷贝到所述目的磁盘。
5.一种数据迁移管理设备,其特征在于,包括:
处理单元,用于将实时进程产生的数据标记为高优先级数据,将普通进程产生的数据标记为普通优先级数据,将其它数据标记为静态数据;其中,所述实时进程的使用频率大于所述普通进程的使用频率;
所述处理单元,还用于采用异步输入输出IO镜像数据迁移方法将所述高优先级数据迁移至目的磁盘,以及采用目的镜像更新数据迁移方法将所述普通优先级数据迁移至所述目的磁盘,以及采用拷贝压缩的数据迁移方法将所述静态数据迁移至所述目的磁盘。
6.一种数据迁移管理设备,其特征在于,包括处理器和存储器;其中,
所述存储器用于存储一个或多个计算机程序;当所述存储器存储的一个或多个计算机程序被所述处理器执行时,使得所述数据迁移设备执行如权利要求1-4任一项所述的方法。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时,使所述计算机执行如权利要求1-4中任一项所述的方法。
CN201811536776.XA 2018-12-14 2018-12-14 一种数据迁移方法及数据迁移管理设备 Active CN111324413B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811536776.XA CN111324413B (zh) 2018-12-14 2018-12-14 一种数据迁移方法及数据迁移管理设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811536776.XA CN111324413B (zh) 2018-12-14 2018-12-14 一种数据迁移方法及数据迁移管理设备

Publications (2)

Publication Number Publication Date
CN111324413A CN111324413A (zh) 2020-06-23
CN111324413B true CN111324413B (zh) 2023-08-15

Family

ID=71163409

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811536776.XA Active CN111324413B (zh) 2018-12-14 2018-12-14 一种数据迁移方法及数据迁移管理设备

Country Status (1)

Country Link
CN (1) CN111324413B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112133387B (zh) * 2020-11-20 2021-03-16 杭州太美星程医药科技有限公司 病例信息的数据迁移、存储方法及系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102073462A (zh) * 2010-11-29 2011-05-25 华为技术有限公司 虚拟存储迁移方法、系统和虚拟机监控器
CN102741820A (zh) * 2010-02-08 2012-10-17 微软公司 虚拟存储器的后台迁移
CN102761566A (zh) * 2011-04-26 2012-10-31 国际商业机器公司 迁移虚拟机的方法和装置
CN103399778A (zh) * 2013-07-01 2013-11-20 华为技术有限公司 一种虚拟机在线整体迁移方法和设备
CN103577249A (zh) * 2013-11-13 2014-02-12 中国科学院计算技术研究所 虚拟机在线迁移方法与系统
CN103810016A (zh) * 2012-11-09 2014-05-21 北京华胜天成科技股份有限公司 实现虚拟机迁移的方法、装置和集群系统
CN103885811A (zh) * 2012-12-21 2014-06-25 中国电信股份有限公司 虚拟机系统全系统在线迁移的方法、系统与装置
CN104750554A (zh) * 2013-12-31 2015-07-01 中国移动通信集团公司 一种虚拟机间数据迁移的方法和设备
CN107729119A (zh) * 2017-09-26 2018-02-23 联想(北京)有限公司 虚拟机迁移方法及其系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9348654B2 (en) * 2013-11-19 2016-05-24 International Business Machines Corporation Management of virtual machine migration in an operating environment

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102741820A (zh) * 2010-02-08 2012-10-17 微软公司 虚拟存储器的后台迁移
CN102073462A (zh) * 2010-11-29 2011-05-25 华为技术有限公司 虚拟存储迁移方法、系统和虚拟机监控器
WO2011137780A1 (zh) * 2010-11-29 2011-11-10 华为技术有限公司 虚拟存储迁移方法、系统和虚拟机监控器
CN102761566A (zh) * 2011-04-26 2012-10-31 国际商业机器公司 迁移虚拟机的方法和装置
CN103810016A (zh) * 2012-11-09 2014-05-21 北京华胜天成科技股份有限公司 实现虚拟机迁移的方法、装置和集群系统
CN103885811A (zh) * 2012-12-21 2014-06-25 中国电信股份有限公司 虚拟机系统全系统在线迁移的方法、系统与装置
CN103399778A (zh) * 2013-07-01 2013-11-20 华为技术有限公司 一种虚拟机在线整体迁移方法和设备
CN103577249A (zh) * 2013-11-13 2014-02-12 中国科学院计算技术研究所 虚拟机在线迁移方法与系统
CN104750554A (zh) * 2013-12-31 2015-07-01 中国移动通信集团公司 一种虚拟机间数据迁移的方法和设备
CN107729119A (zh) * 2017-09-26 2018-02-23 联想(北京)有限公司 虚拟机迁移方法及其系统

Also Published As

Publication number Publication date
CN111324413A (zh) 2020-06-23

Similar Documents

Publication Publication Date Title
US11604708B2 (en) Memory first live snapshot
US8832029B2 (en) Incremental virtual machine backup supporting migration
US9003149B2 (en) Transparent file system migration to a new physical location
CN102594849B (zh) 数据备份、恢复方法、虚拟机快照删除、回滚方法及装置
US10521354B2 (en) Computing apparatus and method with persistent memory
EP2840495B1 (en) Container-based processing method and apparatus
US10289684B2 (en) Live migration of virtual machine persistent data using mirrored input-output operations
US20160283421A1 (en) Virtual machine state replication using dma write records
CN110427284B (zh) 数据处理方法、分布式系统、计算机系统和介质
US9075535B2 (en) Source cleaning cascaded volumes using reference counts
US20120290802A1 (en) Snapshot creation from block lists
CN107807839B (zh) 一种修改虚拟机内存数据的方法、装置及电子设备
CN110019063B (zh) 计算节点数据容灾回放的方法、终端设备及存储介质
CN111324413B (zh) 一种数据迁移方法及数据迁移管理设备
US20230376357A1 (en) Scaling virtualization resource units of applications
CN112631994A (zh) 数据迁移方法及系统
US20190250994A1 (en) Backup control method and backup control system
CN110569157A (zh) 存储测试方法、装置、服务器及存储介质
CN115277398A (zh) 一种集群的网络配置方法和装置
US20220129292A1 (en) Fast virtual machine resume at host upgrade
CN114168263A (zh) 在云平台多集群之间虚拟机热迁移的方法及应用
US8918582B2 (en) Simulating EEPROM in virtual distributed switches
US10289307B1 (en) Method for handling block errors on a deduplicated storage system
CN113918284B (zh) 云主机批量迁移的方法及装置、电子设备和存储介质
US8966496B2 (en) Lock free use of non-preemptive system resource

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