CN112433669A - 一种分布式存储卷在线迁移的方法、系统、设备及介质 - Google Patents
一种分布式存储卷在线迁移的方法、系统、设备及介质 Download PDFInfo
- Publication number
- CN112433669A CN112433669A CN202011149884.9A CN202011149884A CN112433669A CN 112433669 A CN112433669 A CN 112433669A CN 202011149884 A CN202011149884 A CN 202011149884A CN 112433669 A CN112433669 A CN 112433669A
- Authority
- CN
- China
- Prior art keywords
- data block
- block address
- write command
- read
- object group
- 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.)
- Pending
Links
- 230000005012 migration Effects 0.000 title claims abstract description 86
- 238000013508 migration Methods 0.000 title claims abstract description 86
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000004044 response Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种分布式存储卷在线迁移的方法、系统、设备和存储介质,方法包括:将分布式存储卷分成多个对象组进行迁移,并获取当前正在迁移对象组的起始地址和尺寸以确定正在迁移对象组的数据块地址;响应于能够获取读写命令的数据,获取当前读写命令的起始地址和尺寸以确定当前读写命令的数据块地址;响应于当前读写命令的数据块地址与正在迁移对象组的数据块地址不冲突,判断当前读写命令的数据块地址是否小于正在迁移对象组的数据块地址;以及响应于当前读写命令的数据块地址小于正在迁移对象组的数据块地址,读写目标分布式块设备的对象,并写源分布式块设备的对象,并再次判断是否能够获取读写命令的数据。
Description
技术领域
本发明涉及分布式存储领域,更具体地,特别是指一种分布式存储卷在线迁移的方法、系统、计算机设备及可读介质。
背景技术
分布式存储系统的分布式块设备(Distributed Block Storage,DBS)通过内核态或者用户态接口提供给用户使用。因为内核态接口只能部署在linux高内核版本系统,所以一些低内核版本或者非linux操作系统的企业环境无法使用内核态接口,只能通过用户态接口,利用目标驱动程序提供的标准的iscsi协议接口,映射给客户端操作系统使用。
一般的,存储LUN(Logic Unit Number,逻辑单元号)后端存储使用分布式块设备进行LUN数据迁移时需要:(1)暂停主机I/O;(2)进行LUN数据由源DBS拷贝到目标DBS;(3)将LUN由源DBS重定向到目标DBS;(4)删除源DBS。分布式存储LUN在完成LUN数据从源DBS拷贝至目标DBS时,出于高可用方面的考虑,可能不希望存储LUN的后端DBS迁移过程中对客户端主机的业务造成中断影响。特别是一个大型的分布式集群被不同的部门所共享,确保所有部门客户端主机业务后端DBS数据迁移影响变得尤为必要。如何通过一种有效的方法实现分布式存储卷迁移,同时不影响客户端主机业务的正常进行,成为了一个技术难题。
发明内容
有鉴于此,本发明实施例的目的在于提出一种分布式存储卷在线迁移的方法、系统、计算机设备及计算机可读存储介质,通过将分布式存储卷分为多个对象组进行迁移,将中断I/O(输入/输出)的范围从整个卷缩小到对象组范围,从而保证在I/O超时范围内,能够处理该I/O;保证上层业务的连续性;对于读写命令数据块地址与正在迁移对象组数据块地址冲突的IO,延迟处理,防止源DBS和目的DBS数据不一致;对于操作已完成迁移对象的I/O,执行读写目的DBS对象,写源DBS对象,保证源DBS和目的DBS数据一致性;对于操作将要进行迁移对象的I/O,执行读写源DBS对象,保证源DBS和目的DBS数据一致性。
基于上述目的,本发明实施例的一方面提供了一种分布式存储卷在线迁移的方法,包括如下步骤:将分布式存储卷分成多个对象组进行迁移,并获取当前正在迁移对象组的起始地址和尺寸以确定所述正在迁移对象组的数据块地址;判断是否能够获取读写命令的数据,响应于能够获取读写命令的数据,获取当前读写命令的起始地址和尺寸以确定所述当前读写命令的数据块地址,并判断所述当前读写命令的数据块地址与所述正在迁移对象组的数据块地址是否冲突;响应于所述当前读写命令的数据块地址与所述正在迁移对象组的数据块地址不冲突,判断所述当前读写命令的数据块地址是否小于所述正在迁移对象组的数据块地址;以及响应于所述当前读写命令的数据块地址小于所述正在迁移对象组的数据块地址,读写目标分布式块设备的对象,并写源分布式块设备的对象,并再次判断是否能够获取读写命令的数据。
在一些实施方式中,还包括:响应于所述当前读写命令的数据块地址与所述正在迁移对象组的数据块地址冲突,将所述当前读写命令插入命令等待队列。
在一些实施方式中,还包括:启动线程以监控所述正在迁移对象组是否迁移完成,并响应于所述正在迁移对象组完成迁移,将所述命令等待队列中的所述当前读写命令释放。
在一些实施方式中,还包括:响应于所述当前读写命令的数据块地址不小于所述正在迁移对象组的数据块地址,判断所述当前读写命令的数据块地址是否大于所述正在迁移对象组的数据块地址。
在一些实施方式中,还包括:响应于所述当前读写命令的数据块地址大于所述正在迁移对象组的数据块地址,读写源分布式块设备的对象。
在一些实施方式中,还包括:在所述分布式存储卷的最后一个对象组中加入结束标识。
在一些实施方式中,还包括:判断所述当前正在迁移对象组中是否存在所述结束标识;以及响应于所述当前正在迁移对象组中存在所述结束标识,在完成所述当前正在迁移对象组的迁移后结束迁移。
本发明实施例的另一方面,还提供了一种分布式存储卷在线迁移系统,包括:第一获取模块,配置用于将分布式存储卷分成多个对象组进行迁移,并获取当前正在迁移对象组的起始地址和尺寸以确定所述正在迁移对象组的数据块地址;第二获取模块,配置用于判断是否能够获取读写命令的数据,响应于能够获取读写命令的数据,获取当前读写命令的起始地址和尺寸以确定所述当前读写命令的数据块地址,并判断所述当前读写命令的数据块地址与所述正在迁移对象组的数据块地址是否冲突;判断模块,配置用于响应于所述当前读写命令的数据块地址与所述正在迁移对象组的数据块地址不冲突,判断所述当前读写命令的数据块地址是否小于所述正在迁移对象组的数据块地址;以及执行模块,配置用于响应于所述当前读写命令的数据块地址小于所述正在迁移对象组的数据块地址,读写目标分布式块设备的对象,并写源分布式块设备的对象,并再次判断是否能够获取读写命令的数据。
本发明实施例的又一方面,还提供了一种计算机设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现如上方法的步骤。
本发明实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上方法步骤的计算机程序。
本发明具有以下有益技术效果:通过将分布式存储卷分为多个对象组进行迁移,将中断I/O(输入/输出)的范围从整个卷缩小到对象组范围,从而保证在I/O超时范围内,能够处理该I/O;保证上层业务的连续性;对于读写命令数据块地址与正在迁移对象组数据块地址冲突的IO,延迟处理,防止源DBS和目的DBS数据不一致;对于操作已完成迁移对象的I/O,执行读写目的DBS对象,写源DBS对象,保证源DBS和目的DBS数据一致性;对于操作将要进行迁移对象的I/O,执行读写源DBS对象,保证源DBS和目的DBS数据一致性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明提供的分布式存储卷在线迁移的方法的实施例的示意图;
图2为本发明提供的分布式存储卷在线迁移的计算机设备的实施例的硬件结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
基于上述目的,本发明实施例的第一个方面,提出了一种分布式存储卷在线迁移的方法的实施例。图1示出的是本发明提供的分布式存储卷在线迁移的方法的实施例的示意图。如图1所示,本发明实施例包括如下步骤:
S1、将分布式存储卷分成多个对象组进行迁移,并获取当前正在迁移对象组的起始地址和尺寸以确定正在迁移对象组的数据块地址;
S2、判断是否能够获取读写命令的数据,响应于能够获取读写命令的数据,获取当前读写命令的起始地址和尺寸以确定当前读写命令的数据块地址,并判断当前读写命令的数据块地址与正在迁移对象组的数据块地址是否冲突;
S3、响应于当前读写命令的数据块地址与正在迁移对象组的数据块地址不冲突,判断当前读写命令的数据块地址是否小于正在迁移对象组的数据块地址;以及
S4、响应于当前读写命令的数据块地址小于正在迁移对象组的数据块地址,读写目标分布式块设备的对象,并写源分布式块设备的对象,并再次判断是否能够获取读写命令的数据。
主机IO处理和迁移是两个不同的线程处理。迁移线程按照对象组为单位进行拷贝,从对象组0开始,从源卷把对象组0数据拷贝到目标卷,此时正在拷贝对象组为对象组0;对象组0拷贝完,接着拷贝对象组1,从源卷把对象组1数据拷贝到目标卷,此时正在拷贝对象组为对象组1,以此类推。某时刻IO处理线程处理的多个IO,可能落到已迁移的对象组内,也可能落到将要迁移的对象组内,也可能落到正在迁移的对象组内。例如:IO队列有三个IO,分别要写对象组1、7、4,此时正在迁移对象组为对象组4,则第一个IO需要既写源卷的对象组1,又写目标卷的对象组1;第二个IO只需要写源卷的对象组7(因为后续某个时刻迁移线程会重新写目标卷的对象组7);第三个IO放入等待队列,迁移线程处理完对象组4的迁移,更新正在迁移对象组为对象组5时,第三个IO就可以处理了,需要既写源卷对象组4,又写目标卷的对象组4。
将分布式存储卷分成多个对象组进行迁移,并获取当前正在迁移对象组的起始地址和尺寸以确定正在迁移对象组的数据块地址。将分布式存储卷分成多个对象组,例如,迁移对象组0、1、2……N,获取正在迁移对象组的offset和size,offset即是正在迁移对象组的起始地址,size即是正在迁移对象组的尺寸,offset+size即是正在迁移对象组的终止地址。根据offset和size可以确定正在迁移对象组的数据块地址。
判断是否能够获取读写命令的数据,响应于能够获取读写命令的数据,获取当前读写命令的起始地址和尺寸以确定当前读写命令的数据块地址,并判断当前读写命令的数据块地址与正在迁移对象组的数据块地址是否冲突。获取读写命令的offset和size,同样的,根据offset和size可以确定读写命令的数据块地址。判断当前读写命令的数据块地址与正在迁移对象组的数据块地址是否冲突,也即是判断当前读写命令的数据块地址与正在迁移对象组的数据块地址是否存在交叉。
响应于当前读写命令的数据块地址与正在迁移对象组的数据块地址不冲突,判断当前读写命令的数据块地址是否小于正在迁移对象组的数据块地址。
在一些实施方式中,还包括:响应于所述当前读写命令的数据块地址与所述正在迁移对象组的数据块地址冲突,将所述当前读写命令插入命令等待队列。如果冲突,说明读写命令操作的数据块对象正在进行迁移,需要等待该正在迁移对象组迁移完成,再重新执行本次I/O。主机读写IO命令数据块地址与正在迁移对象组数据块地址冲突,需要暂时不处理主机读写IO,放入等待队列,待正在迁移对象块处理完,指针移到下一对象迁移块再处理等待的IO。
响应于当前读写命令的数据块地址小于正在迁移对象组的数据块地址,读写目标分布式块设备的对象,并写源分布式块设备的对象,并再次判断是否能够获取读写命令的数据。如果读写命令数据块地址小于正在迁移对象组数据块地址,说明该读写命令操作的数据块对象已完成迁移,需要直接读写目标DBS的对象,同时为了保障源卷目标卷一致,需要写源DBS的对象。当前读写命令的数据块地址小于正在迁移对象组的数据块地址指的是读写命令所操作的数据块的右边界(即数据块的尾部)小于正在迁移对象组操作的数据块的左边界(即数据块的头部)。说明主机IO操作的是LUN中已完成迁移的部分,这时,读IO只需要读目标卷的DBS对象,写IO需要写目标卷DBS对象,同时写源卷DBS对象。
在一些实施方式中,还包括:响应于所述当前读写命令的数据块地址不小于所述正在迁移对象组的数据块地址,判断所述当前读写命令的数据块地址是否大于所述正在迁移对象组的数据块地址。
在一些实施方式中,还包括:响应于所述当前读写命令的数据块地址大于所述正在迁移对象组的数据块地址,读写源分布式块设备的对象。如果读写命令数据块地址大于正在迁移对象组数据块地址,说明该读写命令操作的数据块对象还未进行迁移,需要直接读写源DBS。读写命令数据块地址大于正在迁移对象组数据块地址指的是读写命令所操作的数据块的左边界(即数据块的头部)大于正在迁移对象组操作的数据块的右边界(即数据块的尾部)。说明主机IO操作的是LUN中将要进行迁移的部分,这时需要读IO读源卷DBS对象,写IO写源卷DBS。
在一些实施方式中,还包括:启动线程以监控所述正在迁移对象组是否迁移完成,并响应于所述正在迁移对象组完成迁移,将所述命令等待队列中的所述当前读写命令释放。启动线程,线程的作用为,等待消息,消息为正在迁移对象组迁移成功,更新正在迁移组对象的offset和size的消息,从而处理因冲突放入等待队列中的读写命令。
在一些实施方式中,还包括:在所述分布式存储卷的最后一个对象组中加入结束标识。
在一些实施方式中,还包括:判断所述当前正在迁移对象组中是否存在所述结束标识;以及响应于所述当前正在迁移对象组中存在所述结束标识,在完成所述当前正在迁移对象组的迁移后结束迁移。
本方案将源DBS迁移到目的DBS过程中,将卷分为多个对象组进行;将中断IO的范围从整个卷缩小到对象组范围,从而保证在I/O超时范围内,能够处理该I/O;保证上层业务的连续性;对于读写命令数据块地址与正在迁移对象组数据块地址冲突的IO,延迟处理,防止源DBS和目的DBS数据不一致;对于操作已完成迁移对象的I/O,执行读写目的DBS对象,写源DBS对象,保证源DBS和目的DBS数据一致性;对于操作将要进行迁移对象的I/O,执行读写源DBS对象,保证源DBS和目的DBS数据一致性。
需要特别指出的是,上述分布式存储卷在线迁移的方法的各个实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于分布式存储卷在线迁移的方法也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在实施例之上。
基于上述目的,本发明实施例的第二个方面,提出了一种分布式存储卷在线迁移的系统,包括:第一获取模块,配置用于将分布式存储卷分成多个对象组进行迁移,并获取当前正在迁移对象组的起始地址和尺寸以确定所述正在迁移对象组的数据块地址;第二获取模块,配置用于判断是否能够获取读写命令的数据,响应于能够获取读写命令的数据,获取当前读写命令的起始地址和尺寸以确定所述当前读写命令的数据块地址,并判断所述当前读写命令的数据块地址与所述正在迁移对象组的数据块地址是否冲突;判断模块,配置用于响应于所述当前读写命令的数据块地址与所述正在迁移对象组的数据块地址不冲突,判断所述当前读写命令的数据块地址是否小于所述正在迁移对象组的数据块地址;以及执行模块,配置用于响应于所述当前读写命令的数据块地址小于所述正在迁移对象组的数据块地址,读写目标分布式块设备的对象,并写源分布式块设备的对象,并再次判断是否能够获取读写命令的数据。
在一些实施方式中,系统还包括:插入模块,配置用于响应于所述当前读写命令的数据块地址与所述正在迁移对象组的数据块地址冲突,将所述当前读写命令插入命令等待队列。
在一些实施方式中,系统还包括:监控模块,配置用于启动线程以监控所述正在迁移对象组是否迁移完成,并响应于所述正在迁移对象组完成迁移,将所述命令等待队列中的所述当前读写命令释放。
在一些实施方式中,系统还包括:第二判断模块,配置用于响应于所述当前读写命令的数据块地址不小于所述正在迁移对象组的数据块地址,判断所述当前读写命令的数据块地址是否大于所述正在迁移对象组的数据块地址。
在一些实施方式中,系统还包括:第二执行模块,配置用于响应于所述当前读写命令的数据块地址大于所述正在迁移对象组的数据块地址,读写源分布式块设备的对象。
在一些实施方式中,系统还包括:标识模块,配置用于在所述分布式存储卷的最后一个对象组中加入结束标识。
在一些实施方式中,系统还包括:第三判断模块,配置用于判断所述当前正在迁移对象组中是否存在所述结束标识;以及响应于所述当前正在迁移对象组中存在所述结束标识,在完成所述当前正在迁移对象组的迁移后结束迁移。
基于上述目的,本发明实施例的第三个方面,提出了一种计算机设备,包括:至少一个处理器;以及存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行以实现如下步骤:S1、将分布式存储卷分成多个对象组进行迁移,并获取当前正在迁移对象组的起始地址和尺寸以确定正在迁移对象组的数据块地址;S2、判断是否能够获取读写命令的数据,响应于能够获取读写命令的数据,获取当前读写命令的起始地址和尺寸以确定当前读写命令的数据块地址,并判断当前读写命令的数据块地址与正在迁移对象组的数据块地址是否冲突;S3、响应于当前读写命令的数据块地址与正在迁移对象组的数据块地址不冲突,判断当前读写命令的数据块地址是否小于正在迁移对象组的数据块地址;以及S4、响应于当前读写命令的数据块地址小于正在迁移对象组的数据块地址,读写目标分布式块设备的对象,并写源分布式块设备的对象,并再次判断是否能够获取读写命令的数据。
在一些实施方式中,步骤还包括:响应于所述当前读写命令的数据块地址与所述正在迁移对象组的数据块地址冲突,将所述当前读写命令插入命令等待队列。
在一些实施方式中,步骤还包括:启动线程以监控所述正在迁移对象组是否迁移完成,并响应于所述正在迁移对象组完成迁移,将所述命令等待队列中的所述当前读写命令释放。
在一些实施方式中,步骤还包括:响应于所述当前读写命令的数据块地址不小于所述正在迁移对象组的数据块地址,判断所述当前读写命令的数据块地址是否大于所述正在迁移对象组的数据块地址。
在一些实施方式中,步骤还包括:所述当前读写命令的数据块地址大于所述正在迁移对象组的数据块地址,读写源分布式块设备的对象。
在一些实施方式中,步骤还包括:在所述分布式存储卷的最后一个对象组中加入结束标识。
在一些实施方式中,步骤还包括:判断所述当前正在迁移对象组中是否存在所述结束标识;以及响应于所述当前正在迁移对象组中存在所述结束标识,在完成所述当前正在迁移对象组的迁移后结束迁移。
如图2所示,为本发明提供的上述分布式存储卷在线迁移的计算机设备的一个实施例的硬件结构示意图。
以如图2所示的装置为例,在该装置中包括一个处理器301以及一个存储器302,并还可以包括:输入装置303和输出装置304。
处理器301、存储器302、输入装置303和输出装置304可以通过总线或者其他方式连接,图2中以通过总线连接为例。
存储器302作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的分布式存储卷在线迁移的方法对应的程序指令/模块。处理器301通过运行存储在存储器302中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的分布式存储卷在线迁移的方法。
存储器302可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据分布式存储卷在线迁移的方法的使用所创建的数据等。此外,存储器302可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器302可选包括相对于处理器301远程设置的存储器,这些远程存储器可以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置303可接收输入的用户名和密码等信息。输出装置304可包括显示屏等显示设备。
一个或者多个分布式存储卷在线迁移的方法对应的程序指令/模块存储在存储器302中,当被处理器301执行时,执行上述任意方法实施例中的分布式存储卷在线迁移的方法。
执行上述分布式存储卷在线迁移的方法的计算机设备的任何一个实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
本发明还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时执行如上方法的计算机程序。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,分布式存储卷在线迁移的方法的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,程序的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (10)
1.一种分布式存储卷在线迁移的方法,其特征在于,包括以下步骤:
将分布式存储卷分成多个对象组进行迁移,并获取当前正在迁移对象组的起始地址和尺寸以确定所述正在迁移对象组的数据块地址;
判断是否能够获取读写命令的数据,响应于能够获取读写命令的数据,获取当前读写命令的起始地址和尺寸以确定所述当前读写命令的数据块地址,并判断所述当前读写命令的数据块地址与所述正在迁移对象组的数据块地址是否冲突;
响应于所述当前读写命令的数据块地址与所述正在迁移对象组的数据块地址不冲突,判断所述当前读写命令的数据块地址是否小于所述正在迁移对象组的数据块地址;以及
响应于所述当前读写命令的数据块地址小于所述正在迁移对象组的数据块地址,读写目标分布式块设备的对象,并写源分布式块设备的对象,并再次判断是否能够获取读写命令的数据。
2.根据权利要求1所述的方法,其特征在于,还包括:
响应于所述当前读写命令的数据块地址与所述正在迁移对象组的数据块地址冲突,将所述当前读写命令插入命令等待队列。
3.根据权利要求2所述的方法,其特征在于,还包括:
启动线程以监控所述正在迁移对象组是否迁移完成,并响应于所述正在迁移对象组完成迁移,将所述命令等待队列中的所述当前读写命令释放。
4.根据权利要求1所述的方法,其特征在于,还包括:
响应于所述当前读写命令的数据块地址不小于所述正在迁移对象组的数据块地址,判断所述当前读写命令的数据块地址是否大于所述正在迁移对象组的数据块地址。
5.根据权利要求4所述的方法,其特征在于,还包括:
响应于所述当前读写命令的数据块地址大于所述正在迁移对象组的数据块地址,读写源分布式块设备的对象。
6.根据权利要求1所述的方法,其特征在于,还包括:
在所述分布式存储卷的最后一个对象组中加入结束标识。
7.根据权利要求6所述的方法,其特征在于,还包括:
判断所述当前正在迁移对象组中是否存在所述结束标识;以及
响应于所述当前正在迁移对象组中存在所述结束标识,在完成所述当前正在迁移对象组的迁移后结束迁移。
8.一种分布式存储卷在线迁移的系统,其特征在于,包括:
第一获取模块,配置用于将分布式存储卷分成多个对象组进行迁移,并获取当前正在迁移对象组的起始地址和尺寸以确定所述正在迁移对象组的数据块地址;
第二获取模块,配置用于判断是否能够获取读写命令的数据,响应于能够获取读写命令的数据,获取当前读写命令的起始地址和尺寸以确定所述当前读写命令的数据块地址,并判断所述当前读写命令的数据块地址与所述正在迁移对象组的数据块地址是否冲突;
判断模块,配置用于响应于所述当前读写命令的数据块地址与所述正在迁移对象组的数据块地址不冲突,判断所述当前读写命令的数据块地址是否小于所述正在迁移对象组的数据块地址;以及
执行模块,配置用于响应于所述当前读写命令的数据块地址小于所述正在迁移对象组的数据块地址,读写目标分布式块设备的对象,并写源分布式块设备的对象,并再次判断是否能够获取读写命令的数据。
9.一种计算机设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现权利要求1-7任意一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011149884.9A CN112433669A (zh) | 2020-10-23 | 2020-10-23 | 一种分布式存储卷在线迁移的方法、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011149884.9A CN112433669A (zh) | 2020-10-23 | 2020-10-23 | 一种分布式存储卷在线迁移的方法、系统、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112433669A true CN112433669A (zh) | 2021-03-02 |
Family
ID=74696001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011149884.9A Pending CN112433669A (zh) | 2020-10-23 | 2020-10-23 | 一种分布式存储卷在线迁移的方法、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112433669A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115145497A (zh) * | 2022-09-06 | 2022-10-04 | 深圳市杉岩数据技术有限公司 | 一种基于分布式存储的卷数据在线迁移方法 |
CN117575158A (zh) * | 2023-11-27 | 2024-02-20 | 永道工程咨询有限公司 | 一种工程清单综合单价合理性判定方法、装置及设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073462A (zh) * | 2010-11-29 | 2011-05-25 | 华为技术有限公司 | 虚拟存储迁移方法、系统和虚拟机监控器 |
-
2020
- 2020-10-23 CN CN202011149884.9A patent/CN112433669A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073462A (zh) * | 2010-11-29 | 2011-05-25 | 华为技术有限公司 | 虚拟存储迁移方法、系统和虚拟机监控器 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115145497A (zh) * | 2022-09-06 | 2022-10-04 | 深圳市杉岩数据技术有限公司 | 一种基于分布式存储的卷数据在线迁移方法 |
CN115145497B (zh) * | 2022-09-06 | 2022-11-29 | 深圳市杉岩数据技术有限公司 | 一种基于分布式存储的卷数据在线迁移方法 |
CN117575158A (zh) * | 2023-11-27 | 2024-02-20 | 永道工程咨询有限公司 | 一种工程清单综合单价合理性判定方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230138736A1 (en) | Cluster file system-based data backup method and apparatus, and readable storage medium | |
US9563636B2 (en) | Allowing writes to complete without obtaining a write lock to a file | |
US10455003B2 (en) | Method, server, and system for sharing resource data | |
JP4464378B2 (ja) | 同一データを纏める事で格納領域を節約する計算機システム、ストレージシステム及びそれらの制御方法 | |
US20160179419A1 (en) | Storage system, storage management apparatus, and storage management method | |
US20180285216A1 (en) | Virtual Machine Recovery Method and Virtual Machine Management Device | |
US10628200B2 (en) | Base state for thin-provisioned volumes | |
US20110145243A1 (en) | Sharing of Data Across Disjoint Clusters | |
US20190199794A1 (en) | Efficient replication of changes to a byte-addressable persistent memory over a network | |
CN106357703B (zh) | 集群切换方法与设备 | |
JP2009237826A (ja) | ストレージシステム及びそのボリューム管理方法 | |
CN112433669A (zh) | 一种分布式存储卷在线迁移的方法、系统、设备及介质 | |
CN115525631A (zh) | 数据库数据迁移方法、装置、设备、存储介质 | |
CN113467719B (zh) | 数据写入方法及装置 | |
CN113535087A (zh) | 数据迁移过程中的数据处理方法、服务器及存储系统 | |
US9003129B1 (en) | Techniques for inter-storage-processor cache communication using tokens | |
CN108874560B (zh) | 进行通信的方法和通信设备 | |
US10366104B2 (en) | Providing instant and distributed access to a source blob via copy-on-read blobs and link blobs | |
US20160259572A1 (en) | Storage system and storage control method | |
US20180321851A1 (en) | Disk synchronization | |
CN110908602A (zh) | 分布式存储系统的数据写入方法、装置、设备及存储介质 | |
US20210004475A1 (en) | Computer apparatus, data sharing system, and data access method | |
CN111399753A (zh) | 写入图片的方法和装置 | |
US12007852B2 (en) | Systems and methods for backing up clustered and non-clustered data | |
EP4174645A1 (en) | Mirror image distribution method, electronic device, and storage medium |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210302 |
|
RJ01 | Rejection of invention patent application after publication |