CN112667148A - 一种集群存储数据在线迁移的方法及系统 - Google Patents

一种集群存储数据在线迁移的方法及系统 Download PDF

Info

Publication number
CN112667148A
CN112667148A CN202011370037.5A CN202011370037A CN112667148A CN 112667148 A CN112667148 A CN 112667148A CN 202011370037 A CN202011370037 A CN 202011370037A CN 112667148 A CN112667148 A CN 112667148A
Authority
CN
China
Prior art keywords
data
storage space
migration
storage
space
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
Application number
CN202011370037.5A
Other languages
English (en)
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.)
Shanghai Qiniu Information Technology Co ltd
Original Assignee
Shanghai Qiniu Information Technology 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 Shanghai Qiniu Information Technology Co ltd filed Critical Shanghai Qiniu Information Technology Co ltd
Priority to CN202011370037.5A priority Critical patent/CN112667148A/zh
Publication of CN112667148A publication Critical patent/CN112667148A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开一种集群存储数据在线迁移的方法,应用存储系统中,所述的存储系统包括源存储空间和目标存储空间,该方法包括:根据源存储空间的大小和目标存储空间的大小获得本次迁移数据量,根据本次迁移数据量生成数据迁移指令,目标存储空间依据指令将源存储空间中的数据迁移到目标存储空间,将源存储空间内迁移完成的数据所在的磁盘移除,添加到所述目标存储空间的空闲空间中,循环执行步骤S1至S3,直到源存储空间的数据全部迁移到目标存储空间。本发明还公开一种集群存储数据在线迁移的系统,通过本发明所述的方法和系统,节约了数据在线迁移过程中对存储空间的消耗,降低了数据迁移成本,因此具有明显的技术优势和有益效果。

Description

一种集群存储数据在线迁移的方法及系统
技术领域
本发明涉及数据迁移领域,尤其涉及一种集群存储数据在线迁移的方法及系统。
背景技术
在集群存储设备的使用过程中,由于业务数据量的不断增加,旧集群由于多种原因无法继续写数据(物理设备数量限制,软件系统不能满足功能、可靠性、可用性需求,等等…),这种情况下,需要将旧的集群存储设备中的数据迁移到新的存储系统内,并且将旧存储设备中的数据无缝迁移到新的存储中,以保证集群存储设备后续持续正常使用。
在现有技术中,为了确保迁移过程中成功迁移所有的数据,通常的做法是提供对等存储空间的存储集群,将数据对等进行拷贝,例如要迁移10G的文件,则需要准备有10G的存储空间用来拷贝数据,发明人发现上述现有技术方案对存储空间的消耗较为严重,数据在线迁移的过程中,需要同时占用2倍的存储空间,因此如何在确保对集群存储数据高可靠在线迁移时,降低存储成本是该领域亟需解决的问题。
发明内容
本发明的目的在于克服现有技术中存在的上述缺陷,提供一种集群存储数据在线迁移的方法,用于解决现有技术中存在的存储成本高的缺陷。
为达到上述目的,本发明第一方面公开一种集群存储数据在线迁移的方法,应用存储系统中,所述的存储系统包括源存储空间和目标存储空间,该方法包括步骤:S1:根据源存储空间的大小和目标存储空间的大小获得本次迁移数据量;S2:根据本次迁移数据量生成数据迁移指令,等待所述的源存储空间依据指令将数据迁移到目标存储空间;S3:将源存储空间内迁移完成的数据所在的磁盘移除,添加到所述目标存储空间的空闲空间中;S4:循环执行步骤S1至S3,直到源存储空间的数据全部迁移到目标存储空间。
进一步的,在步骤S1中,所述的获得本次迁移数据量的具体计算方法为:
M=Md>MA?MA:min(Md,min(Man))
其中,M为本次迁移数据量,集合A{D1,D2,D3,D4……Dn}为源存储空间,其待迁移数据总量为MA,集合A包括n个待迁移数据磁盘{D1,D2,D3,D4……Dn},每个数据磁盘Dn的空间为Man,目标存储空间的空闲空间为Md
进一步的,所述的目标存储空间的初始空闲空间Md不小于max(Man)。
进一步的,所述的源存储空间按物理磁盘数据量从大到小的顺序迁移数据。
进一步的,在步骤S1之前还包括以下步骤:设置在线迁移状态标识为开启状态。
进一步的,所述的步骤S1还包括:在步骤S1之前还包括:还包括设置在线迁移时数据存储的API接口为目标存储空间的API接口。
进一步的,所述的步骤S1还包括:设置所述的源存储空间为只读状态。
进一步的,在步骤S1之后还包括:对所述源存储空间同步到目标存储空间的数据进行完整性验证。
本发明第二方面公开一种集群存储数据在线迁移的系统,具体包括:
迁移模块:用于将所述源存储空间的数据迁移到目标存储空间中;
查询模块:用于定时查询迁移配置;
存储设备管理模块:用于在数据迁移过程中,完成存储设备的管理,包括设置存储设备的读写状态,将迁移的存储设备从源存储空间中解绑定,并添加到目标存储空间中。
进一步的,还包括数据读写控制模块:用于在数据迁移过程中,设置与数据读写相关的配置,设置在线迁移时数据存储的API接口为目标存储空间的API接口。
本发明第三方面还公开一种电子设备,所述设备包括处理器以及存储器,其中,所述存储器用于存储可执行程序,所述处理器用于执行所述可执行程序以实现权利要求1-7所述的任意一种集群存储数据在线迁移的方法。
综上,利用本发明公开的方法和系统,在集群存储数据在线迁移过程中,将现有技术中需要两倍的存储空间的消耗,减少为只需要新增较少初始存储设备就可以顺利完成数据的在线迁移,大大节约了存储空间开销,降低了数据迁移成本,因此具有明显的技术优势和有益效果。
本发明公开的方法和系统中所述的模块,在实际应用中,即可以在一台服务器上部署多个模块,也可以每一模块独立部署在不同的服务器上,特别的,根据需要,为了提供更强大的计算处理能力,也可以根据需要将模块部署到集群服务器上。
为了对本发明有更清楚全面的了解,下面结合附图,对本发明的具体实施方式进行详细描述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了一个实施例中集群存储数据在线迁移方法的主要步骤示意图。
图2示出了一个实施例中存储设备的控制原理示意图。
图3示出了一个实施例中集群存储数据在线迁移方法的数据存储步骤示意图;
图4示出了一个实施例中集群存储数据在线迁移系统的框架示意图。
具体实施方式
请参阅图1,图1示出了一个实施例中集群存储数据在线迁移方法的主要步骤示意图,具体包括步骤S11~S13:
S11:根据源存储空间的大小和目标存储空间的大小获得本次迁移数据量;
在该实施例中,首先获得源存储空间中待迁移数据量的大小,以及获得目标存储空间初始空间大小,然后获得本次能迁移的最大数据量M。
设集合A{D1,D2,D3,D4……Dn}为源存储空间,其待迁移数据总量为MA,集合A包括n个待迁移数据磁盘{D1,D2,D3,D4……Dn},每个数据磁盘Dn的空间为Man,目标存储空间的空闲空间为Md
M的计算方式为:
M=Md>MA?MA:min(Md,min(Man))
由上述计算方式可见:当Md>MA时,M=MA,迁移可一次完成;当Md<MA时,取Md和最小待迁移数据磁盘空间min(Man)的最小值,为本次迁移数据量。
在该实施例中,为确保迁移过程总是可以顺利完成,目标存储空间的初始空闲空间Md不小于max(Man),并且迁移过程按物理磁盘数据量从大到小的顺序迁移数据,这样可以确保每一次循环时目标存储空间的空闲空间Md总是不小于最大待迁移数据磁盘空间max(Man)。
S12:根据本次迁移数据量生成数据迁移指令,目标存储空间依据指令将源存储空间中的数据迁移到目标存储空间;
根据计算的本次能迁移的最大数据量M,产生数据迁移指令,运行该指令,目标存储空间依据指令将源存储空间中的数据量为M的数据迁移到目标存储空间,当按照由大到小的顺利迁移时,目标存储空间根据指令从最大待迁移数据磁盘空间开始迁移。
S13:将源存储空间内迁移完成的数据所在的磁盘移除,添加到所述目标存储空间的空闲空间中;
在一个实施例中,将同步完成的源存储磁盘从源存储空间中移除,再进行格式化等操作,使得它成为一个空的存储设备,将空的存储设备添加到所述目标存储空间中,作为目标存储空间使用。
S14:循环执行步骤S11至S13,直到源存储空间的数据全部迁移到目标存储空间。
按照步骤S11和步骤S13循环执行,将源存储空间中的存储设备上的数据逐渐迁移到目标存储空间中,与此同时,空闲出来的存储设备也用到目标存储空间中,实现了存储设备的有效利用。
在该实施例中,为了确保在数据迁移的过程中,源存储空间不会受到新的数据存储行为的干扰,将通过配置将源存储空间更改为只读状态,此处的配置包括:设置在线迁移状态标识为开启状态,设置在线迁移时数据存储的API接口为目标存储空间的API接口、设置源存储空间为只读状态等措施。
具体的存储设备的控制过程请参阅图2,图2示出了一个实施例中存储设备的控制原理示意图。
如图2所示,源存储空间包括有5个空间大小一样的磁盘,作为一种举例,将五个磁盘顺序编号为001~005,磁盘的数据空间均为1G,同时,提供数据迁移的目标存储空间只包括一个初始的空的存储磁盘A,磁盘A的空间也为1G。
在该实施例中,要将源存储空间的所有数据迁移到目标存储空间需要五个步骤,包括步骤21~步骤25:
步骤21:同步磁盘001的数据;
将磁盘001的数据同步到磁盘A,结束数据同步后,磁盘001的数据从源存储空间移除,添加到目标存储空间中,作为新的目标存储空间。
经过步骤21之后,目标存储空间中有两个存储设备:磁盘A和磁盘001,其中磁盘A已经写满数据,磁盘001是存储集群。
步骤22:同步磁盘002的数据;
将磁盘002的数据同步到目标存储空间,结束数据同步后将磁盘002从源存储空间中移除,添加到目标存储空间中,作为新的目标存储空间。
经过步骤22之后,目标存储空间中有三个存储设备:磁盘A、磁盘001和磁盘002,其中磁盘A和磁盘001已经写满数据,磁盘002是存储集群。
步骤23:同步磁盘003的数据;
将磁盘003的1G数据同步到作为目标存储空间的002盘,结束数据同步后将磁盘003从源存储空间中解除关系,添加到目标存储空间中,作为新的目标存储空间。
经过步骤23之后,目标存储空间中有四个存储设备:磁盘A、磁盘001、磁盘002和磁盘003,其中磁盘A、磁盘001、磁盘002已经写满数据,磁盘003是存储集群。
步骤24:同步磁盘004的数据;
同样的方法,将磁盘004的数据同步到作为目标存储空间的003盘,结束数据同步后将磁盘004从源存储空间中解除关系,添加到目标存储空间中,作为新的目标存储空间。
经过步骤24之后,目标存储空间中有五个存储设备,除了磁盘004之外都已经写满数据,磁盘004是存储集群。
步骤25:同步磁盘005的数据;
同样的方法,将源存储空间中最后一个磁盘005的数据同步到作为目标存储空间的磁盘004中,结束数据同步后将磁盘005从源存储空间中解除关系,添加到目标存储空间中,作为新的目标存储空间。
经过步骤25之后,源存储空间中的5个磁盘数据全部迁移到目标存储空间中的5个磁盘上,源存储空间中只留下一个存储集群005,由此完成了数据的迁移。
综上所述,按照上述步骤进行数据迁移,最少只需要新增一个磁盘即可完成数据迁移工作。
在一个实施例中,数据迁移的流程是在线完成,于是当实时接收到用户的数据存储请求时,需要对数据存储请求进行处理。请参阅图3,图3示出了一个实施例中集群存储数据在线迁移方法的数据存储步骤示意图,,具体包括步骤S31~S33:
步骤S31:查询获得在线迁移状态标识为开启状态;
首先查询获取当前在线迁移状态标识是否为开启状态,如果开启状态,则进入下一步。
步骤S32:查询获得在线迁移时数据存储的API接口;
查询获得用于保存数据的存储设备API接口,通常,这个在进行在线迁移前进行设置。作为一种实施例,在进行在线迁移时,将源存储空间的API接口设为只读状态,只能读出数据,新的数据存储均写入到目标存储空间中,因此将目标存储空间的API接口设为读写状态。
步骤S33:修改业务系统中数据存储API接口为上述获得的API接口。
在该实施例中,通过此步骤,当业务系统实时处理数据存储指令的模块接收到实时的数据存储指令时,将根据配置的API接口将数据保存至存储设备集群。
请参阅图4,图4示出了一个实施例中集群存储数据在线迁移系统的框架示意图,该实施例中,集群存储数据在线迁移系统01包括迁移模块401、存储设备管理模块402、查询模块403、数据读写控制模块404,其中:
迁移模块401:用于将所述源存储空间的数据迁移到目标存储空间中;
存储设备管理模块402:用于在数据迁移过程中,完成存储设备的管理,包括设置存储设备的读写状态,将迁移的存储设备从源存储空间中解绑定,并添加到目标存储空间中;
查询模块403:用于定时查询迁移配置,读出在线迁移状态标识;
数据读写控制模块404:用于在数据迁移过程中,设置与数据读写相关的配置,设置在线迁移时数据存储的API接口为目标存储空间的API接口。
需要说明的是,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过计算机程序来指令相关的硬件来完成,所述计算机程序可以存储于计算机可读存储介质中,所述存储介质可以包括但不限于:只读存储器(ROM,Read OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种集群存储数据在线迁移的方法,应用存储系统中,所述的存储系统包括源存储空间和目标存储空间,其特征在于,包括步骤:
S1:根据源存储空间的大小和目标存储空间的大小获得本次迁移数据量;
S2:根据本次迁移数据量生成数据迁移指令,目标存储空间依据指令将源存储空间中的数据迁移到目标存储空间;
S3:将源存储空间内迁移完成的数据所在的磁盘移除,添加到所述目标存储空间的空闲空间中;
S4:循环执行步骤S1至S3,直到源存储空间的数据全部迁移到目标存储空间。
2.如权利要求1所述的一种集群存储数据在线迁移的方法,其特征在于,在步骤S1中,所述的获得本次迁移数据量的具体计算方法为:
M=Md>MA?MA:min(Md,min(Man))
其中,M为本次迁移数据量,集合A{D1,D2,D3,D4……Dn}为源存储空间,其待迁移数据总量为MA,集合A包括n个待迁移数据磁盘{D1,D2,D3,D4……Dn},每个数据磁盘Dn的空间为Man,目标存储空间的空闲空间为Md
3.如权利要求2所述的一种集群存储数据在线迁移的方法,其特征在于,所述的目标存储空间的初始空闲空间为Md不小于max(Man)。
4.如权利要求2所述的一种集群存储数据在线迁移的方法,其特征在于,所述的源存储空间按物理磁盘数据量从大到小的顺序迁移数据。
5.如权利要求1所述的一种集群存储数据在线迁移的方法,其特征在于,在步骤S1之前还包括以下步骤:设置在线迁移状态标识为开启状态。
6.如权利要求2所述的一种集群存储数据在线迁移的方法,其特征在于,在步骤S1之前还包括:还包括设置在线迁移时数据存储的API接口为目标存储空间的API接口。
7.如权利要求2所述的一种集群存储数据在线迁移的方法,其特征在于,所述的步骤S1还包括:设置所述的源存储空间为只读状态。
8.一种集群存储数据在线迁移的系统,其特征在于,包括:
迁移模块:用于将所述源存储空间的数据迁移到目标存储空间中;
查询模块:用于定时查询迁移配置;
存储设备管理模块:用于在数据迁移过程中,完成存储设备的管理,包括设置存储设备的读写状态,将迁移的存储设备从源存储空间中解绑定,并添加到目标存储空间中。
9.如权利要求8所述的系统,其特征在于,还包括:
数据读写控制模块:用于在数据迁移过程中,设置与数据读写相关的配置,设置在线迁移时数据存储的API接口为目标存储空间的API接口。
10.一种电子设备,其特征在于,所述设备包括处理器以及存储器,其中:
所述存储器用于存储可执行程序;
所述处理器用于执行所述可执行程序以实现权利要求1-7所述的任意一种集群存储数据在线迁移的方法。
CN202011370037.5A 2020-11-30 2020-11-30 一种集群存储数据在线迁移的方法及系统 Pending CN112667148A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011370037.5A CN112667148A (zh) 2020-11-30 2020-11-30 一种集群存储数据在线迁移的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011370037.5A CN112667148A (zh) 2020-11-30 2020-11-30 一种集群存储数据在线迁移的方法及系统

Publications (1)

Publication Number Publication Date
CN112667148A true CN112667148A (zh) 2021-04-16

Family

ID=75403078

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011370037.5A Pending CN112667148A (zh) 2020-11-30 2020-11-30 一种集群存储数据在线迁移的方法及系统

Country Status (1)

Country Link
CN (1) CN112667148A (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090172277A1 (en) * 2007-12-31 2009-07-02 Yi-Chun Chen Raid level migration method for performing online raid level migration and adding disk to destination raid, and associated system
CN103885719A (zh) * 2012-12-21 2014-06-25 中国电信股份有限公司 虚拟机系统在线存储迁移的方法、系统与装置
CN103902233A (zh) * 2012-12-27 2014-07-02 中国电信股份有限公司 虚拟机系统的在线存储迁移方法、装置与服务器
US20150178014A1 (en) * 2013-12-19 2015-06-25 Netapp, Inc. Parallel migration of data objects to clustered storage
CN106469117A (zh) * 2015-08-14 2017-03-01 中国电信股份有限公司 一种用于虚拟机存储迁移的存储资源管理方法及装置
CN106843755A (zh) * 2017-01-04 2017-06-13 北京百度网讯科技有限公司 用于服务器集群的数据均衡方法与装置
CN107229414A (zh) * 2016-03-24 2017-10-03 杭州海康威视数字技术股份有限公司 存储空间回收方法及装置
CN109407964A (zh) * 2017-08-18 2019-03-01 阿里巴巴集团控股有限公司 一种数据的迁移方法、装置及设备
CN110399310A (zh) * 2018-04-18 2019-11-01 杭州宏杉科技股份有限公司 一种存储空间的回收方法及装置
CN111273872A (zh) * 2020-02-14 2020-06-12 北京百度网讯科技有限公司 一种数据迁移方法、装置、设备和介质
CN111913663A (zh) * 2020-07-29 2020-11-10 星辰天合(北京)数据科技有限公司 存储卷在线迁移的方法、装置和存储卷在线迁移的系统

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090172277A1 (en) * 2007-12-31 2009-07-02 Yi-Chun Chen Raid level migration method for performing online raid level migration and adding disk to destination raid, and associated system
CN103885719A (zh) * 2012-12-21 2014-06-25 中国电信股份有限公司 虚拟机系统在线存储迁移的方法、系统与装置
CN103902233A (zh) * 2012-12-27 2014-07-02 中国电信股份有限公司 虚拟机系统的在线存储迁移方法、装置与服务器
US20150178014A1 (en) * 2013-12-19 2015-06-25 Netapp, Inc. Parallel migration of data objects to clustered storage
CN106469117A (zh) * 2015-08-14 2017-03-01 中国电信股份有限公司 一种用于虚拟机存储迁移的存储资源管理方法及装置
CN107229414A (zh) * 2016-03-24 2017-10-03 杭州海康威视数字技术股份有限公司 存储空间回收方法及装置
CN106843755A (zh) * 2017-01-04 2017-06-13 北京百度网讯科技有限公司 用于服务器集群的数据均衡方法与装置
CN109407964A (zh) * 2017-08-18 2019-03-01 阿里巴巴集团控股有限公司 一种数据的迁移方法、装置及设备
CN110399310A (zh) * 2018-04-18 2019-11-01 杭州宏杉科技股份有限公司 一种存储空间的回收方法及装置
CN111273872A (zh) * 2020-02-14 2020-06-12 北京百度网讯科技有限公司 一种数据迁移方法、装置、设备和介质
CN111913663A (zh) * 2020-07-29 2020-11-10 星辰天合(北京)数据科技有限公司 存储卷在线迁移的方法、装置和存储卷在线迁移的系统

Similar Documents

Publication Publication Date Title
CN107391628B (zh) 数据同步方法及装置
CN107919977B (zh) 一种基于Paxos协议的在线扩容、在线缩容的方法和装置
US20170168756A1 (en) Storage transactions
US9875057B2 (en) Method of live migration
CN111880956B (zh) 一种数据同步方法和装置
CN111538719B (zh) 数据迁移方法、装置、设备及计算机存储介质
US20090132534A1 (en) Remote replication synchronizing/accessing system and method thereof
WO2022242372A1 (zh) 对象处理方法、装置、计算机设备和存储介质
CN105938446B (zh) 基于rdma和硬件事务性内存支持的数据复制容错方法
CN105302489A (zh) 一种异构多核远程嵌入式存储器系统与方法
CN114327745A (zh) 一种跨主机虚拟机存储热迁移的方法及系统
CN111414240B (zh) 内核态进程复制方法以及装置、容器扩容方法以及装置
CN112667148A (zh) 一种集群存储数据在线迁移的方法及系统
CN114816682A (zh) 分布式事务处理方法、系统及装置
CN115658245A (zh) 一种基于分布式数据库系统的事务提交系统、方法及装置
WO2022041672A1 (zh) 分布式数据库系统的全量备份方法、装置及计算机可读存储介质
CN111400098A (zh) 一种副本管理方法、装置、电子设备及存储介质
CN110865874B (zh) 事务提交的方法和装置
US10809939B2 (en) Disk synchronization
CN112559568A (zh) 一种虚拟物品确定方法、装置及计算机可读存储介质
CN111367625A (zh) 一种线程的唤醒方法及装置,存储介质和电子设备
CN115604290B (zh) Kafka消息执行方法、装置、设备及存储介质
US10956399B1 (en) Transaction pipelining in a journaled database
US20230069165A1 (en) Byzantine fault tolerant pre-preprocessing for state machine replication
WO2023193495A1 (zh) 处理读请求的方法、分布式数据库与服务端

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