CN111984370B - 一种多磁盘虚拟机在线迁移到不同存储池的方法及装置 - Google Patents
一种多磁盘虚拟机在线迁移到不同存储池的方法及装置 Download PDFInfo
- Publication number
- CN111984370B CN111984370B CN202010748839.9A CN202010748839A CN111984370B CN 111984370 B CN111984370 B CN 111984370B CN 202010748839 A CN202010748839 A CN 202010748839A CN 111984370 B CN111984370 B CN 111984370B
- Authority
- CN
- China
- Prior art keywords
- disk
- migrated
- tree
- disks
- virtual machine
- 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
- 238000013508 migration Methods 0.000 title claims abstract description 74
- 230000005012 migration Effects 0.000 title claims abstract description 74
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000013507 mapping Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
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
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/128—Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- 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
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- 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
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- 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
-
- 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/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出了一种多磁盘虚拟机在线迁移到不同存储池的方法,包括:将虚拟机每个待迁移的活动状态磁盘以及由每个待迁移的活动状态磁盘对应产生的多个快照盘构建磁盘树,用于记录磁盘树中多个磁盘的生成时间先后关系;迁移内存快照文件;确定每个待迁移的活动状态磁盘对应的目标存储池,根据磁盘树中待迁移磁盘的生成时间先后关系,将多个磁盘树分别迁移至对应的目标存储池,本发明还提出了一种多磁盘虚拟机在线迁移到不同存储池的装置,有效解决由于现有技术造成虚拟机迁移资源利用率以及迁移效率不高的问题,在虚拟机磁盘迁移时,可以根据实际情况将待迁移磁盘迁移至不同的目标存储池,有效的提高了虚拟机迁移的效率以及可靠性。
Description
技术领域
本发明涉及虚拟机磁盘迁移领域,尤其是涉及一种多磁盘虚拟机在线迁移到不同存储池的方法及装置。
背景技术
随着云计算技术飞快的发展,越来越多的公司推出了用于提供云计算基础功能的虚拟化管理系统,这些虚拟化管理系统部署在服务器上,使得所有虚拟机可在多种环境下共享该服务器的资源。
当虚拟机当前所在的主机负载过大,资源不足,或者需要对当前环境进行开发维护,通常需要将虚拟机迁移到其他主机或者存储来减小压力,或者等待当前环境维护完成后再将虚拟机迁移回来。
而且,虚拟机迁移只能是将虚拟机的所有磁盘进行整体迁移,如果当前虚拟机占用存储资源过多,出现目标环境没有适合虚拟机迁移的存储池的情况,就无法完成迁移过程,不利于提高资源利用率以及迁移效率。
发明内容
本发明为了解决现有技术中存在的问题,创新提出了一种多磁盘虚拟机在线迁移到不同存储池的方法及装置,有效解决由于现有技术造成虚拟机迁移资源利用率以及迁移效率不高的问题,有效的提高了虚拟机迁移的效率以及可靠性。
本发明第一方面提供了一种多磁盘虚拟机在线迁移到不同存储池的方法,包括:
将虚拟机每个待迁移的活动状态磁盘以及由每个待迁移的活动状态磁盘对应产生的多个快照盘构建磁盘树,所述每个磁盘树中至少包括由所述待迁移的活动状态磁盘产生的多个快照盘,用于记录磁盘树中多个磁盘的生成时间先后关系;
迁移内存快照文件,将虚拟机引导盘的内存快照文件,迁移到引导盘的目标存储池;其中,引导盘为虚拟机操作系统所在磁盘;
确定每个待迁移的活动状态磁盘对应的目标存储池,根据磁盘树中待迁移磁盘的生成时间先后关系,将多个磁盘树分别迁移至对应的目标存储池。
可选地,磁盘树的数量与待迁移的活动状态磁盘的数量对应相同。
可选地,所述磁盘树还包括待迁移的活动状态磁盘。
可选地,根据磁盘树中待迁移的活动状态磁盘以及多个快照盘的生成时间先后关系,将多个磁盘树分别迁移至对应的目标存储池具体包括:
确定当前待迁移的磁盘树;
判断当前磁盘树中待迁移的磁盘是否是当前磁盘树中生成时间最早的,如果是当前磁盘树中的生成时间最早的磁盘,在所述当前磁盘树对应的目标存储池中预先建立空的卷,将待迁移的磁盘中的数据复制到目标存储池中预先建立空的卷;
如果不是当前磁盘树中的生成时间最早的磁盘,则根据当前磁盘树中记录的磁盘之间的时间先后关系,确定距离当前磁盘树中的生成时间最早磁盘的下一级待迁移的磁盘,在目标存储池中通过引用链接方式新建一个磁盘,新建的磁盘与当前待迁移的磁盘之前已经迁移完成的磁盘内容一致,将当前待迁移的磁盘与之前已经迁移完成的磁盘之间的差异数据迁移到目标存储池中新建的磁盘中;
直至当前磁盘树中待迁移的磁盘以及所有待迁移的磁盘树全部迁移完成。
进一步地,直至当前磁盘树中待迁移的磁盘以及所有待迁移的磁盘树全部迁移完成之前还包括:判断待迁移的磁盘是否是活动状态磁盘,如果是活动状态磁盘,将当前待迁移的活动状态磁盘与之前已经迁移完成的磁盘之间的差异数据与目标存储池中新建的磁盘中的数据进行同步。
可选地,待迁移的活动状态磁盘为虚拟机中部分或全部磁盘。
可选地,不同磁盘树分别迁移至对应的目标存储池的过程相互独立。
可选地,快照盘为虚拟机中的磁盘通过打快照操作生成的磁盘。
可选地,磁盘格式为RAW或QCOW2。
本发明第二方面提供了一种多磁盘虚拟机在线迁移到不同存储池的装置,包括:
磁盘树构建模块,将虚拟机每个待迁移的活动状态磁盘以及由每个待迁移的活动状态磁盘对应产生的多个快照盘构建磁盘树,所述每个磁盘树中至少包括由所述待迁移的活动状态磁盘产生的多个快照盘,用于记录磁盘树中多个磁盘的生成时间先后关系;
内存快照文件迁移模块,迁移内存快照文件,将虚拟机引导盘的内存快照文件,迁移到引导盘的目标存储池;其中,引导盘为虚拟机操作系统所在磁盘;
磁盘树迁移模块,确定每个待迁移的活动状态磁盘对应的目标存储池,根据磁盘树中待迁移磁盘的生成时间先后关系,将多个磁盘树分别迁移至对应的目标存储池。
本发明采用的技术方案包括以下技术效果:
1、本发明有效解决由于现有技术造成虚拟机迁移资源利用率以及迁移效率不高的问题,在虚拟机磁盘迁移时,可以根据实际情况将待迁移磁盘迁移至不同的目标存储池,有效的提高了虚拟机迁移的效率以及可靠性。
2、本发明虚拟机磁盘迁移时,可以是虚拟机全部磁盘,也可以是虚拟机部分磁盘,当原虚拟机存储池容量不足,或者存储压力过大时,将虚拟机的多个磁盘中的某一个或者几块盘对应的磁盘树迁移到其它存储池,为虚拟机源存储池腾出空间,减小压力;当虚拟机原存储存在安全隐患,需要迁移到其它存储池,而虚拟机体量过大,无法找到满足的目标存储池时,可以通过本方案进行动态的调度,选择多个目标存储池,进行资源的合理分配,更加灵活。
3、本发明不同磁盘树分别迁移至对应的目标存储池,不同磁盘树的目标存储池不同,在迁移过程中相互独立,互不影响,即使某个磁盘树迁移失败,其他磁盘树依然可以迁移到其他存储池,具有很高的容错性。
4、本发明磁盘树在迁移过程中针对生成时间不是最早的磁盘,可以通过引用链接以及差异数据迁移的方式进行磁盘迁移,保证了磁盘数据的一致性。
5、本发明磁盘树在创建过程中由待迁移磁盘产生快照盘,每个快照盘都包含着虚拟机打快照时刻的所有数据,并不会相互影响,并且对于没有对应active盘的快照盘,也可以构建磁盘树(磁盘树中仅包括快照盘),进行磁盘迁移,扩大磁盘迁移的适用场景。
应当理解的是以上的一般描述以及后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
为了更清楚说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍,显而易见的,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明方案中实施例一方法的流程示意图;
图2为本发明方案中实施例一方法步骤S3的一流程示意图;
图3为本发明方案中实施例一方法步骤S3的另一流程示意图;
图4为本发明方案中实施例一中一种可能的磁盘树结构示意图;
图5为本发明方案中实施例二装置的结构示意图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
实施例一
如图1所示,本发明提供了一种多磁盘虚拟机在线迁移到不同存储池的方法,包括:
S1,将虚拟机每个待迁移的活动状态磁盘以及由每个待迁移的活动状态磁盘对应产生的多个快照盘构建磁盘树,所述每个磁盘树中至少包括由所述待迁移的活动状态磁盘产生的多个快照盘,用于记录磁盘树中多个磁盘的生成时间先后关系;
S2,迁移内存快照文件,将虚拟机引导盘的内存快照文件,迁移到引导盘的目标存储池;其中,引导盘为虚拟机操作系统所在磁盘;
S3,确定每个待迁移的活动状态磁盘对应的目标存储池,根据磁盘树中待迁移磁盘的生成时间先后关系,将多个磁盘树分别迁移至对应的目标存储池。
其中,在步骤S1中,磁盘树的数量与待迁移的活动状态磁盘的数量对应相同;磁盘树还包括待迁移的活动状态磁盘。待迁移的活动状态磁盘可以为虚拟机中部分或全部磁盘。快照盘为虚拟机中的磁盘通过打快照操作映射生成的磁盘。当某个活动状态磁盘(active盘)存在时,active盘和快照盘都是对应的,快照盘记录的是active盘在某个时刻的状态,包含对应时刻的所有数据;快照可能没有对应的active盘,比如在打完快照之后把某个active删除了,那么这时快照盘没有对应的active盘,快照盘是独立的,需要构建单独的磁盘树。磁盘格式可以为RAW或QCOW2。
在步骤S2中,迁移内存快照文件,将虚拟机引导盘的内存快照文件,迁移到引导盘的目标存储池;其中,引导盘为虚拟机操作系统所在磁盘;引导盘是活动状态磁盘中的某一个磁盘,每个虚拟机有且仅有一个引导盘,和电脑的C盘类似。
在步骤S3中,如图2-图3所示,具体包括:
S31,确定当前待迁移的磁盘树;
S32,判断当前磁盘树中待迁移的磁盘是否是当前磁盘树中生成时间最早的,如果判断结果为是,则执行步骤S33;如果判断结果为否,则执行步骤S34;
S33,在当前磁盘树对应的目标存储池中预先建立空的卷,将待迁移的磁盘中的数据复制到目标存储池中预先建立空的卷;
S34,根据当前磁盘树中记录的磁盘之间的时间先后关系,确定距离当前磁盘树中的生成时间最早磁盘的下一级待迁移的磁盘,在目标存储池中通过引用链接方式新建一个磁盘,新建的磁盘与当前待迁移的磁盘之前已经迁移完成的磁盘内容一致,将当前待迁移的磁盘与之前已经迁移完成的磁盘之间的差异数据迁移到目标存储池中新建的磁盘中;
S35,判断当前磁盘树中的磁盘是否全部迁移完毕,如果判断结果为是,则执行步骤S36,如果判断结果为否,则执行步骤S32;
S36,判断所有待迁移的磁盘树是否全部迁移完毕,如果判断结果为是,则执行步骤S37;如果判断结果为否,则执行步骤S31;
S37,虚拟机磁盘迁移完成。
图3中A1、A2、A3、A4、A5为活动状态磁盘(active盘)打快照映射生成的5个快照盘,其中,A1为活动状态磁盘(active盘)打快照映射生成第一个快照盘,A2、A3均为活动状态磁盘(active盘)在快照盘A1基础上,打快照映射生成第二级快照盘,A2、A3中包括A1中的全部数据,A2、A3生成时间顺序可以任意;A4、A5均为活动状态磁盘(active盘)在快照盘A3基础上,打快照映射生成第三级快照盘,A4、A5中包括A3中的全部数据,A4、A5生成时间顺序可以任意;依次类推,上一级别磁盘生成时间早于下一级别磁盘生成时间,具体地,第一级别磁盘生成时间早于第二级别磁盘生成时间,第二级别磁盘生成时间早于第三级别生成时间。在步骤S32中,当前磁盘树中生成时间最早的磁盘即为当前磁盘树中的第一个磁盘,即为快照盘A1。
在步骤S33中,在选定的当前磁盘的目标存储预先创建空volume(卷),原磁盘的数据将要复制到当前volume中;开启数据迁移端口,准备复制磁盘,将原磁盘的所有数据迁移到预先创建的volume上,通过以卷的形式进行迁移,可以节省存储空间。
在步骤S34中,如果当前待迁移的磁盘,不是磁盘树中生成时间最早的,即不是磁盘树的第一块磁盘,例如磁盘树中的除S1之外的其他磁盘,如A2、A3、A4、A5,以A5为例:
根据磁盘树中记录的磁盘生成时间先后关系,将之前已经迁移完成的对应磁盘即A3,使用reflink(引用链接)方式在磁盘树对应的目标存储池生成一个新的磁盘A5*,S3的数据与A5*保持一致;
将A5与A3的差异数据迁移到A5*,当前时刻A5的数据与A5*已经保持一致,即磁盘树的当前磁盘A5迁移完毕。
在同一磁盘树中,第一级别磁盘A1首先进行迁移,第二级磁盘A2以及A3分别迁移(A2以及A3可以部分先后),第三级磁盘A4以及A5分别迁移(A4以及A5可以部分先后),依次类推,直到同一磁盘树中所有磁盘完成迁移,即磁盘树中处于不同级别的磁盘按照磁盘先后顺序依次进行迁移,同一级别的磁盘迁移顺序可以任意。
使用reflink方式生成一个新的磁盘,再迁移差异数据的方式,相比传统的磁盘的拷贝迁移,不仅节省空间,并且reflink磁盘的速度非常快,也可以节省时间。具体地,reflink出来的磁盘,只是原磁盘的一个索引节点,保留着原磁盘的所有信息,当原磁盘存在时,不占用空间;当原磁盘被删除时,reflink出来的磁盘不受影响,可以独立存在。
进一步地,如图4所示,步骤S3具体包括:
S31,确定当前待迁移的磁盘树;
S32,判断当前磁盘树中待迁移的磁盘是否是当前磁盘树中生成时间最早的,如果判断结果为是,则执行步骤S33;如果判断结果为否,则执行步骤S34;
S33,在当前磁盘树对应的目标存储池中预先建立空的卷,将待迁移的磁盘中的数据复制到目标存储池中预先建立空的卷;
S34,根据当前磁盘树中记录的磁盘之间的时间先后关系,确定距离当前磁盘树中的生成时间最早磁盘的下一级待迁移的磁盘,在目标存储池中通过引用链接方式新建一个磁盘,新建的磁盘与当前待迁移的磁盘之前已经迁移完成的磁盘内容一致,将当前待迁移的磁盘与之前已经迁移完成的磁盘之间的差异数据迁移到目标存储池中新建的磁盘中;
S35,判断待迁移的磁盘是否是活动状态磁盘,如果判断结果为是,则执行步骤S36;如果判断结果为否,则执行步骤S37;
S36,将当前待迁移的活动状态磁盘与之前已经迁移完成的磁盘之间的差异数据与目标存储池中新建的磁盘中的数据进行同步;
S37,判断当前磁盘树中的磁盘是否全部迁移完毕,如果判断结果为是,则执行步骤S38,如果判断结果为否,则执行步骤S32;
S38,判断所有待迁移的磁盘树是否全部迁移完毕,如果判断结果为是,则执行步骤S39;如果判断结果为否,则执行步骤S31;
S39,虚拟机磁盘迁移完成。
在步骤S36中,由于虚拟机上的业务正在运行,active盘可能时时刻刻都在写数据,就会造成迁移之后磁盘与之前的active盘,数据不一致,此时,将当前待迁移的活动状态磁盘与之前已经迁移完成的磁盘之间的差异数据与目标存储池中新建的磁盘中的数据进行同步即将当前待迁移的活动状态磁盘与目标存储池中新建的磁盘的差异数据同步,保持数据的一致性。
在当前磁盘树迁移过程中,首先,磁盘树中的快照盘进行迁移,最后,在迁移磁盘树中的活动状态磁盘(active盘),如果活动状态磁盘在虚拟机中已删除,则只需要迁移磁盘树中由原活动状态磁盘映射生成的快照盘即可。
待迁移的活动状态磁盘为虚拟机中部分或全部磁盘。不同磁盘树分别迁移至对应的目标存储池的过程相互独立。
需要说明的是,本方案不同磁盘树的迁移没有先后顺序,谁先迁移或者后迁移都可以,并且每个磁盘树迁移到任意存储池都可以。迁移时先随机选一个先迁移就行;不同磁盘树的目标存储池可以相同,可以不同,但每个磁盘树中的目标存储池必须相同。
本发明技术方案主要应用于ICS(InCloud Sphere,浪潮虚拟化平台),源存储池以及目标存储池类型可以是NFS、CFS或者本地存储池,也可以是其他类型存储池,本发明在此不做限制。
本发明有效解决由于现有技术造成虚拟机迁移资源利用率以及迁移效率不高的问题,在虚拟机磁盘迁移时,可以根据实际情况将待迁移磁盘迁移至不同的目标存储池,有效的提高了虚拟机迁移的效率以及可靠性。
本发明虚拟机磁盘迁移时,可以是虚拟机全部磁盘,也可以是虚拟机部分磁盘,当原虚拟机存储池容量不足,或者存储压力过大时,将虚拟机的多个磁盘中的某一个或者几块盘对应的磁盘树迁移到其它存储池,为虚拟机源存储池腾出空间,减小压力;当虚拟机原存储存在安全隐患,需要迁移到其它存储池,而虚拟机体量过大,无法找到满足的目标存储池时,可以通过本方案进行动态的调度,选择多个目标存储池,进行资源的合理分配,更加灵活。
本发明不同磁盘树分别迁移至对应的目标存储池,不同磁盘树的目标存储池不同,在迁移过程中相互独立,互不影响,即使某个磁盘树迁移失败,其他磁盘树依然可以迁移到其他存储池,具有很高的容错性。
本发明磁盘树在迁移过程中针对生成时间不是最早的磁盘,可以通过引用链接以及差异数据迁移的方式进行磁盘迁移,保证了磁盘数据的一致性。
本发明磁盘树在创建过程中由待迁移磁盘产生快照盘,每个快照盘都包含着虚拟机打快照时刻的所有数据,并不会相互影响,并且对于没有对应active盘的快照盘,也可以构建磁盘树(磁盘树中仅包括快照盘),进行磁盘迁移,扩大磁盘迁移的适用场景。
实施例二
如图5所示,本发明技术方案还提供了一种多磁盘虚拟机在线迁移到不同存储池的装置,包括:
磁盘树构建模块101,将虚拟机每个待迁移的活动状态磁盘以及由每个待迁移的活动状态磁盘对应产生的多个快照盘构建磁盘树,所述每个磁盘树中至少包括由所述待迁移的活动状态磁盘产生的多个快照盘,用于记录磁盘树中多个磁盘的生成时间先后关系;
内存快照文件迁移模块102,迁移内存快照文件,将虚拟机引导盘的内存快照文件,迁移到引导盘的目标存储池;其中,引导盘为虚拟机操作系统所在磁盘;
磁盘树迁移模块103,确定每个待迁移的活动状态磁盘对应的目标存储池,根据磁盘树中待迁移磁盘的生成时间先后关系,将多个磁盘树分别迁移至对应的目标存储池。
本发明有效解决由于现有技术造成虚拟机迁移资源利用率以及迁移效率不高的问题,在虚拟机磁盘迁移时,可以根据实际情况将待迁移磁盘迁移至不同的目标存储池,有效的提高了虚拟机迁移的效率以及可靠性。
本发明虚拟机磁盘迁移时,可以是虚拟机全部磁盘,也可以是虚拟机部分磁盘,当原虚拟机存储池容量不足,或者存储压力过大时,将虚拟机的多个磁盘中的某一个或者几块盘对应的磁盘树迁移到其它存储池,为虚拟机源存储池腾出空间,减小压力;当虚拟机原存储存在安全隐患,需要迁移到其它存储池,而虚拟机体量过大,无法找到满足的目标存储池时,可以通过本方案进行动态的调度,选择多个目标存储池,进行资源的合理分配,更加灵活。
本发明不同磁盘树分别迁移至对应的目标存储池,不同磁盘树的目标存储池不同,在迁移过程中相互独立,互不影响,即使某个磁盘树迁移失败,其他磁盘树依然可以迁移到其他存储池,具有很高的容错性。
本发明磁盘树在迁移过程中针对生成时间不是最早的磁盘,可以通过引用链接以及差异数据迁移的方式进行磁盘迁移,保证了磁盘数据的一致性。
本发明磁盘树在创建过程中由待迁移磁盘产生快照盘,每个快照盘都包含着虚拟机打快照时刻的所有数据,并不会相互影响,并且对于没有对应active盘的快照盘,也可以构建磁盘树(磁盘树中仅包括快照盘),进行磁盘迁移,扩大磁盘迁移的适用场景。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (9)
1.一种多磁盘虚拟机在线迁移到不同存储池的方法,其特征是,包括:
将虚拟机每个待迁移的活动状态磁盘以及由每个待迁移的活动状态磁盘对应产生的多个快照盘构建磁盘树,所述每个磁盘树中至少包括由所述待迁移的活动状态磁盘产生的多个快照盘,用于记录磁盘树中多个磁盘的生成时间先后关系;
迁移内存快照文件,将虚拟机引导盘的内存快照文件,迁移到引导盘的目标存储池;其中,引导盘为虚拟机操作系统所在磁盘;
确定每个待迁移的活动状态磁盘对应的目标存储池,根据磁盘树中待迁移磁盘的生成时间先后关系,将多个磁盘树分别迁移至对应的目标存储池;其中,根据磁盘树中待迁移的活动状态磁盘以及多个快照盘的生成时间先后关系,将多个磁盘树分别迁移至对应的目标存储池具体包括:
确定当前待迁移的磁盘树;
判断当前磁盘树中待迁移的磁盘是否是当前磁盘树中生成时间最早的,如果是当前磁盘树中的生成时间最早的磁盘,在所述当前磁盘树对应的目标存储池中预先建立空的卷,将待迁移的磁盘中的数据复制到目标存储池中预先建立空的卷;
如果不是当前磁盘树中的生成时间最早的磁盘,则根据当前磁盘树中记录的磁盘之间的时间先后关系,确定距离当前磁盘树中的生成时间最早磁盘的下一级待迁移的磁盘,在目标存储池中通过引用链接方式新建一个磁盘,新建的磁盘与当前待迁移的磁盘之前已经迁移完成的磁盘内容一致,将当前待迁移的磁盘与之前已经迁移完成的磁盘之间的差异数据迁移到目标存储池中新建的磁盘中;
直至当前磁盘树中待迁移的磁盘以及所有待迁移的磁盘树全部迁移完成。
2.根据权利要求1所述的多磁盘虚拟机在线迁移到不同存储池的方法,其特征是,磁盘树的数量与待迁移的活动状态磁盘的数量对应相同。
3.根据权利要求1所述的多磁盘虚拟机在线迁移到不同存储池的方法,其特征是,所述磁盘树还包括待迁移的活动状态磁盘。
4.根据权利要求1所述的多磁盘虚拟机在线迁移到不同存储池的方法,其特征是,直至当前磁盘树中待迁移的磁盘以及所有待迁移的磁盘树全部迁移完成之前还包括:判断待迁移的磁盘是否是活动状态磁盘,如果是活动状态磁盘,将当前待迁移的活动状态磁盘与之前已经迁移完成的磁盘之间的差异数据与目标存储池中新建的磁盘中的数据进行同步。
5.根据权利要求1所述的多磁盘虚拟机在线迁移到不同存储池的方法,其特征是,待迁移的活动状态磁盘为虚拟机中部分或全部磁盘。
6.根据权利要求1所述的多磁盘虚拟机在线迁移到不同存储池的方法,其特征是,不同磁盘树分别迁移至对应的目标存储池的过程相互独立。
7.根据权利要求1所述的多磁盘虚拟机在线迁移到不同存储池的方法,其特征是,快照盘为虚拟机中的磁盘通过打快照操作生成的磁盘。
8.根据权利要求1-7任一所述的多磁盘虚拟机在线迁移到不同存储池的方法,其特征是,磁盘格式为RAW或QCOW2。
9.一种多磁盘虚拟机在线迁移到不同存储池的装置,其特征是,包括:
磁盘树构建模块,将虚拟机每个待迁移的活动状态磁盘以及由每个待迁移的活动状态磁盘对应产生的多个快照盘构建磁盘树,所述每个磁盘树中至少包括由所述待迁移的活动状态磁盘产生的多个快照盘,用于记录磁盘树中多个磁盘的生成时间先后关系;
内存快照文件迁移模块,迁移内存快照文件,将虚拟机引导盘的内存快照文件,迁移到引导盘的目标存储池;其中,引导盘为虚拟机操作系统所在磁盘;
磁盘树迁移模块,确定每个待迁移的活动状态磁盘对应的目标存储池,根据磁盘树中待迁移磁盘的生成时间先后关系,将多个磁盘树分别迁移至对应的目标存储池;其中,根据磁盘树中待迁移的活动状态磁盘以及多个快照盘的生成时间先后关系,将多个磁盘树分别迁移至对应的目标存储池具体包括:
确定当前待迁移的磁盘树;
判断当前磁盘树中待迁移的磁盘是否是当前磁盘树中生成时间最早的,如果是当前磁盘树中的生成时间最早的磁盘,在所述当前磁盘树对应的目标存储池中预先建立空的卷,将待迁移的磁盘中的数据复制到目标存储池中预先建立空的卷;
如果不是当前磁盘树中的生成时间最早的磁盘,则根据当前磁盘树中记录的磁盘之间的时间先后关系,确定距离当前磁盘树中的生成时间最早磁盘的下一级待迁移的磁盘,在目标存储池中通过引用链接方式新建一个磁盘,新建的磁盘与当前待迁移的磁盘之前已经迁移完成的磁盘内容一致,将当前待迁移的磁盘与之前已经迁移完成的磁盘之间的差异数据迁移到目标存储池中新建的磁盘中;
直至当前磁盘树中待迁移的磁盘以及所有待迁移的磁盘树全部迁移完成。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010748839.9A CN111984370B (zh) | 2020-07-30 | 2020-07-30 | 一种多磁盘虚拟机在线迁移到不同存储池的方法及装置 |
PCT/CN2021/076954 WO2022021856A1 (zh) | 2020-07-30 | 2021-02-19 | 一种多磁盘虚拟机在线迁移到不同存储池的方法及装置 |
US18/016,998 US11740925B2 (en) | 2020-07-30 | 2021-02-19 | Method and apparatus for online migration of multi-disk virtual machine into different storage pools |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010748839.9A CN111984370B (zh) | 2020-07-30 | 2020-07-30 | 一种多磁盘虚拟机在线迁移到不同存储池的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111984370A CN111984370A (zh) | 2020-11-24 |
CN111984370B true CN111984370B (zh) | 2022-10-25 |
Family
ID=73445868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010748839.9A Active CN111984370B (zh) | 2020-07-30 | 2020-07-30 | 一种多磁盘虚拟机在线迁移到不同存储池的方法及装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11740925B2 (zh) |
CN (1) | CN111984370B (zh) |
WO (1) | WO2022021856A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111984370B (zh) * | 2020-07-30 | 2022-10-25 | 苏州浪潮智能科技有限公司 | 一种多磁盘虚拟机在线迁移到不同存储池的方法及装置 |
CN112988066B (zh) * | 2021-02-23 | 2022-08-30 | 新华三大数据技术有限公司 | 一种数据处理方法及装置 |
CN114138197B (zh) * | 2021-11-28 | 2022-10-18 | 北京大道云行科技有限公司 | 一种在线跨池数据迁移方法及电子设备 |
CN117093332B (zh) * | 2023-10-20 | 2024-02-27 | 杭州优云科技有限公司 | 一种虚拟机克隆的实现方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5831786A (en) * | 1994-06-02 | 1998-11-03 | International Business Machines Corporation | Disk drive having position sensor for ramp load and unload, and method for its use |
CN110688200A (zh) * | 2019-09-29 | 2020-01-14 | 北京浪潮数据技术有限公司 | 一种在线迁移虚拟机磁盘树的方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102081552A (zh) | 2009-12-01 | 2011-06-01 | 华为技术有限公司 | 一种物理机到虚拟机的在线迁移方法、装置和系统 |
CN105739918B (zh) * | 2016-01-07 | 2019-01-18 | 新华三技术有限公司 | 虚拟机的存储在线迁移方法及装置 |
US10809935B2 (en) * | 2018-12-17 | 2020-10-20 | Vmware, Inc. | System and method for migrating tree structures with virtual disks between computing environments |
CN110941476B (zh) * | 2019-11-14 | 2023-01-24 | 济南浪潮数据技术有限公司 | 一种虚拟机热迁移的控制方法、控制装置及控制设备 |
CN111090399A (zh) * | 2019-12-13 | 2020-05-01 | 北京浪潮数据技术有限公司 | 一种磁盘数据的在线迁移方法、装置、设备及介质 |
CN111984370B (zh) * | 2020-07-30 | 2022-10-25 | 苏州浪潮智能科技有限公司 | 一种多磁盘虚拟机在线迁移到不同存储池的方法及装置 |
-
2020
- 2020-07-30 CN CN202010748839.9A patent/CN111984370B/zh active Active
-
2021
- 2021-02-19 WO PCT/CN2021/076954 patent/WO2022021856A1/zh active Application Filing
- 2021-02-19 US US18/016,998 patent/US11740925B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5831786A (en) * | 1994-06-02 | 1998-11-03 | International Business Machines Corporation | Disk drive having position sensor for ramp load and unload, and method for its use |
CN110688200A (zh) * | 2019-09-29 | 2020-01-14 | 北京浪潮数据技术有限公司 | 一种在线迁移虚拟机磁盘树的方法及装置 |
Non-Patent Citations (2)
Title |
---|
Dynamic active log pool for improving worst-case performance of memory cards;Ilhoon Shin;《IEEE Transactions on Consumer Electronics ( Volume: 63, Issue: 3, August 2017)》;20170831;第318-324页 * |
地质调查数据容灾技术方案的研究;陈宇达等;《南方国土资源》;20120215;第25-27页 * |
Also Published As
Publication number | Publication date |
---|---|
US20230214250A1 (en) | 2023-07-06 |
CN111984370A (zh) | 2020-11-24 |
US11740925B2 (en) | 2023-08-29 |
WO2022021856A1 (zh) | 2022-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111984370B (zh) | 一种多磁盘虚拟机在线迁移到不同存储池的方法及装置 | |
AU2021101420A4 (en) | Small-file storage optimization system based on virtual file system in KUBERNETES user-mode application | |
CN108664496B (zh) | 数据迁移方法及装置 | |
CN102467408B (zh) | 一种虚拟机数据的访问方法和设备 | |
CN104216801B (zh) | 一种面向虚拟化环境的数据复制方法及系统 | |
CN110046026B (zh) | 云主机指定虚拟磁盘限速方法、计算设备及云平台 | |
CN101727331A (zh) | 升级活动虚拟机的客户操作系统的方法和设备 | |
CN109408115A (zh) | 一种基于容器环境中迁移对象的方法及计算系统 | |
US11199972B2 (en) | Information processing system and volume allocation method | |
CN105635311A (zh) | 一种云管理平台中资源池信息同步的方法 | |
CN113032356B (zh) | 一种客舱分布式文件存储系统及实现方法 | |
CN103795801A (zh) | 一种基于实时应用集群的元数据集群设计方法 | |
CN108073352A (zh) | 虚拟磁盘处理方法及装置 | |
CN112256477A (zh) | 一种虚拟化容错方法及设备 | |
CN111708488A (zh) | 一种基于分布式内存盘的Ceph性能优化的方法和设备 | |
CN114564339A (zh) | 一种磁盘镜像文件跨平台迁移方法及系统 | |
CN113849137B (zh) | 一种面向申威容器平台的可视化块存储方法和系统 | |
CN109840051B (zh) | 一种存储系统的数据存储方法及装置 | |
CN111459416B (zh) | 一种基于分布式存储的热迁移系统及其迁移方法 | |
CN109246198A (zh) | 一种基于分布式存储集群的云主机启动控制方法和系统 | |
EP3349416B1 (en) | Relationship chain processing method and system, and storage medium | |
CN111522689B (zh) | 全局快照方法、装置、电子设备及计算机可读存储介质 | |
CN107479827A (zh) | 一种基于io和元数据分离的混合存储系统实现方法 | |
CN112328368B (zh) | 一种基于云平台的应用层存储方法及设备 | |
CN106790521B (zh) | 采用基于ftp的节点设备进行分布式组网的系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |