CN103885719B - 虚拟机系统在线存储迁移的方法、系统与装置 - Google Patents
虚拟机系统在线存储迁移的方法、系统与装置 Download PDFInfo
- Publication number
- CN103885719B CN103885719B CN201210562612.0A CN201210562612A CN103885719B CN 103885719 B CN103885719 B CN 103885719B CN 201210562612 A CN201210562612 A CN 201210562612A CN 103885719 B CN103885719 B CN 103885719B
- Authority
- CN
- China
- Prior art keywords
- file
- storage device
- image file
- sub
- machine system
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种虚拟机系统在线存储迁移的方法、系统与装置。该方法通过控制源存储设备的第一存储控制器与目标存储设备的第二存储控制器进行文件复制操作,将父镜像文件复制到目标存储设备,并且通过识别子镜像文件大小是否符合结束阈值条件,响应于符合结束阈值条件,停止虚拟机系统运行并迁移至目标存储设备,对父镜像文件与子镜像文件进行融合形成新的系统文件。通过利用存储控制器实现大量数据复制工作的迁移机制,避免了存储迁移方法中对物理主机资源的占有和依赖,减小了对物理主机以及物理主机上虚拟机系统性能的影响,实现灵活、快速、高效的虚拟机系统在线存储迁移。
Description
技术领域
本发明涉及计算机应用领域,特别涉及一种虚拟机系统在线存储迁移的方法、系统与装置。
背景技术
虚拟机系统在线迁移是大多数虚拟机系统管理器不可或缺的工具,被广泛地应用在数据中心的容错、灾备及负载均衡中。目前虚拟机系统在线迁移主要包括计算迁移、存储迁移和全系统迁移,即存储和计算同时迁移。虚拟机系统在线存储迁移是指在虚拟机系统运行时,将虚拟机系统的磁盘文件从一个数据存储设备迁移到另一个数据存储设备,并进行维护和重新配置。
一种实现虚拟机系统在线存储迁移的方法是通过磁盘快照、REDO log、父/子磁盘关系和快照整合等技术,支持在虚拟机系统运行时进行虚拟机系统磁盘文件迁移。该方法满足了数据中心虚拟机系统存储迁移的基本需求。然而,由于该方法在完成虚拟机系统的磁盘数据拷贝时,需要由虚拟机系统所在物理主机的虚拟机系统管理器(VMM)进行数据的读取和传输,以及进行数据接收和写入,导致虚拟机系统存储迁移过程中,占用了大量的物理主机资源,尤其是对磁盘尺寸较大的虚拟机系统进行迁移时,将在很长的时间段内占用大量的计算资源和主机内存,影响物理主机上运行的虚拟机系统的性能。
使用上述方法的存储迁移过程中,还需要将虚拟机系统的磁盘数据从存储设备复制到物理主机内存,需要占有大量资源用于迁移过程。然而,为了满足物理主机上虚拟机系统的基本运行需求,物理主机可用于迁移的资源非常有限,造成物理主机内存资源紧张,也影响了存储迁移的性能,延长了迁移时间。
此外,通过物理主机占有物理主机资源进行读写,当有其他任务需要使用物理主机资源,例如有新的虚拟机系统需要进行启动或创建,或者物理主机资源本来就已经使用紧张,则可能造成迁移的时间增加,导致磁盘增量数据随着时间增加而增大,进一步延长迁移时间。
发明内容
根据本发明实施例的一个方面,所要解决的一个技术问题是:提供一种虚拟机系统在线存储迁移的方法、系统与装置,减少迁移中对物理主机资源的占有,实现快速高效的虚拟机系统在线存储迁移。
本发明实施例提供的一种虚拟机系统在线存储迁移的方法,所述方法包括:
创建子镜像文件,设置源存储设备上虚拟机系统的磁盘文件为只读状态,为所述磁盘文件创建父镜像文件;
在所述磁盘文件设置为只读状态之后对所述磁盘文件的更新数据写入所述子镜像文件;
控制源存储设备的第一存储控制器与目标存储设备的第二存储控制器进行文件复制操作,将所述父镜像文件复制到目标存储设备;
识别所述子镜像文件的大小是否符合预设的结束阈值条件;
响应于所述子镜像文件的大小符合所述结束阈值条件,停止所述虚拟机系统运行,保存所述虚拟机系统的运行状态;
通过承载所述虚拟机系统的物理主机将所述子镜像文件复制到所述目标存储设备;
在所述目标主机上对所述父镜像文件与所述子镜像文件进行融合更新操作,形成新的系统文件,以将所述运行状态的系统文件映射到所述目标存储设备中所述新的系统文件。
优选地,所述方法还包括:
响应于所述子镜像文件的大小不符合所述结束阈值条件,识别所述子镜像文件的大小是否符合复制阈值条件;
若所述子镜像文件的大小符合预设的复制阈值条件,控制源存储设备的第一存储控制器与目标存储设备的第二存储控制器进行文件复制操作,将所述子镜像文件复制到目标存储设备;若所述子镜像文件的大小不符合所述复制阈值条件,通过承载所述虚拟机系统的物理主机,将所述子镜像文件复制到目标存储设备;
将在所述子镜像文件复制到目标存储设备的过程中写入所述子镜像文件的更新数据作为新的子镜像文件,重新执行所述识别所述子镜像文件的大小是否符合结束阈值条件的操作。
优选地,在将所述子镜像文件复制到目标存储设备之后,所述方法还包括:
记录所述将所述子镜像文件复制到目标存储设备的复制次数;
在执行所述将所述子镜像文件复制到目标存储设备的操作后,识别所述复制次数是否符合预设的停止次数阈值条件;
响应于所述复制次数符合所述停止次数阈值条件,执行所述停止所述虚拟机系统运行,保存所述虚拟机系统的运行状态的操作。
优选地,将所述子镜像文件复制到目标存储设备,所述方法还包括:
识别所述子镜像文件的更新数据的产生速率与将所述子镜像文件复制到目标存储设备过程中的数据传输速率是否符合预设的停止条件;
响应于所述产生速率与所述数据传输速率符合所述停止条件,执行所述停止所述虚拟机系统运行,保存所述虚拟机系统的运行状态的操作。
优选地,所述控制源存储设备的第一存储控制器与目标存储设备的第二存储控制器进行文件复制操作,具体包括:
所述第一存储控制器根据所述文件的地址映射表,从源存储设备的存储地址空间读取所述文件的数据,发送给第二存储控制器;
在所述目标存储设备上创建虚拟机系统目录;
所述第二存储控制器接收所述文件的数据,在所述目标存储设备的所述虚拟机系统目录下保存所述文件。
优选地,所述地址映射表包括:文件的数据在存储地址空间的起始地址、结束地址以及地址长度;所述方法还包括:
在创建所述文件时,创建所述文件的地址映射表;
所述从源存储设备的存储地址空间读取所述文件的数据,发送给第二存储控制器,具体包括:
所述从源存储设备的存储地址空间读取所述文件的数据以及所述文件的地址映射表,将所述文件的数据与文件的地址映射表一并发送给第二存储控制器;
所述第二存储控制器按照所述文件的地址映射表,将文件的数据保存在所述目标存储设备的存储地址空间。
优选地,在形成新的系统文件之后,所述方法还包括:
将所述运行状态的系统文件映射到所述目标存储设备中所述新的系统文件;
在所述目标存储设备上运行所述虚拟机系统。
本发明实施例提供的一种虚拟机系统存储迁移的装置,所述装置包括:
源镜像控制单元,用于创建子镜像文件,设置源存储设备上虚拟机系统的磁盘文件为只读状态,为所述磁盘文件创建父镜像文件;
子镜像更新单元,用于在所述磁盘文件设置为只读状态之后将所述磁盘文件的更新数据写入所述子镜像文件;
存储器复制单元,用于控制源存储设备的第一存储控制器与目标存储设备的第二存储控制器进行文件复制操作,将所述父镜像文件复制到目标存储设备;
识别单元,用于识别所述子镜像文件的大小是否符合预设的结束阈值条件;
源控制单元,用于响应于所述子镜像文件的大小符合所述结束阈值条件,停止所述虚拟机系统运行,保存所述虚拟机系统的运行状态;
主机复制单元,用于源控制单元保存所述虚拟机系统的运行状态之后,通过承载所述虚拟机系统的物理主机将所述子镜像文件复制所述目标存储设备;
目标镜像控制单元,用于在所述目标主机上对所述父镜像文件与所述子镜像文件进行融合更新操作,形成新的系统文件,以将所述运行状态的系统文件映射到所述目标存储设备中所述新的系统文件。
优选地,所述识别单元,还用于响应于所述子镜像文件的大小不符合所述结束阈值条件,识别所述子镜像文件的大小是否符合预设的复制阈值条件;
所述存储器复制单元,还用于响应于所述子镜像文件的大小符合复制阈值条件,控制源存储设备的第一存储控制器与目标存储设备的第二存储控制器进行文件复制操作,将所述子镜像文件复制到目标存储设备;
所述主机复制单元,还用于响应于所述子镜像文件的大小不符合所述复制阈值条件,通过承载所述虚拟机系统的物理主机,将所述子镜像文件复制到目标存储设备;
所述识别单元,还用于将在所述子镜像文件复制到目标存储设备的过程中写入所述子镜像文件的更新数据作为新的子镜像文件,重新执行所述识别所述子镜像文件的大小是否符合结束阈值条件的操作。
优选地,所述装置还包括:
计数单元,用于在将所述子镜像文件复制所述目标存储设备之后,记录所述将所述子镜像文件复制到目标存储设备的复制次数;
所述识别单元,用于在执行所述将所述子镜像文件复制到目标存储设备的操作后,识别所述复制次数是否符合预设的停止次数阈值条件;
所述源控制单元,还用于响应于所述复制次数符合停止次数阈值条件,执行所述停止所述虚拟机系统运行,保存所述虚拟机系统的运行状态的操作。
优选地,所述识别单元,还用于在将所述子镜像文件复制所述目标存储设备之后,识别所述子镜像文件的更新数据的产生速率与将所述子镜像文件复制到目标存储设备过程中的数据传输速率是否符合预设的停止条件;
所述源控制单元,还用于响应于所述产生速率与所述数据传输速率符合预设的停止条件,执行所述停止所述虚拟机系统运行,保存所述虚拟机系统的运行状态的操作。
优选地,所述存储器复制单元,具体包括源迁移代理单元与目标迁移代理单元;
所述源迁移代理单元,用于控制所述第一存储控制器根据所述文件的地址映射表,从源存储设备的存储地址空间读取所述文件的数据,发送给第二存储控制器;
所述目标迁移代理单元,用在所述目标存储设备上创建虚拟机系统目录;控制第二存储控制器接收所述文件的数据,在所述目标存储设备的所述虚拟机系统目录下保存所述文件。
优选地,所述源镜像源控制单元,还用于在创建所述文件时,创建所述文件的地址映射表,所述地址映射表包括文件的数据在存储地址空间的起始地址、结束地址以及地址长度;
所述源迁移代理单元,具体用于控制所述第一存储控制器,根据所述起始地址、结束地址以及地址长度,从源存储设备的存储地址空间读取所述文件的数据,将所述文件的数据与地址映射表一并发送给第二存储控制器;
所述目标迁移代理单元,具体用于控制第二存储控制器按照所述文件的地址映射表,将接收的文件的数据保存在所述目标存储设备的存储地址空间。
优选地,所述装置还包括:
目标控制单元,用于在形成新的系统文件之后,将所述运行状态的系统文件映射到所述目标存储设备中所述新的系统文件;在所述目标存储设备上运行所述虚拟机系统。
本发明实施例提供的一种虚拟机系统存储迁移的系统,所述系统包括:
本发明实施例提供的任意一种虚拟机系统存储迁移的装置;
物理主机,用于承载虚拟机系统;
源存储设备,用于存储迁移之前虚拟机系统的磁盘文件;
所述源存储设备对应的第一存储控制器,用于根据源迁移代理单元的控制命令,执行文件数据的读取以及发送操作;
目标存储设备,用于储存迁移之后虚拟机系统的磁盘文件;
所述目标存储设备对应的第二存储控制器,用于根据目标迁移代理单元的控制命令,执行文件数据的接收以及存储操作。
基于本发明上述实施例提供的虚拟机系统在线存储迁移的方法、系统与装置,通过控制源存储设备的第一存储控制器与目标存储设备的第二存储控制器进行文件复制操作,将父镜像文件复制到目标存储设备,并且通过识别子镜像文件大小是否满足结束阈值条件,响应于满足结束阈值条件,停止虚拟机系统运行并迁移至目标存储设备,对父镜像文件与子镜像文件进行融合形成新的文件系统。通过利用存储控制器实现大量数据复制工作的迁移机制,减少存储迁移中对物理主机资源的占有和依赖,例如物理主机的计算资源和内存资源,也减小了对物理主机以及物理主机上虚拟机系统性能的影响,实现灵活、快速、高效的虚拟机系统在线存储迁移。同时,缩短迁移时间还能使得磁盘增量数据较小,从而进一步加快迁移过程。
另外,利用本发明所提供虚拟机系统在线存储迁移的方法、系统与装置,还可以实现对虚拟机系统的维护,例如,无需虚拟机系统停机,即可将虚拟机系统快速高效地从源存储设备迁移到目标存储设备,进而对源存储设备进行维护和重新配置。此外,也可以通过在线存储迁移,将虚拟机系统的存储位置进行调整,实现存储资源的重新分配,从而平衡容量或提高性能。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
构成说明书的一部分的附图描述了本发明的实施例,并且连同说明书一起用于解释本发明的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:
图1示出本发明所提供的虚拟机系统在线存储迁移的方法一种实施例的流程示意图;
图2示出本发明所提供的虚拟机系统在线存储迁移的方法另一种实施例的流程示意图;
图3示出本发明所提供的虚拟机系统在线存储迁移的方法又一种实施例的流程示意图;
图4示出本发明所提供的虚拟机系统在线存储迁移的方法再一种实施例的流程示意图;
图5示出本发明所提供的虚拟机系统在线存储迁移的装置一种施例的结构示意图;
图6示出本发明所提供的虚拟机系统在线存储迁移的系统一种施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
参见图1所示,图1示出本发明所提供的虚拟机系统在线存储迁移的方法一种实施例的流程示意图。该实施例提供的虚拟机系统在线存储迁移的方法包括:
101,创建子镜像文件,设置源存储设备上虚拟机系统的磁盘文件为只读状态,为磁盘文件创建父镜像文件;
102,在磁盘文件设置为只读状态之后对磁盘文件的更新数据写入子镜像文件,需要注意的是,步骤102的操作根据写入更新数据的需要执行;
103,控制源存储设备的第一存储控制器与目标存储设备的第二存储控制器进行文件复制操作,将父镜像文件复制到目标存储设备;
104,识别子镜像文件的大小是否符合预设的结束阈值条件;
105,响应于子镜像文件的大小符合结束阈值条件,停止虚拟机系统运行,保存虚拟机系统的运行状态,例如,可以设定子镜像文件小于或者等于预设的结束阈值时,为子镜像文件的大小符合结束阈值条件,也可以是子镜像文件的大小小于结束阈值时,为子镜像文件的大小符合结束阈值条件;
106,通过承载虚拟机系统的物理主机将子镜像文件复制目标存储设备,即将最后一个子镜像文件复制到目标储存设备;
107,在目标主机上对父镜像文件与子镜像文件进行融合更新操作,形成新的系统文件,以将运行状态的系统文件映射到目标存储设备中新的系统文件。
本发明上述实施例提供的方法中,通过控制源存储设备的第一存储控制器与目标存储设备的第二存储控制器将父镜像文件复制到目标存储设备,并且通过识别子镜像文件大小是否满足结束阈值,响应于满足结束阈值,停止虚拟机系统运行并迁移至目标存储设备,对父镜像文件与子镜像文件进行融合形成新的系统文件。通常情况下,基于存储控制器的存储设备之间直接进行的数据复制传输的速率较高,并且占有物理主机资源较少,从而避免了现有存储迁移方法中使用物理主机进行大量数据复制操作,而带来的对物理主机资源的占有和依赖。
参见图2所示,图2示出本发明所提供的虚拟机系统在线存储迁移的方法另一种实施例的流程示意图。该方法实施例与图1实施例相比,还包括:
201,响应于子镜像文件的大小不符合结束阈值条件,识别子镜像文件的大小是否符合预设的复制阈值条件,若子镜像文件的大小符合复制阈值条件,则执行202的操作;若子镜像文件的大小不符合复制阈值条件,则执行203的操作;例如,可以根据预先设定复制阈值,若子镜像文件的大小大于或者等于复制阈值,则子镜像文件的大小符合复制阈值条件,若子镜像文件的大小小于复制阈值,则子镜像文件的大小不符合复制阈值条件;
202,控制源存储设备的第一存储控制器与目标存储设备的第二存储控制器进行文件复制操作,将子镜像文件复制到目标存储设备,执行204的操作;
203,通过承载虚拟机系统的物理主机,将子镜像文件复制到目标存储设备,执行204的操作;
204,将在子镜像文件复制到目标存储设备的过程中写入子镜像文件的更新数据作为新的子镜像文件,重新执行104即识别子镜像文件的大小是否符合结束阈值条件的操作。
参见图3所示,图3示出本发明所提供的虚拟机系统在线存储迁移的方法又一种实施例的流程示意图。该实施例与图2实施例相比,将子镜像文件复制到目标存储设备之后,该方法还可以包括:
301,记录将子镜像文件复制到目标存储设备的复制次数;识别复制次数是否符合预定的停止次数阈值条件,响应于复制次数符合预定的停止次数阈值条件,执行105的操作,即停止虚拟机系统运行,保存虚拟机系统的运行状态的操作;响应于复制次数不符合预定的停止次数阈值条件,可以执行204的操作。可以根据预设的停止次数阈值,当复制次数大于或者等于,或者大于复制次数阈值时,为符合预定的停止次数阈值条件。
参见图4所示,图4示出本发明所提供的虚拟机系统在线存储迁移的方法再一种实施例的流程示意图。该实施例与图3实施例相比,在将子镜像文件复制目标存储设备之后,该方法还包括:
401,识别子镜像文件的更新数据的产生速率与将子镜像文件复制到目标存储设备过程中的数据传输速率是否符合预设的停止条件;响应于产生速率与数据传输速率符合预设的停止条件,执行105的操作,即停止虚拟机系统运行,保存虚拟机系统的运行状态的操作;响应于复制次数不满足预定的符合预设的停止条件,可以执行204的操作。例如,预设的停止条件可以是更新数据的产生速率大于或者等于数据传输速率,或者更新数据的产生速率大于数据传输速率。
需要说明的是,401的操作可以先于或者后于301的操作执行,也可以从401或者301中选择一个操作进行识别,当任何一个满足停止迭代执行204的条件时,进入执行105的操作。结束阈值是用于判断子镜像文件是否足够小,如果子镜像文件的大小很小,则可以马上进行105执行虚拟机系统复制,如果子镜像文件还比较大,则可以进行新的一轮子镜像复制。复制阈值是用于判断子镜像文件是否过大,当子镜像文件的大小大于复制阈值时,使用存储控制器的复制方式,小于复制阈值则使用物理主机读取和写入的复制方式。可以设置复制阈值大于结束阈值。以后的逐轮子镜像文件复制传输只需要传输上一轮传输中被修改过的数据,即更新数据。当子镜像文件复制次数到达最大限度即停止次数阈值时,或增量数据的产生速率大于复制数据传输速率时,或者子镜像尺寸小于结束阈值时,进入105的操作。
可以根据实际的网络情况和物理主机资源负载情况,动态的调整复制阈值和结束阈值,以及停止子镜像文件复制的停止次数阈值。
根据本发明方法实施例一种具体示例,图1中操作103中,控制源存储设备的第一存储控制器与目标存储设备的第二存储控制器进行文件复制操作,包括父镜像文件或者子镜像文件,具体可以通过以下方法实现:第一存储控制器根据文件的地址映射表,从源存储设备的存储地址空间读取文件的数据,发送给第二存储控制器;在目标存储设备上创建虚拟机系统目录;第二存储控制器接收文件的数据,在目标存储设备的所创建的虚拟机系统目录下保存文件。
示例性地,地址映射表可以包括文件的数据在存储地址空间的起始地址、结束地址以及地址长度。根据本发明方法实施例一种具体示例,该方法还可以包括:在创建文件时,创建文件的地址映射表;第一存储控制器根据文件的地址映射表,从源存储设备的存储地址空间读取文件的数据以及文件的地址映射表,将文件的数据与文件的地址映射表一并发送给第二存储控制器;第二存储控制器按照文件的地址映射表,将文件的数据保存在目标存储设备的存储地址空间。
根据本发明方法实施例一种具体示例,在形成新的系统文件之后,该方法还可以包括:将运行状态的系统文件映射到目标存储设备中新的系统文件;在目标存储设备上运行虚拟机系统。
在目标存储设备上运行被迁移的虚拟机系统后,还可以删除源存储设备上的父镜像文件和所有子镜像文件,退出迁移任务,完成一次虚拟机系统在线存储迁移过程。
参见图5所示,图5示出本发明所提供的虚拟机系统在线存储迁移的装置一种实施例的结果示意图。该实施例的虚拟机系统存储迁移的装置包括:
源镜像控制单元501,用于创建子镜像文件,设置源存储设备上虚拟机系统的磁盘文件为只读状态,为磁盘文件创建父镜像文件;
子镜像更新单元502,用于在磁盘文件设置为只读状态之后将磁盘文件的更新数据写入子镜像文件;
存储器复制单元503,用于控制源存储设备的第一存储控制器与目标存储设备的第二存储控制器进行文件复制操作,将父镜像文件复制到目标存储设备;
识别单元504,用于识别子镜像文件的大小是否符合预设的结束阈值条件;
源控制单元505,用于响应于子镜像文件的大小符合结束阈值条件,停止虚拟机系统运行,保存虚拟机系统的运行状态;
主机复制单元506,用于通过承载虚拟机系统的物理主机将子镜像文件复制目标存储设备;
目标镜像控制单元507,用于在目标主机上对父镜像文件与子镜像文件进行融合更新操作,形成新的系统文件,以将运行状态的系统文件映射到目标存储设备中新的系统文件。
根据本发明装置实施例一种具体示例,识别单元504,还用于响应于子镜像文件的大小不符合阈值条件,识别子镜像文件的大小是否符合预设的复制阈值条件。存储器复制单元503还用于响应于子镜像文件的大小符合复制阈值条件,控制源存储设备的第一存储控制器与目标存储设备的第二存储控制器进行文件复制操作,将子镜像文件复制到目标存储设备。主机复制单元506还用于响应于子镜像文件的大小不符合复制阈值条件,通过承载虚拟机系统的物理主机,将子镜像文件复制到目标存储设备;识别单元504还用于将在子镜像文件复制到目标存储设备的过程中写入子镜像文件的更新数据作为新的子镜像文件,重新执行识别子镜像文件的大小是否符合结束阈值条件的操作。
根据本发明装置实施例一种具体示例,该装置还可以包括:计数单元508,用于在将子镜像文件复制目标存储设备之后,记录将子镜像文件复制到目标存储设备的复制次数;识别单元504,还用于在执行将子镜像文件复制到目标存储设备的操作后,识别复制次数是否符合预定的停止次数阈值条件;源控制单元505,还用于响应于复制次数符合预定的停止次数阈值条件,执行停止虚拟机系统运行,保存虚拟机系统的运行状态的操作。
根据本发明装置实施例一种具体示例,该装置还包括:识别单元504还用于在将子镜像文件复制目标存储设备之后,识别子镜像文件的更新数据的产生速率与将子镜像文件复制到目标存储设备过程中的数据传输速率是否符合预设的停止条件;源控制单元505,还用于响应于产生速率与数据传输速率符合预设的停止条件,执行停止虚拟机系统运行,保存虚拟机系统的运行状态的操作。
上述本发明装置的各实施例中,存储器复制单元,具体包括源迁移代理单元与目标迁移代理单元;
源迁移代理单元,用于控制第一存储控制器根据文件的地址映射表,从源存储设备的存储地址空间读取文件的数据,发送给第二存储控制器;
目标迁移代理单元,用于在目标存储设备上创建虚拟机系统目录;控制第二存储控制器接收文件的数据,在目标存储设备的虚拟机系统目录下保存文件。目标迁移代理单元可以设置在目标存储设备上。
根据本发明装置实施例一种具体示例,源镜像源控制单元501还用于在创建文件时,创建文件的地址映射表,地址映射表包括文件的数据在存储地址空间的起始地址、结束地址以及地址长度;
源迁移代理单元,具体用于控制第一存储控制器,根据起始地址、结束地址以及地址长度,从源存储设备的存储地址空间读取文件的数据,将文件的数据与地址映射表一并发送给第二存储控制器;
目标迁移代理单元,具体用于控制第二存储控制器按照文件的地址映射表,将接收的文件的数据保存在目标存储设备的存储地址空间。
根据本发明装置实施例一种具体示例,该装置还包括:
目标控制单元,用于在形成新的系统文件之后,将运行状态的系统文件映射到目标存储设备中新的系统文件;在目标存储设备上运行虚拟机系统。
参见图6所示,图6示出本发明所提供的虚拟机系统在线存储迁移的系统一种实施例的结果示意图。图6实施例中的物理主机和源存储设备、目标存储设备可以通过一个网络交换机相连接,物理主机和交换机的接口可以为千兆电口,两个存储设备和交换机的接口可以为万兆光口,各主机与存储设备之间相互进行网络通信。该实施例提供的虚拟机系统存储迁移的系统,包括:
物理主机600,用于承载虚拟机系统;
前述实施例中的任意一项的虚拟机系统存储迁移的装置601;
源存储设备602,用于存储迁移之前虚拟机系统的磁盘文件;
源存储设备对应的第一存储控制器603,用于根据源迁移代理单元的控制命令,执行文件数据的读取以及发送操作;
目标存储设备604,用于储存迁移之后虚拟机系统的磁盘文件;
目标存储设备对应的第二存储控制器605,用于根据目标迁移代理单元的控制命令,执行文件数据的接收以及存储操作。
至此,已经详细描述了根据本发明的一种虚拟机系统在线存储迁移的方法、系统与装置。为了避免遮蔽本发明的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于虚拟机系统存储迁移的系统与装置实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
可能以许多方式来实现本发明的虚拟机系统在线存储迁移的方法、系统与装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的虚拟机系统在线存储迁移的方法、系统与装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员应该理解,可在不脱离本发明的范围和精神的情况下,对以上实施例进行修改。本发明的范围由所附权利要求来限定。
Claims (15)
1.一种虚拟机系统在线存储迁移的方法,其特征在于,所述方法包括:
创建子镜像文件,设置源存储设备上虚拟机系统的磁盘文件为只读状态,为所述磁盘文件创建父镜像文件;
在所述磁盘文件设置为只读状态之后对所述磁盘文件的更新数据写入所述子镜像文件;
控制源存储设备的第一存储控制器与目标存储设备的第二存储控制器进行文件复制操作,将所述父镜像文件复制到目标存储设备;
识别所述子镜像文件的大小是否符合预设的结束阈值条件;
响应于所述子镜像文件的大小符合所述结束阈值条件,停止所述虚拟机系统运行,保存所述虚拟机系统的运行状态;
通过承载所述虚拟机系统的物理主机将所述子镜像文件复制到所述目标存储设备;
在目标主机上对所述父镜像文件与所述子镜像文件进行融合更新操作,形成新的系统文件,以将所述运行状态的系统文件映射到所述目标存储设备中所述新的系统文件。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述子镜像文件的大小不符合所述结束阈值条件,识别所述子镜像文件的大小是否符合复制阈值条件;
若所述子镜像文件的大小符合预设的复制阈值条件,控制源存储设备的第一存储控制器与目标存储设备的第二存储控制器进行文件复制操作,将所述子镜像文件复制到目标存储设备;若所述子镜像文件的大小不符合所述复制阈值条件,通过承载所述虚拟机系统的物理主机,将所述子镜像文件复制到目标存储设备;
将在所述子镜像文件复制到目标存储设备的过程中写入所述子镜像文件的更新数据作为新的子镜像文件,重新执行所述识别所述子镜像文件的大小是否符合结束阈值条件的操作。
3.根据权利要求2所述的方法,其特征在于,在将所述子镜像文件复制到目标存储设备之后,所述方法还包括:
记录所述将所述子镜像文件复制到目标存储设备的复制次数;
在执行所述将所述子镜像文件复制到目标存储设备的操作后,识别所述复制次数是否符合预设的停止次数阈值条件;
响应于所述复制次数符合所述停止次数阈值条件,执行所述停止所述虚拟机系统运行,保存所述虚拟机系统的运行状态的操作。
4.根据权利要求2所述的方法,其特征在于,将所述子镜像文件复制到目标存储设备,所述方法还包括:
识别所述子镜像文件的更新数据的产生速率与将所述子镜像文件复制到目标存储设备过程中的数据传输速率是否符合预设的停止条件;
响应于所述产生速率与所述数据传输速率符合所述停止条件,执行所述停止所述虚拟机系统运行,保存所述虚拟机系统的运行状态的操作。
5.根据权利要求1至4任意一项所述的方法,其特征在于,所述控制源存储设备的第一存储控制器与目标存储设备的第二存储控制器进行文件复制操作,具体包括:
所述第一存储控制器根据所述文件的地址映射表,从源存储设备的存储地址空间读取所述文件的数据,发送给第二存储控制器;
在所述目标存储设备上创建虚拟机系统目录;
所述第二存储控制器接收所述文件的数据,在所述目标存储设备的所述虚拟机系统目录下保存所述文件。
6.根据权利要求5所述的方法,其特征在于,所述地址映射表包括:文件的数据在存储地址空间的起始地址、结束地址以及地址长度;所述方法还包括:
在创建所述文件时,创建所述文件的地址映射表;
所述从源存储设备的存储地址空间读取所述文件的数据,发送给第二存储控制器,具体包括:
所述从源存储设备的存储地址空间读取所述文件的数据以及所述文件的地址映射表,将所述文件的数据与文件的地址映射表一并发送给第二存储控制器;
所述第二存储控制器按照所述文件的地址映射表,将文件的数据保存在所述目标存储设备的存储地址空间。
7.根据权利要求6所述的方法,其特征在于,在形成新的系统文件之后,所述方法还包括:
将所述运行状态的系统文件映射到所述目标存储设备中所述新的系统文件;
在所述目标存储设备上运行所述虚拟机系统。
8.一种虚拟机系统存储迁移的装置,其特征在于,所述装置包括:
源镜像控制单元,用于创建子镜像文件,设置源存储设备上虚拟机系统的磁盘文件为只读状态,为所述磁盘文件创建父镜像文件;
子镜像更新单元,用于在所述磁盘文件设置为只读状态之后将所述磁盘文件的更新数据写入所述子镜像文件;
存储器复制单元,用于控制源存储设备的第一存储控制器与目标存储设备的第二存储控制器进行文件复制操作,将所述父镜像文件复制到目标存储设备;
识别单元,用于识别所述子镜像文件的大小是否符合预设的结束阈值条件;
源控制单元,用于响应于所述子镜像文件的大小符合所述结束阈值条件,停止所述虚拟机系统运行,保存所述虚拟机系统的运行状态;
主机复制单元,用于源控制单元保存所述虚拟机系统的运行状态之后,通过承载所述虚拟机系统的物理主机将所述子镜像文件复制所述目标存储设备;
目标镜像控制单元,用于在目标主机上对所述父镜像文件与所述子镜像文件进行融合更新操作,形成新的系统文件,以将所述运行状态的系统文件映射到所述目标存储设备中所述新的系统文件。
9.根据权利要求8所述的装置,其特征在于,所述识别单元,还用于响应于所述子镜像文件的大小不符合所述结束阈值条件,识别所述子镜像文件的大小是否符合预设的复制阈值条件;
所述存储器复制单元,还用于响应于所述子镜像文件的大小符合复制阈值条件,控制源存储设备的第一存储控制器与目标存储设备的第二存储控制器进行文件复制操作,将所述子镜像文件复制到目标存储设备;
所述主机复制单元,还用于响应于所述子镜像文件的大小不符合所述复制阈值条件,通过承载所述虚拟机系统的物理主机,将所述子镜像文件复制到目标存储设备;
所述识别单元,还用于将在所述子镜像文件复制到目标存储设备的过程中写入所述子镜像文件的更新数据作为新的子镜像文件,重新执行所述识别所述子镜像文件的大小是否符合结束阈值条件的操作。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
计数单元,用于在将所述子镜像文件复制所述目标存储设备之后,记录所述将所述子镜像文件复制到目标存储设备的复制次数;
所述识别单元,用于在执行所述将所述子镜像文件复制到目标存储设备的操作后,识别所述复制次数是否符合预设的停止次数阈值条件;
所述源控制单元,还用于响应于所述复制次数符合停止次数阈值条件,执行所述停止所述虚拟机系统运行,保存所述虚拟机系统的运行状态的操作。
11.根据权利要求9所述的装置,其特征在于,所述识别单元,还用于在将所述子镜像文件复制所述目标存储设备之后,识别所述子镜像文件的更新数据的产生速率与将所述子镜像文件复制到目标存储设备过程中的数据传输速率是否符合预设的停止条件;
所述源控制单元,还用于响应于所述产生速率与所述数据传输速率符合预设的停止条件,执行所述停止所述虚拟机系统运行,保存所述虚拟机系统的运行状态的操作。
12.根据权利要求8至11任意一项所述的装置,其特征在于,所述存储器复制单元,具体包括源迁移代理单元与目标迁移代理单元;
所述源迁移代理单元,用于控制所述第一存储控制器根据所述文件的地址映射表,从源存储设备的存储地址空间读取所述文件的数据,发送给第二存储控制器;
所述目标迁移代理单元,用在所述目标存储设备上创建虚拟机系统目录;控制第二存储控制器接收所述文件的数据,在所述目标存储设备的所述虚拟机系统目录下保存所述文件。
13.根据权利要求12所述的装置,其特征在于,所述源镜像控制单元,还用于在创建所述文件时,创建所述文件的地址映射表,所述地址映射表包括文件的数据在存储地址空间的起始地址、结束地址以及地址长度;
所述源迁移代理单元,具体用于控制所述第一存储控制器,根据所述起始地址、结束地址以及地址长度,从源存储设备的存储地址空间读取所述文件的数据,将所述文件的数据与地址映射表一并发送给第二存储控制器;
所述目标迁移代理单元,具体用于控制第二存储控制器按照所述文件的地址映射表,将接收的文件的数据保存在所述目标存储设备的存储地址空间。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:
目标控制单元,用于在形成新的系统文件之后,将所述运行状态的系统文件映射到所述目标存储设备中所述新的系统文件;在所述目标存储设备上运行所述虚拟机系统。
15.一种虚拟机系统存储迁移的系统,其特征在于,所述系统包括:
根据权利要求12至14任意一项所述的虚拟机系统存储迁移的装置;
物理主机,用于承载虚拟机系统;
源存储设备,用于存储迁移之前虚拟机系统的磁盘文件;
所述源存储设备对应的第一存储控制器,用于根据源迁移代理单元的控制命令,执行文件数据的读取以及发送操作;
目标存储设备,用于储存迁移之后虚拟机系统的磁盘文件;
所述目标存储设备对应的第二存储控制器,用于根据目标迁移代理单元的控制命令,执行文件数据的接收以及存储操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210562612.0A CN103885719B (zh) | 2012-12-21 | 2012-12-21 | 虚拟机系统在线存储迁移的方法、系统与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210562612.0A CN103885719B (zh) | 2012-12-21 | 2012-12-21 | 虚拟机系统在线存储迁移的方法、系统与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103885719A CN103885719A (zh) | 2014-06-25 |
CN103885719B true CN103885719B (zh) | 2017-02-08 |
Family
ID=50954640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210562612.0A Active CN103885719B (zh) | 2012-12-21 | 2012-12-21 | 虚拟机系统在线存储迁移的方法、系统与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103885719B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107122223A (zh) * | 2016-02-25 | 2017-09-01 | 深圳市深信服电子科技有限公司 | 数据迁移方法及装置 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105739918B (zh) * | 2016-01-07 | 2019-01-18 | 新华三技术有限公司 | 虚拟机的存储在线迁移方法及装置 |
CN107273146B (zh) * | 2016-04-08 | 2021-11-19 | 中兴通讯股份有限公司 | 虚拟机升级方法及装置 |
CN106445730B (zh) * | 2016-07-22 | 2019-12-03 | 平安科技(深圳)有限公司 | 一种提高虚拟机性能的方法和终端 |
CN108469986B (zh) | 2017-02-23 | 2021-04-09 | 华为技术有限公司 | 一种数据迁移方法及装置 |
US10866741B2 (en) * | 2017-08-02 | 2020-12-15 | Toshiba Memory Corporation | Extending SSD longevity |
CN107526626B (zh) * | 2017-08-24 | 2020-12-01 | 武汉大学 | 一种基于CRIU的Docker容器热迁移方法及系统 |
CN110688064A (zh) * | 2019-09-05 | 2020-01-14 | 浪潮电子信息产业股份有限公司 | 一种虚拟磁盘迁移方法、装置、设备及可读存储介质 |
CN112667148A (zh) * | 2020-11-30 | 2021-04-16 | 上海七牛信息技术有限公司 | 一种集群存储数据在线迁移的方法及系统 |
CN115509624B (zh) * | 2022-10-25 | 2023-04-28 | 中南大学 | 面向流式加载的镜像融合方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101101562A (zh) * | 2007-07-10 | 2008-01-09 | 北京大学 | 一种虚拟机的外存在线迁移方法 |
CN101398770A (zh) * | 2007-09-30 | 2009-04-01 | 赛门铁克公司 | 迁移一个或多个虚拟机的系统和方法 |
CN101609419A (zh) * | 2009-06-29 | 2009-12-23 | 北京航空航天大学 | 虚拟机持续在线迁移的数据备份方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8448167B2 (en) * | 2009-02-19 | 2013-05-21 | Hitachi, Ltd. | Storage system, and remote copy control method therefor |
US8051262B2 (en) * | 2009-03-25 | 2011-11-01 | Hitachi, Ltd. | Storage system storing golden image of a server or a physical/virtual machine execution environment |
-
2012
- 2012-12-21 CN CN201210562612.0A patent/CN103885719B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101101562A (zh) * | 2007-07-10 | 2008-01-09 | 北京大学 | 一种虚拟机的外存在线迁移方法 |
CN101398770A (zh) * | 2007-09-30 | 2009-04-01 | 赛门铁克公司 | 迁移一个或多个虚拟机的系统和方法 |
CN101609419A (zh) * | 2009-06-29 | 2009-12-23 | 北京航空航天大学 | 虚拟机持续在线迁移的数据备份方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107122223A (zh) * | 2016-02-25 | 2017-09-01 | 深圳市深信服电子科技有限公司 | 数据迁移方法及装置 |
CN107122223B (zh) * | 2016-02-25 | 2021-02-05 | 深信服科技股份有限公司 | 数据迁移方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103885719A (zh) | 2014-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103885719B (zh) | 虚拟机系统在线存储迁移的方法、系统与装置 | |
US8832386B2 (en) | Management server and data migration method | |
CN104965757B (zh) | 虚拟机热迁移的方法、虚拟机迁移管理装置及系统 | |
CN103631633B (zh) | 虚拟机全系统在线迁移方法、装置与系统 | |
CN102597958B (zh) | 虚拟机的对称实时迁移 | |
US7395388B2 (en) | Load balancing system and method | |
US8504765B2 (en) | Method of improving efficiency of capacity of volume used for copy function and apparatus thereof | |
US7565501B2 (en) | Storage controller and data management method | |
US7925852B2 (en) | Storage controller and data management method | |
CN106030500B (zh) | 存储系统的数据迁移方法 | |
CN102981929B (zh) | 磁盘镜像的管理方法和系统 | |
US7509467B2 (en) | Storage controller and data management method | |
US20100299491A1 (en) | Storage apparatus and data copy method | |
CN103885811B (zh) | 虚拟机系统全系统在线迁移的方法、系统与装置 | |
EP3311272B1 (en) | A method of live migration | |
CN105960635A (zh) | 从具有不同时间点的源数据的存储库中的源数据的拷贝创建复原拷贝 | |
US7451285B2 (en) | Computer systems, management computers and storage system management method | |
CN106959893A (zh) | 加速器、用于加速器的内存管理方法以及数据处理系统 | |
CN106293882A (zh) | 一种虚拟磁盘快照实现方法及装置 | |
US20080098187A1 (en) | System, method and computer program product for generating a consistent point in time copy of data | |
US7330946B2 (en) | Data processing system | |
CN108196954A (zh) | 一种文件读写方法、系统、设备及计算机存储介质 | |
CN106933653A (zh) | 一种虚拟机的数据文件存储方法、装置及kvm虚拟机 | |
CN105760261B (zh) | 业务输入输出io处理方法和装置 | |
CN108121589A (zh) | 一种虚拟机的在线迁移自动收敛的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |