CN117453653A - 一种基于disk-rsync的跨集群数据迁移方法 - Google Patents
一种基于disk-rsync的跨集群数据迁移方法 Download PDFInfo
- Publication number
- CN117453653A CN117453653A CN202311410238.7A CN202311410238A CN117453653A CN 117453653 A CN117453653 A CN 117453653A CN 202311410238 A CN202311410238 A CN 202311410238A CN 117453653 A CN117453653 A CN 117453653A
- Authority
- CN
- China
- Prior art keywords
- data
- disk
- rsync
- platform
- migration
- 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
- 238000013508 migration Methods 0.000 title claims abstract description 91
- 230000005012 migration Effects 0.000 title claims abstract description 91
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000005540 biological transmission Effects 0.000 claims abstract description 38
- 238000005516 engineering process Methods 0.000 claims abstract description 10
- 230000001360 synchronised effect Effects 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 5
- 230000008901 benefit Effects 0.000 abstract description 7
- 238000013523 data management Methods 0.000 abstract description 2
- 239000003795 chemical substances by application Substances 0.000 description 39
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 239000002609 medium Substances 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000012120 mounting media Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明提供一种基于disk‑rsync的跨集群数据迁移方法,通过disk‑rsync数据同步工具,配合ssh文件传输协议,基于openstack云平台的主机快照、云硬盘快照、BFV以及虚拟机初始化技术,实现自动化数据迁移操作。本发明通过数据同步迁移网关虚拟机默克尔树的应用和在disk‑rsync数据同步工具中进行增量数据同步,实现高效的增量备份,避免重复传输已经存在的数据,只需传输源磁盘上发生变化部分,减少了传输所需时间和带宽,在长时间备份中非常有用,可大大减少备份所需的资源,为云计算环境中的数据管理带来新契机,具有数据完整性、增量同步和服务可用性等优势,能够实现更高效、更可靠的数据迁移。
Description
技术领域
本发明涉及云计算数据迁移技术领域,具体而言,涉及一种基于disk-rsync的跨集群数据迁移方法。
背景技术
随着云计算技术的迅速发展,数据迁移成为了在云环境中进行资源优化和高效管理的关键挑战之一。特别是在OpenStack这样的开源云计算平台中,实现跨集群的数据迁移方案,对于实现资源的灵活调度、性能优化以及容灾恢复等目标至关重要。
然而现有的云计算中的数据迁移技术实现中,常见以下三个缺点:
一、缺少数据一致性和完整性的校验机制:当前许多数据迁移方案在迁移过程中没有强制性的数据一致性和完整性校验机制,这导致在迁移后可能出现数据丢失、损坏或不一致的情况,从而对业务可靠性产生威胁。
二、仅支持全量同步,缺乏增量同步:针对大规模数据迁移,当前技术通常只支持全量数据同步,这意味着每次迁移都需要传输整个数据集。这不仅消耗大量带宽和时间,也增加了迁移过程中的风险。
三、无法保证当前服务可用性:在许多数据迁移方案中,为了执行数据传输,必须停止相关服务和应用程序。这会导致业务中断,影响用户体验和企业运营,尤其对于需要7*24可用性的场景而言。
发明内容
鉴于此,本发明的目的在于提出一种基于disk-rsync的跨集群数据迁移方案,结合云计算和数据迁移领域的最新技术以解决现有技术的上述问题和缺点,该方案借助disk-rsync工具,结合块级别的数据同步和哈希树的验证机制,实现高效、安全、可靠的数据迁移操作,满足资源的灵活调度、性能优化以及容灾恢复的应用需求。
本发明提供一种基于disk-rsync的跨集群数据迁移方法,通过disk-rsync数据同步工具,配合ssh文件传输协议,基于openstack云平台的主机快照、云硬盘快照、BFV(BootFrom Volume)以及虚拟机初始化(Metadata/Config-Drive/Userdata/Cloud-init)技术,实现自动化数据迁移操作;
所述实现自动化数据迁移操作的方法包括以下步骤:
S1、由源端平台给待迁移主机创建主机临时快照,如果是BFI采集的方式,则除了创建主机临时快照之外,还创建云硬盘临时快照;从每一个创建好的临时快照创建一个云硬盘卷,将所述云硬盘卷挂载到数据同步迁移网关虚拟机(Agent)上;即左侧灰色部分,这些都属于临时快照和卷,数据迁移完毕之后,会被删除;
源端平台(Source Platform):即要将虚拟机、云硬盘等资源迁出的云平台。
待迁移主机(Instance):表示要迁移的虚拟机,它记录了该虚拟机在源和目的平台之间的磁盘、网络等配置的映射关系。针对同一个虚拟机可以发起多次迁移任务。
S2、当数据同步网关虚拟机通过disk-rsync数据同步工具完成数据同步工作之后,将源端平台的数据同步迁移网关虚拟机Agent上挂载的云硬盘卷卸载,删除源端平台创建的临时快照和云硬盘卷,同时在目标端平台为接收完数据的云硬盘卷创建快照;即右侧灰色部分,如果多次同步数据,则每次同步完成,均会创建新的快照出来;
数据同步迁移网关虚拟机(Agent):在两个平台之间做数据同步的迁移代理,实际为平台上的一台虚拟机,里面部署了迁移用的Agent代理,源端平台和目标端平台都需要建数据同步迁移网关虚拟机。
S3、在目标端平台启动主机实例时,从S2步骤中创建的云硬盘卷快照创建出对应的云硬盘卷,使用BFV的方式创建一个云主机,并且把云硬盘卷都挂载到该云主机上;
目标端平台(TargetPlatform):即要将虚拟机、云硬盘等资源接入的云平台。
主机实例(Server):表示虚拟机的数据迁移到目标平台之后,使用该迁移数据,在目标平台创建的虚拟机。
S4、通过运行在所述数据同步迁移网关虚拟机中的Agent程序,将需要同步的块设备基于ssh文件传输协议,以增量同步方式传输到目标端平台的云硬盘卷中。
为了Agent有更好的可适配性和可移植性,Agent使用ssh协议,将源端平台的块设备拷贝到远程的目标端平台的块设备上,主要具备以下几个功能:
(1)增量数据同步:Agent通过在源端平台和目标端平台的块设备上构建默克尔哈希树结构,实现了增量数据同步的功能。仅传输发生变化的数据块,极大地减少了数据传输时间和带宽。
(2)压缩传输和数据加密:针对支持的文件系统如xfs、ext4,Agent都支持压缩数据传输,减少了传输数据的大小。同时,通过利用ssh文件传输协议支持的加密算法,对传输中的数据进行加密,确保传输过程中的数据安全性。
(3)适应性存储抽象:Agent设计使其适应不同底层存储技术,实现了屏蔽底层存储细节的目的。使用Agent,用户不需要关心底层存储是如何进行的,从而简化了数据迁移过程。
(4)支持sparse写入:当源端块设备有空盘或未写满的盘时,Agent能够支持sparse写入,确保同步到目标端平台的数据大小与源端平台一致,避免了磁盘空间的浪费。
在迁移过程中可以采取策略,确保服务的持续可用性。例如,在迁移时设置临时备份。
进一步地,所述S4步骤的通过Agent程序以增量同步方式传输的方法包括:
所述数据同步迁移网关虚拟机Agent在底层为每个块设备分别构建一棵默克尔哈希树,默克尔树是一种典型的二叉树结构,它的非叶子节点存储的是孩子节点的哈希值,它的特点是能够快速比较大量数据,以及快速定位差异。通过默克尔哈希树比较源端平台的磁盘和目标端平台的磁盘上数据的差异,只传输变化的部分,从而实现高效的增量备份。
Agent是一个迁移代理服务,Agent的设计主要是为了解决底层存储不一致的问题,使用Agent迁移代理服务后,可以达到屏蔽底层存储的目的,从而不需要关心底层采用什么方式进行存储,在操作系统层面,通过远程复制块设备,进行数据迁移同步。
Agent依赖该特性实现了下面两个功能:
1.快速比较大量数据;
对每组数据排序后构建默克尔树结构。当两个默克尔树根相同时,则意味着所代表的两组数据必然相同;否则,所代表的两组数据必然不同。由于哈希值Hash计算的过程可以十分快速,所以预处理可以在短时间内完成。利用默克尔树结构能带来巨大的比较性能优势。
2.快速定位修改。
进一步地,所述增量同步方式在disk-rsync数据同步工具中的实现过程包括:
S41、初始备份:通过disk-rsync数据同步工具将源端平台的磁盘划分成固定大小的块,并计算每个块的哈希值;这些哈希值用于构建初始的默克尔树,整个树的根哈希值代表整个源端平台的磁盘的状态;
在初始备份阶段,所有数据都需要被传输,因为尚不存在目标端平台数据。
S42、增量备份:当源端平台的磁盘上的数据发生变化时,通过disk-rsync数据同步工具首先检测变化的块,然后根据这些块的哈希值在目标端平台的默克尔树中找到相应的块;
在完成初始备份之后,后续的备份就可以利用默克尔树实现增量备份。
disk-rsync数据同步工具能够在源端平台和目标端平台集群之间进行增量同步,只传输发生变化的数据块,从而减少了数据传输的量。
S43、差异计算:通过比较源端平台的磁盘和目标端平台的磁盘上的块的哈希值,通过disk-rsync数据同步工具确定哪些块已经改变,即差异块;将所述差异块以及它们的父节点和根节点一起传输到目标端平台;
S44、部分数据传输:所述目标端平台接收到差异块后,通过在默克尔树中重建这些块,重新构建数据;
这允许源端平台只传输差异块,而不是整个文件,从而减少了带宽的使用和传输时间;
S45、校验数据迁移完整性:在目标端平台重新构建数据后,目标端平台根据传输过来的差异块和已有数据重建默克尔树,通过比较目标端平台默克尔树的根哈希值与源端平台默克尔树的根哈希值,校验数据完整性。
基于默克尔Merkle树的哈希校验机制,保证了disk-rsync数据同步工具数据的完整性。在迁移后,可以通过比较源端平台和目标端平台集群上的默克尔Merkle树,验证数据是否正确传输。
进一步地,所述S45步骤的校验数据完整性的规则包括:
如果目标端的根哈希值与发送端提供的根哈希值匹配,则确认数据具有完整性;
如果目标端的根哈希值与发送端提供的根哈希值不匹配,意味着数据在传输过程中发生了错误或损坏或者存在恶意篡改,则通知发送端要求采取适当的措施,重新传输增量数据。
进一步地,所述自动化数据迁移操作利用linux文件操作系统完成数据读取和数据写入。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述所述的基于disk-rsync的跨集群数据迁移方法的步骤。
本发明还提供一种计算机设备,所述计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的基于disk-rsync的跨集群数据迁移方法的步骤。
与现有技术相比,本发明的有益效果在于:
本发明基于disk-rsync的跨集群数据迁移方法,通过数据同步迁移网关虚拟机默克尔树的应用和在disk-rsync数据同步工具中进行增量数据同步,能够实现高效的增量备份,避免了重复传输已经存在的数据,只需传输源磁盘上发生变化的部分,从而减少了传输所需的时间和带宽,该方法在长时间备份中非常有用,可大大减少备份所需的资源;本发明为云计算环境中的数据管理带来新契机,该方法具有数据完整性、增量同步和服务可用性等优势,能够实现更高效、更可靠的数据迁移。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。
在附图中:
图1为本发明实施例构造默克尔树的结构示意图;
图2为本发明实施例为迁移过程中,源端平台和目标端平台自动创建的资源以及它们之间的关系示意图;
图3为本发明实施例Agent为每个块设备分别构建一棵默克尔哈希树的示意图;
图4为本发明实施例数据对于ABCDEFGH构建初始的默克尔树的结构示意图;
图5为本发明实施例数据对于增量传输数据IJKL并在目标端重建默克尔树结构的结构示意图;
图6为本发明实施例目标端根据合并后的数据重新构建默克尔树的结构示意图;
图7为本发明实施例实现自动化数据迁移操作的方法流程图;
图8为本发明实施例增量同步方式在disk-rsync数据同步工具中的实现过程图;
图9为本发明实施例计算机设备的构成示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和产品的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
下面对本发明实施例作进一步详细说明。
本发明实施例提供一种基于disk-rsync的跨集群数据迁移方法,通过disk-rsync数据同步工具,配合ssh文件传输协议,基于openstack云平台的主机快照、云硬盘快照、BFV(Boot From Volume)以及虚拟机初始化(Metadata/Config-Drive/Userdata/Cloud-init)技术,实现自动化数据迁移操作;
所述实现自动化数据迁移操作的方法,参见图7所示,包括以下步骤:
S1、由源端平台给待迁移主机创建主机临时快照,如果是BFI采集的方式,则除了创建主机临时快照之外,还创建云硬盘临时快照;从每一个创建好的临时快照创建一个云硬盘卷,将所述云硬盘卷挂载到数据同步迁移网关虚拟机(Agent)上;即左侧灰色部分,这些都属于临时快照和卷,数据迁移完毕之后,会被删除;
源端平台(Source Platform):即要将虚拟机、云硬盘等资源迁出的云平台。
待迁移主机(Instance):表示要迁移的虚拟机,它记录了该虚拟机在源和目的平台之间的磁盘、网络等配置的映射关系。针对同一个虚拟机可以发起多次迁移任务。
S2、当数据同步网关虚拟机通过disk-rsync数据同步工具完成数据同步工作之后,将源端平台的数据同步迁移网关虚拟机Agent上挂载的云硬盘卷卸载,删除源端平台创建的临时快照和云硬盘卷,同时在目标端平台为接收完数据的云硬盘卷创建快照;即右侧灰色部分,如果多次同步数据,则每次同步完成,均会创建新的快照出来;
数据同步迁移网关虚拟机(Agent):在两个平台之间做数据同步的迁移代理,实际为平台上的一台虚拟机,里面部署了迁移用的Agent代理,源端平台和目标端平台都需要建数据同步迁移网关虚拟机。
S3、在目标端平台启动主机实例时,从S2步骤中创建的云硬盘卷快照创建出对应的云硬盘卷,使用BFV的方式创建一个云主机,并且把云硬盘卷都挂载到该云主机上;
目标端平台(TargetPlatform):即要将虚拟机、云硬盘等资源接入的云平台。
主机实例(Server):表示虚拟机的数据迁移到目标平台之后,使用该迁移数据,在目标平台创建的虚拟机。
S4、通过运行在所述数据同步迁移网关虚拟机中的Agent程序,将需要同步的块设备基于ssh文件传输协议,以增量同步方式传输到目标端平台的云硬盘卷中。
参见图2所示为迁移过程中,源端平台和目标端平台自动创建的资源以及它们之间的关系。
为了Agent有更好的可适配性和可移植性,Agent使用ssh协议,将源端平台的块设备拷贝到远程的目标端平台的块设备上,主要具备以下几个功能:
(1)增量数据同步:Agent通过在源端平台和目标端平台的块设备上构建默克尔哈希树结构,实现了增量数据同步的功能。仅传输发生变化的数据块,极大地减少了数据传输时间和带宽。
(2)压缩传输和数据加密:针对支持的文件系统如xfs、ext4,Agent都支持压缩数据传输,减少了传输数据的大小。同时,通过利用ssh文件传输协议支持的加密算法,对传输中的数据进行加密,确保传输过程中的数据安全性。
(3)适应性存储抽象:Agent设计使其适应不同底层存储技术,实现了屏蔽底层存储细节的目的。使用Agent,用户不需要关心底层存储是如何进行的,从而简化了数据迁移过程。
(4)支持sparse写入:当源端块设备有空盘或未写满的盘时,Agent能够支持sparse写入,确保同步到目标端平台的数据大小与源端平台一致,避免了磁盘空间的浪费。
本实施例中,所述自动化数据迁移操作利用linux文件操作系统完成数据读取和数据写入。
在迁移过程中可以采取策略,确保服务的持续可用性。例如,在迁移时设置临时备份。
本实施例中,所述通过Agent程序以增量同步方式传输的方法包括:
所述数据同步迁移网关虚拟机Agent在底层为每个块设备分别构建一棵默克尔哈希树,参见图3所述,默克尔树是一种典型的二叉树结构,它的非叶子节点存储的是孩子节点的哈希值,它的特点是能够快速比较大量数据,以及快速定位差异。通过默克尔哈希树比较源端平台的磁盘和目标端平台的磁盘上数据的差异,只传输变化的部分,从而实现高效的增量备份。
Agent是一个迁移代理服务,Agent的设计主要是为了解决底层存储不一致的问题,使用Agent迁移代理服务后,可以达到屏蔽底层存储的目的,从而不需要关心底层采用什么方式进行存储,在操作系统层面,通过远程复制块设备,进行数据迁移同步。
Agent依赖该特性实现了下面两个功能:
1.快速比较大量数据;
对每组数据排序后构建默克尔树结构。当两个默克尔树根相同时,则意味着所代表的两组数据必然相同;否则,所代表的两组数据必然不同。由于哈希值Hash计算的过程可以十分快速,所以预处理可以在短时间内完成。利用默克尔树结构能带来巨大的比较性能优势。
2.快速定位修改。
参见图1所示,基于数据D0……D3构造默克尔树,如果D1中数据被修改,会影响到N1,N4和Root。
进一步地,所述增量同步方式在disk-rsync数据同步工具中的实现过程,参见图8所示,包括以下步骤:
S41、初始备份:通过disk-rsync数据同步工具将源端平台的磁盘划分成固定大小的块,并计算每个块的哈希值;这些哈希值用于构建初始的默克尔树,整个树的根哈希值代表整个源端平台的磁盘的状态;
在初始备份阶段,所有数据都需要被传输,因为尚不存在目标端平台数据。
S42、增量备份:当源端平台的磁盘上的数据发生变化时,通过disk-rsync数据同步工具首先检测变化的块,然后根据这些块的哈希值在目标端平台的默克尔树中找到相应的块;
在完成初始备份之后,后续的备份就可以利用默克尔树实现增量备份。
disk-rsync数据同步工具能够在源端平台和目标端平台集群之间进行增量同步,只传输发生变化的数据块,从而减少了数据传输的量。
S43、差异计算:通过比较源端平台的磁盘和目标端平台的磁盘上的块的哈希值,通过disk-rsync数据同步工具确定哪些块已经改变,即差异块;将所述差异块以及它们的父节点和根节点一起传输到目标端平台;
S44、部分数据传输:所述目标端平台接收到差异块后,通过在默克尔树中重建这些块,重新构建数据;
这允许源端平台只传输差异块,而不是整个文件,从而减少了带宽的使用和传输时间;
S45、校验数据迁移完整性:在目标端平台重新构建数据后,目标端平台根据传输过来的差异块和已有数据重建默克尔树,通过比较目标端平台默克尔树的根哈希值与源端平台默克尔树的根哈希值,校验数据完整性。
如果目标端的根哈希值与发送端提供的根哈希值匹配,则确认数据具有完整性;
如果目标端的根哈希值与发送端提供的根哈希值不匹配,意味着数据在传输过程中发生了错误或损坏或者存在恶意篡改,则通知发送端要求采取适当的措施,重新传输增量数据。
基于默克尔Merkle树的哈希校验机制,保证了disk-rsync数据同步工具数据的完整性。在迁移后,可以通过比较源端平台和目标端平台集群上的默克尔Merkle树,验证数据是否正确传输。
设有一个文件,初始状态如下:
Data:ABCDEFGH
这些数据被用来构建初始的默克尔树,其中每个数据块都被视为叶子节点,然后通过哈希算法计算出每个叶子节点的哈希值,并构建出树结构,参见图4所示。
现在要增量传输数据IJKL,并在目标端重建默克尔树结构,参见图5所示。
发送端(源端)将新的根哈希值New Root Hash一起传输给接收端(目标端)。
目标端操作:
1、目标端已经有旧的默克尔树和数据ABCDEFGH,以及旧的根哈希值。
2、目标端通过对旧的数据和新的数据块进行合并,重建整体数据:ABCDEFGH+IJKL=ABCDEFGHIJKL。
3、目标端可以根据合并后的数据重新构建默克尔树。在这个例子中,新的树如图6所示;
目标端计算新的根哈希值`New Root Hash`。
4、目标端将计算得到的新的根哈希值与发送端提供的根哈希值进行比较,可以看出,newroot hash和root hash存在差异,所以agent会进一步比较下一级的哈希值,这样在逐步比较到最底层数据哈希值时,ABCD数据是原有的数据不会存在差异,所以agent会跳过哈希值相同的数据不会重复传输,而是选择哈希值存在差异的IJKL数据进行传输。这样做的好处是既避免了重复数据的传输,而又因为计算哈希值是一个极快的过程,所以能很快的统计出所有需要进行增量同步的数据,大大加快了效率。
通过默克尔树的应用,disk-rsync实现了高效的增量备份。它避免了重复传输已经存在的数据,只需传输源磁盘上发生变化的部分,从而减少了传输所需的时间和带宽。这种方法在长时间备份中非常有用,因为它可以大大减少备份所需的资源。
本发明实施例还提供一种计算机设备,图9是本发明实施例提供的一种计算机设备的结构示意图;参见附图图9所示,该计算机设备包括:输入装置23、输出装置24、存储器22和处理器21;所述存储器22,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器21执行,使得所述一个或多个处理器21实现如上述实施例提供的基于disk-rsync的跨集群数据迁移方法;其中输入装置23、输出装置24、存储器22和处理器21可以通过总线或者其他方式连接,图9中以通过总线连接为例。
存储器22作为一种计算设备可读写存储介质,可用于存储软件程序、计算机可执行程序,如本发明实施例所述的基于disk-rsync的跨集群数据迁移方法对应的程序指令;存储器22可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等;此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件;在一些实例中,存储器22可进一步包括相对于处理器21远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置23可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入;输出装置24可包括显示屏等显示设备。
处理器21通过运行存储在存储器22中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的基于disk-rsync的跨集群数据迁移方法。
上述提供的计算机设备可用于执行上述实施例提供的基于disk-rsync的跨集群数据迁移方法,具备相应的功能和有益效果。
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如上述实施例提供的基于disk-rsync的跨集群数据迁移方法,存储介质是任何的各种类型的存储器设备或存储设备,存储介质包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDRRAM、SRAM、EDO RAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等;存储介质可以还包括其它类型的存储器或其组合;另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统;第二计算机系统可以提供程序指令给第一计算机用于执行。存储介质包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上实施例所述的基于disk-rsync的跨集群数据迁移方法,还可以执行本发明任意实施例所提供的基于disk-rsync的跨集群数据迁移方法中的相关操作。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征做出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
以上所述仅为本发明的优选实施例,并不用于限制本发明;对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种基于disk-rsync的跨集群数据迁移方法,其特征在于,通过disk-rsync数据同步工具,配合ssh文件传输协议,基于openstack云平台的主机快照、云硬盘快照、BFV以及虚拟机初始化技术,实现自动化数据迁移操作;
所述实现自动化数据迁移操作的方法包括以下步骤:
S1、由源端平台给待迁移主机创建主机临时快照,如果是BFI采集的方式,则除了创建主机临时快照之外,还创建云硬盘临时快照;从每一个创建好的临时快照创建一个云硬盘卷,将所述云硬盘卷挂载到数据同步迁移网关虚拟机Agent上;
S2、当数据同步网关虚拟机通过disk-rsync数据同步工具完成数据同步工作之后,将源端平台的数据同步迁移网关虚拟机Agent上挂载的云硬盘卷卸载,删除源端平台创建的临时快照和云硬盘卷,同时在目标端平台为接收完数据的云硬盘卷创建快照;
S3、在目标端平台启动主机实例时,从S2步骤中创建的云硬盘卷快照创建出对应的云硬盘卷,使用BFV的方式创建一个云主机,并且把云硬盘卷都挂载到该云主机上;
S4、通过运行在所述数据同步迁移网关虚拟机中的Agent程序,将需要同步的块设备基于ssh文件传输协议,以增量同步方式传输到目标端平台的云硬盘卷中。
2.根据权利要求1所述的基于disk-rsync的跨集群数据迁移方法,其特征在于,所述S4步骤的通过Agent程序以增量同步方式传输的方法包括:
所述数据同步迁移网关虚拟机Agent在底层为每个块设备分别构建一棵默克尔哈希树,通过默克尔哈希树比较源端平台的磁盘和目标端平台的磁盘上数据的差异,只传输变化的部分,从而实现高效的增量备份。
3.根据权利要求2所述的基于disk-rsync的跨集群数据迁移方法,其特征在于,所述增量同步方式在disk-rsync数据同步工具中的实现过程包括:
S41、初始备份:通过disk-rsync数据同步工具将源端平台的磁盘划分成固定大小的块,并计算每个块的哈希值;这些哈希值用于构建初始的默克尔树,整个树的根哈希值代表整个源端平台的磁盘的状态;
S42、增量备份:当源端平台的磁盘上的数据发生变化时,通过disk-rsync数据同步工具首先检测变化的块,然后根据这些块的哈希值在目标端平台的默克尔树中找到相应的块;
S43、差异计算:通过比较源端平台的磁盘和目标端平台的磁盘上的块的哈希值,通过disk-rsync数据同步工具确定哪些块已经改变,即差异块;将所述差异块以及它们的父节点和根节点一起传输到目标端平台;
S44、部分数据传输:所述目标端平台接收到差异块后,通过在默克尔树中重建这些块,重新构建数据;
S45、校验数据迁移完整性:在目标端平台重新构建数据后,目标端平台根据传输过来的差异块和已有数据重建默克尔树,通过比较目标端平台默克尔树的根哈希值与源端平台默克尔树的根哈希值,校验数据完整性。
4.根据权利要求3所述的基于disk-rsync的跨集群数据迁移方法,其特征在于,所述S45步骤的校验数据完整性的规则包括:
如果目标端的根哈希值与发送端提供的根哈希值匹配,则确认数据具有完整性;
如果目标端的根哈希值与发送端提供的根哈希值不匹配,意味着数据在传输过程中发生了错误或损坏或者存在恶意篡改,则通知发送端要求采取适当的措施,重新传输增量数据。
5.根据权利要求1所述的基于disk-rsync的跨集群数据迁移方法,其特征在于,所述自动化数据迁移操作利用linux文件操作系统完成数据读取和数据写入。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1-5任一项所述的基于disk-rsync的跨集群数据迁移方法。
7.一种计算机设备,所述计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-5任一项所述的基于disk-rsync的跨集群数据迁移方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311410238.7A CN117453653A (zh) | 2023-10-27 | 2023-10-27 | 一种基于disk-rsync的跨集群数据迁移方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311410238.7A CN117453653A (zh) | 2023-10-27 | 2023-10-27 | 一种基于disk-rsync的跨集群数据迁移方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117453653A true CN117453653A (zh) | 2024-01-26 |
Family
ID=89586868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311410238.7A Pending CN117453653A (zh) | 2023-10-27 | 2023-10-27 | 一种基于disk-rsync的跨集群数据迁移方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117453653A (zh) |
-
2023
- 2023-10-27 CN CN202311410238.7A patent/CN117453653A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11716385B2 (en) | Utilizing cloud-based storage systems to support synchronous replication of a dataset | |
US10073747B2 (en) | Reducing recovery time in disaster recovery/replication setup with multitier backend storage | |
CN109074297B (zh) | 在同步复制的数据集中启用数据完整性检查和更快的应用恢复 | |
US10430284B2 (en) | Creating a full backup image from incremental backups | |
EP3961365A1 (en) | Synchronously replicating datasets and other managed objects to cloud-based storage systems | |
JP6184957B2 (ja) | 効率的なアプリケーション対応の障害復旧 | |
US8281093B1 (en) | Systems and methods for creating consolidated backups of snapshot hierarchies | |
CN110720088A (zh) | 集成到大容量存储设备的可访问快速耐久存储 | |
US9977706B2 (en) | System and method of validating data for incremental format of backup archive | |
US10452502B2 (en) | Handling node failure in multi-node data storage systems | |
CN111984465A (zh) | 数据库远程备份方法、装置、介质和电子设备 | |
JP5868986B2 (ja) | アイテム単位でのリカバリー | |
US11829609B2 (en) | Data loss recovery in a secondary storage controller from a primary storage controller | |
WO2020060620A1 (en) | Storage segment server covered cache | |
US9547555B2 (en) | Change tracking using redundancy in logical time | |
US9734022B1 (en) | Identifying virtual machines and errors for snapshots | |
US10387262B1 (en) | Federated restore of single instance databases and availability group database replicas | |
CN112035062B (zh) | 云计算的本地存储的迁移方法、计算机设备及存储介质 | |
US8595271B1 (en) | Systems and methods for performing file system checks | |
CN117453653A (zh) | 一种基于disk-rsync的跨集群数据迁移方法 | |
US11645333B1 (en) | Garbage collection integrated with physical file verification | |
US10880388B1 (en) | Automatic redirection in scale-out cluster environments that perform distributed deduplication | |
US10936225B1 (en) | Version history of files inside a backup | |
US11782799B2 (en) | Using bitmaps to validate data | |
US20230205643A1 (en) | Differential checksum validation |
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 |