CN103500146B - 虚拟机磁盘存储数据迁移方法和系统 - Google Patents
虚拟机磁盘存储数据迁移方法和系统 Download PDFInfo
- Publication number
- CN103500146B CN103500146B CN201310461285.4A CN201310461285A CN103500146B CN 103500146 B CN103500146 B CN 103500146B CN 201310461285 A CN201310461285 A CN 201310461285A CN 103500146 B CN103500146 B CN 103500146B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- dirty data
- magnetic disk
- record sheet
- read
- 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
技术领域
本发明涉及通信技术,尤其涉及一种虚拟机磁盘存储数据迁移方法和系统。
背景技术
随着计算机技术以及通信技术的不断发展,计算机虚拟化技术展现出巨大的资源整合优势。计算机虚拟化技术是一种将计算机底层硬件设备与上层操作系统、应用程序分离的去耦合方法,其引入的虚拟机监控器直接管理底层硬件资源,抽象出的虚拟计算机称为虚拟机,是具备计算机功能的特殊应用程序。
现有技术在进行虚拟机在线迁移时,通常采用将虚拟机磁盘存储数据直接拷贝到目的端主机的方式,例如后拷贝技术等。具体来说,源端主机首先将待迁移虚拟机的全部磁盘存储数据发送到目的端主机,并且记录在数据发送过程中新写入待迁移虚拟机的数据,这些新写入待迁移虚拟机的数据称为脏数据,数据发送完成后,在目的端主机上运行虚拟机,并且源端主机将脏数据循环发送到目的端主机。
然而,现有技术中,在线迁移过程为读操作的过程,源端主机上的虚拟机的读写操作会与在线迁移过程竞争源端主机有限的磁盘I/O资源,既造成了虚拟机读写性能的下降,又导致虚拟机在线迁移时间的延长。
发明内容
本发明提供一种虚拟机磁盘存储数据迁移方法和系统,用以解决源端主机上虚拟机的读写操作与在线迁移过程竞争源端主机磁盘I/O资源的问题,提高了虚拟机读写性能,缩短了虚拟机在线迁移时间。
本发明提供一种虚拟机磁盘存储数据迁移方法,其中,包括:
源端主机确定即将发起虚拟机磁盘存储数据的迁移过程;
所述源端主机开始监控全部虚拟机磁盘的读写操作;其中,若监控到写操作,则将脏数据重定向到中间节点上,并将所述脏数据所对应的虚拟机磁盘位置记录在源端脏数据记录表中;若监控到针对所述脏数据的读操作,则从所述中间节点上读取所述脏数据;
所述源端主机与目的端主机交互,完成所述全部虚拟机磁盘中待迁移虚拟机磁盘的迁移过程,所述迁移过程包括存储数据的迁移和虚拟机状态数据的迁移;
所述源端主机停止监控全部虚拟机磁盘的读写操作;
所述源端主机将所述源端脏数据记录表中与所述待迁移虚拟机磁盘对应的第一脏数据记录表发送给所述目的端主机;
所述源端主机从所述中间节点上读取与所述全部虚拟机磁盘中不迁移虚拟机磁盘对应的第二脏数据,并根据所述源端脏数据记录表中与所述不迁移虚拟机磁盘对应第二脏数据记录表将所述第二脏数据对应同步到所述不迁移虚拟机磁盘上;
所述目的端主机启动新的虚拟机,从所述中间节点上读取与所述待迁移虚拟机磁盘对应的第一脏数据,并根据所述第一脏数据记录表将所述第一脏数据同步到新的虚拟机上。
本发明还提供一种虚拟机磁盘存储数据迁移系统,其中,包括:
源端主机,用于:
确定即将发起虚拟机磁盘存储数据的迁移过程;
开始监控全部虚拟机磁盘的读写操作;其中,若监控到写操作,则将脏数据重定向到中间节点上,并将所述脏数据所对应的虚拟机磁盘位置记录在源端脏数据记录表中;若监控到针对所述脏数据的读操作,则从所述中间节点上读取所述脏数据;
与目的端主机交互,完成所述全部虚拟机磁盘中待迁移虚拟机磁盘的迁移过程,所述迁移过程包括存储数据的迁移和虚拟机状态数据的迁移;
停止监控全部虚拟机磁盘的读写操作;
将所述脏数据记录表中与所述待迁移虚拟机磁盘对应的第一脏数据记录表发送给所述目的端主机;
从所述中间节点上读取与所述全部虚拟机磁盘中不迁移虚拟机磁盘对应的第二脏数据,并根据所述脏数据记录表中与所述不迁移虚拟机磁盘对应第二脏数据记录表将所述第二脏数据对应同步到所述不迁移虚拟机磁盘上;
所述目的端主机,用于:
启动新的虚拟机,从所述中间节点上读取与所述待迁移虚拟机磁盘对应的第一脏数据,并根据所述第一脏数据记录表将所述第一脏数据同步到新的虚拟机上。
由上述方法可知,本发明通过将针对源端主机上所有虚拟机的写操作重定向到中间节点,释放了源端主机部分磁盘I/O资源,使得释放的这部分磁盘I/O资源可以用于源端主机上待迁移虚拟机的迁移过程,从而提高了虚拟机读写性能,缩短了虚拟机在线迁移时间。
附图说明
图1为本发明虚拟机磁盘存储数据迁移方法实施例一提供的流程示意图;
图2为本发明虚拟机磁盘存储数据迁移方法实施例二提供的信令流程示意图;
图3为本发明虚拟机磁盘存储数据迁移系统实施例一提供的结构示意图;
图4为本发明虚拟机磁盘存储数据迁移系统实施例二提供的结构示意图;
图5为本发明虚拟机磁盘存储数据迁移系统实施例三提供的结构示意图。
具体实施方式
图1为本发明虚拟机磁盘存储数据迁移方法实施例一提供的流程示意图。如图1所示,本实施例的方法可以包括:
步骤101:源端主机确定即将发起虚拟机磁盘存储数据的迁移过程。
步骤102:所述源端主机开始监控全部虚拟机磁盘的读写操作;其中,若监控到写操作,则将脏数据重定向到中间节点上,并将所述脏数据所对应的虚拟机磁盘位置记录在源端脏数据记录表中;若监控到针对所述脏数据的读操作,则从所述中间节点上读取所述脏数据。
具体来说,中间节点为具有读写能力的存储设备,可以是物理主机,也可以是虚拟机,总之,该中间节点不会占用源端主机的磁盘I/O资源。另外,源端主机上可包括一个或多个待迁移虚拟机,还可以包括一个或多个不迁移虚拟机。
步骤103:所述源端主机与目的端主机交互,完成所述全部虚拟机磁盘中待迁移虚拟机磁盘的迁移过程,所述迁移过程包括存储数据的迁移和虚拟机状态数据的迁移。
具体来说,在所述源端主机与目的端主机交互前,目的端主机为待迁移虚拟机分配磁盘、CPU、内存、网络资源。其中,虚拟机状态数据可以包括:CPU、内存以及网络状态等数据。并且虚拟机状态数据后于虚拟机磁盘存储数据在线迁移。
步骤104:所述源端主机停止监控全部虚拟机磁盘的读写操作。
具体来说,步骤104中源端主机停止监控全部虚拟机磁盘的读写操作是指,不再将写入源端主机上的虚拟机的数据重定向到中间节点,读取相应数据时,到相应的存储位置中读取,具体的,步骤104前产生的脏数据从中间节点读取。
步骤105:所述源端主机将所述源端脏数据记录表中与所述待迁移虚拟机磁盘对应的第一脏数据记录表发送给所述目的端主机。
具体来说,所述第一脏数据表中记录的是待迁移虚拟机脏数据的索引信息。第一脏数据记录表具体实现方式可以有:比特表(bitmap)、键值对表(key-valuemap)、哈希表等。
步骤106:所述源端主机从所述中间节点上读取与所述全部虚拟机磁盘中不迁移虚拟机磁盘对应的第二脏数据,并根据所述源端脏数据记录表中与所述不迁移虚拟机磁盘对应第二脏数据记录表将所述第二脏数据对应同步到所述不迁移虚拟机磁盘上。
具体来说,步骤105与步骤106可以同时进行,也可以先执行步骤105再执行步骤106,还可以先执行步骤106,再执行步骤105,本实施例并不限定。
步骤107:所述目的端主机启动新的虚拟机,从所述中间节点上读取与所述待迁移虚拟机磁盘对应的第一脏数据,并根据所述第一脏数据记录表将所述第一脏数据同步到新的虚拟机上。
具体来说,目的端主机启动的新的虚拟机与源端主机的待迁移虚拟机相对应,新的虚拟机是指源端主机的待迁移虚拟机迁移到目的端主机后形成的虚拟机。另外,步骤105先于步骤107执行,步骤106与步骤107可以同时进行,也可以先执行步骤106再执行步骤107,还可以先执行步骤107,再执行步骤106,本实施例并不限定。
源端主机与目的端主机做好虚拟机在线迁移准备后,源端主机监控源端全部虚拟机的读写操作,在监控到写操作时,则将脏数据重定向到中间节点,在监控到读操作时,则根据数据存储的位置读取数据。
本实施例中,通过将针对源端主机上所有虚拟机的写操作重定向到中间节点,释放了源端主机部分磁盘I/O资源,使得释放的这部分磁盘I/O资源可以用于源端主机上的虚拟机的迁移过程,从而提高了虚拟机读写性能,缩短了虚拟机在线迁移时间。
在上述实施例的基础上,进一步的,所述源端主机将所述脏数据对应重定向到与所述全部虚拟机磁盘中各虚拟机磁盘对应的中间节点上。
具体来说,是将源端主机上不同的虚拟机对应到不同的中间节点。
通过将源端主机上不同的虚拟机的脏数据重定向到不同的中间节点,可以降低针对中间节点写入或读取脏数据时操作的复杂程度,优化各虚拟机与中间节点存储空间的对应关系。
在上述实施例的基础上,进一步的,所述源端主机根据所述第二脏数据记录表中记录的虚拟机磁盘位置,将所述第二脏数据对应同步到所述不迁移虚拟机磁盘上,并且删除所述第二脏数据记录表中对应的记录。若所述源端主机在确定读操作命中所述第二脏数据记录表,则从所述中间节点上读取对应的脏数据。
具体来说,源端主机在进行脏数据同步时,每同步一条脏数据,都对应删除该脏数据在第二脏数据记录表中的记录。在下一次读取该脏数据时,都只在源端主机上读取该脏数据,而不需要在中间节点上读取该脏数据。
通过该方法可释放所述第二脏数据对应中间节点的存储空间,优化了源端主机在读取脏数据时的操作。
在上述实施例的基础上,进一步的,所述目的端主机根据所述第一脏数据记录表中记录的虚拟机磁盘位置,将所述第一脏数据同步到所述新的虚拟机上,并且删除所述第一脏数据记录表中对应的记录。若所述目的端主机在确定读操作命中所述第一脏数据记录表,则从所述中间节点上读取对应的脏数据。
具体来说,该方法对应于前述方法,此处不再赘述。
在上述实施例的基础上,进一步的,所述源端主机与目的端主机交互,完成所述全部虚拟机磁盘中待迁移虚拟机磁盘的迁移过程之前,所述目的端主机开始监控全部虚拟机磁盘的读写操作。其中,若监控到写操作,则将脏数据重定向到中间节点上,并将所述脏数据所对应的虚拟机磁盘位置记录在目的端脏数据记录表中;若监控到针对所述脏数据的读操作,则从所述中间节点上读取所述脏数据。所述源端主机与目的端主机交互,完成所述全部虚拟机磁盘中待迁移虚拟机磁盘的迁移过程之后,所述目的端主机停止监控全部虚拟机磁盘的读写操作。所述目的端主机根据所述目的端脏数据记录表将对应的脏数据同步到虚拟机磁盘上。
具体来说,该方法与源端主机将源端全部虚拟机的读操作重定向到中间节点相对应,此处不再赘述。
图2为本发明虚拟机磁盘存储数据迁移方法实施例二提供的信令流程示意图。如图2所示,本实施例的方法可以包括:
步骤201:目的端主机为迁移的虚拟机分配磁盘、CPU、内存、网络资源,做好迁移准备,等待源端连接,同时监控磁盘读写并将写操作重定向到中间节点。
步骤202:源端主机开始监控源端主机上全部虚拟机磁盘的读写操作,并将源端全部虚拟机的写操作重定向到中间节点,同时将源端全部虚拟机的写操作所针对的磁盘位置和数据长度记录到脏数据记录表中。并监控源端全部虚拟机的读操作,在步骤209之前,如果源端主机查询脏数据记录表发现读操作针对脏数据,则从中间节点读取脏数据。
步骤203:源端主机向目的端主机发送迁移请求,接收到允许迁移的应答之后,开始向目的端主机传输待迁移虚拟机磁盘存储数据。
步骤204:目的端主机接收源端主机发送的请求,返回允许迁移应答。之后开始接收源端主机发送来的待迁移虚拟机的磁盘存储数据。
步骤205:源端主机将待迁移虚拟机的存储数据在线迁移到目的端主机。
步骤206:在线迁移待迁移虚拟机的存储数据结束后,在线迁移待迁移虚拟机的内存、CPU以及网络状态数据。
步骤207:待迁移虚拟机的内存、CPU以及网络状态数据在线迁移结束后,源端主机将针对待迁移虚拟机的脏数据记录表发送至目的端主机,发送完毕在源端暂停该待迁移虚拟机。
步骤208:目的端主机接收该脏数据表,在目的端启动新的虚拟机,从此之后,所有针对所述新的虚拟机的新的写操作都在目的端执行。同时目的端主机开始监测目的端新的虚拟机的磁盘读写。
步骤209:源端主机根据脏数据记录表,将位于中间节点的针对不迁移虚拟机的脏数据同步至源端,同步过程中,不断清除已同步数据的磁盘对应位置在脏数据表中的记录。在此过程中,不迁移虚拟机的写操作都在源端执行,如果写操作命中脏数据记录,则清除该对应记录。同时,如果读操作命中脏数据记录,则需要从中间节点读取该脏数据,并将该脏数据同步写入到源端上虚拟机磁盘对应位置并清除对应脏数据记录。
步骤210(与步骤209同时进行):目的端主机根据脏数据记录表,将位于中间节点的全部虚拟机的脏数据同步到目的端。同步过程中,不断清除已同步数据的磁盘对应位置在脏数据表中的记录。在此过程中,新的虚拟机的写操作都在目的端执行,如果写操作命中脏数据记录,则清除该对应记录。同时,如果读操作命中脏数据记录,则需要从中间节点读取该脏数据,并将该脏数据同步写入到目的端磁盘对应位置且清除对应脏数据记录。
由上述方法可知,本发明通过将针对源端主机上所有虚拟机的写操作重定向到中间节点,释放了源端主机部分磁盘I/O资源,使得释放的这部分磁盘I/O资源可以用于源端主机上待迁移虚拟机的迁移过程,从而提高了虚拟机读写性能,缩短了虚拟机在线迁移时间。
在上述实施例的基础上,进一步的,所述源端主机与目的端主机交互,完成所述全部虚拟机磁盘中待迁移虚拟机磁盘的迁移过程之前,所述目的端主机开始监控全部虚拟机磁盘的读写操作。其中,若监控到写操作,则将脏数据重定向到中间节点上,并将所述脏数据所对应的虚拟机磁盘位置记录在目的端脏数据记录表中;若监控到针对所述脏数据的读操作,则从所述中间节点上读取所述脏数据。所述源端主机与目的端主机交互,完成所述全部虚拟机磁盘中待迁移虚拟机磁盘的迁移过程之后,所述目的端主机停止监控全部虚拟机磁盘的读写操作。所述目的端主机根据所述目的端脏数据记录表将对应的脏数据同步到虚拟机磁盘上。
具体来说,该方法与源端主机将源端全部虚拟机的读操作重定向到中间节点相对应,此处不再赘述。
图3为本发明虚拟机磁盘存储数据迁移系统实施例一提供的结构示意图。如图3所示,该系统包括源端主机11以及目的端主机12。
源端主机11,用于:
确定即将发起虚拟机磁盘存储数据的迁移过程;
开始监控全部虚拟机磁盘的读写操作;其中,若监控到写操作,则将脏数据重定向到中间节点上,并将所述脏数据所对应的虚拟机磁盘位置记录在源端脏数据记录表中;若监控到针对所述脏数据的读操作,则从所述中间节点上读取所述脏数据;
与目的端主机12交互,完成所述全部虚拟机磁盘中待迁移虚拟机磁盘的迁移过程,所述迁移过程包括存储数据的迁移和虚拟机状态数据的迁移;
停止监控全部虚拟机磁盘的读写操作;
将所述源端脏数据记录表中与所述待迁移虚拟机磁盘对应的第一脏数据记录表发送给所述目的端主机12;
从所述中间节点上读取与所述全部虚拟机磁盘中不迁移虚拟机磁盘对应的第二脏数据,并根据所述源端脏数据记录表中与所述不迁移虚拟机磁盘对应第二脏数据记录表将所述第二脏数据对应同步到所述不迁移虚拟机磁盘上。
目的端主机12,用于:
启动新的虚拟机,从所述中间节点上读取与所述待迁移虚拟机磁盘对应的第一脏数据,并根据所述第一脏数据记录表将所述第一脏数据同步到新的虚拟机上。
本实施例的系统,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
下面采用两个具体的实施例,对图3所示的系统结构进行详细说明。
图4为本发明虚拟机磁盘存储数据迁移系统实施例二提供的结构示意图。如图4所示,该系统包括:源端主机11、目的端主机12、中间节点13、待迁移虚拟机14、不迁移虚拟机15、原有虚拟机16以及新的虚拟机17。
源端主机11,用于:确定即将发起待迁移虚拟机14的在线迁移过程;
监控待迁移虚拟机14以及不迁移虚拟机15的读写操作;若监控到写操作,则将脏数据重定向到中间节点13,并将所述脏数据所对应的虚拟机磁盘位置记录在源端脏数据记录表中;若监控到针对所述脏数据的读操作,则从所述中间节点13读取所述脏数据;
与目的端主机12交互,完成待迁移虚拟机14的迁移过程;
停止监控待迁移虚拟机14以及不迁移虚拟机15的读写操作;
将所述源端脏数据记录表中与所述待迁移虚拟机14对应的第一脏数据记录表发送给所述目的端主机12;
从所述中间节点13读取与不迁移虚拟机磁盘15对应的第二脏数据,同步到不迁移虚拟机15,并将该第二脏数据的记录从脏数据记录表中删除。
目的端主机12,用于:监控原有虚拟机16的读写操作,若监控到写操作,则将该写操作重定向到中间节点13,并将所述脏数据所对应的虚拟机磁盘位置记录在目的端脏数据记录表中,若监控到读操作,则到数据存储的位置相应读取数据;
与源端主机11交互,接收待迁移虚拟机14,该待迁移虚拟机14在目的端形成新的虚拟机17,并启动新的虚拟机17;
从所述中间节点13读取与所述待迁移虚拟机14对应的第一脏数据,并根据所述第一脏数据记录表将所述第一脏数据存储至新的虚拟机上17,并且删除所述第一脏数据记录表中对应的记录。
在上述实施例的基础上,进一步的,图5为本发明虚拟机磁盘存储数据迁移系统实施例三提供的结构示意图。如图5所示,该系统包括:源端主机11、目的端主机12、中间节点131、中间节点132、中间节点133、待迁移虚拟机14、不迁移虚拟机15、原有虚拟机16以及新的虚拟机17。
源端主机11,用于:将针对待迁移虚拟机14的脏数据重定向到中间节点131,将针对不迁移虚拟机15的脏数据重定向到中间节点132;
目的端主机12,用于:将针对原有虚拟机16的脏数据重定向到中间节点133。
具体说来,源端主机11与目的端主机12分别将不同的虚拟机重定向到不同的中间节点。
通过将不同的虚拟机重定向到不同的中间节点,进一步简化了在写入或读取脏数据时的操作。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种虚拟机磁盘存储数据迁移方法,其特征在于,包括:
源端主机确定即将发起虚拟机磁盘存储数据的迁移过程;
所述源端主机开始监控全部虚拟机磁盘的读写操作;其中,若监控到写操作,则将脏数据重定向到中间节点上,并将所述脏数据所对应的虚拟机磁盘位置记录在源端脏数据记录表中;若监控到针对所述脏数据的读操作,则从所述中间节点上读取所述脏数据;
所述源端主机与目的端主机交互,完成所述全部虚拟机磁盘中待迁移虚拟机磁盘的迁移过程,所述迁移过程包括存储数据的迁移和虚拟机状态数据的迁移;
所述源端主机停止监控全部虚拟机磁盘的读写操作;
所述源端主机将所述源端脏数据记录表中与所述待迁移虚拟机磁盘对应的第一脏数据记录表发送给所述目的端主机;
所述源端主机从所述中间节点上读取与所述全部虚拟机磁盘中不迁移虚拟机磁盘对应的第二脏数据,并根据所述源端脏数据记录表中与所述不迁移虚拟机磁盘对应的第二脏数据记录表将所述第二脏数据对应同步到所述不迁移虚拟机磁盘上;
所述目的端主机启动新的虚拟机,从所述中间节点上读取与所述待迁移虚拟机磁盘对应的第一脏数据,并根据所述第一脏数据记录表将所述第一脏数据同步到新的虚拟机上。
2.根据权利要求1所述的方法,其特征在于,所述源端主机将脏数据重定向到中间节点上,包括:
所述源端主机将所述脏数据对应重定向到与所述全部虚拟机磁盘中各虚拟机磁盘对应的中间节点上。
3.根据权利要求1所述的方法,其特征在于,所述源端主机根据所述源端脏数据记录表中与所述不迁移虚拟机磁盘对应第二脏数据记录表将所述第二脏数据对应同步到所述不迁移虚拟机磁盘上,包括:
所述源端主机根据所述第二脏数据记录表中记录的虚拟机磁盘位置,将所述第二脏数据从中间节点同步到对应的所述不迁移虚拟机磁盘上,并且删除所述第二脏数据记录表中对应的记录;
所述方法,还包括:
所述源端主机在确定读操作命中所述第二脏数据记录表,则从所述中间节点上读取对应的脏数据。
4.根据权利要求1所述的方法,其特征在于,所述目的端主机根据所述第一脏数据记录表将所述第一脏数据同步到新的虚拟机上,包括:
所述目的端主机根据所述第一脏数据记录表中记录的虚拟机磁盘位置,将所述第一脏数据同步到所述新的虚拟机上,并且删除所述第一脏数据记录表中对应的记录;
所述方法,还包括:
所述目的端主机在确定读操作命中所述第一脏数据记录表,则从所述中间节点上读取对应的脏数据。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述源端主机与目的端主机交互,完成所述全部虚拟机磁盘中待迁移虚拟机磁盘的迁移过程之前,还包括:
所述目的端主机开始监控全部虚拟机磁盘的读写操作;其中,若监控到写操作,则将脏数据重定向到中间节点上,并将所述脏数据所对应的虚拟机磁盘位置记录在目的端脏数据记录表中;若监控到针对所述脏数据的读操作,则从所述中间节点上读取所述脏数据;
所述源端主机与目的端主机交互,完成所述全部虚拟机磁盘中待迁移虚拟机磁盘的迁移过程之后,还包括:
所述目的端主机停止监控全部虚拟机磁盘的读写操作;
所述目的端主机根据所述目的端脏数据记录表将对应的脏数据同步到虚拟机磁盘上。
6.一种虚拟机磁盘存储数据迁移系统,其特征在于,包括:
源端主机,用于:
确定即将发起虚拟机磁盘存储数据的迁移过程;
开始监控全部虚拟机磁盘的读写操作;其中,若监控到写操作,则将脏数据重定向到中间节点上,并将所述脏数据所对应的虚拟机磁盘位置记录在源端脏数据记录表中;若监控到针对所述脏数据的读操作,则从所述中间节点上读取所述脏数据;
与目的端主机交互,完成所述全部虚拟机磁盘中待迁移虚拟机磁盘的迁移过程,所述迁移过程包括存储数据的迁移和虚拟机状态数据的迁移;
停止监控全部虚拟机磁盘的读写操作;
将所述源端脏数据记录表中与所述待迁移虚拟机磁盘对应的第一脏数据记录表发送给所述目的端主机;
从所述中间节点上读取与所述全部虚拟机磁盘中不迁移虚拟机磁盘对应的第二脏数据,并根据所述源端脏数据记录表中与所述不迁移虚拟机磁盘对应的第二脏数据记录表将所述第二脏数据对应同步到所述不迁移虚拟机磁盘上;
所述目的端主机,用于:
在所述源端主机将所述源端脏数据记录表中与所述待迁移虚拟机磁盘对应的第一脏数据记录表发送给所述目的端主机之后,启动新的虚拟机,从所述中间节点上读取与所述待迁移虚拟机磁盘对应的第一脏数据,并根据所述第一脏数据记录表将所述第一脏数据同步到新的虚拟机上。
7.根据权利要求6所述的系统,其特征在于,所述源端主机,具体用于将所述脏数据重定向到与所述全部虚拟机磁盘中各虚拟机磁盘对应的中间节点上。
8.根据权利要求6所述的系统,其特征在于,所述源端主机,具体用于根据所述第二脏数据记录表中记录的虚拟机磁盘位置,将所述第二脏数据从中间节点同步到对应的所述不迁移虚拟机磁盘上,并且删除所述第二脏数据记录表中对应的记录;
相应的,所述源端主机,还用于:
在确定读操作命中所述第二脏数据记录表,则从所述中间节点上读取对应的脏数据。
9.根据权利要求6所述的系统,其特征在于,所述目的端主机,具体用于根据所述第一脏数据记录表中记录的虚拟机磁盘位置,将所述第一脏数据同步到所述新的虚拟机上,并且删除所述第一脏数据记录表中对应的记录;
相应的,所述目的端主机,还用于:
在确定读操作命中所述第一脏数据记录表,则从所述中间节点上读取对应的脏数据。
10.根据权利要求6-9中任一项所述的系统,其特征在于,所述目的端主机,还用于:
在所述源端主机与目的端主机交互,完成所述全部虚拟机磁盘中待迁移虚拟机磁盘的迁移过程之前,开始监控全部虚拟机磁盘的读写操作;其中,若监控到写操作,则将脏数据重定向到中间节点上,并将所述脏数据所对应的虚拟机磁盘位置记录在目的端脏数据记录表中;若监控到针对所述脏数据的读操作,则从所述中间节点上读取所述脏数据;
在所述源端主机与目的端主机交互,完成所述全部虚拟机磁盘中待迁移虚拟机磁盘的迁移过程之后,停止监控全部虚拟机磁盘的读写操作;根据所述目的端脏数据记录表将对应的脏数据同步到虚拟机磁盘上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310461285.4A CN103500146B (zh) | 2013-09-30 | 2013-09-30 | 虚拟机磁盘存储数据迁移方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310461285.4A CN103500146B (zh) | 2013-09-30 | 2013-09-30 | 虚拟机磁盘存储数据迁移方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103500146A CN103500146A (zh) | 2014-01-08 |
CN103500146B true CN103500146B (zh) | 2016-04-27 |
Family
ID=49865360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310461285.4A Active CN103500146B (zh) | 2013-09-30 | 2013-09-30 | 虚拟机磁盘存储数据迁移方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103500146B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294471A (zh) * | 2015-06-03 | 2017-01-04 | 中兴通讯股份有限公司 | 数据迁移处理方法及装置 |
CN105511816A (zh) * | 2015-12-14 | 2016-04-20 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟机磁盘数据迁移方法及系统 |
CN107003893B (zh) * | 2016-02-03 | 2019-11-12 | 华为技术有限公司 | 虚拟机备份方法、备份装置及宿主机 |
CN106469085B (zh) * | 2016-08-31 | 2019-11-08 | 北京航空航天大学 | 虚拟机在线迁移方法、装置及系统 |
CN108829520B (zh) * | 2017-06-20 | 2022-03-29 | 成都灵跃云创科技有限公司 | 一种云环境下服务器资源分配方法和装置 |
CN107391629B (zh) * | 2017-06-30 | 2021-01-29 | 三六零科技集团有限公司 | 集群间数据迁移方法、系统、服务器及计算机存储介质 |
CN107729119B (zh) * | 2017-09-26 | 2021-04-13 | 联想(北京)有限公司 | 虚拟机迁移方法及其系统 |
CN111736945A (zh) * | 2019-08-07 | 2020-10-02 | 北京京东尚科信息技术有限公司 | 基于智能网卡的虚拟机热迁移方法、装置、设备及介质 |
CN110688064A (zh) * | 2019-09-05 | 2020-01-14 | 浪潮电子信息产业股份有限公司 | 一种虚拟磁盘迁移方法、装置、设备及可读存储介质 |
CN114143087B (zh) * | 2021-11-30 | 2023-09-26 | 北京天融信网络安全技术有限公司 | 一种虚拟机迁移系统及方法 |
CN116991546B (zh) * | 2023-09-28 | 2024-01-23 | 杭州优云科技有限公司 | 一种跨平台存储热迁移方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101101562A (zh) * | 2007-07-10 | 2008-01-09 | 北京大学 | 一种虚拟机的外存在线迁移方法 |
CN102073462A (zh) * | 2010-11-29 | 2011-05-25 | 华为技术有限公司 | 虚拟存储迁移方法、系统和虚拟机监控器 |
CN102455942A (zh) * | 2010-12-02 | 2012-05-16 | 中标软件有限公司 | 一种广域网虚拟机动态迁移方法及系统 |
CN102821158A (zh) * | 2012-08-20 | 2012-12-12 | 广州杰赛科技股份有限公司 | 一种实现虚拟机迁移的方法和云系统 |
US8484431B1 (en) * | 2009-05-13 | 2013-07-09 | Symantec Corporation | Method and apparatus for synchronizing a physical machine with a virtual machine while the virtual machine is operational |
CN103309625A (zh) * | 2013-05-29 | 2013-09-18 | 华为技术有限公司 | 一种基于自适应存储热迁移的方法和系统 |
-
2013
- 2013-09-30 CN CN201310461285.4A patent/CN103500146B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101101562A (zh) * | 2007-07-10 | 2008-01-09 | 北京大学 | 一种虚拟机的外存在线迁移方法 |
US8484431B1 (en) * | 2009-05-13 | 2013-07-09 | Symantec Corporation | Method and apparatus for synchronizing a physical machine with a virtual machine while the virtual machine is operational |
CN102073462A (zh) * | 2010-11-29 | 2011-05-25 | 华为技术有限公司 | 虚拟存储迁移方法、系统和虚拟机监控器 |
CN102455942A (zh) * | 2010-12-02 | 2012-05-16 | 中标软件有限公司 | 一种广域网虚拟机动态迁移方法及系统 |
CN102821158A (zh) * | 2012-08-20 | 2012-12-12 | 广州杰赛科技股份有限公司 | 一种实现虚拟机迁移的方法和云系统 |
CN103309625A (zh) * | 2013-05-29 | 2013-09-18 | 华为技术有限公司 | 一种基于自适应存储热迁移的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103500146A (zh) | 2014-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103500146B (zh) | 虚拟机磁盘存储数据迁移方法和系统 | |
US10795788B2 (en) | Remote data replication method and system | |
US10754550B2 (en) | Optimized data placement for individual file accesses on deduplication-enabled sequential storage systems | |
CN102467408B (zh) | 一种虚拟机数据的访问方法和设备 | |
KR101403417B1 (ko) | 가상 스토리지 이주 방법, 가상 스토리지 이주 시스템 및 저장 매체 | |
CN103034566B (zh) | 虚拟机还原的方法和装置 | |
CN109598156B (zh) | 一种写时重定向引擎快照流方法 | |
CN105912428B (zh) | 实现源数据实时转化为虚拟机镜像的系统及方法 | |
WO2014023000A1 (zh) | 分布式数据处理方法及装置 | |
CN109313538A (zh) | 内联去重 | |
US20160179432A1 (en) | Information processing apparatus and memory management method | |
CN112783449A (zh) | 数据迁移方法及装置 | |
CN111580933B (zh) | 一种基于硬件加速的虚拟机在线迁移方法 | |
CN107798063B (zh) | 快照处理方法和快照处理装置 | |
CN101477447A (zh) | 磁盘快照方法与装置 | |
JP4461089B2 (ja) | ストレージ制御装置およびストレージ制御方法 | |
JP5729479B2 (ja) | 仮想テープ装置及び仮想テープ装置の制御方法 | |
CN103970512A (zh) | 多核处理器及其并行重放方法 | |
CN113722319A (zh) | 基于学习索引的数据存储方法 | |
CN101308472B (zh) | 镜像卷的初始同步方法和控制装置 | |
CN110119389B (zh) | 虚拟机块设备的写操作方法、快照创建方法及装置 | |
JP4841408B2 (ja) | ボリューム移行プログラム及び方法 | |
CN103902368A (zh) | 虚拟机磁盘镜像跨存储热迁移实现方法和虚拟机系统 | |
CN113296716A (zh) | 虚拟机磁盘在线迁移方法、计算机可读存储介质和计算机 | |
US9740434B2 (en) | Storage device and control method |
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 |