CN102073462A - 虚拟存储迁移方法、系统和虚拟机监控器 - Google Patents

虚拟存储迁移方法、系统和虚拟机监控器 Download PDF

Info

Publication number
CN102073462A
CN102073462A CN2010105789133A CN201010578913A CN102073462A CN 102073462 A CN102073462 A CN 102073462A CN 2010105789133 A CN2010105789133 A CN 2010105789133A CN 201010578913 A CN201010578913 A CN 201010578913A CN 102073462 A CN102073462 A CN 102073462A
Authority
CN
China
Prior art keywords
virtual machine
data
memory device
migration
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.)
Granted
Application number
CN2010105789133A
Other languages
English (en)
Other versions
CN102073462B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN2010105789133A priority Critical patent/CN102073462B/zh
Priority to PCT/CN2011/074189 priority patent/WO2011137780A1/zh
Priority to JP2012545079A priority patent/JP5459811B2/ja
Priority to KR1020127012579A priority patent/KR101403417B1/ko
Priority to EP11777199.8A priority patent/EP2437167B1/en
Publication of CN102073462A publication Critical patent/CN102073462A/zh
Priority to US13/340,117 priority patent/US9411620B2/en
Application granted granted Critical
Publication of CN102073462B publication Critical patent/CN102073462B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • 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/46Multiprogramming arrangements
    • 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/45579I/O management, e.g. providing access to device drivers or storage

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访问请求在数据迁移过程中便同时被处理,无需额外的子磁盘来记录各请求中所改变的数据,更无需暂停虚拟机来单独对改变的数据进行更新处理,因此,本实施例避免了由于虚拟机停机导致的业务中断甚至出错的缺陷。另外,本实施例与现有技术中的外存在线迁移后拷贝方法相比,由于无需对数据块的改变部分进行循环迭代拷贝,则大大减少了迁移数据量,也缩短了迁移时间,提高了虚拟机的访问性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图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 (13)

1.一种虚拟存储迁移方法,其特征在于,包括:
启动数据迁移,将待迁移虚拟机磁盘中的数据块从源端存储设备拷贝至目标端存储设备;
在数据迁移过程中,当接收到虚拟机前端输入/输出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写请求对应的迁移数据块未迁移,且所述虚拟机前端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写请求对应的写操作;
切换模块,用于当所述待迁移虚拟机磁盘中的所有数据块均拷贝到所述目标端存储设备后,停止数据迁移,并将虚拟机管理器中的虚拟机磁盘由所述源端存储设备切换为所述目标端存储设备。
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写请求;在虚拟机空闲时采用低优先级的数据迁移线程进行数据迁移。
13.一种虚拟存储迁移系统,其特征在于,包括至少一个虚拟机、源端存储设备、目标端存储设备和上述权利要求7-12中任一项所述的虚拟机监控器。
CN2010105789133A 2010-11-29 2010-11-29 虚拟存储迁移方法、系统和虚拟机监控器 Active CN102073462B (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN2010105789133A CN102073462B (zh) 2010-11-29 2010-11-29 虚拟存储迁移方法、系统和虚拟机监控器
PCT/CN2011/074189 WO2011137780A1 (zh) 2010-11-29 2011-05-17 虚拟存储迁移方法、系统和虚拟机监控器
JP2012545079A JP5459811B2 (ja) 2010-11-29 2011-05-17 仮想ストレージ移行のための方法およびシステム、ならびに仮想マシンモニタ
KR1020127012579A KR101403417B1 (ko) 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
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 true CN102073462A (zh) 2011-05-25
CN102073462B 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 (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102855299A (zh) * 2012-08-16 2013-01-02 上海引跑信息科技有限公司 不中断服务条件下,分布式数据库迭代迁移的方法
CN103019847A (zh) * 2012-12-24 2013-04-03 创新科存储技术(深圳)有限公司 对虚拟机数据进行迁移的方法及系统
CN103064733A (zh) * 2011-10-20 2013-04-24 电子科技大学 云计算虚拟机热迁移技术
CN103186423A (zh) * 2011-12-28 2013-07-03 英业达股份有限公司 虚拟机迁移方法与云端伺服系统
CN103399778A (zh) * 2013-07-01 2013-11-20 华为技术有限公司 一种虚拟机在线整体迁移方法和设备
CN103500146A (zh) * 2013-09-30 2014-01-08 北京邮电大学 虚拟机磁盘存储数据迁移方法和系统
CN103544043A (zh) * 2012-07-16 2014-01-29 株式会社Ntt都科摩 管理多个虚拟机的分级系统、方法和计算机程序
CN103645936A (zh) * 2013-12-18 2014-03-19 四川卫士通信息安全平台技术有限公司 一种基于设备模拟的数据卡虚拟化实现方法
CN103699429A (zh) * 2013-12-31 2014-04-02 华为技术有限公司 虚拟机迁移方法及装置
CN103885811A (zh) * 2012-12-21 2014-06-25 中国电信股份有限公司 虚拟机系统全系统在线迁移的方法、系统与装置
CN103914474A (zh) * 2013-01-05 2014-07-09 腾讯科技(深圳)有限公司 一种数据迁移方法及系统
CN104025054A (zh) * 2011-12-15 2014-09-03 赛门铁克公司 虚拟环境中的动态存储分层
TWI453669B (zh) * 2011-12-21 2014-09-21 Inventec Corp 虛擬機器遷移方法與雲端伺服系統
CN104468150A (zh) * 2013-09-12 2015-03-25 阿里巴巴集团控股有限公司 一种虚拟主机实现故障迁移的方法及虚拟主机业务装置
CN104866234A (zh) * 2014-02-21 2015-08-26 腾讯科技(北京)有限公司 数据迁移方法、装置及系统
CN104965757A (zh) * 2015-01-21 2015-10-07 深圳市腾讯计算机系统有限公司 虚拟机热迁移的方法、虚拟机迁移管理装置及系统
CN105404587A (zh) * 2014-09-15 2016-03-16 杭州华为数字技术有限公司 一种数据搬移方法及装置
CN105488139A (zh) * 2015-11-25 2016-04-13 国电南瑞科技股份有限公司 基于用电信息采集系统的跨平台存储数据迁移的方法
CN105511816A (zh) * 2015-12-14 2016-04-20 浪潮(北京)电子信息产业有限公司 一种虚拟机磁盘数据迁移方法及系统
CN105653630A (zh) * 2015-12-25 2016-06-08 北京奇虎科技有限公司 分布式数据库的数据迁移方法与装置
CN105653212A (zh) * 2016-03-09 2016-06-08 浙江宇视科技有限公司 一种vd的均衡处理方法和装置
US9411620B2 (en) 2010-11-29 2016-08-09 Huawei Technologies Co., Ltd. Virtual storage migration method, virtual storage migration system and virtual machine monitor
CN106227469A (zh) * 2016-07-28 2016-12-14 乐视控股(北京)有限公司 用于分布式存储集群的数据删除方法及系统
CN106445633A (zh) * 2016-09-13 2017-02-22 中国电子科技集团公司第三十二研究所 通过nvram提升虚拟机性能的方法和系统
CN106469085A (zh) * 2016-08-31 2017-03-01 北京航空航天大学 虚拟机在线迁移方法、装置及系统
CN106484312A (zh) * 2015-09-01 2017-03-08 北京金山云网络技术有限公司 一种虚拟机磁盘数据迁移方法及装置
CN103647656B (zh) * 2013-12-09 2017-04-12 华为软件技术有限公司 计费节点负载控制方法、数据访问控制方法及节点
CN106649335A (zh) * 2015-10-30 2017-05-10 阿里巴巴集团控股有限公司 一种数据处理方法及装置
CN106648468A (zh) * 2016-12-29 2017-05-10 郑州云海信息技术有限公司 一种数据迁移过程中对io请求的控制方法及系统
CN106970915A (zh) * 2016-01-13 2017-07-21 阿里巴巴集团控股有限公司 一种业务系统数据迁移的处理方法及装置
CN107122235A (zh) * 2017-04-19 2017-09-01 中国舰船研究设计中心 基于应用优先级的公共基础设施资源调度方法
CN107197013A (zh) * 2017-05-19 2017-09-22 成都鼎智汇科技有限公司 一种增强云计算环境节能系统
CN107219999A (zh) * 2013-08-31 2017-09-29 华为技术有限公司 一种服务器中内存模块的数据迁移方法及服务器
WO2018059032A1 (zh) * 2016-09-30 2018-04-05 华为技术有限公司 一种虚拟节点的数据迁移方法和虚拟节点
CN108205506A (zh) * 2013-12-31 2018-06-26 华为技术有限公司 虚拟机热迁移的方法、虚拟机内存数据处理方法、服务器和虚拟机系统
CN109189554A (zh) * 2018-08-20 2019-01-11 郑州云海信息技术有限公司 一种虚拟机整机热迁移的方法及装置
CN109213566A (zh) * 2017-06-29 2019-01-15 华为技术有限公司 一种虚拟机迁移的方法、装置和设备
CN109460188A (zh) * 2018-11-13 2019-03-12 郑州云海信息技术有限公司 一种数据迁移方法、系统、设备及计算机可读存储介质
CN109558068A (zh) * 2017-09-27 2019-04-02 北京忆恒创源科技有限公司 数据迁移方法及迁移系统
CN109725827A (zh) * 2017-10-27 2019-05-07 伊姆西Ip控股有限责任公司 管理存储系统的方法、系统和计算机程序产品
CN109753229A (zh) * 2017-11-08 2019-05-14 华为技术有限公司 数据迁移方法、装置、网络附属存储设备和存储介质
CN110688064A (zh) * 2019-09-05 2020-01-14 浪潮电子信息产业股份有限公司 一种虚拟磁盘迁移方法、装置、设备及可读存储介质
CN111104206A (zh) * 2019-12-25 2020-05-05 曙光信息产业(北京)有限公司 虚拟机存储迁移方法、装置和计算机设备
CN111124615A (zh) * 2019-12-22 2020-05-08 北京浪潮数据技术有限公司 一种虚拟机迁移方法、装置、设备及计算机可读存储介质
CN111324413A (zh) * 2018-12-14 2020-06-23 中移(杭州)信息技术有限公司 一种数据迁移方法及数据迁移管理设备
CN111427868A (zh) * 2020-04-06 2020-07-17 中信银行股份有限公司 数据库迁移中操作请求的处理方法、装置和电子设备
CN111581028A (zh) * 2020-05-12 2020-08-25 上海英方软件股份有限公司 一种基于数据块的数据快速备份和一致性验证方法及系统
US10802870B2 (en) 2013-12-31 2020-10-13 Huawei Technologies Co., Ltd. Virtual machine live migration method, virtual machine memory data processing method, server, and virtual machine system
CN112433669A (zh) * 2020-10-23 2021-03-02 苏州浪潮智能科技有限公司 一种分布式存储卷在线迁移的方法、系统、设备及介质
CN113407114A (zh) * 2021-05-26 2021-09-17 青海师范大学 一种基于热数据和删除重复操作的在线扩容io调度方法
CN114327745A (zh) * 2021-11-25 2022-04-12 北京志凌海纳科技有限公司 一种跨主机虚拟机存储热迁移的方法及系统
CN117009147A (zh) * 2023-09-28 2023-11-07 新华三技术有限公司 一种云平台虚拟机的数据备份方法、装置和电子设备

Families Citing this family (101)

* Cited by examiner, † Cited by third party
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
US8850130B1 (en) 2011-08-10 2014-09-30 Nutanix, Inc. Metadata for managing I/O and storage for a virtualization
US8863124B1 (en) 2011-08-10 2014-10-14 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
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
US9747287B1 (en) 2011-08-10 2017-08-29 Nutanix, Inc. Method and system for managing metadata for a virtualization environment
US8601473B1 (en) * 2011-08-10 2013-12-03 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
US8621463B2 (en) * 2011-09-09 2013-12-31 GM Global Technology Operations LLC Distributed computing architecture with dynamically reconfigurable hypervisor nodes
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
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
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
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
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
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 华中科技大学 多维度资源性能干扰感知的虚拟机在线迁移方法及系统
US9940019B2 (en) 2013-06-12 2018-04-10 International Business Machines Corporation Online migration of a logical volume between storage systems
US9769062B2 (en) 2013-06-12 2017-09-19 International Business Machines Corporation Load balancing input/output operations between two computers
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
US9779003B2 (en) 2013-06-12 2017-10-03 International Business Machines Corporation Safely mapping and unmapping host SCSI volumes
US9274916B2 (en) 2013-06-12 2016-03-01 International Business Machines Corporation Unit attention processing in proxy and owner storage systems
JP6208860B2 (ja) * 2013-07-02 2017-10-04 ヒタチ データ システムズ エンジニアリング ユーケー リミテッドHitachi Data Systems Engineering Uk Limited 仮想化されたファイル・システムのマイグレーションのための方法および装置、仮想化されたファイル・システムのマイグレーションのためのデータ・ストレージ・システム、ならびにデータ・ストレージ・システム内で使用するためのファイル・サーバ
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
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 中国移动通信集团公司 一种数据同步的方法和设备
US9436751B1 (en) * 2013-12-18 2016-09-06 Google Inc. System and method for live migration of guest
CN103745170B (zh) * 2014-01-02 2017-01-04 浙江云巢科技有限公司 磁盘数据的处理方法及装置
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
US10067715B2 (en) 2014-06-27 2018-09-04 Hewlett Packard Enterprise Development 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
US10594442B2 (en) 2014-10-24 2020-03-17 Hewlett Packard Enterprise Development Lp End-to-end negative acknowledgment
WO2016122637A1 (en) 2015-01-30 2016-08-04 Hewlett Packard Enterprise Development Lp Non-idempotent primitives in fault-tolerant memory
US10664369B2 (en) 2015-01-30 2020-05-26 Hewlett Packard Enterprise Development Lp Determine failed components in fault-tolerant memory
US10402287B2 (en) 2015-01-30 2019-09-03 Hewlett Packard Enterprise Development Lp Preventing data corruption and single point of failure in a 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 华中科技大学 一种面向服务器整合的高效物理机到虚拟机转换方法
US10228969B1 (en) * 2015-06-25 2019-03-12 Amazon Technologies, Inc. Optimistic locking in virtual machine instance migration
US10970110B1 (en) 2015-06-25 2021-04-06 Amazon Technologies, Inc. Managed orchestration of 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
US9753670B2 (en) * 2015-11-05 2017-09-05 International Business Machines Corporation Prioritizing memory pages to copy for memory migration
US9875058B2 (en) 2015-11-05 2018-01-23 International Business Machines Corporation Prioritizing pages to transfer for memory sharing
US10768959B2 (en) * 2015-11-24 2020-09-08 Red Hat Israel, Ltd. Virtual machine migration using memory page hints
CN105404474A (zh) * 2015-12-07 2016-03-16 上海爱数信息技术股份有限公司 一种异构分布式存储系统的数据迁移方法
US10210010B1 (en) 2015-12-30 2019-02-19 Nutanix, Inc. Network reconfiguration in hypervisor-agnostic disaster recovery scenarios
US9946569B1 (en) 2016-02-08 2018-04-17 Nutanix, Inc. Virtual machine bring-up with on-demand processing of storage requests
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
CN106227587B (zh) * 2016-07-19 2019-05-10 浪潮(北京)电子信息产业有限公司 一种带快照虚拟机整机动态迁移方法及装置
US10152386B1 (en) * 2016-07-29 2018-12-11 Nutanix, Inc. Efficient disaster rollback across heterogeneous storage systems
US10642763B2 (en) 2016-09-20 2020-05-05 Netapp, Inc. Quality of service policy sets
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
US10530870B2 (en) * 2017-01-04 2020-01-07 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Direct volume migration in a storage area network
US11138226B2 (en) 2017-04-06 2021-10-05 Technion Research And Development Foundation Ltd. Moving replicated data in a cloud environment
US11275599B1 (en) * 2017-05-09 2022-03-15 Tintri By Ddn, Inc. Hypervisor remote offload for VM data migration between storage devices
US10389342B2 (en) 2017-06-28 2019-08-20 Hewlett Packard Enterprise Development Lp Comparator
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
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
WO2020069654A1 (en) * 2018-10-01 2020-04-09 Huawei Technologies Co., Ltd. Method of handling snapshot creation request and storage device thereof
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
US11620233B1 (en) * 2019-09-30 2023-04-04 Amazon Technologies, Inc. Memory data migration hardware
CN110795035B (zh) * 2019-10-18 2022-07-22 浪潮电子信息产业股份有限公司 一种迁移时间确定方法、装置、设备及可读存储介质
CN111273870B (zh) * 2020-01-20 2023-06-06 深圳奥思数据科技有限公司 云存储系统间海量数据迭代迁移方法、设备及存储介质
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
CN113535331B (zh) * 2021-07-30 2024-02-27 新华三大数据技术有限公司 一种数据迁移方法、装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1934568A (zh) * 2004-06-10 2007-03-21 国际商业机器公司 将源数据迁移成目标数据的方法、系统和程序
CN101105738A (zh) * 2006-07-13 2008-01-16 国际商业机器公司 用于并行存储池迁移和备份的装置、系统和方法
US20090037679A1 (en) * 2007-08-01 2009-02-05 Balakumar Kaushik Data migration without interrupting host access
US20100131728A1 (en) * 2008-11-21 2010-05-27 Fujitsu Limited Computer-readable recording medium storing data migration program, data migration method, and data migration apparatus

Family Cites Families (15)

* Cited by examiner, † Cited by third party
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 株式会社日立製作所 情報システム、データ転送方法及びデータ保護方法
JP5262404B2 (ja) * 2008-08-04 2013-08-14 株式会社日立製作所 複合型計算機及び複合型計算機の制御方法
US20100082922A1 (en) * 2008-09-30 2010-04-01 Vmware, Inc. Virtual machine migration using local storage
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
JPWO2012063334A1 (ja) * 2010-11-10 2014-05-12 株式会社日立製作所 仮想マシンのライブマイグレーションを支援するためのメモリ制御装置及びi/oスイッチ
CN102073462B (zh) 2010-11-29 2013-04-17 华为技术有限公司 虚拟存储迁移方法、系统和虚拟机监控器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1934568A (zh) * 2004-06-10 2007-03-21 国际商业机器公司 将源数据迁移成目标数据的方法、系统和程序
CN101105738A (zh) * 2006-07-13 2008-01-16 国际商业机器公司 用于并行存储池迁移和备份的装置、系统和方法
US20090037679A1 (en) * 2007-08-01 2009-02-05 Balakumar Kaushik Data migration without interrupting host access
US20100131728A1 (en) * 2008-11-21 2010-05-27 Fujitsu Limited Computer-readable recording medium storing data migration program, data migration method, and data migration apparatus

Cited By (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9411620B2 (en) 2010-11-29 2016-08-09 Huawei Technologies Co., Ltd. Virtual storage migration method, virtual storage migration system and virtual machine monitor
CN103064733A (zh) * 2011-10-20 2013-04-24 电子科技大学 云计算虚拟机热迁移技术
CN104025054A (zh) * 2011-12-15 2014-09-03 赛门铁克公司 虚拟环境中的动态存储分层
US11334533B2 (en) 2011-12-15 2022-05-17 Veritas Technologies Llc Dynamic storage tiering in a virtual environment
CN104025054B (zh) * 2011-12-15 2018-02-13 赛门铁克公司 虚拟环境中的动态存储分层
US10380078B1 (en) 2011-12-15 2019-08-13 Veritas Technologies Llc Dynamic storage tiering in a virtual environment
TWI453669B (zh) * 2011-12-21 2014-09-21 Inventec Corp 虛擬機器遷移方法與雲端伺服系統
CN103186423A (zh) * 2011-12-28 2013-07-03 英业达股份有限公司 虚拟机迁移方法与云端伺服系统
CN103544043A (zh) * 2012-07-16 2014-01-29 株式会社Ntt都科摩 管理多个虚拟机的分级系统、方法和计算机程序
CN102855299A (zh) * 2012-08-16 2013-01-02 上海引跑信息科技有限公司 不中断服务条件下,分布式数据库迭代迁移的方法
CN103885811B (zh) * 2012-12-21 2017-05-31 中国电信股份有限公司 虚拟机系统全系统在线迁移的方法、系统与装置
CN103885811A (zh) * 2012-12-21 2014-06-25 中国电信股份有限公司 虚拟机系统全系统在线迁移的方法、系统与装置
CN103019847B (zh) * 2012-12-24 2016-04-13 创新科存储技术(深圳)有限公司 对虚拟机数据进行迁移的方法及系统
CN103019847A (zh) * 2012-12-24 2013-04-03 创新科存储技术(深圳)有限公司 对虚拟机数据进行迁移的方法及系统
CN103914474B (zh) * 2013-01-05 2018-12-28 腾讯科技(深圳)有限公司 一种数据迁移方法及系统
CN103914474A (zh) * 2013-01-05 2014-07-09 腾讯科技(深圳)有限公司 一种数据迁移方法及系统
CN103399778B (zh) * 2013-07-01 2016-12-28 华为技术有限公司 一种虚拟机在线整体迁移方法和设备
CN103399778A (zh) * 2013-07-01 2013-11-20 华为技术有限公司 一种虚拟机在线整体迁移方法和设备
CN107219999B (zh) * 2013-08-31 2020-06-26 华为技术有限公司 一种服务器中内存模块的数据迁移方法及服务器
CN107219999A (zh) * 2013-08-31 2017-09-29 华为技术有限公司 一种服务器中内存模块的数据迁移方法及服务器
CN104468150A (zh) * 2013-09-12 2015-03-25 阿里巴巴集团控股有限公司 一种虚拟主机实现故障迁移的方法及虚拟主机业务装置
CN103500146A (zh) * 2013-09-30 2014-01-08 北京邮电大学 虚拟机磁盘存储数据迁移方法和系统
CN103500146B (zh) * 2013-09-30 2016-04-27 北京邮电大学 虚拟机磁盘存储数据迁移方法和系统
CN103647656B (zh) * 2013-12-09 2017-04-12 华为软件技术有限公司 计费节点负载控制方法、数据访问控制方法及节点
CN103645936B (zh) * 2013-12-18 2016-08-17 四川卫士通信息安全平台技术有限公司 一种基于设备模拟的数据卡虚拟化实现方法
CN103645936A (zh) * 2013-12-18 2014-03-19 四川卫士通信息安全平台技术有限公司 一种基于设备模拟的数据卡虚拟化实现方法
CN108205506A (zh) * 2013-12-31 2018-06-26 华为技术有限公司 虚拟机热迁移的方法、虚拟机内存数据处理方法、服务器和虚拟机系统
US10802870B2 (en) 2013-12-31 2020-10-13 Huawei Technologies Co., Ltd. Virtual machine live migration method, virtual machine memory data processing method, server, and virtual machine system
CN108205506B (zh) * 2013-12-31 2021-11-19 华为技术有限公司 虚拟机热迁移的方法、虚拟机内存数据处理方法、服务器和虚拟机系统
CN103699429A (zh) * 2013-12-31 2014-04-02 华为技术有限公司 虚拟机迁移方法及装置
CN104866234B (zh) * 2014-02-21 2019-01-22 腾讯科技(北京)有限公司 数据迁移方法、装置及系统
CN104866234A (zh) * 2014-02-21 2015-08-26 腾讯科技(北京)有限公司 数据迁移方法、装置及系统
CN105404587B (zh) * 2014-09-15 2018-09-07 杭州华为数字技术有限公司 一种数据搬移方法及装置
CN105404587A (zh) * 2014-09-15 2016-03-16 杭州华为数字技术有限公司 一种数据搬移方法及装置
CN104965757A (zh) * 2015-01-21 2015-10-07 深圳市腾讯计算机系统有限公司 虚拟机热迁移的方法、虚拟机迁移管理装置及系统
CN104965757B (zh) * 2015-01-21 2018-03-30 深圳市腾讯计算机系统有限公司 虚拟机热迁移的方法、虚拟机迁移管理装置及系统
CN106484312A (zh) * 2015-09-01 2017-03-08 北京金山云网络技术有限公司 一种虚拟机磁盘数据迁移方法及装置
CN106484312B (zh) * 2015-09-01 2019-07-26 北京金山云网络技术有限公司 一种虚拟机磁盘数据迁移方法及装置
CN106649335A (zh) * 2015-10-30 2017-05-10 阿里巴巴集团控股有限公司 一种数据处理方法及装置
CN105488139A (zh) * 2015-11-25 2016-04-13 国电南瑞科技股份有限公司 基于用电信息采集系统的跨平台存储数据迁移的方法
CN105488139B (zh) * 2015-11-25 2018-11-30 国电南瑞科技股份有限公司 基于用电信息采集系统的跨平台存储数据迁移的方法
CN105511816A (zh) * 2015-12-14 2016-04-20 浪潮(北京)电子信息产业有限公司 一种虚拟机磁盘数据迁移方法及系统
CN105653630A (zh) * 2015-12-25 2016-06-08 北京奇虎科技有限公司 分布式数据库的数据迁移方法与装置
CN106970915A (zh) * 2016-01-13 2017-07-21 阿里巴巴集团控股有限公司 一种业务系统数据迁移的处理方法及装置
CN105653212A (zh) * 2016-03-09 2016-06-08 浙江宇视科技有限公司 一种vd的均衡处理方法和装置
CN105653212B (zh) * 2016-03-09 2019-07-12 浙江宇视科技有限公司 一种vd的均衡处理方法和装置
CN106227469A (zh) * 2016-07-28 2016-12-14 乐视控股(北京)有限公司 用于分布式存储集群的数据删除方法及系统
CN106469085B (zh) * 2016-08-31 2019-11-08 北京航空航天大学 虚拟机在线迁移方法、装置及系统
CN106469085A (zh) * 2016-08-31 2017-03-01 北京航空航天大学 虚拟机在线迁移方法、装置及系统
CN106445633A (zh) * 2016-09-13 2017-02-22 中国电子科技集团公司第三十二研究所 通过nvram提升虚拟机性能的方法和系统
WO2018059032A1 (zh) * 2016-09-30 2018-04-05 华为技术有限公司 一种虚拟节点的数据迁移方法和虚拟节点
CN107885758A (zh) * 2016-09-30 2018-04-06 华为技术有限公司 一种虚拟节点的数据迁移方法和虚拟节点
CN107885758B (zh) * 2016-09-30 2021-11-19 华为技术有限公司 一种虚拟节点的数据迁移方法和虚拟节点
CN106648468A (zh) * 2016-12-29 2017-05-10 郑州云海信息技术有限公司 一种数据迁移过程中对io请求的控制方法及系统
CN107122235A (zh) * 2017-04-19 2017-09-01 中国舰船研究设计中心 基于应用优先级的公共基础设施资源调度方法
CN107122235B (zh) * 2017-04-19 2020-09-29 中国舰船研究设计中心 基于应用优先级的公共基础设施资源调度方法
CN107197013B (zh) * 2017-05-19 2020-03-20 东莞市盟大塑化科技有限公司 一种增强云计算环境节能系统
CN107197013A (zh) * 2017-05-19 2017-09-22 成都鼎智汇科技有限公司 一种增强云计算环境节能系统
CN109213566A (zh) * 2017-06-29 2019-01-15 华为技术有限公司 一种虚拟机迁移的方法、装置和设备
CN109213566B (zh) * 2017-06-29 2022-05-13 华为技术有限公司 一种虚拟机迁移的方法、装置和设备
CN109558068A (zh) * 2017-09-27 2019-04-02 北京忆恒创源科技有限公司 数据迁移方法及迁移系统
CN109558068B (zh) * 2017-09-27 2024-04-05 北京忆恒创源科技股份有限公司 数据迁移方法及迁移系统
CN109725827B (zh) * 2017-10-27 2022-05-13 伊姆西Ip控股有限责任公司 管理存储系统的方法、系统和计算机程序产品
CN109725827A (zh) * 2017-10-27 2019-05-07 伊姆西Ip控股有限责任公司 管理存储系统的方法、系统和计算机程序产品
CN109753229B (zh) * 2017-11-08 2020-09-18 华为技术有限公司 数据迁移方法、装置、网络附属存储设备和存储介质
CN109753229A (zh) * 2017-11-08 2019-05-14 华为技术有限公司 数据迁移方法、装置、网络附属存储设备和存储介质
CN109189554A (zh) * 2018-08-20 2019-01-11 郑州云海信息技术有限公司 一种虚拟机整机热迁移的方法及装置
CN109460188A (zh) * 2018-11-13 2019-03-12 郑州云海信息技术有限公司 一种数据迁移方法、系统、设备及计算机可读存储介质
CN111324413B (zh) * 2018-12-14 2023-08-15 中移(杭州)信息技术有限公司 一种数据迁移方法及数据迁移管理设备
CN111324413A (zh) * 2018-12-14 2020-06-23 中移(杭州)信息技术有限公司 一种数据迁移方法及数据迁移管理设备
CN110688064A (zh) * 2019-09-05 2020-01-14 浪潮电子信息产业股份有限公司 一种虚拟磁盘迁移方法、装置、设备及可读存储介质
CN111124615A (zh) * 2019-12-22 2020-05-08 北京浪潮数据技术有限公司 一种虚拟机迁移方法、装置、设备及计算机可读存储介质
CN111104206A (zh) * 2019-12-25 2020-05-05 曙光信息产业(北京)有限公司 虚拟机存储迁移方法、装置和计算机设备
CN111104206B (zh) * 2019-12-25 2023-09-01 曙光信息产业(北京)有限公司 虚拟机存储迁移方法、装置和计算机设备
CN111427868A (zh) * 2020-04-06 2020-07-17 中信银行股份有限公司 数据库迁移中操作请求的处理方法、装置和电子设备
CN111581028A (zh) * 2020-05-12 2020-08-25 上海英方软件股份有限公司 一种基于数据块的数据快速备份和一致性验证方法及系统
CN112433669A (zh) * 2020-10-23 2021-03-02 苏州浪潮智能科技有限公司 一种分布式存储卷在线迁移的方法、系统、设备及介质
CN113407114A (zh) * 2021-05-26 2021-09-17 青海师范大学 一种基于热数据和删除重复操作的在线扩容io调度方法
CN113407114B (zh) * 2021-05-26 2022-03-04 青海师范大学 一种基于热数据和删除重复操作的在线扩容io调度方法
CN114327745A (zh) * 2021-11-25 2022-04-12 北京志凌海纳科技有限公司 一种跨主机虚拟机存储热迁移的方法及系统
CN117009147A (zh) * 2023-09-28 2023-11-07 新华三技术有限公司 一种云平台虚拟机的数据备份方法、装置和电子设备

Also Published As

Publication number Publication date
KR101403417B1 (ko) 2014-06-03
CN102073462B (zh) 2013-04-17
EP2437167A4 (en) 2012-06-13
KR20120096489A (ko) 2012-08-30
US9411620B2 (en) 2016-08-09
JP5459811B2 (ja) 2014-04-02
WO2011137780A1 (zh) 2011-11-10
JP2013515303A (ja) 2013-05-02
US20120137098A1 (en) 2012-05-31
EP2437167A1 (en) 2012-04-04
EP2437167B1 (en) 2015-11-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
US7984262B2 (en) Data transmission for partition migration
US9239765B2 (en) Application triggered state migration via hypervisor
US9055119B2 (en) Method and system for VM-granular SSD/FLASH cache live migration
US8191063B2 (en) Method for migrating a plurality of virtual machines by associating files and state information with a single logical container
CN103631633B (zh) 虚拟机全系统在线迁移方法、装置与系统
CN100489787C (zh) 一种虚拟机的外存在线迁移方法
CN112148421B (zh) 虚拟机迁移的方法以及装置
US9733989B1 (en) Non-disruptive load-balancing of virtual machines between data centers
US20090007106A1 (en) Virtual Machine Smart Migration
CN103049219B (zh) 适用于虚拟化平台的虚拟磁盘写缓存系统及其操作方法
US20080256321A1 (en) System and Method for Tracking the Memory State of a Migrating Logical Partition
CN103793258A (zh) 基于管理程序的服务器复制系统及其方法
CN103176845A (zh) 一种虚拟机部署方法、系统和装置
US9875057B2 (en) Method of live migration
KR20160025606A (ko) 데이터 프로세싱
US20160026590A1 (en) Interconnection fabric switching apparatus capable of dynamically allocating resources according to workload and method therefor
CN102413183A (zh) 云智能交换机及其处理方法、系统
US11900159B2 (en) Method for repointing resources between hosts
US11550613B2 (en) Computer system
CN112527461B (zh) 一种面向飞腾平台的微虚拟机在线迁移方法及系统
Zhang et al. DLSM: Decoupled Live Storage Migration with Distributed Device Mapper Storage

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