CN115167776A - 一种分布式存储数据迁移的方法和系统 - Google Patents

一种分布式存储数据迁移的方法和系统 Download PDF

Info

Publication number
CN115167776A
CN115167776A CN202210890838.7A CN202210890838A CN115167776A CN 115167776 A CN115167776 A CN 115167776A CN 202210890838 A CN202210890838 A CN 202210890838A CN 115167776 A CN115167776 A CN 115167776A
Authority
CN
China
Prior art keywords
data
destination
copy
storage
distributed storage
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
CN202210890838.7A
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.)
Fiberhome Telecommunication Technologies Co Ltd
Original Assignee
Fiberhome Telecommunication Technologies Co Ltd
Wuhan Fiberhome Technical Services 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 Fiberhome Telecommunication Technologies Co Ltd, Wuhan Fiberhome Technical Services Co Ltd filed Critical Fiberhome Telecommunication Technologies Co Ltd
Priority to CN202210890838.7A priority Critical patent/CN115167776A/zh
Publication of CN115167776A publication Critical patent/CN115167776A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/061Improving I/O performance
    • 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/067Distributed 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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及数据存储领域,特别是涉及一种分布式存储数据迁移的方法和系统。主要包括:获取源端需要进行数据迁移的一份数据副本,使用源端的读IO接口读取数据副本,其中,数据副本为LUN或文件;打通源端和目的端的网络,将数据副本以字节流的方式发送至目的端;目的端的写IO接口将接收到的数据副本写入存储内,并生成所需的其它副本。本发明可以提升了迁移效率,将源端和目的端存储直接打通并使用缓存作为中间存储介质避免了中间落盘,使用源端和目的端各自的IO接口处理字节流数据屏蔽了异构存储迁移的问题。

Description

一种分布式存储数据迁移的方法和系统
技术领域
本发明涉及数据存储领域,特别是涉及一种分布式存储数据迁移的方法和系统。
背景技术
分布式存储的特点是数据打散分布在大量的磁盘上,所有磁盘同时参与数据的读写,大大增大了读写性能,并且由于去中心化的设计,可以在使用过程中通过增加节点的方式进行横向扩容。同时,为了增加容灾能力,分布式存储往往还具备多副本的机制,保证数据多个副本,应对磁盘或节点的故障。
分布式架构的存储带来的众多好处,但同时也对数据迁移造成了巨大困难。
1、分布式存储的数据,往往数据是被打散成数据块,分布在各个磁盘上的,因此在数据迁移时没法精准的找到数据存放的位置,不能按照普通存储系统中拷贝某个文件的方式去找到确切的文件进行迁移。现有技术方案,一般采用存储远程复制裸盘对拷贝方式,通过所有裸盘进行完整拷贝,实现对盘中所有被打散的数据块的迁移,但无法针对某个LUN或文件进行单独迁移。
2、分布式存储数据打散的分布方式,为数据读写性能和扩容带来便利,但是也增加了磁盘故障影响的范围。因此,为了容错,分布式存储引入了多副本的机制。多副本的原理就是将一份数据生成多个相同的副本,存储到不同的磁盘存储介质上。当一个磁盘介质损坏时,只会损坏其中一个副本,用户仍然可以通过其它的副本读取数据,提升了分布式存储的容灾能力。多副本带来了数据容错安全的同时,也大大增加了数据存储的数据量。原来一份文件的数据量,会被生成多个副本保存在分布式存储裸盘上吗,裸盘需存储的数据量也是之前的多倍。如果按照传统的裸盘直接拷贝方式进行数据迁移,所有副本都会不加区分的进行拷贝,拷贝的数据量也会加倍。
3、现有的数据迁移方式中,安装在主机上的迁移软件将待迁移的数据盘挂载给主机,通过主机间的点对点拷贝将数据拷贝至目的存储。迁移过程中,数据需要经历的路径为:源端分布式存储—>源端主机—>目的端主机—>目标分布式存储,跨越了多个节点,迁移速率受主机cpu、网卡、网络等性能限制,迁移速率缓慢,无法满足大量数据的迁移。
4、现有的备份软件工具源端存储的卷进行备份,拷贝所有备份数据,再在目标存储进行恢复,备份和恢复都需要耗时,还涉及备份数据的多次拷贝,无法满足大量数据迁移需求。
5、对于异构分布式存储的迁移,由于源和目的远程复制接口不一致,无法直接实现数据迁移。
鉴于此,如何克服现有技术所存在的缺陷,解决现有分布式存储的数据迁移过程中对于多个备份的数据需要多次拷贝的现象,是本技术领域待解决的问题。
发明内容
针对现有技术的以上缺陷或改进需求,本发明解决了分布式存储的数据迁移过程中对于多个备份的数据需要多次拷贝的问题。
本发明实施例采用如下技术方案:
第一方面,本发明提供了一种分布式存储数据迁移的方法,具体为:
优选的,获取源端需要进行数据迁移的一份数据副本,使用源端的读IO接口读取数据副本,其中,数据副本为LUN或文件;打通源端和目的端的网络,将数据副本以字节流的方式发送至目的端;目的端的写IO接口将接收到的数据副本写入存储内,并生成所需的其它副本。
优选的,使用源端的读IO接口读取数据副本,具体包括:调用源端存储的数据副本查询接口,获取当前存储内的数据副本列表;根据需迁移的数据副本的唯一标识,调用分布式存储的数据副本读取IO接口读取数据副本中的数据,将数据转换为字节流写入源端缓存内。
优选的,打通源端和目的端的网络,具体包括:在存储网络中直接打通源端至目的端的网络连接;和/或,部署专门的数据迁移网络对源端和目的端进行直接连接。
优选的,在存储网络中直接打通源端至目的端的网络连接,具体包括:当源端和目的端在一个二层网络内时,直接在路由器内打通二层网络进行连接;当源端和目的端不在一个二层网络内时,打通三层网络进行连接。
优选的,将数据副本以字节流的方式发送至目的端,具体包括:将源端缓存中的字节流数据分割成大小一致的数据块,将数据块通过打通的网络连接直接发送至目的端缓存中。
优选的,将数据块通过打通的网络连接直接发送至目的端缓存中,还包括:进行数据传输时,标记每个数据块的头部和尾部的位置;当数据传输中止或数据错误时,记录已传输的数据块尾部的位置;当数据传输恢复后,由已传输的数据块尾部的位置进行续传,或由错误数据的头部开始重传。
优选的,目的端的写IO接口将接收到的数据副本写入存储内,具体包括:目的端缓存通过调用目的端的写IO接口,将字节流数据转换为目的端数据格式的数据副本,将数据副本写入到目的端的目标存储位置。
优选的,目的端的写IO接口将接收到的数据副本写入存储内,还包括:对接收到的数据副本进行数据完整性校验,以便于验证迁移前后数据的一致性。
优选的,生成所需的其它副本,具体包括:目的端根据自身的副本策略,对写入到目的端的数据副本进行复制,生成相应的副本。
另一方面,本发明还提供了一种分布式存储数据迁移的系统,包括源端和目的端,具体的:源端和目的端上都存在分布式存储系统和高速缓存,源端和目的端之间通过网络传输进行数据交互,源端和目的端根据第一方面提供的分布式存储数据迁移的方法进行数据迁移。
与现有技术相比,本发明实施例的有益效果在于:仅迁移一份数据副本减少数据迁移量提升了迁移效率,将源端和目的端存储直接打通并使用缓存作为中间存储介质避免了中间落盘,使用源端和目的端各自的IO接口处理字节流数据屏蔽了异构存储迁移的问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种分布式存储数据迁移的方法流程图;
图2为本发明实施例提供的方法中异构数据库的驱动封装为存储驱动管理模块的架构示意图;
图3为本发明实施例提供的另一种分布式存储数据迁移的方法流程图;
图4为本发明实施例提供的一种分布式存储数据迁移的系统架构示意图;
图5为为本发明实施例提供的一种分布式存储数据迁移的系统工作过程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明是一种特定功能系统的体系结构,因此在具体实施例中主要说明各结构模组的功能逻辑关系,并不对具体软件和硬件实施方式做限定。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。下面就参考附图和实施例结合来详细说明本发明。
实施例1:
现有的分布式存储数据迁移方案一般通过裸盘对拷实现,或是生成数据快照再通过快照恢复技术实现。对于迁移的数据副本不进行选择,并需要多次落盘存储,数据迁移效率较低。
本实施例的方案中,分别调用源端和目的端存储读IO接口和写IO接口,完成数据在源端存储的读操作、数据流的发送接收、数据在目的端存储的写入,以实现数据的迁移过程。利用分布式存储自身的读写接口,巧妙的规避了分布式存储数据打散分布难于索引以及异构存储数据结构差异的问题。另一方面,本实施例的方案中,仅迁移一份数据副本,利用分布式存储自身的副本生成策略在目的端生成其它副本,减少了数据迁移量,进一步提高了数据迁移效率。
如图1所示,本发明实施例提供的分布式存储数据迁移的方法具体步骤如下:
步骤101:获取源端需要进行数据迁移的一份数据副本,使用源端的读IO接口读取数据副本。
本实施例中,对于多个存在副本的分布式数据块,仅获取一个数据副本进行数据迁移,而非现有技术中将所有数据副本都进行数据迁移。
首先调用源端存储的数据副本查询接口,获取当前存储内的数据副本列表。再根据需迁移的数据副本的唯一标识,调用分布式存储的数据副本读取IO接口读取数据副本中的数据,将数据转换为字节流写入源端缓存内。
本实施例提供的方法中,数据副本可以为逻辑单元号(Logical Unit Number,简写为LUN)或文件,而非现有技术中的某个存储盘的完整数据。LUN是物理磁盘或其它存储介质进行存储管理时的逻辑分区,可以看作数据的容器。对于分布式存储,一个容器LUN内可能包含多个物理磁盘。为了提升读写性能和磁盘寿命,在一般的分布式存储策略中,一个文件数据通常不会存放在一个磁盘上的,而是会把文件打散进行分割成数据块,每个数据块按照一定规律存放在同一个LUN内的不同磁盘上。因此,在进行数据迁移时,按照LUN为单元进行迁移而非物理磁盘,可以在一定程度上确保文件数据的完整性。具体的,首先调用源端存储的LUN查询接口,获取当前存储内的LUN列表,选择其中一个LUN进行数据迁移,使用LUN的ID作为唯一标识,调用分布式存储的LUN读取IO接口,将该LUN内的数据读取到缓存内。为了进一步减少迁移的数据量并确保文件的完整性,也可以按照文件作为单位进行迁移,对于文件可以用“LUN id+文件id”作为唯一标识,调用IO读写接口对文件进行读写和迁移。
为了避免数据迁移中落盘造成的效率降低,本实施例中使用读写速度更高的缓存代替快照盘等读写速度低的磁盘进行数据副本的中间存储,通过源端分布式存储系统的IO接口将数据读入缓存中,再通过网络传输发送至目的端。在实际实施过程中,可以根据需要进行缓存空间容量的设置,给迁移工具应用程序的进程分配限定大小的缓存。在实际实施中,可以使用类似消息队列的方式进行写入管理,数据块按照读取顺序进入FIFO队列,当队列排满后,后来的数据块就需要进行等待,队头的读写请求执行完毕写入缓存后,将新的数据块加入队尾。
现有的LUN快照导出导入的数据迁移方案,虽然也可以避免拷贝多个副本,可减少迁移数据量,但是快照导出导入需要建立额外的快照盘,导出时需要进行一次磁盘读写,导入时也需要进行一次磁盘读写,增加了数据读写的次数。本方案是直接通过存储接口进行数据进行读写,不存在快照的导出导入过程,因此避免了快照的多次读写过程。
步骤102:打通源端和目的端的网络,将数据副本以字节流的方式发送至目的端。
本实施例提供的方法中,直接将源端的存储和目的端的存储进行网络直连,迁移路径为:源端分布式存储—>目的端分布式存储,与现有的使用源端和目的端的主机进行中转的方案不同,对于源端和目的端主机性能的依赖较少。
数据迁移需要打通源端和目的端的网络,可以在存储网络中直接打通源端至目的端的网络连接,存储网络一般容量较大,且业务单一,因此一般能够保证数据迁移的网络性能需求,无需新增网络。由于网络的带宽和时延由提供网络的服务商决定,在迁移数据量较大或条件允许的情况下,也可以部署专门的数据迁移网络对源端和目的端进行直接连接,例如给服务器上新增一块网卡,接入到专门的接入交换机上,设置专门的数据迁移网络平面用于数据迁移,部署专线的方式能够进一步减少网络干扰,提高带宽和降低时延。
网络打通的具体方式根据源端和目的端网络架构决定,当源端和目的端不在一个二层网络内时,打通三层网络进行连接。当源端和目的端在一个二层网络内时,直接在路由器内打通二层网络进行连接。本实施例的方案对网络打通方式没有特殊要求,只需要保证一个网络打通既可以,打通网络的带宽和时延决定了迁移的速率。在具体实施中,为了进一步提高迁移时的网络连接可靠性,或进一步提高传输效率,也可以打通多个网络连接,以提供备用的网络链路,或在多条网络链路上进行并行传输以提高传输带宽。
网络打通后,将源端缓存中的字节流数据分割成大小一致的数据块,将数据块通过打通的网络连接直接发送至目的端缓存中。整个数据迁移过程是以字节流方式进行数据迁移,发送端和接收端都使用缓存进行数据的临时存储,拷贝过程中数据不落盘。
在异构分布式存储系统中,源端和目的端可能存在不同的存储架构或不同存储格式,并且可能有不同的存储接口格式。为了解决上述问题,本实施例中将数据副本的数据内容转换为字节流,并以字节流的格式传输至目的端。字节流是通用数据格式,各编程语言一般都会有的相应的处理接口,例如Java的InputStream和OutputStream类,C++中的std::IOstream库等。无论源端和目的端使用何种数据格式或接口格式,都可以完成自身数据格式与字节流格式之间的转换,实现不同类型数据格式和接口格式的互通。
步骤103:目的端的写IO接口将接收到的数据副本写入存储内,并生成所需的其它副本。
目的端接收到数据副本后,目的端缓存通过调用目的端的写IO接口,将字节流数据转换为目的端数据格式的数据副本,将数据副本写入到目的端的目标存储位置。由于目的端接收到的数据副本为字节流格式,因此,无论目的端使用何种接口格式和存储格式,都可以对这一通用数据格式进行处理,并转换为自身所使用的格式。
与源端相同,目的端也是用缓存作为数据的临时存储介质,仅需要最终写入磁盘一次,避免了迁移过程中数据落盘导致的效率损失。在实际实施过程中,可以根据需要进行缓存空间容量的设置,给迁移工具应用程序的进程分配限定大小的缓存。当缓存容量不足时,字节流需要等待缓存中的数据副本写入目的端存储后,再接收新的数据。一旦缓存内的数据被读写完成后,就会有新的字节流数据进入缓存。
分布式存储一般会有副本机制,用于提升分布式存储的可靠性。本实施例中,仅迁移一份数据副本,为了保持分布式存储系统中的多副本备份机制,还需要在目的端生成其它副本。目的端根据自身的副本策略,对写入到目的端的数据副本进行复制,生成相应的副本。目的端存储上配置了副本策略,当一份数据被分割成块存储到目标存储后,目标存储会根据自身的副本策略,对接收到的数据副本中的数据库进行复制,生成相应的副本。
进一步的,由于本实施例中仅迁移一个数据副本,并且使用字节流格式的数据块进行传输,数据传输过程中可能受到网络不稳定等因素的影响造成数据丢失或错误。为了确保迁移后的数据与源数据一致,需要对接收到的数据副本进行数据完整性校验,以便于验证迁移前后数据的一致性。具体的,可以使用奇偶校验、MD5校验、CRC校验等常用的数据完整性校验方法。若校验通过,表明迁移后的数据正确;若校验未通过,说明数据存在错误或缺失,需要进行修正或重新进行传输。
经过本实施例中提供的步骤101-步骤103后,通过仅迁移一个数据副本,并使用目的端的副本策略生成副本,减少了迁移的数据量;通过使用缓存作为临时存储介质,以及源端和目的端网络的直接打通,减少了数据的中转和落盘造成的效率损失;通过源端和目的端存储的直接IO读写,以及使用字节流进行数据迁移,避免了源端和目的端的接口和格式不统一。
进一步的,在步骤101和步骤103中,分别使用了源端IO接口和目的端IO接口进行数据的读写。IO接口是每个分布式存储系统必然会公开的基本功能接口,数据的读IO和写IO都为分布式存储的固有接口,外部设备可以通过每个分布式存储系统的IO接口对该分布式存储系统中的数据进行读写。但是,不同的分布式存储接口的名称和参数是不统一的,使用的数据格式也不一致,具体因设备和系统平台而异。例如:ceph的读接口,需要导入librbd工具,使用rbd_aIO_read接口进行读数据,而华为FusIOnStorage需要华为的驱动读,读接口名字可能就是另外的。进行IO读写时,如果用调用ceph接口的方式不做改动去调用FusIOnStorage的读接口,是无法读取的。在实际使用中,为了提高本实施例提供的方法的代码可移植性,可以使用外观模式等设计模式对不同分布式存储系统的IO接口封装为IO接口驱动模块,针对不同存储的驱动,将对应的IO读写接口进行封装,通过统一的IO读写模块实现对不同分布式存储的读写,在软件层面进一步解决存储接口差异问题。如图2所示,可以将Ceph、FusIOnStorage、Netapp等异构数据库的驱动封装为存储驱动管理模块,由存储驱动管理模块提供统一的源端和目的端IO接口供用户调用,使底层存储结构差异和接口差异对用户透明。
在实际使用中,若数据拷贝的链路出现故障会导致字节流阻塞;另一方面,数据丢失或数据传输错误等校验不通过的情况下,也需要进行数据重传。为了避免重传导致的迁移效率降低,本实施例还提供了断点续传功能。工具会标记字节流中断或出错的位置,当链路恢复时,会接着字节流中断的点,进行端点断点续传。
具体的,如图3所示,可以通过以下步骤完成断点续传。
步骤201:进行数据传输时,标记每个数据块的头部和尾部的位置。
本实施例中,数据副本以字节流数据块的形式依次传输,对数据块的头部和尾部位置进行记录,可以确定当前的数据传输进度,并确定断点的位置。在实际使用中,可以使用基于LUN首地址或文件头部的数据偏移作为位置标记。
步骤202:当数据传输中止或数据错误时,记录已传输的数据块尾部的位置。
当数据传输中止或数据错误时,已传输的数据无需再重新传输,仅需要继续传输未传输的数据,或者重新传输出错的数据。因此,需要记录已传输的数据块尾部的位置,已确定已传输的数据。
步骤203:当数据传输恢复后,由已传输的数据块尾部的位置进行续传,或由错误数据的头部开始重传。
对于数据传输中止的情况,已传输的数据无需重传,仅需继续传输其后的数据,因此需要查找已传输的数据块尾部,由下一个数据块进行重传。对于数据错误的情况,需要对已传输的数据进行重传,因此需要查找错误数据块的头部,由错误数据块的头部开始进行重传。对于一个LUN或一个文件中连续的数据块,前一个数据块的尾部和后一个数据块的头部通常为同一个位置,可以将前一个数据块的尾部位置作为后一个数据块的头部位置。对于不连续的数据,需要额外对数据块的位置进行记录,以避免传输顺序错误。
通过步骤201-步骤203,可以完成断点续传的功能,提高数据迁移的效率和稳定性。
本实施例提供的分布式存储数据迁移的方法相较于现有的分布式存储系统数据迁移方法具有以下优势。
(1)屏蔽异构:在源端和目的端分布采用本端分布式存储系统自身的读写IO接口进行数据读写,很好的规避了异构存储之间的数据结构差异,实现跨异构存储的数据迁移。同时,使用了字节流进行传输,使得不同的存储架构和IO接口都可以直接处理。
(2)不落盘:拷贝数据流不落盘,而是直接利用存储的高速缓存进行对拷,省去了数据落盘带来的多次数据读写耗时问题,大大提升了数据拷贝的效率。
(3)缩短路径:数据的拷贝是在源端和目的端的两个存储设备之间直接进行,只需要打通两个存储设备的存储网络,而不需要将数据先读取到主机设备,省去了经由主机设备转发的过程,缩短了数据拷贝路径。
(4)降低性能损耗:由于不存在快照导出导入过程,减少了对存储设备性能的损耗。
(5)降低数据拷贝量:分布式存储一般存在多副本,本方案只需要拷贝一份副本即可,副本会随着目的存储的配置自动生成多副本。
实施例2:
在上述实施例1提供的分布式存储数据迁移的方法的基础上,本发明还提供了一种可用于实现上述方法的分布式存储数据迁移的系统,如图4所示,是本发明实施例的系统架构示意图。
本实施例提供的系统中,包括源端和目的端,数据需要由源端迁移至目的端。在实际实施场景中,源端和目的端可以为物理上独立的两套设备,也可以为同一台物理设备上的两套互相独立的分布式存储系统。
源端和目的端上都存在分布式存储系统和高速缓存。如图4所示,源端和目的端分别通过存储网关服务器管理至少一个分布式存储节点服务器。分布式存储节点服务器通过网络或其它数据通信线路与存储网关服务器连接,分布式存储节点服务器中包含用于分布式存储数据的非易失性存储器,例如至少一个磁盘存储器件、磁带存储器件、或其他非易失性固态存储器件。在本实施例中,源端和目的端使用的高速缓存可以使用各种常用的高速缓存设备,如RAM、DRAM、SRAM、SDRAM、FLASH等,以提供相较于分布式存储系统本身的磁盘设备更高的读写速度,提高数据迁移的效率。
进行数据迁移时,源端和目的端之间通过网络传输进行数据交互。具体的网络连接方式包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
源端和目的端根据实施例1提供的分布式存储数据迁移的方法进行数据迁移。具体实施中,可以在源端分布式系统上部署能够执行步骤101中数据副本读取和发送功能的源端迁移工具,在目的端分布式存储系统上部署能够执行步骤103中数据接收和副本生成功能的目的端迁移工具。
如图5所示,可以通过以下步骤完成实施例1中的数据迁移过程。
步骤301:根据步骤102提供的方式,在源端和目的端之间打通数据迁移所用的网络连接,在源端存储和目的端存储建立直通的网络连接。
步骤302:源端迁移工具按照步骤101提供的方式,由源端的分布式存储系统中读取一份数据副本,放入源端的高速缓存中。
步骤303:源端迁移工具按照步骤102提供的方式,将数据副本转换为字节流格式,通过步骤301中打通的网络连接将字节流格式的数据副本直接发送至目的端。
步骤304:目的端迁移工具按照步骤103提供的方法,接收字节流格式的数据副本,转换为本端使用的数据格式写入目的端存储,并按照本端的副本策略生成相应数量的副本。
由步骤301-步骤304可知,本实施例提供的数据迁移系统能够完成实施例1中提供的数据迁移方法,实现不同架构分布式存储之间的快速数据迁移。在实际使用中,在不冲突的情况下,上述步骤还可以与实施例1中提供的其它方法进行结合,或使用现有技术进行优化。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种分布式存储数据迁移的方法,其特征在于,具体包括:
获取源端需要进行数据迁移的一份数据副本,使用源端的读IO接口读取数据副本,其中,数据副本为LUN或文件;
打通源端和目的端的网络,将数据副本以字节流的方式发送至目的端;
目的端的写IO接口将接收到的数据副本写入存储内,并生成所需的其它副本。
2.根据权利要求1所述的分布式存储数据迁移的方法,其特征在于,所述使用源端的读IO接口读取数据副本,具体包括:
调用源端存储的数据副本查询接口,获取当前存储内的数据副本列表;
根据需迁移的数据副本的唯一标识,调用分布式存储的数据副本读取IO接口读取数据副本中的数据,将数据转换为字节流写入源端缓存内。
3.根据权利要求1所述的分布式存储数据迁移的方法,其特征在于,所述打通源端和目的端的网络,具体包括:
在存储网络中直接打通源端至目的端的网络连接;
和/或,部署专门的数据迁移网络对源端和目的端进行直接连接。
4.根据权利要求3所述的分布式存储数据迁移的方法,其特征在于,所述在存储网络中直接打通源端至目的端的网络连接,具体包括:
当源端和目的端在一个二层网络内时,直接在路由器内打通二层网络进行连接;
当源端和目的端不在一个二层网络内时,打通三层网络进行连接。
5.根据权利要求1所述的分布式存储数据迁移的方法,其特征在于,所述将数据副本以字节流的方式发送至目的端,具体包括:
将源端缓存中的字节流数据分割成大小一致的数据块,将数据块通过打通的网络连接直接发送至目的端缓存中。
6.根据权利要求1所述的分布式存储数据迁移的方法,其特征在于,所述将数据块通过打通的网络连接直接发送至目的端缓存中,还包括:
进行数据传输时,标记每个数据块的头部和尾部的位置;
当数据传输中止或数据错误时,记录已传输的数据块尾部的位置;
当数据传输恢复后,由已传输的数据块尾部的位置进行续传,或由错误数据的头部开始重传。
7.根据权利要求1所述的分布式存储数据迁移的方法,其特征在于,所述目的端的写IO接口将接收到的数据副本写入存储内,具体包括:
目的端缓存通过调用目的端的写IO接口,将字节流数据转换为目的端数据格式的数据副本,将数据副本写入到目的端的目标存储位置。
8.根据权利要求1所述的分布式存储数据迁移的方法,其特征在于,所述目的端的写IO接口将接收到的数据副本写入存储内,还包括:
对接收到的数据副本进行数据完整性校验,以便于验证迁移前后数据的一致性。
9.根据权利要求1所述的分布式存储数据迁移的方法,其特征在于,所述生成所需的其它副本,具体包括:
目的端根据自身的副本策略,对写入到目的端的数据副本进行复制,生成相应的副本。
10.一种分布式存储数据迁移的系统,其特征在于,包括源端和目的端,具体的:
源端和目的端上都存在分布式存储系统和高速缓存,源端和目的端之间通过网络传输进行数据交互,源端和目的端根据权利要求1-9中任一项提供的分布式存储数据迁移的方法进行数据迁移。
CN202210890838.7A 2022-07-27 2022-07-27 一种分布式存储数据迁移的方法和系统 Pending CN115167776A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210890838.7A CN115167776A (zh) 2022-07-27 2022-07-27 一种分布式存储数据迁移的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210890838.7A CN115167776A (zh) 2022-07-27 2022-07-27 一种分布式存储数据迁移的方法和系统

Publications (1)

Publication Number Publication Date
CN115167776A true CN115167776A (zh) 2022-10-11

Family

ID=83496420

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210890838.7A Pending CN115167776A (zh) 2022-07-27 2022-07-27 一种分布式存储数据迁移的方法和系统

Country Status (1)

Country Link
CN (1) CN115167776A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115543221A (zh) * 2022-11-29 2022-12-30 苏州浪潮智能科技有限公司 固态硬盘的数据迁移方法、装置、电子设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115543221A (zh) * 2022-11-29 2022-12-30 苏州浪潮智能科技有限公司 固态硬盘的数据迁移方法、装置、电子设备及存储介质
CN115543221B (zh) * 2022-11-29 2023-03-14 苏州浪潮智能科技有限公司 固态硬盘的数据迁移方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN109582614B (zh) 针对远程存储器访问的nvm express控制器
US7581077B2 (en) Method and system for transferring data in a storage operation
EP1581875B1 (en) Using direct memory access for performing database operations between two or more machines
CN103051681B (zh) 一种面向分布式文件系统的协作式日志系统
US6842833B1 (en) Computer system and method for transferring data between multiple peer-level storage units
US20080263544A1 (en) Computer system and communication control method
US20240040435A1 (en) Bandwidth adjustment method, service transmission method, network device and readable storage medium
EP2432155B1 (en) Call list transmission processing method and system of charging system
US10313236B1 (en) Method of flow based services for flash storage
TWI510932B (zh) 塊儲存閘道模組、儲存中介系統、雲端儲存系統、提供對塊儲存的存取的方法、儲存中介方法與內容遞送裝置
US20240039995A1 (en) Data access system and method, device, and network adapter
CN109564502B (zh) 应用于存储设备中的访问请求的处理方法和装置
US7305605B2 (en) Storage system
CN115167776A (zh) 一种分布式存储数据迁移的方法和系统
CN105933325B (zh) 一种基于NFSoRDMA的内核态RPC通信加速方法
EP4175231A1 (en) Message processing method, network device and related device
US7533289B1 (en) System, method, and computer program product for performing live cloning
CN103034559B (zh) 基于rdma架构设计的pq检验模块及检验方法
CN114253929A (zh) 一种基于分布式文件存储的网盘系统架构
CN112104729A (zh) 一种存储系统及其缓存方法
US8331270B2 (en) In-band communication of network statistics over a FICON network
KR20160080935A (ko) Tcp 세션을 복원하는 장애조치 시스템 및 방법
JP4997784B2 (ja) データ記憶システム、データ記憶方法、データ記憶プログラム
CN114077517A (zh) 数据处理的方法、设备及系统
WO2019174424A1 (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20230330

Address after: 430000 No. 6, High-tech Fourth Road, Donghu High-tech Development Zone, Wuhan City, Hubei Province

Applicant after: FIBERHOME TELECOMMUNICATION TECHNOLOGIES Co.,Ltd.

Address before: No.4, Guanshan 2nd Road, Donghu Development Zone, Wuhan City, Hubei Province 430205

Applicant before: WUHAN FIBERHOME TECHNICAL SERVICES Co.,Ltd.

Applicant before: FIBERHOME TELECOMMUNICATION TECHNOLOGIES Co.,Ltd.