CN107402722B - 一种数据迁移方法及存储设备 - Google Patents

一种数据迁移方法及存储设备 Download PDF

Info

Publication number
CN107402722B
CN107402722B CN201710536709.7A CN201710536709A CN107402722B CN 107402722 B CN107402722 B CN 107402722B CN 201710536709 A CN201710536709 A CN 201710536709A CN 107402722 B CN107402722 B CN 107402722B
Authority
CN
China
Prior art keywords
storage unit
lun
target
source
lun 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.)
Active
Application number
CN201710536709.7A
Other languages
English (en)
Other versions
CN107402722A (zh
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.)
Macrosan Technologies Co Ltd
Original Assignee
Macrosan Technologies 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 Macrosan Technologies Co Ltd filed Critical Macrosan Technologies Co Ltd
Priority to CN201710536709.7A priority Critical patent/CN107402722B/zh
Publication of CN107402722A publication Critical patent/CN107402722A/zh
Application granted granted Critical
Publication of CN107402722B publication Critical patent/CN107402722B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • 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]
    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

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

本申请提供一种数据迁移方法及存储设备,该方法应用于存储设备,所述存储设备包括源LUN存储单元,可包括:在接收到数据迁移指令后,将源LUN存储单元中的数据依次迁移至目标LUN存储单元;实时统计所述源LUN存储单元中的已迁移空间的物理容量,若统计得到的该物理容量大于等于预设的容量阈值,则释放该已迁移空间;在数据迁移完成后,执行源LUN存储单元切换操作,以使所述目标LUN存储单元代替源LUN存储单元进行相应的业务处理;其中,在数据迁移过程中收到的IO请求由源LUN存储单元或者目标LUN存储单元进行处理。使用本申请提供的方法,可实现数据的迁移,并可有效地提高存储空间的利用率。

Description

一种数据迁移方法及存储设备
技术领域
本申请涉及计算机通信领域,尤其涉及一种数据迁移方法及存储设备。
背景技术
在大数据时代,随着数据量越来越大,数据变得越来越重要,数据保护技术也得到了长足的发展。
数据迁移是一种数据保护技术,旨在不影响业务的前提下实现数据的迁移,对数据进行保护。通常数据的迁移可包括同一存储设备中不同RAID之间的数据迁移,以及不同存储设备之间的数据迁移等。因此,如何实现数据迁移就成为业界持续讨论的问题。
发明内容
有鉴于此,本申请提供一种数据迁移方法及存储设备,用以在实现数据迁移的同时,提高迁移源LUN存储单元的空间利用率。
具体地,本申请是通过如下技术方案实现的:
根据本申请的第一方面,提供一种数据迁移方法,所述方法应用于存储设备,所述存储设备包括源LUN存储单元,所述方法包括:
在接收到数据迁移指令后,将源LUN存储单元中的数据依次迁移至目标LUN存储单元;
实时统计所述源LUN存储单元中的已迁移空间的物理容量,若统计得到的该物理容量大于等于预设的容量阈值,则释放该已迁移空间;
在数据迁移完成后,执行源LUN存储单元切换操作,以使所述目标LUN存储单元代替源LUN存储单元进行相应的业务处理;其中,在数据迁移过程中收到的IO请求由源LUN存储单元或者目标LUN存储单元进行处理。
根据本申请的第二方面,提供一种存储设备,所述存储设备包括处理器和存储介质,所述处理器调用所述存储介质上储存的与数据迁移逻辑对应的机器可执行指令,所述处理器被促使执行权利要求1至权利要求10所述的方法。
本申请提出一种数据迁移方法,在接收到数据迁移指令后,存储设备可将源LUN存储单元中的数据依次迁移至目标LUN存储单元,并可实时统计所述源LUN存储单元中的已迁移空间的物理容量。若统计得到的该物理容量大于等于预设的容量阈值,存储设备可释放该已迁移空间。在数据迁移完成后,存储设备可执行源LUN存储单元切换操作,以使所述目标LUN存储单元代替源LUN存储单元进行相应的业务处理;其中,对于数据迁移过程中收到的IO请求由源LUN存储单元或者目标LUN存储单元进行处理。
一方面,由于存储设备可实时统计源LUN存储单元已迁移空间的物理容量,并在该已迁移空间的物理容量大于等于预设的容量阈值时,释放该已迁移空间,将该已迁移空间还给RAID,使得RAID可将该释放的空间重新分配给其他LUN存储单元使用,因而大大提高了存储空间的利用率。
另一方面,由于存储设备可将数据迁移过程中收到的IO请求转发给源LUN存储单元处理或者转发给目标LUN存储单元进行处理,而不再是由源LUN存储单元统一处理,从而大大减少了源LUN存储单元和目标LUN存储单元之间的数据、消息交互,减少了网络带宽的负荷,提高了数据迁移的效率。
附图说明
图1是本申请一示例性实施例示出的一种数据迁移方法的流程图;
图2是本申请一示例性实施例示出的一种数据迁移方法的示意图;
图3是本申请一示例性实施例示出的另一种数据迁移方法的示意图;
图4是本申请一示例性实施例示出的一种数据迁移装置所在存储设备的硬件结构图;
图5是本申请一示例性实施例示出的一种数据迁移装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请旨在提出一种数据迁移方法,在接收到数据迁移指令后,存储设备可将源LUN存储单元中的数据依次迁移至目标LUN存储单元,并可实时统计所述源LUN存储单元中的已迁移空间的物理容量。若统计得到的该物理容量大于等于预设的容量阈值,存储设备可释放该已迁移空间。在数据迁移完成后,存储设备可执行源LUN存储单元切换操作,以使所述目标LUN存储单元代替源LUN存储单元进行相应的业务处理;其中,对于数据迁移过程中收到的IO请求由源LUN存储单元或者目标LUN存储单元进行处理。
一方面,由于存储设备可实时统计源LUN存储单元已迁移空间的物理容量,并在该已迁移空间的物理容量大于等于预设的容量阈值时,释放该已迁移空间,将该已迁移空间还给RAID,使得RAID可将该释放的空间重新分配给其他LUN存储单元使用,因而大大提高了存储空间的利用率。
另一方面,由于存储设备可将数据迁移过程中收到的IO请求转发给源LUN存储单元处理或者转发给目标LUN存储单元进行处理,而不再是由源LUN存储单元统一处理,从而大大减少了源LUN存储单元和目标LUN存储单元之间的数据、消息交互,减少了网络带宽的负荷,提高了数据迁移的效率。
参见图1,图1是本申请一示例性实施例示出的一种数据迁移方法的流程图,该流程可具体包括步骤101至步骤103。
步骤101:在接收到数据迁移指令后,将源LUN存储单元中的数据依次迁移至目标LUN存储单元。
本申请旨在将上述源LUN存储单元中的数据迁移至目标LUN存储单元。
其中,源LUN存储单元和目标LUN存储单元可配置在同一存储设备上,例如,存储设备可包括源RAID和目标RAID。源LUN存储单元可配置在源RAID上,目标LUN存储单元可配置在目标RAID上。
当然,源LUN存储单元和目标LUN存储单元也可配置在不同的存储设备上,例如,源LUN存储单元可配置在源存储设备,目标LUN存储单元可配置在目标存储设备。这里只是对源LUN存储单元和目标LUN存储单元进行示例性地说明,不对其进行具体地限定。
其中,上述目标LUN存储单元可被预先配置为Thin-LUN存储单元。当上述目标LUN存储单元被配置为Thin-LUN存储单元后,目标LUN存储单元接收到迁移来的数据,可按照本领域技术人员熟知的Thin-LUN的扩容机制,来进行物理容量申请,这里不再赘述。
通常,在源LUN存储单元中的数据依次迁移至目标LUN存储单元之前,存储设备可预先创建目标LUN存储单元。
在一种可选的实现方式中,当存储设备要实现将本设备上的源RAID中的数据迁移至目标RAID时,存储设备可在目标RAID上创建目标LUN存储单元。其中,源RAID上包括源存储单元。
在实现时,存储设备可在目标RAID上创建与该源LUN存储单元对应的镜像LUN存储单元,作为目标LUN存储单元。该源LUN存储单元为镜像中的主LUN存储单元。
在另一种可选的实现方式中,当存储设备要实现将本设备上的数据迁移至另一目标存储设备时,存储设备可在该目标存储设备创建目标LUN存储单元,其中,本存储设备(即源存储设备)包括源LUN存储单元。
在实现时,开发人员或者管理人员可预先将该存储设备和目标存储设备配置成双活存储系统,并可将该存储设备上的LUN存储单元配置为主LUN存储单元,使得上述源LUN存储单元为该双活存储系统中的主LUN存储单元。
存储设备在创建目标LUN存储单元时,可向目标存储设备发送创建通知,该创建通知中可包括该源LUN存储单元的标识等。目标存储设备在接收到该创建通知后,可基于源LUN存储单元的标识等,创建与该源LUN对应的双活存储系统中的从LUN存储单元,作为目标LUN存储单元。
在本申请实施例中,在上述目标LUN存储单元创建完成后,若存储设备接收到数据迁移指令,存储设备可将源LUN中的数据依次迁移至上述目标LUN存储单元。
步骤102:实时统计所述源LUN存储单元中的已迁移空间的物理容量,若统计得到的该物理容量大于等于预设的容量阈值,则释放该已迁移空间。
在本申请实施例中,由于存储设备可实时统计源LUN存储单元已迁移空间的物理容量,并在该已迁移空间的物理容量大于等于预设的容量阈值时,释放该已迁移空间,将该已迁移空间还给RAID,使得RAID可将该释放的空间重新分配给其他LUN存储单元,因而大大提高了存储空间的利用率。
在实现时,在数据迁移的过程中,存储设备可将源LUN存储单元的逻辑空间划分为已迁移空间和待迁移空间。
例如,存储设备可基于源LUN存储单元中待迁移数据的起始逻辑地址,将小于等于该起始逻辑地址的逻辑地址段对应的逻辑空间定义为已迁移空间,将大于该起始逻辑地址的逻辑地址段对应的逻辑子空间定义为待迁空间。
存储设备可实时统计已迁移空间的物理容量。
需要说明的是,这里的实时可以理解为近乎实时的方式,可以是指以时间粒度进行划分的实时。例如时间粒度为1min,那么实时可以理解为:每1min的数据迁移,已迁移空间和待迁移空间的界限和物理容量都可发生改变,存储设备可每一分钟统计一次已迁移空间的物理容量。再比如,当时间粒度为1s时,存储设备可每一秒同意一次已迁移空间的物理容量。这里不再赘述。
在本申请实施例中,当存储设备统计得到的已迁移空间的物理容量大于等于预设的容量阈值时,存储设备可释放该已迁移空间。
通常存储设备配置有索引表,该索引表中记录了LUN存储单元的各个逻辑地址段与该LUN存储单元所在RAID的物理空间的对应关系。同时,RAID还配置有空间分配表,该空间分配表中记录了RAID物理空间的分配情况。
在释放已迁移空间时,存储设备可查询该源LUN存储单元的索引表,找到已迁移空间对应的RAID上的物理空间。然后在该RAID对应的空间分配表中,将该与已迁移空间对应的RAID上的物理空间的状态修改为空闲状态。
这里,需要说明的是,存储设备释放已迁移空间与存储设备进行数据迁移是异步的。换句话来说,当存储设备需要释放已迁移空间时,存储设备并不会停止数据的迁移,释放已迁移空间,在释放后,再恢复数据迁移,而是存储设备的数据迁移不会因释放已迁移空间而停止,数据迁移是一直持续进行的过程。
其中,上述预设的容量阈值可由开发人员根据实际情况进行设定,这里不对其进行具体地限定。
步骤103:在数据迁移完成后,执行源LUN存储单元切换操作,以使所述目标LUN存储单元代替源LUN存储单元进行相应的业务处理;其中,在数据迁移过程中收到的IO请求由源LUN存储单元或者目标LUN存储单元进行处理。
在本申请实施例中,在数据迁移完成后,存储设备可执行源LUN存储单元的切换操作。
在一种可选的实现方式中,针对存储设备要实现将本设备上的源RAID中的数据迁移至目标RAID的场景。
在执行源LUN存储单元的切换操作时,存储设备可将源LUN存储单元转换为镜像LUN存储单元,将上述目标LUN存储单元转换为主LUN存储单元。存储设备可停止流量接收,并禁用该镜像对(即主LUN存储单元和镜像LUN存储单元)。存储设备可利用源LUN存储单元的属性信息更新目标LUN存储单元的属性信息。在更新完成后,存储设备可删除源LUN存储单元,并恢复流量接收,从而实现使用目标LUN存储单元代替源LUN存储单元进行相应的业务处理。
在另一种可选的实现方式中,针对存储设备要实现将本设备上的数据迁移至另一目标存储设备的场景。
在执行源LUN存储单元的切换操作时,存储设备可将源LUN存储单元转换为该双活存储系统中的从LUN存储单元。存储设备可向目标存储设备发送角色转换通知,目标存储设备接收到该角色转换通知后,可将与该源LUN存储单元对应的目标LUN存储单元转换为主LUN存储单元。
存储设备可停止流量接收,并禁用该双活存储系统中的由上述主LUN存储单元和上述从LUN存储单元组成的双活对。存储设备可将源LUN的属性信息发送给该目标存储设备。目标存储设备在接收到该属性信息后,可利用该属性信息更新上述目标LUN的属性信息。在更新完成后,目标存储设备可向上述存储设备发送更新完成通知。
上述存储设备在接收到该更新完成通知后,可删除源LUN存储单元,并恢复流量接收,从而实现使用目标LUN存储单元代替源LUN存储单元进行相应的业务处理。
在本申请实施例中,为了使应用服务器在无感知的情况下进行数据迁移,需要对数据迁移过程中接收到的IO请求进行如下处理。
在数据迁移的过程中,若存储设备接收到应用服务器发送的IO请求时,存储设备可获取该IO请求携带的逻辑地址段。若该逻辑地址段位于已迁移空间对应的逻辑地址段,则将该IO请求下发给目标LUN存储单元,由目标LUN存储单元对该IO请求进行处理。存储设备可将处理结果返回给应用服务器。
例如,对于写IO请求,若该写IO请求携带的逻辑地址段位于已迁移空间对应的逻辑地址段,存储设备可将该写IO请求下发给目标LUN存储单元。目标LUN存储单元可将该写IO请求携带的数据写入本LUN存储单元,并不将该写IO请求携带的数据同步至源LUN存储单元。
若该目标LUN存储单元与源LUN存储单元均位于该存储设备,该存储设备可将写入成功或者写入失败的处理结果返回给应用服务器。
若该目标LUN存储单元位于目标存储设备,目标LUN存储单元可将写入成功或者写入失败的处理结果发送给上述存储设备,以由该存储设备将该处理结果返回给应用服务器。
对于读IO请求,若该读IO请求携带的逻辑地址段位于已迁移空间对应的逻辑地址段,存储设备可将该读IO请求下发给目标LUN存储单元。目标LUN存储单元可在本LUN存储单元中读取该读IO请求对应的数据。
若该目标LUN存储单元与源LUN存储单元均位于该存储设备,存储设备可将读取到的数据或者读取失败等的处理结果返回给应用服务器。
若该目标LUN存储单元位于目标存储设备,目标LUN可将读取到的数据或者读取失败等的处理结果发送给上述存储设备,以由该存储设备将该处理结果返回给应用服务器。
在本申请实施例中,若上述存储设备接收到的IO请求携带的逻辑地址段位于待迁移空间对应的逻辑地址段。存储设备的源LUN存储单元可对该IO请求进行处理,并将处理结果返回给应用服务器。
例如,对于写IO请求,若该写IO请求携带的逻辑地址段位于待迁移空间对应的逻辑地址段,源LUN存储单元可将该写IO请求携带的数据写入本LUN存储单元,并不将该写IO请求携带的数据同步至目标LUN存储单元。存储设备可将源LUN存储单元写入成功或者写入失败的处理结果返回给应用服务器。
对于读IO请求,若该读IO请求携带的逻辑地址段位于待迁移空间对应的逻辑地址段。源LUN存储单元可在本LUN存储单元中读取该读IO请求对应的数据。存储设备可将从源LUN存储单元中读取到的数据或者读取失败等的处理结果返回给应用服务器。
本申请提出一种数据迁移方法,在接收到数据迁移指令后,存储设备可将源LUN存储单元中的数据依次迁移至目标LUN存储单元,并可实时统计所述源LUN存储单元中的已迁移空间的物理容量。若统计得到的该物理容量大于等于预设的容量阈值,存储设备可释放该已迁移空间。在数据迁移完成后,存储设备可执行源LUN存储单元切换操作,以使所述目标LUN存储单元代替源LUN存储单元进行相应的业务处理。
此外,在接收到IO请求后,若该IO请求携带的逻辑地址段位于已迁移空间对应的逻辑地址段,则由目标LUN存储单元处理该IO请求,若该IO请求携带的逻辑地址段位于待迁移空间对应的逻辑地址段,则由源LUN存储单元处理该IO请求。并且,当该IO请求为写IO请求时,不将写入的数据同步至对端LUN存储单元。
一方面,由于存储设备可实时统计源LUN存储单元已迁移空间的物理容量,并在该已迁移空间的物理容量大于等于预设的容量阈值时,释放该已迁移空间,将该已迁移空间还给RAID,使得RAID可将该释放的空间重新分配给其他LUN存储单元使用,因而大大提高了存储空间的利用率。
另一方面,由于存储设备可将数据迁移过程中收到的IO请求转发给源LUN存储单元处理或者转发给目标LUN存储单元处理,而不再是由源LUN存储单元统一处理,从而大大减少了源LUN存储单元和目标LUN存储单元之间的数据、消息交互,减少了网络带宽的负荷,提高了数据迁移的效率。
下面以两个具体的场景为例,对上述方法进行详细地说明。
1)场景一:数据在同一设备内的迁移
如图2所示,假设存储设备上有RAID1和RAID2,其中RAID1为源RAID、RAID2为目标RAID,RAID1包括LUN-A。其中LUN-A为源LUN存储单元。存储设备需要将RAID1上的LUN-A中的数据迁移至RAID2。
存储单元可在RAID2上创建与该LUN-A对应的镜像LUN存储单元LUN-B,作为目标LUN存储单元。其中,LUN-A为该镜像对中的主LUN存储单元,LUN-B为该镜像对中的镜像LUN存储单元。
在完成LUN-B的创建后,当存储设备接收到数据迁移指令时,可将LUN-A中的数据依次迁移至LUN-B中。
存储设备可实时统计LUN-A中的已迁移空间的物理容量,当该已迁移空间的物理容量大于等于预设的容量阈值后,存储设备可释放该已迁移空间。
在数据迁移的过程中,若接收到应用服务器下发的写IO请求,存储设备可获取该写IO请求携带的逻辑地址段。若逻辑地址段位于已迁移空间对应的逻辑地址段,存储设备可将该写IO请求下发给LUN-B。LUN-B可将该写IO请求携带的数据写入本LUN存储单元,并不将该写IO请求携带的数据同步至LUN-A。存储设备可将写入成功或者写入失败的处理结果返回给应用服务器。
若该写IO请求携带的逻辑地址段位于待迁移空间对应的逻辑地址段,存储设备可将该IO请求发给LUN-A,LUN-A可将该写IO请求携带的数据写入本LUN存储单元,并不将该写IO请求携带的数据同步至LUN-B。存储设备可将LUN-A写入成功或者写入失败的处理结果返回给应用服务器。
在数据迁移的过程中,若接收到应用服务器下发的读IO请求,存储设备可获取该读IO请求携带的逻辑地址段。若该读IO请求携带的逻辑地址段位于已迁移空间对应的逻辑地址段,存储设备可将该读IO请求下发给LUN-B。LUN-B可在本LUN存储单元中读取该读IO请求对应的数据。存储设备可将从LUN-B读取到的数据或者读取失败等的处理结果返回给应用服务器。
若该读IO请求携带的逻辑地址段位于待迁移空间对应的逻辑地址段,LUN-A可在本LUN存储单元中读取该读IO请求对应的数据。存储设备可将从LUN-A可将读取到的数据或者读取失败等的处理结果返回给应用服务器。
在数据迁移完成后,存储设备可将LUN-A转换为镜像LUN存储单元,将LUN-B转换为主LUN存储单元。存储设备可停止流量接收,并禁用该镜像对(即LUN-A和LUN-B)。存储设备可利用LUN-A的属性信息更新LUN-B的属性信息。在更新完成后,存储设备可删除LUN-A,并恢复流量接收,从而实现使用LUN-B代替LUN-A进行相应的业务处理。
2)场景2:数据在不同设备间迁移
如图3所示,假设将源存储设备上的数据迁移至目标存储设备。其中,源存储设备记为存储设备1,目标存储设备记为存储设备2,源存储设备包括LUN-A。其中LUN-A为源LUN存储单元。源存储设备和目标存储设备被预先配置为双活存储系统。
存储设备1可向存储设备2发送创建通知,该创建通知中可包括该LUN-A的标识等。目标存储设备在接收到该创建通知后,可基于LUN-A的标识等,创建与该LUN-A对应的双活存储系统中的从LUN存储单元,作为目标LUN存储单元。这里,目标LUN存储单元可记为LUN-B。
在完成LUN-B的创建后,当存储设备1接收到数据迁移指令时,可将LUN-A中的数据依次迁移至LUN-B中。
存储设备1可实时统计LUN-A中的已迁移空间的物理容量,当该已迁移空间的物理容量大于等于预设的容量阈值后,存储设备1可释放该已迁移空间。
在数据迁移的过程中,若接收到应用服务器下发的写IO请求,存储设备1可获取该写IO请求携带的逻辑地址段。若逻辑地址段位于已迁移空间对应的逻辑地址段,存储设备1可将该写IO请求转发给存储设备2的LUN-B。LUN-B可将该写IO请求携带的数据写入本LUN存储单元,并不将该写IO请求携带的数据同步至LUN-A。存储设备2可向存储设备1返回写入成功或者写入失败的处理结果,以由存储设备1将该处理结果返回给应用服务器。
若该写IO请求携带的逻辑地址段位于待迁移空间对应的逻辑地址段,LUN-A可将该写IO请求携带的数据写入本LUN存储单元,并不将该写IO请求携带的数据同步至LUN-B。存储设备1可将LUN-A写入成功或者写入失败的处理结果返回给应用服务器。
在数据迁移的过程中,若接收到应用服务器下发的读IO请求,存储设备1可获取该读IO请求携带的逻辑地址段。若该读IO请求携带的逻辑地址段位于已迁移空间对应的逻辑地址段,存储设备1可将该读IO请求转发给存储设备2的LUN-B。LUN-B可在本LUN存储单元中读取该读IO请求对应的数据。存储设备2可向存储设备1返回读取到的数据或者读取失败等的处理结果,以由存储设备1将该处理结果返回给应用服务器。
若该读IO请求携带的逻辑地址段位于待迁移空间对应的逻辑地址段,LUN-A可在本LUN存储单元中读取该读IO请求对应的数据。存储设备1可将从LUN-A可将读取到的数据或者读取失败等的处理结果返回给应用服务器。
在数据迁移完成后,存储设备1可将LUN-A转换为该双活存储系统中的从LUN存储单元。存储设备1可向存储设备2发送角色转换通知,存储设备2接收到该角色转换通知后,可将与该LUN-A对应的LUN-B转换为主LUN存储单元。
存储设备1可停止流量接收,并禁用该双活存储系统中的由LUN-A和LUN-B组成的双活对。存储设备1可将LUN-A的属性信息发送给该存储设备2。存储设备2在接收到该属性信息后,可利用该属性信息更新上述LUN-B的属性信息。在更新完成后,存储设备2可向存储设备1发送更新完成通知。
存储设备1在接收到该更新完成通知后,可删除LUN-A,并恢复流量接收,从而实现使用LUN-B代替LUN-A进行相应的业务处理。
与前述数据迁移方法的实施例相对应,本申请还提供了数据迁移装置的实施例。
本申请数据迁移装置的实施例可以应用在存储设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在存储设备的处理器将存储介质中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本申请数据迁移装置所在存储设备的一种硬件结构图,除了图4所示的处理器、内存、网络接口、以及存储介质之外,实施例中装置所在的存储设备通常根据该存储设备的实际功能,还可以包括其他硬件,对此不再赘述。
上述存储设备的处理器可调用存储介质中储存的与上述数据迁移逻辑对应的机器可执行指令,来执行上述数据迁移方法。
请参考图5,图5是本申请一示例性实施例示出的一种数据迁移装置的框图。
从功能上划分,上述数据迁移逻辑可为该数据迁移装置,可包括迁移单元510,释放单元520和切换单元530。
其中,上述迁移单元510,用于在接收到数据迁移指令后,将源LUN存储单元中的数据依次迁移至目标LUN存储单元;
释放单元520,用于实时统计所述源LUN存储单元中的已迁移空间的物理容量,若统计得到的该物理容量大于等于预设的容量阈值,则释放该已迁移空间;
切换单元530,用于在数据迁移完成后,执行源LUN存储单元切换操作,以使所述目标LUN存储单元代替源LUN存储单元进行相应的业务处理;其中,在数据迁移过程中收到的IO请求由源LUN存储单元或者目标LUN存储单元进行处理。
在一种可选的实现方式中,所述装置还包括:处理单元540,用于接收到应用服务器下发的IO请求,并获取该IO请求携带的逻辑地址段;若该IO请求携带的逻辑地址段位于所述已迁移空间对应的逻辑地址段,则将该IO请求转发至所述目标LUN存储单元,以由目标LUN存储单元对该IO请求进行处理。
在另一种可选的实现方式中,所述处理单元540,还用于接收到应用服务器下发的IO请求,并获取该IO请求携带的逻辑地址段;若该IO请求携带的逻辑地址段位于待迁移空间对应的逻辑地址段,则将该IO请求下发给源LUN存储单元,以由源LUN存储单元对该IO请求进行处理。
在另一种可选的实现方式中,所述装置还包括:创建单元550,用于在将源LUN存储单元中的数据依次迁移至目标LUN存储单元前,创建目标LUN存储单元。
在另一种可选的实现方式中,所述源LUN存储单元在所述存储设备的源RAID上;所述存储设备还包括目标RAID,在将所述源LUN存储单元的数据迁移至目标RAID时,所述创建单元550,用于在目标RAID上创建与所述源LUN存储单元对应的镜像LUN存储单元,作为目标LUN存储单元,其中,所述源LUN存储单元为镜像中的主LUN存储单元。
在另一种可选的实现方式中,所述切换单元530,用于将源LUN存储单元转换为镜像LUN存储单元,将所述目标LUN存储单元转换为主LUN存储单元;停止流量接收,并禁用该镜像,基于源LUN存储单元的属性信息更新所述目标LUN存储单元的属性信息;删除源LUN存储单元,并恢复流量接收。
在另一种可选的实现方式中,所述目标LUN存储单元位于目标存储设备;所述存储设备与所述目标存储设备被配置成双活存储系统;其中源LUN存储单元为所述双活存储系统中的主LUN存储单元,在将所述源LUN存储单元的数据迁移至目标存储设备时,所述创建单元550,用于通知目标存储设备创建所述双活存储系统中的与该源LUN存储单元对应的从LUN存储单元,作为目标LUN存储单元。
在另一种可选的实现方式中,所述切换单元530,用于将源LUN存储单元转换为从LUN存储单元,通知所述目标存储设备将所述目标LUN存储单元转换为主LUN存储单元;停止流量接收,禁用所述双活存储系统中的由所述主LUN存储单元和所述从LUN存储单元组成的双活对,将源LUN存储单元的属性信息发送给所述目标存储设备,以使目标存储设备基于接收到的该属性信息更新所述目标LUN存储单元的属性信息;删除源LUN存储单元,并恢复流量接收。
在另一种可选的实现方式中,所述目标LUN存储单元被配置为Thin-LUN存储单元。
在另一种可选的实现方式中,若所述IO请求为写IO请求,在对该写IO请求进行写处理后,不将写入的数据同步至对端LUN存储单元。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (10)

1.一种数据迁移方法,其特征在于,所述方法应用于存储设备,所述存储设备包括源LUN存储单元,所述方法包括:
在接收到数据迁移指令后,将源LUN存储单元中的数据依次迁移至目标LUN存储单元;
实时统计所述源LUN存储单元中的已迁移空间的物理容量,若统计得到的该物理容量大于等于预设的容量阈值,则释放该已迁移空间;
在数据迁移完成后,执行源LUN存储单元切换操作,以使所述目标LUN存储单元代替源LUN存储单元进行相应的业务处理;其中,在数据迁移过程中收到的IO请求由源LUN存储单元或者目标LUN存储单元进行处理;
接收到应用服务器下发的IO请求,并获取该IO请求携带的逻辑地址段;
若该IO请求携带的逻辑地址段位于所述已迁移空间对应的逻辑地址段,则将该IO请求转发至所述目标LUN存储单元,以由目标LUN存储单元对该IO请求进行处理;
所述源LUN存储单元位于所述存储设备的源RAID上,目标LUN存储单元位于所述存储设备的目标RAID上;或者,所述存储设备为源存储设备,所述目标LUN为目标存储设备。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收到应用服务器下发的IO请求,并获取该IO请求携带的逻辑地址段;
若该IO请求携带的逻辑地址段位于待迁移空间对应的逻辑地址段,则将该IO请求下发给源LUN存储单元,以由源LUN存储单元对该IO请求进行处理。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在将源LUN存储单元中的数据依次迁移至目标LUN存储单元前,创建目标LUN存储单元。
4.根据权利要求3所述的方法,其特征在于,所述源LUN存储单元在所述存储设备的源RAID上;所述存储设备还包括目标RAID,在将所述源LUN存储单元的数据迁移至目标RAID时,
所述创建目标LUN存储单元,包括:
在目标RAID上创建与所述源LUN存储单元对应的镜像LUN存储单元,作为目标LUN存储单元,其中,所述源LUN存储单元为镜像中的主LUN存储单元。
5.根据权利要求4所述的方法,其特征在于,所述执行源LUN存储单元切换操作,包括:
将源LUN存储单元转换为镜像LUN存储单元,将所述目标LUN存储单元转换为主LUN存储单元;
停止流量接收,并禁用该镜像,基于源LUN存储单元的属性信息更新所述目标LUN存储单元的属性信息;
删除源LUN存储单元,并恢复流量接收。
6.根据权利要求3所述的方法,其特征在于,所述目标LUN存储单元位于目标存储设备;所述存储设备与所述目标存储设备被配置成双活存储系统;其中源LUN存储单元为所述双活存储系统中的主LUN存储单元,在将所述源LUN存储单元的数据迁移至目标存储设备时,
所述创建目标LUN存储单元,包括:
通知目标存储设备创建所述双活存储系统中的与该源LUN存储单元对应的从LUN存储单元,作为目标LUN存储单元。
7.根据权利要求6所述的方法,其特征在于,所述执行本LUN存储单元切换操作,包括:
将源LUN存储单元转换为从LUN存储单元,通知所述目标存储设备将所述目标LUN存储单元转换为主LUN存储单元;
停止流量接收,禁用所述双活存储系统中的由所述主LUN存储单元和所述从LUN存储单元组成的双活对,将源LUN存储单元的属性信息发送给所述目标存储设备,以使目标存储设备基于接收到的该属性信息更新所述目标LUN存储单元的属性信息;
删除源LUN存储单元,并恢复流量接收。
8.根据权利要求1所述的方法,其特征在于,所述目标LUN存储单元被配置为Thin-LUN存储单元。
9.根据权利要求1或2所述的方法,其特征在于,若所述IO请求为写IO请求,在对该写IO请求进行写处理后,不将写入的数据同步至对端LUN存储单元。
10.一种存储设备,其特征在于,所述存储设备包括处理器和存储介质,所述处理器调用所述存储介质上储存的与数据迁移逻辑对应的机器可执行指令,所述处理器被促使执行权利要求1至权利要求9所述的方法。
CN201710536709.7A 2017-07-04 2017-07-04 一种数据迁移方法及存储设备 Active CN107402722B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710536709.7A CN107402722B (zh) 2017-07-04 2017-07-04 一种数据迁移方法及存储设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710536709.7A CN107402722B (zh) 2017-07-04 2017-07-04 一种数据迁移方法及存储设备

Publications (2)

Publication Number Publication Date
CN107402722A CN107402722A (zh) 2017-11-28
CN107402722B true CN107402722B (zh) 2020-09-01

Family

ID=60405342

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710536709.7A Active CN107402722B (zh) 2017-07-04 2017-07-04 一种数据迁移方法及存储设备

Country Status (1)

Country Link
CN (1) CN107402722B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108388599B (zh) * 2018-02-01 2022-08-02 平安科技(深圳)有限公司 电子装置、数据迁移及调用方法及存储介质
CN112578997B (zh) * 2019-09-30 2022-07-22 华为云计算技术有限公司 一种数据迁移方法、系统及相关设备
CN112650440B (zh) * 2019-10-10 2023-01-06 成都华为技术有限公司 路径替换方法及装置
CN112748860B (zh) * 2019-10-30 2024-04-12 伊姆西Ip控股有限责任公司 用于存储管理的方法、电子设备和计算机程序产品
CN111273872A (zh) * 2020-02-14 2020-06-12 北京百度网讯科技有限公司 一种数据迁移方法、装置、设备和介质
CN111427514B (zh) * 2020-03-27 2022-04-22 杭州宏杉科技股份有限公司 视图迁移方法和装置
CN113495680B (zh) * 2020-04-02 2024-04-12 华为技术有限公司 数据迁移方法及装置、存储系统、存储介质
CN113741793B (zh) * 2020-05-29 2024-04-09 华为技术有限公司 一种上报存储资源的方法、装置及系统
CN112783449A (zh) * 2021-01-25 2021-05-11 中国工商银行股份有限公司 数据迁移方法及装置
CN114442942B (zh) * 2022-01-05 2023-05-09 杭州宏杉科技股份有限公司 一种数据迁移方法、系统、设备及存储介质
CN115729463A (zh) * 2022-10-20 2023-03-03 超聚变数字技术有限公司 数据迁移的方法、系统及相关装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000013111A1 (en) * 1998-08-31 2000-03-09 Computer Associates Think, Inc. Method and apparatus for fast and comprehensive dbms analysis
CN102096561A (zh) * 2011-02-09 2011-06-15 成都市华为赛门铁克科技有限公司 分层数据存储处理方法、装置以及存储设备
CN105404565A (zh) * 2014-07-22 2016-03-16 杭州宏杉科技有限公司 一种双活数据保护方法和装置
CN105760109A (zh) * 2014-12-16 2016-07-13 华为技术有限公司 数据迁移方法和存储阵列
CN106575271A (zh) * 2014-06-23 2017-04-19 谷歌公司 管理存储设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105549904B (zh) * 2015-12-08 2019-01-08 华为技术有限公司 一种应用于存储系统中的数据迁移方法及存储设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000013111A1 (en) * 1998-08-31 2000-03-09 Computer Associates Think, Inc. Method and apparatus for fast and comprehensive dbms analysis
CN102096561A (zh) * 2011-02-09 2011-06-15 成都市华为赛门铁克科技有限公司 分层数据存储处理方法、装置以及存储设备
CN106575271A (zh) * 2014-06-23 2017-04-19 谷歌公司 管理存储设备
CN105404565A (zh) * 2014-07-22 2016-03-16 杭州宏杉科技有限公司 一种双活数据保护方法和装置
CN105760109A (zh) * 2014-12-16 2016-07-13 华为技术有限公司 数据迁移方法和存储阵列

Also Published As

Publication number Publication date
CN107402722A (zh) 2017-11-28

Similar Documents

Publication Publication Date Title
CN107402722B (zh) 一种数据迁移方法及存储设备
US11809726B2 (en) Distributed storage method and device
US11023448B2 (en) Data scrubbing method and apparatus, and computer readable storage medium
US10817386B2 (en) Virtual machine recovery method and virtual machine management device
US10725878B2 (en) Storage apparatus, storage system, and control method of storage system for dynamically securing free space when a storage apparatus is disused
CN102594849B (zh) 数据备份、恢复方法、虚拟机快照删除、回滚方法及装置
US10831741B2 (en) Log-shipping data replication with early log record fetching
CN106446159B (zh) 一种存储文件的方法、第一虚拟机及名称节点
US10235196B1 (en) Virtual machine joining or separating
JP2009157785A (ja) 待機系計算機の追加方法、計算機及び計算機システム
CN109582213B (zh) 数据重构方法及装置、数据存储系统
US10055445B2 (en) Transaction processing method and apparatus
US8751446B2 (en) Transference control method, transference control apparatus and recording medium of transference control program
CN106919473A (zh) 一种数据灾备系统及业务处理方法
CN106603279A (zh) 一种容灾方法和容灾系统
JP2016529629A (ja) 分散データグリッドにおいてデータを同期させるためにパーティションレベルジャーナリングをサポートするためのシステムおよび方法
CN106873902B (zh) 一种文件存储系统、数据调度方法及数据节点
JP7322161B2 (ja) 分散システムにおける非同期ストレージ管理
CN105302489A (zh) 一种异构多核远程嵌入式存储器系统与方法
CN109992447B (zh) 数据复制方法、装置及存储介质
CN104866245B (zh) 缓存设备和存储系统之间同步快照的方法和装置
CN114785662B (zh) 一种存储管理方法、装置、设备及机器可读存储介质
US9600188B2 (en) Collision avoidance using dynamic target volume allocation from a shared resource pool
CN116303789A (zh) 多分片多副本数据库并行同步方法、装置及可读介质
CN114443216A (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
GR01 Patent grant
GR01 Patent grant