CN102073462B - 虚拟存储迁移方法、系统和虚拟机监控器 - Google Patents
虚拟存储迁移方法、系统和虚拟机监控器 Download PDFInfo
- Publication number
- CN102073462B CN102073462B CN2010105789133A CN201010578913A CN102073462B CN 102073462 B CN102073462 B CN 102073462B CN 2010105789133 A CN2010105789133 A CN 2010105789133A CN 201010578913 A CN201010578913 A CN 201010578913A CN 102073462 B CN102073462 B CN 102073462B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- data
- migration
- memory device
- write request
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- 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/0617—Improving the reliability of storage systems in relation to availability
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种虚拟存储迁移方法、系统和虚拟机监控器,其中方法包括:启动数据迁移过程,将待迁移虚拟机磁盘中的数据块从源端存储设备拷贝至目标端存储设备;当接收到虚拟机前端I/O读请求时,直接从源端存储设备中读取相应的数据;当接收到虚拟机前端I/O写请求时,判断写请求对应的迁移数据块是否正在迁移,如果是,则等待迁移数据块迁移完成后再执行写请求对应的写操作,否则执行写请求对应的写操作;当待迁移虚拟机磁盘中的所有数据块均拷贝到目标端存储设备后,停止数据迁移,并将虚拟机磁盘由源端存储设备切换为目标端存储设备。通过本发明实施例,可以避免虚拟机停机导致的业务中断缺陷。
Description
技术领域
本发明实施例涉及通信技术,尤其涉及一种虚拟存储迁移方法、系统和虚拟机监控器。
背景技术
虚拟化技术是一种将底层硬件设备与上层操作系统和应用程序进行分离的去耦合方法,其作为当前流行的云计算(cloud computing)平台的底层重要支撑技术之一,可以大大提高物理设备的资源使用效率。与传统的物理机相比,虚拟机(Virtual Machine;以下简称:VM)具有更好的隔离性和封装性,其可以将整个虚拟机的信息保存到虚拟磁盘映像(Virtual Disk Image;以下简称:VDI)文件中,从而方便地对虚拟机进行快照、备份等。虚拟磁盘(Virtual Disk;以下简称:VD)是虚拟机监控器提供给虚拟机使用的虚拟存储设备,其对应的物理存储空间既可以是宿主机的本地存储系统,也可以是数据中心中的网络存储系统。当宿主机所连接的物理存储空间不足或存储系统中添加、删除存储设备时,需要对VD进行重新调整和划分,即进行虚拟存储迁移,以便对数据中心存储资源进行负载均衡。虚拟存储迁移可以包括离线迁移和在线迁移两种方法,其中虚拟存储在线迁移方法可以在不中断虚拟机前端应用的情况下进行。
现有技术中的虚拟存储在线迁移方法主要包括内存在线迁移预拷贝方法和外存在线迁移后拷贝方法。其中,第一种方法通过创建虚拟磁盘快照,生成只读的父磁盘和记录变化数据的子磁盘,在父磁盘的数据拷贝完成后,需要暂停虚拟机,将记录变化数据的子磁盘与目标存储设备中的父磁盘进行合并。而第二种方法则利用预拷贝和循环迭代拷贝的结合,先将全部外存数据发送至目的主机,记录并标记发送过程中的外存更新块,将外存更新块循环发送至目的主机,并重复上述循环发送步骤,直到达到设定条件,然后暂停虚拟机,对剩余的外存更新块进行拷贝同步。
然而,现有技术中的第一种方法在合并记录变化数据的子磁盘和目标存储设备中的父磁盘时需要暂停虚拟机,当合并的数据量较大或网络状态较差时,虚拟机的暂停可能会导致业务中断甚至出错;现有技术中的第二种方法尽管可以在一定程度上减少虚拟机的停机时间,但当迁移过程中虚拟机的写请求较多时,将触发更多的数据拷贝循环迭代,而且当虚拟机读请求访问缺失时,需要等待相应数据从源端存储设备拷贝到目标端存储设备,从而引起较大的读响应延迟,使得存储迁移时间延长,从而影响虚拟机正常的I/O访问性能。
发明内容
本发明实施例提供一种虚拟存储迁移方法、系统和虚拟机监控器,用以解决现有技术中虚拟机停机导致的业务中断甚至出错以及存储迁移时间过长导致的虚拟机的访问性能降低的缺陷,实现在虚拟机磁盘的迁移过程中同时对虚拟机的I/O访问请求进行处理,整个迁移过程无需暂停虚拟机,大大缩短存储迁移时间。
本发明实施例提供一种虚拟存储迁移方法,包括:
启动数据迁移,将待迁移虚拟机磁盘中的数据块从源端存储设备拷贝至目标端存储设备;
在数据迁移过程中,当接收到虚拟机前端输入/输出I/O读请求时,直接从所述源端存储设备中读取相应的数据;当接收到虚拟机前端I/O写请求时,判断所述虚拟机前端I/O写请求对应的迁移数据块是否正在迁移,如果是,则等待所述迁移数据块迁移完成后再执行所述虚拟机前端I/O写请求对应的写操作,如果所述虚拟机前端I/O写请求对应的迁移数据块未正在迁移,根据待迁移虚拟机磁盘中的数据块的位图表执行所述虚拟机前端I/O写请求对应的写操作;
当所述待迁移虚拟机磁盘中的所有数据块均拷贝到所述目标端存储设备 后,停止数据迁移,并将虚拟机管理器中的虚拟机磁盘由所述源端存储设备切换为所述目标端存储设备。
本发明实施例还提供一种虚拟存储迁移装置,包括:
迁移模块,用于启动数据迁移,将待迁移虚拟机磁盘中的数据块从源端存储设备拷贝至目标端存储设备;
请求处理模块,用于在数据迁移过程中,当接收到虚拟机前端输入/输出I/O读请求时,直接从所述源端存储设备中读取相应的数据;当接收到虚拟机前端I/O写请求时,判断所述虚拟机前端I/O写请求对应的迁移数据块是否正在迁移,如果是,则等待所述迁移数据块迁移完成后再执行所述虚拟机前端I/O写请求对应的写操作,当所述虚拟机前端I/O写请求对应的迁移数据块未正在迁移时,根据待迁移虚拟机磁盘中的数据块的位图表执行所述虚拟机前端I/O写请求对应的写操作;
切换模块,用于当所述待迁移虚拟机磁盘中的所有数据块均拷贝到所述目标端存储设备后,停止数据迁移,并将虚拟机管理器中的虚拟机磁盘由所述源端存储设备切换为所述目标端存储设备。
本发明实施例提供一种虚拟存储迁移系统,包括至少一个虚拟机、源端存储设备、目标端存储设备和上述虚拟存储迁移装置。
本发明实施例的虚拟存储迁移方法、系统和虚拟机监控器,通过虚拟机监控器启动数据迁移线程,将待迁移虚拟机磁盘中的数据块从源端存储设备拷贝至目标端存储设备;在数据迁移过程中,根据当前数据迁移情况对接收到的虚拟机前端I/O访问请求进行相应的处理,即当接收到读请求时,直接读取相应的数据,而当接收到写请求时,先判断写请求对应的迁移数据块是否正在迁移,如果是,则先等待其迁移完成后再执行写操作,否则直接执行写操作;且在虚拟机磁盘从源端存储设备迁移到目标端存储设备后,即可将虚拟机存储从源端存储设备切换到目标端存储设备,整个过程对于虚拟机上层操作系统和应用程序均透明。且由于虚拟机前端I/O访问请求在数据迁移过程中便同时被处理,无需额外的子磁盘来记录各请求中所改变的数据,更无需暂停虚拟机来单独对改变的数据进行更新处理,因此,本实施例避免了由于虚拟机停机导致的业务中断甚至出错的缺陷。另外,本实施例与现有技术中的外存在线迁移后拷贝方法相比,由于无需对数据块的改变部分进行循环迭代拷贝,则大大减少了迁移数据量,也缩短了迁移时间,提高了虚拟机的访问性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明虚拟存储迁移方法实施例一的流程图;
图2为本发明虚拟存储迁移方法实施例一中的网络架构示意图;
图3为本发明虚拟存储迁移方法实施例二中的虚拟机数据迁移过程的流程图;
图4为本发明虚拟存储迁移方法实施例二中的虚拟机I/O处理过程的流程图;
图5为本发明虚拟存储迁移方法实施例二中的数据迁移窗口示意图;
图6为本发明虚拟机监控器实施例一的结构示意图;
图7为本发明虚拟机监控器实施例二的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获 得的所有其他实施例,都属于本发明保护的范围。
图1为本发明虚拟存储迁移方法实施例一的流程图,如图1所示,本实施例提供了一种虚拟存储迁移方法,可以包括如下步骤:
步骤101,虚拟机监控器启动数据迁移,将待迁移虚拟机磁盘中的数据块从源端存储设备拷贝至目标端存储设备。
图2为本发明虚拟存储迁移方法实施例一中的网络架构示意图,如图2所示,虚拟机监控器(Virtual Machine Monitor;以下简称:VMM)作为操作系统(Operating System;以下简称:OS)和硬件之间的管理层,可以直接管理底层硬件资源,包括CPU、存储器(Memory)、磁盘(Disk)等,创建与底层硬件无关的虚拟机来供上层OS和应用程序使用,还可以监控所有VM的输入/输出(Input/Output;以下简称:I/O)访问请求。从图2中可以看出,网络中可以包括多个虚拟机,其中一个虚拟机(即图中最左边第一个虚拟机)属于特权域或驱动域(Privilege/Driver Domain)中的虚拟机,其协助VMM完成I/O功能,其它虚拟机中的操作系统和应用程序需要通过该虚拟机中的原生设备驱动,才能完成对底层存储系统的访问。即其它虚拟机可以将其I/O访问请求等转发到特权域或驱动域中的虚拟机上,由该虚拟机与虚拟机监控器进行数据交互,以实现I/O访问请求对物理磁盘DISK的访问。在本发明实施例中,通过虚拟机监控器启动数据迁移过程来实现虚拟存储迁移,在数据迁移过程的运行过程中,虚拟机监控器对待迁移虚拟机磁盘中的数据块进行拷贝,将数据块从源端存储设备拷贝至目标端存储设备。具体地,本步骤中虚拟机执行的存储迁移过程可以通过启动存储迁移线程来完成,后续实施例中与此类似,不再赘述。
步骤102,在数据迁移过程中,当接收到虚拟机前端I/O读请求时,虚拟机监控器直接从所述源端存储设备中读取相应的数据;当接收到虚拟机前端I/O写请求时,虚拟机监控器判断所述虚拟机前端I/O写请求对应的迁移数据块是否正在迁移,如果是,则等待所述迁移数据块迁移完成后再执行所述虚 拟机前端I/O写请求对应的写操作,否则执行所述虚拟机前端I/O写请求对应的写操作。
在虚拟机监控器启动数据迁移过程进行数据迁移的过程中,虚拟机监控器还同时接收并处理由虚拟机发送的虚拟机前端I/O访问请求,根据当前的数据迁移情况对接收到的虚拟机前端I/O访问请求进行处理,即I/O请求重定向过程融合在数据迁移过程中执行。其中,当虚拟机前端I/O访问请求访问虚拟机磁盘时,可以先将I/O访问请求与数据迁移过程中相应的请求一起排到请求队列中,虚拟机监控器在进行数据迁移过程中根据一定的策略实时地从请求队列中获取不同的请求进行相应的处理,即可以根据实际情况对队列中的不同I/O请求设置不同的处理优先级。与现有技术第一种方式需要额外的子磁盘空间来记录迁移过程中改变的数据,在数据迁移之后才暂停虚拟机以对改变的数据进行相应的处理相比,由于本实施例可以实现在数据迁移的同时对虚拟机前端I/O访问请求进行处理,即数据迁移过程和对虚拟机前端I/O访问请求的处理过程之间是独立的,二者之间不会相互影响,使得数据迁移的整个过程对于虚拟机及其应用来说是透明的。
具体地,在本步骤中,在数据迁移过程中,虚拟机监控器接收虚拟机发送的虚拟机前端I/O访问请求,当虚拟机前端I/O访问请求为读请求时,虚拟机监控器无需判断该读请求对应的数据块是否已迁移或正在迁移,直接根据该读请求从源端存储设备中读取该读请求对应的数据即可,并结束本流程。此时读请求的执行与数据迁移过程同步,二者互不影响对方。当虚拟机前端I/O访问请求为写请求时,虚拟机监控器需要继续判断该写请求对应的迁移数据块是否正在迁移,即判断该写请求将要写入的待迁移虚拟机磁盘中的迁移数据块是否正在迁移。当虚拟机监控器接收到的写请求对应的迁移数据块正在迁移时,先不执行该写请求对应的写操作,而是等待该迁移数据块的迁移,当该迁移数据块迁移完成后,再执行对应的写操作。当虚拟机监控器接收到的写请求对应的迁移数据块当前没有正在迁移时,则直接执行该写请求对应 的写操作,无需进行等待处理。
步骤103,当所述待迁移虚拟机磁盘中的所有数据块均拷贝到所述目标端存储设备后,虚拟机监控器停止数据迁移,并将虚拟机管理器中的虚拟机磁盘由所述源端存储设备切换为所述目标端存储设备。
当待迁移虚拟机磁盘中的所有数据块均从源端存储设备拷贝到目标端存储设备中,即完成数据迁移的整个过程之后,虚拟机监控器停止之前启动的数据迁移过程,同时对虚拟机管理器中的虚拟机磁盘进行切换,将其从之前设置的源端存储设备切换为目标端存储设备。
本实施例提供了一种虚拟存储迁移方法,通过虚拟机监控器启动数据迁移过程,将待迁移虚拟机磁盘中的数据块从源端存储设备拷贝至目标端存储设备;在数据迁移过程中,根据当前数据迁移情况对接收到的虚拟机前端I/O访问请求进行相应的处理,即当接收到读请求时,直接读取相应的数据,而当接收到写请求时,先判断写请求对应的迁移数据块是否正在迁移,如果是,则先等待其迁移完成后再执行写操作,否则直接执行写操作;且在虚拟机磁盘从源端存储设备迁移到目标端存储设备后,即可将虚拟机存储从源端存储设备切换到目标端存储设备,整个过程对于虚拟机上层操作系统和应用程序均透明。且由于虚拟机前端I/O访问请求在数据迁移过程中便同时被处理,无需额外的子磁盘来记录各请求中所改变的数据,更无需暂停虚拟机来单独对改变的数据进行更新处理,因此,本实施例避免了由于虚拟机停机导致的业务中断甚至出错的缺陷。另外,本实施例与现有技术中的外存在线迁移后拷贝方法相比,由于无需对数据块的改变部分进行循环迭代拷贝,则大大减少了迁移数据量,也缩短了迁移时间,提高了虚拟机的访问性能。
图3为本发明虚拟存储迁移方法实施例二中的虚拟机数据迁移过程的流程图,如图3所示,本实施例提供了一种虚拟存储迁移方法,可以具体包括如下步骤:
步骤301,虚拟机监控器在所述目标端存储设备中分配存储空间,将虚 拟机配置文件拷贝到所述目标端存储设备中。
本实施例中的源端存储设备和目标端存储设备是根据数据迁移的方向而设定的,源端存储设备为数据原始所存储的位置,目标端存储设备为设备迁移后所存储的位置,数据迁移过程为将数据从源端存储设备迁移到目标端存储设备。以图2为例,位于图中最下方左侧的存储设备为源端存储设备,位于图中最下方右侧的存储设备为目标端存储设备。在进行数据迁移前,虚拟机监控器先在目标端存储设备中分配存储空间,以存储保存在源端存储设备中的待迁移虚拟机磁盘中的数据块和虚拟机配置文件,执行本步骤时,虚拟机监控器先连接到该目标端存储设备上,建立源端存储设备与目标端存储设备之间的数据通道。然后虚拟机监控器将源端存储设备中的虚拟机配置文件拷贝至目标端存储设备中,使得源端存储设备和目标端存储设备中各保存一份虚拟机配置文件。
步骤302,虚拟机监控器设置数据迁移标志,启动数据迁移过程。
当完成数据迁移过程的前期准备工作之后,虚拟机监控器在自身中设置数据迁移标志,并同时启动数据迁移过程,开始对待迁移虚拟磁盘中的数据块进行迁移,以将其从源端存储设备拷贝至目标端存储设备。该数据迁移标识可以用于标识当前正处于数据迁移过程中,数据迁移过程当前为运行状态。本步骤中虚拟机监控器启动数据迁移过程还可以具体为:当虚拟机空闲时,虚拟机监控器再启动数据迁移过程。在本实施例中,为了降低虚拟机存储迁移对虚拟机前端应用的I/O性能的影响,本实施例采用一种低优先级的数据迁移过程,即虚拟机监控器优先服务虚拟机前端应用的前端I/O访问请求,该前端I/O访问请求可以包括I/O读请求和I/O写请求。当虚拟机空闲时,虚拟机监控器才启动数据迁移过程,即虚拟机监控器利用空闲的I/O带宽进行虚拟机存储数据的拷贝。
步骤303,虚拟机监控器以块簇为粒度对待迁移虚拟机磁盘中的数据块的位图表进行初始化。
在运行数据迁移过程时,本实施例通过设置待迁移虚拟机磁盘中的数据块的位图(Bitmap)表来协助迁移过程进行数据拷贝。具体地,本实施例中的数据迁移过程先对数据块的位图表进行初始化,虚拟机监控器可以以块簇(Chunk)为粒度对待迁移虚拟机磁盘中的数据块的位图表进行初始化,所述块簇的大小根据所述待迁移虚拟机磁盘的大小进行设定。本实施例中以块簇为粒度来初始化位图表,其中,位图表中的每个bit分别对应一个待迁移Chunk块,且Chunk块的大小可以在数据迁移开始之前,根据待迁移虚拟机磁盘的大小来进行设定,通过设置较大的Chunk块有利于提高磁盘的读写性能。例如,以待迁移虚拟机磁盘的大小为100GB为例进行说明,若将迁移过程中使用的每个Chunk块大小设置为1MB,则其对应的位图表的大小仅为12.5KB,由此可见,本实施例采用位图表协助数据迁移过程,位图表对内存空间的消耗非常小。
步骤304,虚拟机监控器从位图表中顺序地选取一个未置位的块簇对应的数据块进行迁移。
在进行数据迁移时,本发明实施例每次都从所述位图表中顺序地选取一个未置位的块簇对应的数据块进行迁移,此处的未置位的块簇用于标识尚未完成迁移的块簇;在每个数据块完成迁移之后,便将位图表中该数据块对应的块簇进行置位处理,以标识该块簇对应的数据块已完成迁移,因此,从位图表可以看出哪些块簇对应的数据块已完成迁移,哪些块簇对应的数据块尚未完成迁移,每次迁移时从位图表中顺序地选取未置位的块簇即可。本实施例在进行数据迁移时,可以重复执行上述步骤,直到将位图表中的所有块簇均置位,即表明该待迁移虚拟机磁盘中的数据块均已完成迁移。
步骤305,虚拟机监控器对位图表进行更新。
当完成一个迁移数据块的迁移之后,虚拟机监控器对位图表进行更新,具体对位图表中该迁移数据块对应的块簇进行置位处理,表明该块簇对应的数据块已完成迁移。
步骤306,虚拟机监控器判断是否已经完成数据迁移过程,如果是,则执行步骤307,否则返回执行步骤304。
虚拟机在对位图表进行更新后,判断是否已经完成整个数据迁移过程,具体可以根据位图表来判断,判断位图表中各数据块对应的块簇是否均已被置位,如果是,则表明待迁移虚拟机磁盘中的所有数据块均已拷贝到目标端存储设备中,则执行步骤307。如果位图表中还有数据块对应的块簇未被置位,则返回执行步骤304,顺序地对未置位的数据块进行迁移,直到将所述待迁移虚拟机磁盘中的所有数据块均拷贝到所述目标端存储设备中。
步骤307,虚拟机监控器停止所述数据迁移过程,并清除所述数据迁移标志。
当待迁移虚拟机磁盘中的所有数据块均拷贝到所述目标端存储设备中后,虚拟机监控器将之前启动的数据迁移过程停止,并清除其中的数据迁移标志,表明虚拟机当前未处于数据迁移状态,则后续其他设备访问该虚拟机或执行其他操作时可通过该数据迁移标志来获知该虚拟机当前未处于数据迁移状态。
步骤308,虚拟机监控器将虚拟机管理器中的虚拟机磁盘由所述源端存储设备切换为所述目标端存储设备,并删除所述源端存储设备中的所述虚拟机磁盘对应的虚拟机磁盘映像。
在完成整个数据迁移过程后,虚拟机监控器即可直接将虚拟机磁盘进行切换,将其由源端存储设备修改为目标端存储设备,并删除源端存储设备中的所述虚拟机磁盘对应的虚拟机磁盘映像,之后虚拟机所有的读写请求将全部发向目标端存储设备。
图4为本发明虚拟存储迁移方法实施例二中的虚拟机I/O处理过程的流程图,上述图3中单独介绍了本实施例中虚拟机数据迁移过程的各个步骤,图4将对本实施例中虚拟机I/O处理过程的各个步骤进行具体解释。具体地,本实施例提供的虚拟机存储迁移方法在上述图3所示的基础之上,还可以包 括:
步骤401,在数据迁移过程中,虚拟机监控器接收虚拟机发送的虚拟机前端I/O访问请求。
在本实施例中,虚拟机监控器启动数据迁移过程后,数据开始迁移,在数据迁移过程中,虚拟机监控器接收虚拟机发送的虚拟机前端I/O访问请求。在虚拟机前端I/O访问请求中可以携带该请求将访问的数据块信息,如前端I/O访问请求为读请求时,数据块信息包括将要从虚拟机磁盘中读取的数据块的位置或标识信息,或者前端I/O访问请求为写请求时,数据块信息包括写请求将要写入虚拟机磁盘中的数据块的位置或标识信息,该虚拟机前端I/O访问请求中还可以携带写请求将要写入的新写请求数据块,以将该新写请求数据块写入到对应的数据块中。
步骤402,虚拟机监控器判断接收到的虚拟机前端I/O访问请求是否为读请求,如果是,则执行步骤403,否则执行步骤404。
本步骤为虚拟机监控器先判断该虚拟机前端I/O访问请求是否为读请求,根据不同的请求类型执行后续不同的步骤。如果虚拟机监控器接收到的前端访问请求为读请求,则执行步骤403,直接从源端存储设备中读取相应的数据,并结束本流程;如果虚拟机监控器接收到的前端访问请求不是读请求,而为写请求,则执行步骤404,继续对该写请求对应的信息进行判断。
步骤403,虚拟机监控器直接从所述源端存储设备中读取相应的数据。
当虚拟机监控器接收到的虚拟机前端I/O访问请求为读请求时,由于读请求只是从虚拟机磁盘中读取数据,不会对虚拟机磁盘中的数据进行修改,且在数据迁移过程中源端存储设备始终保存有待迁移虚拟机磁盘中的所有数据。因此虚拟机监控器在接收到虚拟机发送的读请求后,无需判断该读请求对应的数据块是否已迁移或正在迁移,直接根据该读请求从源端存储设备中读取该读请求对应的数据即可,并结束本流程。此时读请求的执行与数据迁移过程同步,二者互不影响对方。
步骤404,虚拟机监控器判断所述写请求对应的迁移数据块是否正在迁移,如果是,则执行步骤405,否则执行步骤406。
虚拟机监控器接收到的访问请求为写请求时,由于写请求的执行会对相应的待迁移虚拟机磁盘中的数据块进行改变,因此,虚拟机监控器需要继续判断该写请求对应的迁移数据块是否正在迁移,即判断该写请求将要写入的待迁移虚拟机磁盘中的迁移数据块是否正在迁移。在本实施例中,虚拟机监控器在接收到写请求后,先对写请求中携带的新写请求数据块进行对齐处理,将其对齐到位图表中的各迁移数据块上,通过对齐处理获取该写请求具体对应的迁移数据块。写请求对应的迁移数据块可能为一个,也可能为多个。当写请求中携带的新写请求总数据块大于单位迁移数据块的大小时,该写请求对应多个迁移数据块,则将该写请求分别针对各迁移数据块进行处理,当写请求中携带的新写请求总数据块大于单位迁移数据块的大小时,也可能对应多个迁移数据块,即分别对应两个相邻迁移数据块的一部分。后续实施例仅对经过对齐处理的写请求进行说明,即如果写请求对应多个迁移数据块,则将该写请求中携带的新写请求总数据块进行分块处理,形成多个新写请求数据块,各新写请求数据块分别对应一个迁移数据块。其中,迁移数据块为待迁移虚拟机磁盘中的数据块,此处的迁移数据块为写请求将要写入的数据块。具体地,图5为本发明虚拟存储迁移方法实施例二中的数据迁移窗口示意图,为了便于维护虚拟机存储在线迁移过程中数据的一致性,以上文提到的位图表中的块簇为每次迁移数据的最小单位,具体可以为如图5所示的迁移窗口。以图5为例,当进行数据迁移时,虚拟机监控器按照顺序从位图表中选取一块未置位的数据进行迁移,则此时迁移窗口落在该数据块对应的块簇上,此处一个块簇包括3个方格代表的数据,即迁移窗口落在这3个方格上。当该数据块完成迁移之后,虚拟机监控器从位图表中顺序选择下一块未置位的数据进行迁移,则如5图中所示,迁移窗口可以向左移动三个方格,以此类推,迁移窗口不断移动,以遍历位图表中的所有方格,直到位图表中所有数据块 均被置位为止。
在判断该写请求对应的迁移数据块是否正在迁移时,可以具体判断对应的迁移数据块是否落入当前的迁移窗口中,如果落入迁移窗口中,则表明该迁移数据块正在迁移。为了便于实现,还可以对数据块进行加锁处理,当数据迁移过程和写请求在处理一个数据块时,需要先获取该数据块的锁,以实现对该数据块进行互斥的访问。如当数据迁移过程先对一个数据块进行迁移时,则数据迁移过程先获取到该数据块的锁,当写请求也对该数据块进行处理时,则必须等待数据迁移过程将该数据块迁移完毕才能执行写操作。经过判断,当该写请求对应的迁移数据块当前正在迁移时,虚拟机监控器执行后续步骤405,等待该迁移数据块完成其迁移过程之后,再执行该写请求对应的写操作;当该写请求对应的迁移数据块当前未处于正在迁移状态时,虚拟机监控器执行后续步骤406,根据位图表执行写请求对应的写操作,即虚拟机监控器通过查询位图表,进一步对该迁移数据块的状态进行判断,根据判断结果再执行写请求对应的写操作。
步骤405,虚拟机监控器等待所述迁移数据块迁移完成后再执行所述写请求对应的写操作。
当虚拟机监控器接收到的写请求对应的迁移数据块正在迁移时,先不执行该写请求对应的写操作,而是等待该迁移数据块的迁移,当该迁移数据块迁移完成后,再执行对应的写操作,即执行后续步骤406。
步骤406,虚拟机监控器根据所述位图表查询到对应的迁移数据块是否已迁移,如果是,则执行步骤407,否则执行步骤408。
当虚拟机监控器接收到的写请求对应的迁移数据块当前未处于正在迁移状态时,虚拟机监控器根据之前设定的位图表对该迁移数据块的状态进行查询,即通过位图表中该迁移数据块对应的块簇的置位状态来判断该数据块是否已完成迁移。如果位图表中该迁移数据块对应的块簇已置位,表明该数据块已完成迁移,则执行步骤407,虚拟机监控器直接将所述写请求中携带的 新写请求数据块写入到所述源端存储设备和所述目标端存储设备中;如果位图表中该迁移数据块对应的块簇未置位,表明该数据块未完成迁移(实际上,由于通过步骤404可以得到该数据块也未处于“正在迁移”的状态,因此,该数据块的实际状态为并未开始迁移),则执行步骤408,对该数据块进行进一步的判断。
步骤407,虚拟机监控器直接将所述写请求中携带的新写请求数据块写入到所述源端存储设备和所述目标端存储设备中,并返回执行数据迁移过程。
当写请求对应的迁移数据块已迁移时,则在源端存储设备和目标端存储设备中均已存储有该迁移数据块,则虚拟机监控器在执行该写请求对应的写操作时,直接将该写请求中携带的新写请求数据块均写入到源端存储设备和目标端存储设备中。此处的新写请求数据块为写请求将要写到其对应的迁移数据块中的数据,即将要对迁移数据块进行更新的数据。在完成本步骤的写操作的执行后,返回执行数据迁移过程。
步骤408,虚拟机监控器判断写请求中携带的新写请求数据块的大小是否小于所述迁移数据块的大小,如果是,则执行步骤409,如果等于则执行步骤410。
当写请求对应的迁移数据块未开始迁移时,虚拟机监控器进一步比较该写请求中携带的新写请求数据块的大小与对应的迁移数据块的大小,即判断该写请求所对应的写操作是否为满块执行。其中,在当新写请求数据块的大小小于迁移数据块的大小时,则虚拟机监控器执行后续步骤409,先将所述迁移数据块从所述源端存储设备拷贝到所述目标端存储设备中;当新写请求数据块的大小正好等于迁移数据块的大小时,则虚拟机监控器执行后续步骤410,直接将所述写请求中携带的新写请求数据块写入到所述源端存储设备和所述目标端存储设备中。
步骤409,虚拟机监控器将所述迁移数据块从所述源端存储设备拷贝到所述目标端存储设备中,并继续执行步骤410。
当新写请求数据块的大小小于迁移数据块的大小,即该写请求对应的写操作只针对迁移数据块中的部分数据时,虚拟机监控器需要先将该迁移数据块从源端存储设备拷贝到目标端存储设备中,实现该迁移数据块的两端备份,以同时完成该迁移数据块的迁移,再执行后续步骤410。
步骤410,虚拟机监控器将所述写请求中携带的新写请求数据块写入到所述源端存储设备和所述目标端存储设备中,并执行后续步骤411。
当该写请求对应的写操作只针对对应的迁移数据块中的部分数据时,虚拟机监控器先对迁移数据块进行拷贝,再执行本步骤,将该新写请求数据块写入到源端存储设备和目标端存储设备中,同时实现迁移数据块的迁移和写操作的执行。而当写请求对应的写操作针对迁移数据块的满块数据时,虚拟机监控器则直接将该新写请求数据块写入到源端存储设备和目标端存储设备中,便可同时实现迁移数据块的迁移和写操作的执行。此时,写操作执行完成,源端存储设备和目标端存储设备中均保存有更新后的迁移数据块,而无需在整个数据迁移过程结束之后再对数据进行更新。
步骤411,虚拟机监控器对所述位图表中所述迁移数据块对应的块簇进行置位处理。
当完成一个迁移数据块的迁移之后,虚拟机监控器对位图表中该迁移数据块对应的块簇进行置位处理,表明该块簇对应的数据块已完成迁移。
本实施例提供了一种虚拟存储迁移方法,通过虚拟机监控器启动数据迁移过程,在数据迁移过程中,根据当前数据迁移情况对接收到的虚拟机前端I/O访问请求进行重定向,并在虚拟机磁盘从源端存储设备迁移到目标端存储设备后,即可将虚拟机存储从源端存储设备切换到目标端存储设备,整个过程对于虚拟机上层操作系统和应用程序均透明。且由于虚拟机前端I/O访问请求在数据迁移过程中便同时被处理,无需额外的子磁盘来记录各请求中所改变的数据,更无需暂停虚拟机来单独对改变的数据进行更新处理,因此,本实施例避免了由于虚拟机停机导致的业务中断甚至出错的缺陷,也满足了 电信、银行等关键应用场合中“零停机”的高可用性要求。另外,本实施例由于无需对数据块的改变部分进行循环迭代拷贝,在虚拟机磁盘迁移过程中,每个数据块最多只会被传输一次,则与现有技术中的外存在线迁移后拷贝方法相比,大大减少了迁移数据量,也缩短了迁移时间,提高了虚拟机的访问性能,尤其适合于写请求密集的场景中。再者,本实施例的数据迁移过程中无需占用额外的存储空间来记录改变的数据,且无需改变源端存储设备中存储的数据的存放,不会对虚拟机的读写产生影响,使得在数据迁移过程中虚拟机仍可以具有较好的读写性能。最后,本实施例中采用低优先级的数据迁移过程,虚拟机监控器优先服务虚拟机的正常I/O的访问情况,同时尽可能地利用空闲的I/O带宽来进行数据传输,不会影响虚拟机的正常业务。
传统的块级存储系统数据远程复制或同步方法,是以整个存储设备为单位进行数据传输的,但在虚拟机环境中,存储设备中一般会包含多个虚拟机磁盘映像,而存储设备本身无法感知并区分这些虚拟机磁盘,从而无法单独对某个虚拟机磁盘进行迁移。与现有技术相比,由于本实施例采用以块簇为粒度来初始化待迁移虚拟机磁盘中的数据块的位图表,由位图表来协助数据迁移过程,大大降低了对内存空间的消耗。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图6为本发明虚拟机监控器实施例一的结构示意图,如图6所示本实施例提供了一种虚拟机监控器,可以具体执行上述方法实施例一中的各个步骤,此处不再赘述。本实施例提供的虚拟机监控器可以具体包括迁移模块601、请求处理模块602和切换模块603。其中,迁移模块601用于启动数据迁移,将待迁移虚拟机磁盘中的数据块从源端存储设备拷贝至目标端存储设备。请求处理模块602用于在数据迁移过程中,当接收到虚拟机前端I/O读请求时, 直接从所述源端存储设备中读取相应的数据;当接收到虚拟机前端I/O写请求时,判断所述虚拟机前端I/O写请求对应的迁移数据块是否正在迁移,如果是,则等待所述迁移数据块迁移完成后再执行所述虚拟机前端I/O写请求对应的写操作,否则执行所述虚拟机前端I/O写请求对应的写操作。切换模块603用于当所述待迁移虚拟机磁盘中的所有数据块均拷贝到所述目标端存储设备后,停止数据迁移,并将虚拟机管理器中的虚拟机磁盘由所述源端存储设备切换为所述目标端存储设备。
图7为本发明虚拟机监控器实施例二的结构示意图,如图7所示,本实施例提供了一种虚拟机监控器,本实施例可以具体执行上述方法实施例二中的各个步骤,此处不再赘述。本实施例提供的虚拟机监控器在上述图6所示的基础之上,迁移模块601可以具体包括初始化单元611、迁移单元621和置位单元631。初始化单元611用于以块簇为粒度对待迁移虚拟机磁盘中的数据块的位图表进行初始化,所述块簇的大小根据所述待迁移虚拟机磁盘的大小进行设定。迁移单元621用于从所述位图表中顺序地选取一个未置位的块簇对应的数据块进行迁移。置位单元631用于当所述块簇对应的数据块从源端存储设备拷贝到目标端存储设备时,对所述位图表中的所述块簇进行置位处理。
具体地,请求处理模块602可以具体包括读请求处理单元612、判断单元622、等待单元632和执行单元642。其中,读请求处理单元612用于在数据迁移过程中,当接收到的虚拟机前端I/O访问请求为读请求时,直接从所述源端存储设备中读取相应的数据。判断单元622用于在数据迁移过程中,当接收虚拟机前端I/O写请求时,判断所述虚拟机前端I/O写请求对应的迁移数据块是否正在迁移。等待单元632用于当判断单元622的判断结果为所述虚拟机前端I/O写请求对应的迁移数据块正在迁移时,等待所述数据块迁移完成后再执行所述虚拟机前端I/O写请求对应的写操作。执行单元642用于当判断单元622的判断结果为所述虚拟机前端I/O写请求对应的迁移数据块未正在迁移 时,根据所述位图表执行所述虚拟机前端I/O写请求对应的写操作。
进一步地,执行单元642可以具体包括第一执行子单元6421、第二执行子单元6422和第三执行子单元6423。其中,第一执行子单元6421用于当根据所述位图表查询到所述虚拟机前端I/O写请求对应的迁移数据块已迁移时,直接将所述虚拟机前端I/O写请求中携带的新写请求数据块写入到所述源端存储设备和所述目标端存储设备中。第二执行子单元6422用于当根据所述位图表查询到所述虚拟机前端I/O写请求对应的迁移数据块未迁移,且所述虚拟机前端I/O写请求中携带的新写请求数据块的大小小于所述迁移数据块的大小时,将所述迁移数据块从所述源端存储设备拷贝到所述目标端存储设备中,将所述新写请求数据块写入到所述源端存储设备和所述目标端存储设备中,并对所述位图表中所述迁移数据块对应的块簇进行置位处理。第三执行子单元6423用于当根据所述位图表查询到所述虚拟机前端I/O写请求对应的迁移数据块未迁移,且所述虚拟机前端I/O写请求中携带的新写请求数据块的大小等于所述迁移数据块的大小时,直接将所述新写请求数据块写入到所述源端存储设备和所述目标端存储设备中,并对所述位图表中所述迁移数据块对应的块簇进行置位处理。
更进一步地,本实施例提供的虚拟机监控器还可以包括分配模块604,分配模块604用于在启动数据迁移过程之前,在所述目标端存储设备中分配存储空间,将虚拟机配置文件拷贝到所述目标端存储设备中,并设置数据迁移标志,所述数据迁移标志用于标识数据当前正在迁移。
更进一步地,本实施例提供的虚拟机监控器还可以包括删除模块605,删除模块605用于在所述停止所述数据迁移过程之后,清除所述数据迁移标志,并删除所述源端存储设备中的所述虚拟机磁盘对应的虚拟机磁盘映像。
更进一步地,本实施例提供的虚拟机监控器还可以包括优先处理模块606,优先处理模块606用于优先处理I/O访问请求,所述I/O访问请求包括所述虚拟机前端读请求以及所述虚拟机前端I/O写请求;在虚拟机空闲时采 用低优先级的数据迁移线程进行数据迁移。
本实施例提供了一种虚拟机监控器,通过启动数据迁移过程,将待迁移虚拟机磁盘中的数据块从源端存储设备拷贝至目标端存储设备;在数据迁移过程中,根据当前数据迁移情况对接收到的虚拟机前端I/O访问请求进行相应的处理,即当接收到读请求时,直接读取相应的数据,而当接收到写请求时,先判断写请求对应的迁移数据块是否正在迁移,如果是,则先等待其迁移完成后再执行写操作,否则直接执行写操作;且在虚拟机磁盘从源端存储设备迁移到目标端存储设备后,即可将虚拟机存储从源端存储设备切换到目标端存储设备,整个过程对于虚拟机上层操作系统和应用程序均透明。且由于虚拟机前端I/O访问请求在数据迁移过程中便同时被处理,无需额外的子磁盘来记录各请求中所改变的数据,更无需暂停虚拟机来单独对改变的数据进行更新处理,因此,本实施例避免了由于虚拟机停机导致的业务中断甚至出错的缺陷。另外,本实施例与现有技术中的外存在线迁移后拷贝方法相比,由于无需对数据块的改变部分进行循环迭代拷贝,则大大减少了迁移数据量,也缩短了迁移时间,提高了虚拟机的访问性能。
本实施例提供了一种虚拟存储迁移系统,包括具体包括至少一个虚拟机、源端存储设备、目标端存储设备、虚拟机监控器。其中,虚拟机监控器可以采用上述图6或图7所示的虚拟机监控器。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (12)
1.一种虚拟存储迁移方法,其特征在于,包括:
启动数据迁移,将待迁移虚拟机磁盘中的数据块从源端存储设备拷贝至目标端存储设备;
在数据迁移过程中,当接收到虚拟机前端输入/输出I/O读请求时,直接从所述源端存储设备中读取相应的数据;当接收到虚拟机前端I/O写请求时,判断所述虚拟机前端I/O写请求对应的迁移数据块是否正在迁移,如果是,则等待所述迁移数据块迁移完成后再执行所述虚拟机前端I/O写请求对应的写操作,如果所述虚拟机前端I/O写请求对应的迁移数据块未正在迁移,根据待迁移虚拟机磁盘中的数据块的位图表执行所述虚拟机前端I/O写请求对应的写操作;其中,所述位图表以块簇为迁移数据的最小单位;
当所述待迁移虚拟机磁盘中的所有数据块均拷贝到所述目标端存储设备后,停止数据迁移,并将虚拟机管理器中的虚拟机磁盘由所述源端存储设备切换为所述目标端存储设备;
其中,所述如果所述虚拟机前端I/O写请求对应的迁移数据块未正在迁移,根据待迁移虚拟机磁盘中的数据块的位图表执行所述虚拟机前端I/O写请求对应的写操作包括:
当根据所述位图表查询到所述虚拟机前端I/O写请求对应的迁移数据块未迁移,且所述虚拟机前端I/O写请求中携带的新写请求数据块的大小小于所述迁移数据块的大小时,将所述迁移数据块从所述源端存储设备拷贝到所述目标端存储设备中,将所述新写请求数据块写入到所述源端存储设备和所述目标端存储设备中,并对所述位图表中所述迁移数据块对应的块簇进行置位处理。
2.根据权利要求1所述的方法,其特征在于,所述启动数据迁移,将待迁移虚拟机磁盘中的数据块从源端存储设备拷贝至目标端存储设备包括:
以块簇为粒度对待迁移虚拟机磁盘中的数据块的位图表进行初始化,所述块簇的大小根据所述待迁移虚拟机磁盘的大小进行设定;
从所述位图表中顺序地选取一个未置位的块簇对应的数据块进行迁移;
当所述块簇对应的数据块从源端存储设备拷贝到目标端存储设备时,对所述位图表中的所述块簇进行置位处理。
3.根据权利要求2所述的方法,其特征在于,所述如果所述虚拟机前端I/O写请求对应的迁移数据块未正在迁移,根据待迁移虚拟机磁盘中的数据块的位图表执行所述虚拟机前端I/O写请求对应的写操作,还包括:
当根据所述位图表查询到所述虚拟机前端I/O写请求对应的迁移数据块已迁移时,直接将所述虚拟机前端I/O写请求中携带的新写请求数据块写入到所述源端存储设备和所述目标端存储设备中;
当根据所述位图表查询到所述虚拟机前端I/O写请求对应的迁移数据块未迁移,且所述虚拟机前端I/O写请求中携带的新写请求数据块的大小等于所述迁移数据块的大小时,直接将所述新写请求数据块写入到所述源端存储设备和所述目标端存储设备中,并对所述位图表中所述迁移数据块对应的块簇进行置位处理。
4.根据权利要求1所述的方法,其特征在于,在启动数据迁移之前,还包括:
在所述目标端存储设备中分配存储空间,将虚拟机配置文件拷贝到所述目标端存储设备中,并设置数据迁移标志,所述数据迁移标志用于标识数据当前正在迁移。
5.根据权利要求4所述的方法,其特征在于,在停止所述数据迁移之后,还包括:
清除所述数据迁移标志,并删除所述源端存储设备中的所述虚拟机磁盘对应的虚拟机磁盘映像。
6.根据权利要求1所述的方法,其特征在于,还包括:
优先处理前端I/O访问请求,所述前端I/O访问请求包括所述虚拟机前端I/O读请求以及所述虚拟机前端I/O写请求;在虚拟机空闲时采用低优先级的数据迁移线程进行数据迁移。
7.一种虚拟存储迁移装置,其特征在于,包括:
迁移模块,用于启动数据迁移,将待迁移虚拟机磁盘中的数据块从源端存储设备拷贝至目标端存储设备;
请求处理模块,用于在数据迁移过程中,当接收到虚拟机前端输入/输出I/O读请求时,直接从所述源端存储设备中读取相应的数据;当接收到虚拟机前端I/O写请求时,判断所述虚拟机前端I/O写请求对应的迁移数据块是否正在迁移,如果是,则等待所述迁移数据块迁移完成后再执行所述虚拟机前端I/O写请求对应的写操作,当所述虚拟机前端I/O写请求对应的迁移数据块未正在迁移时,根据待迁移虚拟机磁盘中的数据块的位图表执行所述虚拟机前端I/O写请求对应的写操作;其中,所述位图表以块簇为迁移数据的最小单位;所述如果所述虚拟机前端I/O写请求对应的迁移数据块未正在迁移,根据待迁移虚拟机磁盘中的数据块的位图表执行所述虚拟机前端I/O写请求对应的写操作包括:当根据所述位图表查询到所述虚拟机前端I/O写请求对应的迁移数据块未迁移,且所述虚拟机前端I/O写请求中携带的新写请求数据块的大小小于所述迁移数据块的大小时,将所述迁移数据块从所述源端存储设备拷贝到所述目标端存储设备中,将所述新写请求数据块写入到所述源端存储设备和所述目标端存储设备中,并对所述位图表中所述迁移数据块对应的块簇进行置位处理;
切换模块,用于当所述待迁移虚拟机磁盘中的所有数据块均拷贝到所述目标端存储设备后,停止数据迁移,并将虚拟机管理器中的虚拟机磁盘由所述源端存储设备切换为所述目标端存储设备。
8.根据权利要求7所述的装置,其特征在于,所述迁移模块包括:
初始化单元,用于以块簇为粒度对待迁移虚拟机磁盘中的数据块的位图表进行初始化,所述块簇的大小根据所述待迁移虚拟机磁盘的大小进行设定;
迁移单元,用于从所述位图表中顺序地选取一个未置位的块簇对应的数据块进行迁移;
置位单元,用于当所述块簇对应的数据块从源端存储设备拷贝到目标端存储设备时,对所述位图表中的所述块簇进行置位处理。
9.根据权利要求8所述的装置,其特征在于,所述请求处理模块包括:
读请求处理单元,用于在数据迁移过程中,当接收到虚拟机前端I/O读请求时,直接从所述源端存储设备中读取相应的数据;
判断单元,用于在数据迁移过程中,当接收到虚拟机前端I/O写请求时,判断所述虚拟机前端I/O写请求对应的迁移数据块是否正在迁移;
等待单元,用于当所述判断单元的判断结果为所述虚拟机前端I/O写请求对应的迁移数据块正在迁移时,等待所述数据块迁移完成后再执行所述虚拟机前端I/O写请求对应的写操作;
执行单元,用于当所述判断单元的判断结果为所述虚拟机前端I/O写请求对应的迁移数据块未正在迁移时,根据所述位图表执行所述虚拟机前端I/O写请求对应的写操作;
其中,所述执行单元包括:
第一执行子单元,用于当根据所述位图表查询到所述虚拟机前端I/O写请求对应的迁移数据块已迁移时,直接将所述虚拟机前端I/O写请求中携带的新写请求数据块写入到所述源端存储设备和所述目标端存储设备中;
第二执行子单元,用于当根据所述位图表查询到所述虚拟机前端I/O写请求对应的迁移数据块未迁移,且所述虚拟机前端I/O写请求中携带的新写请求数据块的大小小于所述迁移数据块的大小时,将所述迁移数据块从所述源端存储设备拷贝到所述目标端存储设备中,将所述新写请求数据块写入到所述源端存储设备和所述目标端存储设备中,并对所述位图表中所述迁移数据块对应的块簇进行置位处理;
第三执行子单元,用于当根据所述位图表查询到所述虚拟机前端I/O写请求对应的迁移数据块未迁移,且所述虚拟机前端I/O写请求中携带的新写请求数据块的大小等于所述迁移数据块的大小时,直接将所述新写请求数据块写入到所述源端存储设备和所述目标端存储设备中,并对所述位图表中所述迁移数据块对应的块簇进行置位处理。
10.根据权利要求7所述的装置,其特征在于,还包括:
分配模块,用于在启动数据迁移线程之前,在所述目标端存储设备中分配存储空间,将虚拟机配置文件拷贝到所述目标端存储设备中,并设置数据迁移标志,所述数据迁移标志用于标识数据当前正在迁移。
11.根据权利要求10所述的装置,其特征在于,还包括:
删除模块,用于在停止数据迁移之后,清除所述数据迁移标志,并删除所述源端存储设备中的所述虚拟机磁盘对应的虚拟机磁盘映像。
12.根据权利要求10所述的装置,其特征在于,还包括:
优先处理模块,用于优先处理I/O访问请求,所述I/O访问请求包括所述虚拟机前端I/O读请求以及所述虚拟机前端I/O写请求;在虚拟机空闲时采用低优先级的数据迁移线程进行数据迁移。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105789133A CN102073462B (zh) | 2010-11-29 | 2010-11-29 | 虚拟存储迁移方法、系统和虚拟机监控器 |
KR1020127012579A KR101403417B1 (ko) | 2010-11-29 | 2011-05-17 | 가상 스토리지 이주 방법, 가상 스토리지 이주 시스템 및 저장 매체 |
JP2012545079A JP5459811B2 (ja) | 2010-11-29 | 2011-05-17 | 仮想ストレージ移行のための方法およびシステム、ならびに仮想マシンモニタ |
EP11777199.8A EP2437167B1 (en) | 2010-11-29 | 2011-05-17 | Method and system for virtual storage migration and virtual machine monitor |
PCT/CN2011/074189 WO2011137780A1 (zh) | 2010-11-29 | 2011-05-17 | 虚拟存储迁移方法、系统和虚拟机监控器 |
US13/340,117 US9411620B2 (en) | 2010-11-29 | 2011-12-29 | Virtual storage migration method, virtual storage migration system and virtual machine monitor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105789133A CN102073462B (zh) | 2010-11-29 | 2010-11-29 | 虚拟存储迁移方法、系统和虚拟机监控器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102073462A CN102073462A (zh) | 2011-05-25 |
CN102073462B true CN102073462B (zh) | 2013-04-17 |
Family
ID=44032015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010105789133A Active CN102073462B (zh) | 2010-11-29 | 2010-11-29 | 虚拟存储迁移方法、系统和虚拟机监控器 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9411620B2 (zh) |
EP (1) | EP2437167B1 (zh) |
JP (1) | JP5459811B2 (zh) |
KR (1) | KR101403417B1 (zh) |
CN (1) | CN102073462B (zh) |
WO (1) | WO2011137780A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106227587A (zh) * | 2016-07-19 | 2016-12-14 | 浪潮(北京)电子信息产业有限公司 | 一种带快照虚拟机整机动态迁移方法及装置 |
Families Citing this family (154)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8819208B2 (en) | 2010-03-05 | 2014-08-26 | Solidfire, Inc. | Data deletion in a distributed data storage system |
CN102073462B (zh) | 2010-11-29 | 2013-04-17 | 华为技术有限公司 | 虚拟存储迁移方法、系统和虚拟机监控器 |
US9747287B1 (en) | 2011-08-10 | 2017-08-29 | Nutanix, Inc. | Method and system for managing metadata for a virtualization environment |
US8549518B1 (en) | 2011-08-10 | 2013-10-01 | Nutanix, Inc. | Method and system for implementing a maintenanece service for managing I/O and storage for virtualization environment |
US8601473B1 (en) * | 2011-08-10 | 2013-12-03 | Nutanix, Inc. | Architecture for managing I/O and storage for a virtualization environment |
US9652265B1 (en) | 2011-08-10 | 2017-05-16 | Nutanix, Inc. | Architecture for managing I/O and storage for a virtualization environment with multiple hypervisor types |
US8863124B1 (en) | 2011-08-10 | 2014-10-14 | Nutanix, Inc. | Architecture for managing I/O and storage for a virtualization environment |
US9009106B1 (en) | 2011-08-10 | 2015-04-14 | Nutanix, Inc. | Method and system for implementing writable snapshots in a virtualized storage environment |
US8850130B1 (en) | 2011-08-10 | 2014-09-30 | Nutanix, Inc. | Metadata for managing I/O and storage for a virtualization |
US8621463B2 (en) * | 2011-09-09 | 2013-12-31 | GM Global Technology Operations LLC | Distributed computing architecture with dynamically reconfigurable hypervisor nodes |
CN103064733A (zh) * | 2011-10-20 | 2013-04-24 | 电子科技大学 | 云计算虚拟机热迁移技术 |
US9471243B2 (en) | 2011-12-15 | 2016-10-18 | Veritas Technologies Llc | Dynamic storage tiering in a virtual environment |
TWI453669B (zh) * | 2011-12-21 | 2014-09-21 | Inventec Corp | 虛擬機器遷移方法與雲端伺服系統 |
US9054992B2 (en) | 2011-12-27 | 2015-06-09 | Solidfire, Inc. | Quality of service policy sets |
US9838269B2 (en) | 2011-12-27 | 2017-12-05 | Netapp, Inc. | Proportional quality of service based on client usage and system metrics |
CN103186423B (zh) * | 2011-12-28 | 2016-08-17 | 英业达股份有限公司 | 虚拟机迁移方法与云端伺服系统 |
US9280380B2 (en) * | 2012-02-29 | 2016-03-08 | Red Hat Israel, Ltd. | Management of I/O reqeusts in virtual machine migration |
CN103309721A (zh) * | 2012-03-08 | 2013-09-18 | 鸿富锦精密工业(深圳)有限公司 | 虚拟机监视器管理系统及方法 |
JP5658197B2 (ja) * | 2012-06-04 | 2015-01-21 | 株式会社日立製作所 | 計算機システム、仮想化機構、及び計算機システムの制御方法 |
CN102724306A (zh) * | 2012-06-13 | 2012-10-10 | 中山大学 | 一种基于云计算下的数据迁移方法及其系统 |
US9575851B1 (en) * | 2012-06-27 | 2017-02-21 | EMC IP Holding Company LLC | Volume hot migration |
EP2687982A1 (en) * | 2012-07-16 | 2014-01-22 | NTT DoCoMo, Inc. | Hierarchical system for managing a plurality of virtual machines, method and computer program |
US9772866B1 (en) | 2012-07-17 | 2017-09-26 | Nutanix, Inc. | Architecture for implementing a virtualization environment and appliance |
US9471355B2 (en) * | 2012-07-31 | 2016-10-18 | Hewlett-Packard Development Company, L.P. | Secure operations for virtual machines |
CN102855299A (zh) * | 2012-08-16 | 2013-01-02 | 上海引跑信息科技有限公司 | 不中断服务条件下,分布式数据库迭代迁移的方法 |
JP6094112B2 (ja) * | 2012-09-20 | 2017-03-15 | 富士通株式会社 | ストレージシステム、ストレージ制御装置、ストレージ制御方法、及びストレージ制御プログラム |
US8924443B2 (en) * | 2012-10-05 | 2014-12-30 | Gary Robin Maze | Document management systems and methods |
KR101478354B1 (ko) * | 2012-12-12 | 2015-01-02 | 한국전자통신연구원 | 가상 데스크탑 서비스를 위한 이미지 복사 방법 |
US10162873B2 (en) * | 2012-12-21 | 2018-12-25 | Red Hat, Inc. | Synchronization of physical disks |
CN103885811B (zh) * | 2012-12-21 | 2017-05-31 | 中国电信股份有限公司 | 虚拟机系统全系统在线迁移的方法、系统与装置 |
CN103019847B (zh) * | 2012-12-24 | 2016-04-13 | 创新科存储技术(深圳)有限公司 | 对虚拟机数据进行迁移的方法及系统 |
CN103902233B (zh) * | 2012-12-27 | 2018-09-11 | 中国电信股份有限公司 | 虚拟机系统的在线存储迁移方法、装置与服务器 |
US9817766B1 (en) * | 2012-12-28 | 2017-11-14 | EMC IP Holding Company LLC | Managing relocation of slices in storage systems |
CN103914474B (zh) * | 2013-01-05 | 2018-12-28 | 腾讯科技(深圳)有限公司 | 一种数据迁移方法及系统 |
US20140281306A1 (en) * | 2013-03-14 | 2014-09-18 | Hitachi, Ltd. | Method and apparatus of non-disruptive storage migration |
US9239689B2 (en) * | 2013-03-28 | 2016-01-19 | Red Hat Israel, Ltd. | Live migration of virtual disks |
CN103294546B (zh) * | 2013-04-03 | 2016-04-20 | 华中科技大学 | 多维度资源性能干扰感知的虚拟机在线迁移方法及系统 |
US8819317B1 (en) | 2013-06-12 | 2014-08-26 | International Business Machines Corporation | Processing input/output requests using proxy and owner storage systems |
US9274989B2 (en) | 2013-06-12 | 2016-03-01 | International Business Machines Corporation | Impersonating SCSI ports through an intermediate proxy |
US9769062B2 (en) | 2013-06-12 | 2017-09-19 | International Business Machines Corporation | Load balancing input/output operations between two computers |
US9274916B2 (en) | 2013-06-12 | 2016-03-01 | International Business Machines Corporation | Unit attention processing in proxy and owner storage systems |
US9940019B2 (en) | 2013-06-12 | 2018-04-10 | International Business Machines Corporation | Online migration of a logical volume between storage systems |
US9779003B2 (en) | 2013-06-12 | 2017-10-03 | International Business Machines Corporation | Safely mapping and unmapping host SCSI volumes |
CN103399778B (zh) * | 2013-07-01 | 2016-12-28 | 华为技术有限公司 | 一种虚拟机在线整体迁移方法和设备 |
CN105579950B (zh) * | 2013-07-02 | 2019-04-19 | 日立数据系统工程英国有限公司 | 用于虚拟化文件系统的迁移的方法和装置、用于虚拟化文件系统的迁移的数据存储系统以及用于在数据存储系统中使用的文件服务器 |
US20150032961A1 (en) * | 2013-07-23 | 2015-01-29 | Lexmark International Technologies S.A. | System and Methods of Data Migration Between Storage Devices |
US9882984B2 (en) * | 2013-08-02 | 2018-01-30 | International Business Machines Corporation | Cache migration management in a virtualized distributed computing system |
CN103455372B (zh) * | 2013-08-31 | 2017-05-10 | 华为技术有限公司 | 一种服务器中内存模块的数据迁移方法及服务器 |
CN104468150A (zh) * | 2013-09-12 | 2015-03-25 | 阿里巴巴集团控股有限公司 | 一种虚拟主机实现故障迁移的方法及虚拟主机业务装置 |
CN103500146B (zh) * | 2013-09-30 | 2016-04-27 | 北京邮电大学 | 虚拟机磁盘存储数据迁移方法和系统 |
US10142424B2 (en) | 2013-10-16 | 2018-11-27 | Empire Technology Development Llc | Two-level cloud system migration |
CN103559084B (zh) * | 2013-10-17 | 2016-10-26 | 电子科技大学 | 一种节能数据中心的虚拟机迁移方法 |
CN103744765B (zh) * | 2013-10-25 | 2017-04-12 | 中国科学院计算技术研究所 | 一种虚拟化环境下的磁盘访问请求监控系统及其方法 |
CN103577249B (zh) * | 2013-11-13 | 2017-06-16 | 中国科学院计算技术研究所 | 虚拟机在线迁移方法与系统 |
CN104684068B (zh) * | 2013-11-29 | 2018-06-26 | 中国移动通信集团公司 | 一种数据同步的方法和设备 |
CN103647656B (zh) * | 2013-12-09 | 2017-04-12 | 华为软件技术有限公司 | 计费节点负载控制方法、数据访问控制方法及节点 |
US9436751B1 (en) * | 2013-12-18 | 2016-09-06 | Google Inc. | System and method for live migration of guest |
CN103645936B (zh) * | 2013-12-18 | 2016-08-17 | 四川卫士通信息安全平台技术有限公司 | 一种基于设备模拟的数据卡虚拟化实现方法 |
CN103699429A (zh) * | 2013-12-31 | 2014-04-02 | 华为技术有限公司 | 虚拟机迁移方法及装置 |
WO2015100622A1 (zh) | 2013-12-31 | 2015-07-09 | 华为技术有限公司 | 虚拟机热迁移的方法和服务器 |
CN105612498B (zh) * | 2013-12-31 | 2018-03-09 | 华为技术有限公司 | 虚拟机热迁移的方法、虚拟机内存数据处理方法、服务器和虚拟机系统 |
CN103745170B (zh) * | 2014-01-02 | 2017-01-04 | 浙江云巢科技有限公司 | 磁盘数据的处理方法及装置 |
CN104866234B (zh) * | 2014-02-21 | 2019-01-22 | 腾讯科技(北京)有限公司 | 数据迁移方法、装置及系统 |
US20150244795A1 (en) * | 2014-02-21 | 2015-08-27 | Solidfire, Inc. | Data syncing in a distributed system |
US9509769B2 (en) * | 2014-02-28 | 2016-11-29 | Sap Se | Reflecting data modification requests in an offline environment |
US10235053B1 (en) * | 2014-03-31 | 2019-03-19 | Emc Corporation | Method and system for using host driver for flexible allocation fast-sideways data movements |
US10339010B1 (en) | 2014-04-05 | 2019-07-02 | Bruce Talley | Systems and methods for synchronization of backup copies |
US9864874B1 (en) * | 2014-05-21 | 2018-01-09 | Amazon Technologies, Inc. | Management of encrypted data storage |
WO2015186248A1 (ja) * | 2014-06-06 | 2015-12-10 | 株式会社日立製作所 | ストレージシステム、計算機システム及びデータ移行方法 |
WO2015192881A1 (en) * | 2014-06-17 | 2015-12-23 | Nokia Solutions And Networks Oy | Methods and apparatus to control a virtual machine |
US9959203B2 (en) | 2014-06-23 | 2018-05-01 | Google Llc | Managing storage devices |
WO2015199734A1 (en) | 2014-06-27 | 2015-12-30 | Hewlett-Packard Development Company, Lp | Buffer-based update of state data |
US11099763B1 (en) * | 2014-06-30 | 2021-08-24 | Pure Storage, Inc. | Migrating generational storage to a decentralized agreement protocol paradigm |
WO2016018383A1 (en) * | 2014-07-31 | 2016-02-04 | Hewlett-Packard Development Company | Live migration of data |
US10540109B2 (en) | 2014-09-02 | 2020-01-21 | Hewlett Packard Enterprise Development Lp | Serializing access to fault tolerant memory |
US10204019B1 (en) * | 2014-09-07 | 2019-02-12 | Nakivo, Inc. | Systems and methods for instantiation of virtual machines from backups |
US10133511B2 (en) | 2014-09-12 | 2018-11-20 | Netapp, Inc | Optimized segment cleaning technique |
CN105404587B (zh) * | 2014-09-15 | 2018-09-07 | 杭州华为数字技术有限公司 | 一种数据搬移方法及装置 |
US10594442B2 (en) | 2014-10-24 | 2020-03-17 | Hewlett Packard Enterprise Development Lp | End-to-end negative acknowledgment |
CN104965757B (zh) * | 2015-01-21 | 2018-03-30 | 深圳市腾讯计算机系统有限公司 | 虚拟机热迁移的方法、虚拟机迁移管理装置及系统 |
WO2016122610A1 (en) | 2015-01-30 | 2016-08-04 | Hewlett Packard Enterprise Development Lp | Preventing data corruption and single point of failure in a fault-tolerant memory |
US10664369B2 (en) | 2015-01-30 | 2020-05-26 | Hewlett Packard Enterprise Development Lp | Determine failed components in fault-tolerant memory |
WO2016122637A1 (en) | 2015-01-30 | 2016-08-04 | Hewlett Packard Enterprise Development Lp | Non-idempotent primitives in fault-tolerant memory |
US10721181B1 (en) * | 2015-03-10 | 2020-07-21 | Amazon Technologies, Inc. | Network locality-based throttling for automated resource migration |
US10402261B2 (en) | 2015-03-31 | 2019-09-03 | Hewlett Packard Enterprise Development Lp | Preventing data corruption and single point of failure in fault-tolerant memory fabrics |
CN104866372B (zh) * | 2015-05-13 | 2018-02-27 | 华中科技大学 | 一种面向服务器整合的高效物理机到虚拟机转换方法 |
US10970110B1 (en) | 2015-06-25 | 2021-04-06 | Amazon Technologies, Inc. | Managed orchestration of virtual machine instance migration |
US10228969B1 (en) * | 2015-06-25 | 2019-03-12 | Amazon Technologies, Inc. | Optimistic locking in virtual machine instance migration |
US10678576B1 (en) * | 2015-06-30 | 2020-06-09 | EMC IP Holding Company LLC | Managing data storage migration for virtual machines |
US10535011B2 (en) | 2015-07-23 | 2020-01-14 | International Business Machines Corporation | Predicting capacity based upon database elements |
CN106484312B (zh) * | 2015-09-01 | 2019-07-26 | 北京金山云网络技术有限公司 | 一种虚拟机磁盘数据迁移方法及装置 |
CN106649335A (zh) * | 2015-10-30 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 一种数据处理方法及装置 |
US9875058B2 (en) | 2015-11-05 | 2018-01-23 | International Business Machines Corporation | Prioritizing pages to transfer for memory sharing |
US9753670B2 (en) * | 2015-11-05 | 2017-09-05 | International Business Machines Corporation | Prioritizing memory pages to copy for memory migration |
US10768959B2 (en) * | 2015-11-24 | 2020-09-08 | Red Hat Israel, Ltd. | Virtual machine migration using memory page hints |
CN105488139B (zh) * | 2015-11-25 | 2018-11-30 | 国电南瑞科技股份有限公司 | 基于用电信息采集系统的跨平台存储数据迁移的方法 |
CN105404474A (zh) * | 2015-12-07 | 2016-03-16 | 上海爱数信息技术股份有限公司 | 一种异构分布式存储系统的数据迁移方法 |
CN105511816A (zh) * | 2015-12-14 | 2016-04-20 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟机磁盘数据迁移方法及系统 |
CN105653630B (zh) * | 2015-12-25 | 2019-12-24 | 北京奇虎科技有限公司 | 分布式数据库的数据迁移方法与装置 |
US10210010B1 (en) | 2015-12-30 | 2019-02-19 | Nutanix, Inc. | Network reconfiguration in hypervisor-agnostic disaster recovery scenarios |
CN106970915A (zh) * | 2016-01-13 | 2017-07-21 | 阿里巴巴集团控股有限公司 | 一种业务系统数据迁移的处理方法及装置 |
US9946569B1 (en) | 2016-02-08 | 2018-04-17 | Nutanix, Inc. | Virtual machine bring-up with on-demand processing of storage requests |
CN105653212B (zh) * | 2016-03-09 | 2019-07-12 | 浙江宇视科技有限公司 | 一种vd的均衡处理方法和装置 |
US9936019B2 (en) | 2016-03-16 | 2018-04-03 | Google Llc | Efficient live-migration of remotely accessed data |
US10467103B1 (en) | 2016-03-25 | 2019-11-05 | Nutanix, Inc. | Efficient change block training |
US10929022B2 (en) | 2016-04-25 | 2021-02-23 | Netapp. Inc. | Space savings reporting for storage system supporting snapshot and clones |
CN106227469A (zh) * | 2016-07-28 | 2016-12-14 | 乐视控股(北京)有限公司 | 用于分布式存储集群的数据删除方法及系统 |
US10152386B1 (en) * | 2016-07-29 | 2018-12-11 | Nutanix, Inc. | Efficient disaster rollback across heterogeneous storage systems |
CN106469085B (zh) * | 2016-08-31 | 2019-11-08 | 北京航空航天大学 | 虚拟机在线迁移方法、装置及系统 |
CN106445633A (zh) * | 2016-09-13 | 2017-02-22 | 中国电子科技集团公司第三十二研究所 | 通过nvram提升虚拟机性能的方法和系统 |
US10642763B2 (en) | 2016-09-20 | 2020-05-05 | Netapp, Inc. | Quality of service policy sets |
CN107885758B (zh) * | 2016-09-30 | 2021-11-19 | 华为技术有限公司 | 一种虚拟节点的数据迁移方法和虚拟节点 |
US10783046B2 (en) | 2016-11-22 | 2020-09-22 | Nutanix, Inc. | Executing resource management operations in distributed computing systems |
GB2557366B (en) * | 2016-12-02 | 2020-10-28 | Advanced Risc Mach Ltd | An apparatus and method for transferring data between address ranges in memory |
CN106648468A (zh) * | 2016-12-29 | 2017-05-10 | 郑州云海信息技术有限公司 | 一种数据迁移过程中对io请求的控制方法及系统 |
US10530870B2 (en) * | 2017-01-04 | 2020-01-07 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Direct volume migration in a storage area network |
EP3607424A4 (en) * | 2017-04-06 | 2020-09-23 | Technion Research & Development Foundation Ltd. | MOVING REPLICATED DATA IN A CLOUD ENVIRONMENT |
CN107122235B (zh) * | 2017-04-19 | 2020-09-29 | 中国舰船研究设计中心 | 基于应用优先级的公共基础设施资源调度方法 |
US11275599B1 (en) * | 2017-05-09 | 2022-03-15 | Tintri By Ddn, Inc. | Hypervisor remote offload for VM data migration between storage devices |
CN107197013B (zh) * | 2017-05-19 | 2020-03-20 | 东莞市盟大塑化科技有限公司 | 一种增强云计算环境节能系统 |
US10389342B2 (en) | 2017-06-28 | 2019-08-20 | Hewlett Packard Enterprise Development Lp | Comparator |
CN109213566B (zh) * | 2017-06-29 | 2022-05-13 | 华为技术有限公司 | 一种虚拟机迁移的方法、装置和设备 |
WO2019066689A1 (en) * | 2017-09-27 | 2019-04-04 | Telefonaktiebolaget Lm Ericsson (Publ) | METHOD AND RE-ASSEMBLY COMPONENT FOR MANAGING THE RESETTING OF INFORMATION FROM TARGET SOURCE MEMORY CIRCUITS |
CN109558068B (zh) * | 2017-09-27 | 2024-04-05 | 北京忆恒创源科技股份有限公司 | 数据迁移方法及迁移系统 |
CN109725827B (zh) * | 2017-10-27 | 2022-05-13 | 伊姆西Ip控股有限责任公司 | 管理存储系统的方法、系统和计算机程序产品 |
CN109753229B (zh) * | 2017-11-08 | 2020-09-18 | 华为技术有限公司 | 数据迁移方法、装置、网络附属存储设备和存储介质 |
US10831409B2 (en) | 2017-11-16 | 2020-11-10 | International Business Machines Corporation | Volume reconfiguration for virtual machines |
US10509567B2 (en) | 2018-02-06 | 2019-12-17 | Nutanix, Inc. | System and method for migrating storage while in use |
US10540112B2 (en) * | 2018-02-06 | 2020-01-21 | Nutanix, Inc. | System and method for migrating virtual machines with storage while in use |
US11074099B2 (en) | 2018-02-06 | 2021-07-27 | Nutanix, Inc. | System and method for storage during virtual machine migration |
US10509584B2 (en) | 2018-02-06 | 2019-12-17 | Nutanix, Inc. | System and method for using high performance storage with tunable durability |
US10817333B2 (en) | 2018-06-26 | 2020-10-27 | Nutanix, Inc. | Managing memory in devices that host virtual machines and have shared memory |
CN109189554A (zh) * | 2018-08-20 | 2019-01-11 | 郑州云海信息技术有限公司 | 一种虚拟机整机热迁移的方法及装置 |
WO2020069654A1 (en) * | 2018-10-01 | 2020-04-09 | Huawei Technologies Co., Ltd. | Method of handling snapshot creation request and storage device thereof |
CN109460188A (zh) * | 2018-11-13 | 2019-03-12 | 郑州云海信息技术有限公司 | 一种数据迁移方法、系统、设备及计算机可读存储介质 |
CN111324413B (zh) * | 2018-12-14 | 2023-08-15 | 中移(杭州)信息技术有限公司 | 一种数据迁移方法及数据迁移管理设备 |
US10924587B1 (en) * | 2019-05-01 | 2021-02-16 | Amazon Technologies, Inc. | Live migration for highly available data stores |
US11119994B1 (en) * | 2019-06-06 | 2021-09-14 | Amazon Technologies, Inc. | Record-by-record live migration using segmentation |
CN110688064A (zh) * | 2019-09-05 | 2020-01-14 | 浪潮电子信息产业股份有限公司 | 一种虚拟磁盘迁移方法、装置、设备及可读存储介质 |
US11620233B1 (en) * | 2019-09-30 | 2023-04-04 | Amazon Technologies, Inc. | Memory data migration hardware |
CN110795035B (zh) * | 2019-10-18 | 2022-07-22 | 浪潮电子信息产业股份有限公司 | 一种迁移时间确定方法、装置、设备及可读存储介质 |
CN111124615A (zh) * | 2019-12-22 | 2020-05-08 | 北京浪潮数据技术有限公司 | 一种虚拟机迁移方法、装置、设备及计算机可读存储介质 |
CN111104206B (zh) * | 2019-12-25 | 2023-09-01 | 曙光信息产业(北京)有限公司 | 虚拟机存储迁移方法、装置和计算机设备 |
CN111273870B (zh) * | 2020-01-20 | 2023-06-06 | 深圳奥思数据科技有限公司 | 云存储系统间海量数据迭代迁移方法、设备及存储介质 |
CN111427868B (zh) * | 2020-04-06 | 2023-05-09 | 中信银行股份有限公司 | 数据库迁移中操作请求的处理方法、装置和电子设备 |
US11409619B2 (en) | 2020-04-29 | 2022-08-09 | The Research Foundation For The State University Of New York | Recovering a virtual machine after failure of post-copy live migration |
CN111581028A (zh) * | 2020-05-12 | 2020-08-25 | 上海英方软件股份有限公司 | 一种基于数据块的数据快速备份和一致性验证方法及系统 |
CN112433669A (zh) * | 2020-10-23 | 2021-03-02 | 苏州浪潮智能科技有限公司 | 一种分布式存储卷在线迁移的方法、系统、设备及介质 |
CN113407114B (zh) * | 2021-05-26 | 2022-03-04 | 青海师范大学 | 一种基于热数据和删除重复操作的在线扩容io调度方法 |
CN113535331B (zh) * | 2021-07-30 | 2024-02-27 | 新华三大数据技术有限公司 | 一种数据迁移方法、装置 |
CN114327745B (zh) * | 2021-11-25 | 2022-10-25 | 北京志凌海纳科技有限公司 | 一种跨主机虚拟机存储热迁移的方法及系统 |
CN115729463A (zh) * | 2022-10-20 | 2023-03-03 | 超聚变数字技术有限公司 | 数据迁移的方法、系统及相关装置 |
CN115543225B (zh) * | 2022-11-30 | 2023-03-24 | 苏州浪潮智能科技有限公司 | 数据处理方法、系统、装置、计算机存储介质及电子设备 |
CN117009147A (zh) * | 2023-09-28 | 2023-11-07 | 新华三技术有限公司 | 一种云平台虚拟机的数据备份方法、装置和电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1934568A (zh) * | 2004-06-10 | 2007-03-21 | 国际商业机器公司 | 将源数据迁移成目标数据的方法、系统和程序 |
CN101105738A (zh) * | 2006-07-13 | 2008-01-16 | 国际商业机器公司 | 用于并行存储池迁移和备份的装置、系统和方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007042115A (ja) * | 2001-11-02 | 2007-02-15 | Nec Corp | スイッチ方法、装置およびプログラム |
US7146389B2 (en) * | 2002-08-30 | 2006-12-05 | Hitachi, Ltd. | Method for rebalancing free disk space among network storages virtualized into a single file system view |
US7343467B2 (en) * | 2004-12-20 | 2008-03-11 | Emc Corporation | Method to perform parallel data migration in a clustered storage environment |
JP2008021252A (ja) * | 2006-07-14 | 2008-01-31 | Hitachi Ltd | 計算機システム及びアドレス割当方法 |
JP5244332B2 (ja) * | 2006-10-30 | 2013-07-24 | 株式会社日立製作所 | 情報システム、データ転送方法及びデータ保護方法 |
US8341459B2 (en) * | 2007-08-01 | 2012-12-25 | Brocade Communications Systems, Inc. | Data migration without interrupting host access and with data lock for write access requests such that held write access requests do not expire |
JP5262404B2 (ja) * | 2008-08-04 | 2013-08-14 | 株式会社日立製作所 | 複合型計算機及び複合型計算機の制御方法 |
US20100082922A1 (en) * | 2008-09-30 | 2010-04-01 | Vmware, Inc. | Virtual machine migration using local storage |
JP2010123055A (ja) * | 2008-11-21 | 2010-06-03 | Fujitsu Ltd | データ移行プログラム,データ移行方法及びデータ移行装置 |
CN101464812B (zh) * | 2009-01-06 | 2012-05-30 | 北京航空航天大学 | 一种虚拟机迁移方法 |
JP4947081B2 (ja) * | 2009-03-30 | 2012-06-06 | 日本電気株式会社 | パススルーi/oデバイスを伴うlparの動的マイグレーション装置、その方法及びそのプログラム |
JP5218252B2 (ja) * | 2009-04-24 | 2013-06-26 | 富士通株式会社 | バススイッチ,コンピュータシステム及びコンピュータシステムの管理方法 |
JP5284905B2 (ja) * | 2009-08-12 | 2013-09-11 | 富士通株式会社 | データ移行方法、及びプログラム |
JP5585820B2 (ja) * | 2010-04-14 | 2014-09-10 | 株式会社日立製作所 | データ転送装置、計算機システム及びメモリコピー装置 |
US8490088B2 (en) * | 2010-09-10 | 2013-07-16 | International Business Machines Corporation | On demand virtual machine image streaming |
WO2012063334A1 (ja) * | 2010-11-10 | 2012-05-18 | 株式会社日立製作所 | 仮想マシンのライブマイグレーションを支援するためのメモリ制御装置及びi/oスイッチ |
CN102073462B (zh) | 2010-11-29 | 2013-04-17 | 华为技术有限公司 | 虚拟存储迁移方法、系统和虚拟机监控器 |
-
2010
- 2010-11-29 CN CN2010105789133A patent/CN102073462B/zh active Active
-
2011
- 2011-05-17 EP EP11777199.8A patent/EP2437167B1/en active Active
- 2011-05-17 WO PCT/CN2011/074189 patent/WO2011137780A1/zh active Application Filing
- 2011-05-17 KR KR1020127012579A patent/KR101403417B1/ko active IP Right Grant
- 2011-05-17 JP JP2012545079A patent/JP5459811B2/ja active Active
- 2011-12-29 US US13/340,117 patent/US9411620B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1934568A (zh) * | 2004-06-10 | 2007-03-21 | 国际商业机器公司 | 将源数据迁移成目标数据的方法、系统和程序 |
CN101105738A (zh) * | 2006-07-13 | 2008-01-16 | 国际商业机器公司 | 用于并行存储池迁移和备份的装置、系统和方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106227587A (zh) * | 2016-07-19 | 2016-12-14 | 浪潮(北京)电子信息产业有限公司 | 一种带快照虚拟机整机动态迁移方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
JP5459811B2 (ja) | 2014-04-02 |
KR20120096489A (ko) | 2012-08-30 |
EP2437167A1 (en) | 2012-04-04 |
KR101403417B1 (ko) | 2014-06-03 |
US20120137098A1 (en) | 2012-05-31 |
EP2437167A4 (en) | 2012-06-13 |
JP2013515303A (ja) | 2013-05-02 |
US9411620B2 (en) | 2016-08-09 |
WO2011137780A1 (zh) | 2011-11-10 |
EP2437167B1 (en) | 2015-11-25 |
CN102073462A (zh) | 2011-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102073462B (zh) | 虚拟存储迁移方法、系统和虚拟机监控器 | |
US10963290B2 (en) | Hypervisor exchange with virtual-machine consolidation | |
US11663029B2 (en) | Virtual machine storage controller selection in hyperconverged infrastructure environment and storage system | |
CN112148421B (zh) | 虚拟机迁移的方法以及装置 | |
CN101765225B (zh) | 一种虚拟化的集群管理方法和集群节点 | |
US8863123B2 (en) | Apparatus and method for virtualizing input/output devices using shared memory in host-based mobile terminal virtualization environment | |
US9733989B1 (en) | Non-disruptive load-balancing of virtual machines between data centers | |
US8639898B2 (en) | Storage apparatus and data copy method | |
CN103793258A (zh) | 基于管理程序的服务器复制系统及其方法 | |
CN103049219B (zh) | 适用于虚拟化平台的虚拟磁盘写缓存系统及其操作方法 | |
US20080028402A1 (en) | Method of setting operation environment and computer system | |
CN105808167B (zh) | 一种基于sr-iov的链接克隆的方法、存储设备及系统 | |
US20130152083A1 (en) | Virtual computer system and control method of migrating virtual computer | |
US20120102286A1 (en) | Methods and structure for online migration of data in storage systems comprising a plurality of storage devices | |
US9875057B2 (en) | Method of live migration | |
CN105095094A (zh) | 内存管理方法和设备 | |
CN103049334A (zh) | 一种任务处理的方法和虚拟机 | |
CN103095834A (zh) | 一种跨虚拟化数据中心的虚拟机在线迁移方法 | |
JP6663478B2 (ja) | データ移行方法及び計算機システム | |
CN101387989A (zh) | 构建基于分区管理的虚拟存储设备的计算机系统及方法 | |
CN105468429A (zh) | 一种高效虚拟化集群管理方法和集群节点 | |
CN117311593A (zh) | 数据处理方法、装置及系统 | |
US20220027209A1 (en) | Method for repointing resources between hosts | |
CN106815067A (zh) | 带i/o虚拟化的虚拟机在线迁移方法、装置 | |
CN114253656A (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 |