CN113986129B - Lun数据复制方法及装置 - Google Patents

Lun数据复制方法及装置 Download PDF

Info

Publication number
CN113986129B
CN113986129B CN202111250152.3A CN202111250152A CN113986129B CN 113986129 B CN113986129 B CN 113986129B CN 202111250152 A CN202111250152 A CN 202111250152A CN 113986129 B CN113986129 B CN 113986129B
Authority
CN
China
Prior art keywords
data
copied
copy mode
lun
buffer area
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
CN202111250152.3A
Other languages
English (en)
Other versions
CN113986129A (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 CN202111250152.3A priority Critical patent/CN113986129B/zh
Publication of CN113986129A publication Critical patent/CN113986129A/zh
Application granted granted Critical
Publication of CN113986129B publication Critical patent/CN113986129B/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • 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/065Replication 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/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
    • G06F3/0656Data buffering arrangements
    • 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/0673Single storage device
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

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对应缓冲区的使用情况,确定当前复制模式对存储设备前端业务性能的影响,在确定当前复制模式无法满足前端业务处理性能要求时,切换到其它可以满足前端业务处理性能要求的复制模式。即,通过动态调整复制模式,达到提升存储设备整体性能的目的。

Description

LUN数据复制方法及装置
技术领域
本申请涉及存储技术领域,尤其涉及一种LUN数据复制方法及装置。
背景技术
存储设备普遍具有数据保护特性,其中,数据复制作为一种可实现数据保护的技术,已广泛应用于存储设备。
目前,针对存储设备中逻辑单元号(英文:Logical Unit Number,缩写:LUN)的数据复制,有多种复制模式可选,比如,周期性复制模式、按照写入顺序连续复制模式等。具体采用何种复制模式通常由管理员预先指定。
但是,无论指定哪种复制模式,该单一复制模式通常都不可能实时满足存储设备的性能要求。
发明内容
有鉴于此,本申请提出一种LUN数据复制方法及装置,用以提升存储设备的整体性能。
为实现上述申请目的,本申请提供了如下技术方案:
第一方面,本申请提供一种LUN数据复制方法,应用于存储设备,所述存储设备包括待复制的源LUN,所述源LUN对应有缓冲区,所述缓冲区用于存储按照写入顺序生成的所述源LUN中待复制数据的数据记录以及待复制数据,所述数据记录包括待复制数据在所述源LUN中对应逻辑地址段以及该待复制数据在所述缓冲区中的存储位置,所述源LUN还对应有用于复制该源LUN对应数据的目标LUN,所述方法包括:
在第一复制模式下,按照预设周期统计并记录每一个周期的写命令命中率,所述写命令命中率为当前周期内第一写命令的个数占当前周期内接收到的所有写命令的总个数的比例,其中,所述第一写命令包括的待写入逻辑地址段与缓冲区中目标数据记录包括的逻辑地址段存在重叠,且该目标数据记录包括的存储位置为空,所述存储位置为空表示所属数据记录对应的待复制数据不在缓冲区中而在源LUN中,所述第一复制模式用于指示按照缓冲区中数据记录的顺序将源LUN和缓冲区中的待复制数据复制到目标LUN中;
统计并记录每一个周期内第二写命令的个数,所述第二写命令为所述第一写命令中触发达到预设数量个目标数据记录对应的待复制数据从源LUN读出并写入所述缓冲区的写命令;
统计最近N个周期中写命令命中率大于预设命中率阈值的第一周期的个数;
统计最近N个周期中第二写命令的个数大于预设的第一数量阈值的第二周期的个数;
如果统计的第一周期的个数小于M个、且第二周期的个数小于L个,则维持所述第一复制模式,其中,M、L均小于或等于N。
可选的,所述方法还包括:
如果统计的第一周期的个数不小于M个,或者,统计的第二周期的个数不小于L个,则切换到第二复制模式,其中,所述第二复制模式下写入源LUN的待复制数据同时写入缓冲区,所述第二复制模式用于指示按照缓冲区中数据记录的顺序将缓冲区中的待复制数据复制到目标LUN中;
遍历缓冲区中已有数据记录,针对每一个已有数据记录,如果该数据记录包括的存储位置为空,则从源LUN中读取该数据记录包括的逻辑地址段处的待复制数据写入缓冲区,并更新该数据记录包括的存储位置为该待复制数据在所述缓冲区中的存储位置。
可选的,所述方法还包括:
在第一复制模式或第二复制模式下,统计并记录每一个周期的缓冲区平均响应时间;
统计最近N个周期中缓冲区平均响应时间大于预设响应时间阈值的第三周期的个数;
如果统计的第三周期的个数大于K个,则切换到第三复制模式,其中,K小于或等于N,所述第三复制模式用于指示按照源LUN对应的差异位图将源LUN中待复制数据复制到目标LUN中,所述源LUN按照预设逻辑块大小划分为多个逻辑块,所述差异位图包括与各逻辑块分别对应的差异位,所述差异位的值用于标识对应逻辑块中是否有待复制数据;
遍历缓冲区中已有数据记录,针对每一个已有数据记录,确定该数据记录包括的逻辑地址段所涉及的至少一个目标逻辑块;
更新所述差异位图中各目标逻辑块对应的差异位的值为目标值,所述目标值用于标识对应逻辑块中有待复制数据。
可选的,所述切换到第二复制模式之后,所述方法还包括:
统计缓冲区中已有数据记录的个数;
如果统计的个数小于预设的第二数量阈值,切换到所述第一复制模式。
可选的,所述统计缓冲区中已有数据记录的个数,包括:
在从第一复制模式切换到第二复制模式后,累计第二复制模式的持续时长;
当所述持续时长达到预设时长阈值时,统计缓冲区中已有数据记录的个数。
第二方面,本申请提供一种LUN数据复制装置,应用于存储设备,所述存储设备包括待复制的源LUN,所述源LUN对应有缓冲区,所述缓冲区用于存储按照写入顺序生成的所述源LUN中待复制数据的数据记录以及待复制数据,所述数据记录包括待复制数据在所述源LUN中对应逻辑地址段以及该待复制数据在所述缓冲区中的存储位置,所述源LUN还对应有用于复制该源LUN对应数据的目标LUN,所述装置包括:
统计单元,用于在第一复制模式下,按照预设周期统计并记录每一个周期的写命令命中率,所述写命令命中率为当前周期内第一写命令的个数占当前周期内接收到的所有写命令的总个数的比例,其中,所述第一写命令包括的待写入逻辑地址段与缓冲区中目标数据记录包括的逻辑地址段存在重叠,且该目标数据记录包括的存储位置为空,所述存储位置为空表示所属数据记录对应的待复制数据不在缓冲区中而在源LUN中,所述第一复制模式用于指示按照缓冲区中数据记录的顺序将源LUN和缓冲区中的待复制数据复制到目标LUN中;
所述统计单元,还用于统计并记录每一个周期内第二写命令的个数,所述第二写命令为所述第一写命令中触发达到预设数量个目标数据记录对应的待复制数据从源LUN读出并写入所述缓冲区的写命令;
所述统计单元,还用于统计最近N个周期中写命令命中率大于预设命中率阈值的第一周期的个数;
所述统计单元,还用于统计最近N个周期中第二写命令的个数大于预设的第一数量阈值的第二周期的个数;
切换单元,用于如果统计的第一周期的个数小于M个、且第二周期的个数小于L个,则维持所述第一复制模式,其中,M、L均小于或等于N。
可选的,所述装置还包括:
所述切换单元,还用于如果统计的第一周期的个数不小于M个,或者,统计的第二周期的个数不小于L个,则切换到第二复制模式,其中,所述第二复制模式下写入源LUN的待复制数据同时写入缓冲区,所述第二复制模式用于指示按照缓冲区中数据记录的顺序将缓冲区中的待复制数据复制到目标LUN中;
写入单元,用于遍历缓冲区中已有数据记录,针对每一个已有数据记录,如果该数据记录包括的存储位置为空,则从源LUN中读取该数据记录包括的逻辑地址段处的待复制数据写入缓冲区;
更新单元,用于更新该数据记录包括的存储位置为该待复制数据在所述缓冲区中的存储位置。
可选的,所述装置还包括:
所述统计单元,还用于在第一复制模式或第二复制模式下,统计并记录每一个周期的缓冲区平均响应时间;
所述统计单元,还用于统计最近N个周期中缓冲区平均响应时间大于预设响应时间阈值的第三周期的个数;
所述切换单元,还用于如果统计的第三周期的个数大于K个,则切换到第三复制模式,其中,K小于或等于N,所述第三复制模式用于指示按照源LUN对应的差异位图将源LUN中待复制数据复制到目标LUN中,所述源LUN按照预设逻辑块大小划分为多个逻辑块,所述差异位图包括与各逻辑块分别对应的差异位,所述差异位的值用于标识对应逻辑块中是否有待复制数据;
确定单元,用于遍历缓冲区中已有数据记录,针对每一个已有数据记录,确定该数据记录包括的逻辑地址段所涉及的至少一个目标逻辑块;
更新单元,用于更新所述差异位图中各目标逻辑块对应的差异位的值为目标值,所述目标值用于标识对应逻辑块中有待复制数据。
可选的,所述统计单元,还用于在所述切换单元切换到第二复制模式后,统计缓冲区中已有数据记录的个数;
所述切换单元,还用于如果统计的个数小于预设的第二数量阈值,切换到所述第一复制模式。
可选的,所述统计单元统计缓冲区中已有数据记录的个数,包括:
在从第一复制模式切换到第二复制模式后,累计第二复制模式的持续时长;
当所述持续时长达到预设时长阈值时,统计缓冲区中已有数据记录的个数。
由以上描述可以看出,本申请实施例中,存储设备支持多种复制模式,通过实时监测源LUN对应缓冲区的使用情况,确定当前复制模式对存储设备前端业务性能的影响,在确定当前复制模式无法满足前端业务处理性能要求时,切换到其它可以满足前端业务处理性能要求的复制模式。即,通过动态调整复制模式,达到提升存储设备整体性能的目的。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例示出的一种LUN数据复制方法流程图;
图2是本申请实施例示出的一种LUN数据复制装置的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。
在本申请实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请实施例。在本申请实施例中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请实施例范围的情况下,协商信息也可以被称为第二信息,类似地,第二信息也可以被称为协商信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了使本申请实施例的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本申请实施例执行详细描述:
参见图1,为本申请实施例示出的一种LUN数据复制方法的流程图。该流程应用于存储设备。
该存储设备包括待复制的源LUN以及该源LUN对应的缓冲区。
缓冲区用于存储按照写入顺序生成的源LUN中待复制数据的数据记录以及待复制数据。数据记录包括待复制数据在源LUN中对应的逻辑地址段以及该待复制数据在缓冲区中的存储位置。其中,逻辑地址段为待复制数据在源LUN中的存储位置。
此外,源LUN还对应有用于复制该源LUN中数据的目标LUN。该目标LUN可以位于源LUN所在存储设备,也可以位于除源LUN所在存储设备之外的其它存储设备中,以提高数据可用性。
如图1所示,该流程可包括以下步骤:
步骤101,在第一复制模式下,按照预设周期统计并记录每一个周期的写命令命中率。
第一复制模式用于指示按照缓冲区中数据记录的生成顺序将源LUN和缓冲区中的待复制数据依次复制到目标LUN中。可以理解的是,之所以称为第一复制模式,只是为便于区分而进行的命名,并非用于限定。
其中,数据记录的生成顺序即数据的写入顺序,每一个数据记录对应一次针对源LUN的写操作(写命令)。
在第一复制模式下,通过不断遍历缓冲区中的数据记录,将各数据记录对应待复制数据按照数据写入顺序依次复制到目标LUN中,因此,可在保证复制时序的同时,使目标LUN及时存储源LUN中尽量多的数据,这样既使源LUN故障,已复制到目标LUN的数据可用,不会丢失太多数据。
此外,在第一复制模式下,缓冲区仅需保存源LUN中部分待复制数据。这些保存在缓冲区中的待复制数据为与后写入源LUN中数据存在地址冲突而被从源LUN写入缓冲区的数据,以保证先写入源LUN但尚未被复制的数据不被后写入源LUN的数据覆盖,而该后写入源LUN的数据仅保存于源LUN中,因此,可有效提升缓冲区的利用率,以存储更多的数据记录,这些数据记录对应数据均会复制到目标LUN中,因此,可进一步降低数据丢失风险。
本申请实施例中,在第一复制模式下,还可按照预设统计周期统计并记录每一个周期的写命令命中率。这里,写命令命中率为当前周期内第一写命令的个数占当前周期内接收到的所有写命令的总个数的比例。
该第一写命令为包括的待写入逻辑地址段与缓冲区中目标数据记录包括的逻辑地址段存在重叠、且该目标数据记录包括的存储位置为空的写命令。其中,存储位置为空表示数据记录对应的待复制数据不在缓冲区中而在源LUN中。
该第一写命令会触发存储设备将目标数据记录对应待复制数据从源LUN读出并写入缓冲区。可以理解的是,之所以称为第一写命令、目标数据记录,只是为便于区分而进行的命名,并非用于限定。
可以看出,通过本步骤可统计出每一个周期内存储设备接收到的可触发从源LUN拷贝数据到缓冲区的写命令(第一写命令)占本周期内接收到的所有写命令的比例。
步骤102,统计并记录每一个周期内第二写命令的个数。
该第二写命令为第一写命令中可触发达到(大于或等于)预设数量个(比如,2个)目标数据记录对应的待复制数据从源LUN读出并写入缓冲区的写命令,即,可触发多个待复制数据从源LUN拷贝到缓冲区的写命令。可以理解的是,之所以称为第二写命令,只是为便于区分而进行的命名,并非用于限定。
这里,需要说明的是,由于第二写命令的执行涉及到多个待复制数据从源LUN拷贝到缓冲区,因此,该第二写命令的执行时间通常较长(耗时较长)。
可以看出,通过本步骤可统计出每一个周期内耗时较长的写命令(第二写命令)的个数。
步骤103,统计最近N个周期中写命令命中率大于预设命中率阈值的第一周期的个数。
这里,第一周期指最近N个周期中写命令命中率大于预设命中率阈值的周期。可以理解的是,之所以称为第一周期,只是为便于区分而进行的命名,并非用于限定。
其中,写命令命中率大于预设命中率阈值,说明当前周期中触发从源LUN拷贝数据到缓冲区的写命令(第一写命令)较多。
步骤104,统计最近N个周期中第二写命令的个数大于预设的第一数量阈值的第二周期的个数。
这里,第二周期指最近N个周期中第二写命令的个数大于预设的第一数量阈值的周期。可以理解的是,之所以称为第二周期、第一数量阈值,只是为便于区分而进行的命名,并非用于限定。
其中,第二写命令的个数大于预设的第一数量阈值,说明当前周期中耗时较长的写命令(第二写命令)较多。
步骤105,如果统计的第一周期的个数小于M个、且第二周期的个数小于L个,则维持第一复制模式,其中,M、L均小于或等于N。
其中,第一周期的个数小于M个,说明N个周期中包含大量可触发从源LUN拷贝数据到缓冲区的写命令的周期较少;第二周期的个数小于L个,说明N个周期中包含大量耗时较长的写命令的周期较少。
当N个周期中第一周期的个数小于M个、且第二周期的个数小于L个时,说明从最近N个周期整体来看,触发从源LUN拷贝数据到缓冲区的写命令(第一写命令)不多,且该多个第一写命令中耗时较长的第二写命令也不多,可反映出,当前存储设备的前端业务性能较优,换言之,当前复制模式(第一复制模式)并未严重影响前端业务处理性能,因此,可继续采用第一复制模式复制数据。
这里,需要补充说明的是,本申请实施例未基于单个周期的统计结果,来判断当前复制模式对存储设备的前端业务影响,可在一定程度上提升判断的准确性,并可尽量减少复制模式频繁切换。
至此,完成图1所示流程。
通过图1所示流程可以看出,本申请实施例中,综合考虑可触发从源LUN向缓冲区拷贝数据的写命令的数量以及耗时较长的写命令的数量,在确定可触发从源LUN向缓冲区拷贝数据的写命令的数量不多,且耗时较长的写命令的数量也不多时,确定基于第一复制模式进行数据复制对存储设备的前端业务影响不大,因此,可继续采用该第一复制模式进行数据复制,以达到兼顾缓冲区利用率、兼顾前端业务处理性能以及降低数据丢失概率的目的。
作为一个实施例,如果通过步骤103统计的第一周期的个数不小于M个,或者,通过步骤104统计的第二周期的个数不小于L个,则可切换到第二复制模式。
其中,统计的第一周期的个数不小于M个,说明从最近N个周期整体来看,触发从源LUN拷贝数据到缓冲区的写命令(第一写命令)较多;统计的第二周期的个数不小于L个,说明从最近N个周期整体来看,耗时较长的写命令(第二写命令)较多。
无论是第一写命令较多,还是第二写命令较多,均说明第一复制模式的开销比较大,当前存储设备的前端业务处理性能在下降,换言之,当前复制模式(第一复制模式)已无法满足前端业务处理性能要求,为此,存储设备可设置从第一复制模式切换到第二复制模式,以降低复制对前端业务处理性能的影响。
这里,需要说明的是,在从第一复制模式切换到第二复制模式时,缓冲区中可能还存在第一复制模式下已生成的数据记录,该第一复制模式下生成的数据记录包括的存储位置可能为空,即,该数据记录对应的待复制数据不在缓冲区中。
为此,存储设备可遍历缓冲区中已有数据记录(第一复制模式下已生成的数据记录),针对每一个已有数据记录,如果该数据记录包括的存储位置为空,则获取该数据记录包括的逻辑地址段,从源LUN中读取该逻辑地址段处的待复制数据写入缓冲区,然后,更新该数据记录包括的存储位置为该待复制数据在缓冲区中的存储位置。
另外,在从第一复制模式切换到第二复制模式的过程中(缓冲区中还存在存储位置为空的数据记录时),如果接收到写命令,则需遍历缓冲区中的数据记录,如果该写命令的待写入逻辑地址段与缓冲区中的数据记录包括的逻辑地址段存在重叠、且该数据记录包括的存储位置为空,则获取该数据记录包括的逻辑地址段,从源LUN中读取该逻辑地址段处的待复制数据写入缓冲区,并更新该数据记录包括的存储位置为该待复制数据在缓冲区中的存储位置,然后,将接收的写命令包括的数据同时写入源LUN和缓冲区各一份,并在缓冲区增加该写命令对应数据记录。
反之,如果在接收到写命令时,缓冲区中已不存在存储位置为空的数据记录,则无需再判断接收的写命令是否与缓冲区中已有数据记录存在地址冲突,也不涉及将之前写入源LUN的数据拷贝到缓冲区中,因此,可大大提升前端业务处理性能。
在完成上述处理后,待复制数据均存在于缓冲区中,存储设备可直接按照缓冲区中各数据记录的生成顺序依次将各数据记录在缓冲区中对应的待复制数据复制到目标LUN中。即,存储设备运行在第二复制模式下。
作为一个实施例,在第一复制模式或第二复制模式下,还可统计并记录每一个周期的缓冲区平均响应时间。该缓冲区平均响应时间为一个周期内缓冲区对各写命令的响应时间的平均值。
统计最近N个周期中缓冲区平均响应时间大于预设响应时间阈值的第三周期的个数。这里,第三周期指最近N个周期中缓冲区平均响应时间大于预设响应时间阈值的周期。可以理解的是,之所以称为第三周期,只是为便于区分而进行的命名,并非用于限定。
其中,缓冲区平均响应时间大于预设响应时间阈值,说明当前周期内缓冲区的平均响应时间较长,缓冲区性能下降。
如果统计的第三周期的个数大于K(K小于或等于N)个,说明最近N个周期中缓冲区平均响应时间较长的周期的个数较多,即,从N个周期的整体来看,该缓冲区性能也在下降。
这里,需要补充说明的是,本申请通过统计多个周期的缓冲区平均响应时间,可提升缓冲区性能判断的准确性。
由于在第一复制模式或第二复制模式下写命令的执行都会涉及到对缓冲区的操作,因此,缓冲区性能下降会影响前端业务处理性能。
为了避免缓冲区性能下降对前端业务性能的影响,存储设备可从当前复制模式(第一复制模式或第二复制模式)切换到第三复制模式。这里,第三复制模式只是为便于区分而进行的命名,并非用于限定。
在第三复制模式下,存储设备根据接收到的写命令更新源LUN对应的差异位图。该差异位图包括与源LUN中各逻辑块(源LUN通常按照预设逻辑块大小划分为多个逻辑块)分别对应的差异位,每一个差异位的值用于标识对应逻辑块中是否存在待复制数据。
存储设备接收到写命令后,获取该写命令包括的待写入逻辑段以及待写入数据,确定该待写入逻辑段涉及到的各待写入逻辑块,将待写入数据写入各待写入逻辑块,并将差异位图中与各待写入逻辑块对应的差异位的值设置为目标值(比如,1),用于标识对应逻辑块中存在待复制数据。
此外,存储设备还需遍历缓冲区中已有数据记录,针对每一个已有数据记录,确定该数据记录包括的逻辑地址段所涉及的各目标逻辑块,更新差异位图中与各目标逻辑块对应的差异位的值为目标值,从而完成已有数据记录向差异位图的转换,避免后续复制时丢失数据。
在完成所有已有数据记录的转换后,可删除缓冲区中所有数据记录以及待复制数据,以释放缓冲区资源。
同时,停止更新差异位图,生成源LUN的复制视图。该复制视图可以是个快照,通过复制视图可以得到源LUN当前时刻的数据。
存储设备针对差异位图中值为目标值的每一个目标差异位,将复制视图中该目标差异位对应逻辑块中的数据复制到目标LUN中,以加快使目标LUN中的数据与源LUN中数据一致,更准确地说,是使目标LUN中的数据与开始复制时刻源LUN中的数据(复制视图的数据)保持一致。
在执行一次基于差异位图的数据复制后,可切换到第一复制模式,以避免如果周期性根据差异位图复制数据可能出现的源LUN故障时数据丢失较多的问题。
此外,需要说明的是,在第一复制模式或第二复制模式下,当缓冲区被写满时,也可执行上述根据写命令以及缓冲区中已有数据记录更新差异位图,并根据差异位图复制数据的过程,以使目标LUN中数据与源LUN中数据保持同一个时间平面,确保目标LUN中数据可用。然后,在基于差异位图复制数据后,切换到第一复制模式。
作为一个实施例,在从第一复制模式切换到第二复制模式后,可累计第二复制模式的持续时长,当累计的持续时长达到预设时长阈值时,可考虑从第二复制模式切换到第一复制模式。这里,通过预设时长阈值可避免第一复制模式和第二复制模式之间频繁切换。
具体从第二复制模式切换到第一复制模式的过程包括:统计缓冲区中已有数据记录的个数,如果统计的个数小于预设的第二数量阈值,则切换到第一复制模式。可以理解的是,之所以称为第二数量阈值,只是为便于区分而进行的命名,并非用于限定。
其中,统计的已有数据记录的个数小于预设的第二数量阈值,说明缓冲区中已有数据记录很少。在这种情况下,既使切换回第一复制模式,因地址冲突而触发从源LUN拷贝数据到缓冲区的概率也会较低,不会对前端业务性能造成严重影响,因此,可切换回第一复制模式,以达到兼顾缓冲区利用率、兼顾前端业务处理性能以及降低数据丢失概率的目的。
以上对本申请实施例提供的方法进行了描述,下面对本申请实施例提供的装置进行描述:
参见图2,为本申请实施例提供的装置的结构示意图,应用于存储设备。所述存储设备包括待复制的源LUN,所述源LUN对应有缓冲区,所述缓冲区用于存储按照写入顺序生成的所述源LUN中待复制数据的数据记录以及待复制数据,所述数据记录包括待复制数据在所述源LUN中对应逻辑地址段以及该待复制数据在所述缓冲区中的存储位置,所述源LUN还对应有用于复制该源LUN对应数据的目标LUN,所述装置包括统计单元201和切换单元202,其中:
统计单元201,用于在第一复制模式下,按照预设周期统计并记录每一个周期的写命令命中率,所述写命令命中率为当前周期内第一写命令的个数占当前周期内接收到的所有写命令的总个数的比例,其中,所述第一写命令包括的待写入逻辑地址段与缓冲区中目标数据记录包括的逻辑地址段存在重叠,且该目标数据记录包括的存储位置为空,所述存储位置为空表示所属数据记录对应的待复制数据不在缓冲区中而在源LUN中,所述第一复制模式用于指示按照缓冲区中数据记录的顺序将源LUN和缓冲区中的待复制数据复制到目标LUN中;
所述统计单元201,还用于统计并记录每一个周期内第二写命令的个数,所述第二写命令为所述第一写命令中触发达到预设数量个目标数据记录对应的待复制数据从源LUN读出并写入所述缓冲区的写命令;
所述统计单元201,还用于统计最近N个周期中写命令命中率大于预设命中率阈值的第一周期的个数;
所述统计单元201,还用于统计最近N个周期中第二写命令的个数大于预设的第一数量阈值的第二周期的个数;
切换单元202,用于如果统计的第一周期的个数小于M个、且第二周期的个数小于L个,则维持所述第一复制模式,其中,M、L均小于或等于N。
作为一个实施例,所述装置还包括:
所述切换单元202,还用于如果统计的第一周期的个数不小于M个,或者,统计的第二周期的个数不小于L个,则切换到第二复制模式,其中,所述第二复制模式下写入源LUN的待复制数据同时写入缓冲区,所述第二复制模式用于指示按照缓冲区中数据记录的顺序将缓冲区中的待复制数据复制到目标LUN中;
写入单元,用于遍历缓冲区中已有数据记录,针对每一个已有数据记录,如果该数据记录包括的存储位置为空,则从源LUN中读取该数据记录包括的逻辑地址段处的待复制数据写入缓冲区;
更新单元,用于更新该数据记录包括的存储位置为该待复制数据在所述缓冲区中的存储位置。
作为一个实施例,所述装置还包括:
所述统计单元201,还用于在第一复制模式或第二复制模式下,统计并记录每一个周期的缓冲区平均响应时间;
所述统计单元201,还用于统计最近N个周期中缓冲区平均响应时间大于预设响应时间阈值的第三周期的个数;
所述切换单元202,还用于如果统计的第三周期的个数大于K个,则切换到第三复制模式,其中,K小于或等于N,所述第三复制模式用于指示按照源LUN对应的差异位图将源LUN中待复制数据复制到目标LUN中,所述源LUN按照预设逻辑块大小划分为多个逻辑块,所述差异位图包括与各逻辑块分别对应的差异位,所述差异位的值用于标识对应逻辑块中是否有待复制数据;
确定单元,用于遍历缓冲区中已有数据记录,针对每一个已有数据记录,确定该数据记录包括的逻辑地址段所涉及的至少一个目标逻辑块;
更新单元,用于更新所述差异位图中各目标逻辑块对应的差异位的值为目标值,所述目标值用于标识对应逻辑块中有待复制数据。
作为一个实施例,所述统计单元201,还用于在所述切换单元202切换到第二复制模式后,统计缓冲区中已有数据记录的个数;
所述切换单元202,还用于如果统计的个数小于预设的第二数量阈值,切换到所述第一复制模式。
作为一个实施例,所述统计单元201统计缓冲区中已有数据记录的个数,包括:
在从第一复制模式切换到第二复制模式后,累计第二复制模式的持续时长;
当所述持续时长达到预设时长阈值时,统计缓冲区中已有数据记录的个数。
至此,完成图2所示装置的描述。
由以上描述可以看出,本申请实施例中,存储设备支持多种复制模式,通过实时监测源LUN对应缓冲区的使用情况,确定当前复制模式对存储设备前端业务性能的影响,在确定当前复制模式无法满足前端业务处理性能要求时,切换到其它可以满足前端业务处理性能要求的复制模式。即,通过动态调整复制模式,达到提升存储设备整体性能的目的。
以上所述仅为本申请实施例的较佳实施例而已,并不用以限制本申请,凡在本申请实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (10)

1.一种LUN数据复制方法,其特征在于,应用于存储设备,所述存储设备包括待复制的源LUN,所述源LUN对应有缓冲区,所述缓冲区用于存储按照写入顺序生成的所述源LUN中待复制数据的数据记录以及待复制数据,所述数据记录包括待复制数据在所述源LUN中对应逻辑地址段以及该待复制数据在所述缓冲区中的存储位置,所述源LUN还对应有用于复制该源LUN对应数据的目标LUN,所述方法包括:
在第一复制模式下,按照预设周期统计并记录每一个周期的写命令命中率,所述写命令命中率为当前周期内第一写命令的个数占当前周期内接收到的所有写命令的总个数的比例,其中,所述第一写命令包括的待写入逻辑地址段与缓冲区中目标数据记录包括的逻辑地址段存在重叠,且该目标数据记录包括的存储位置为空,所述存储位置为空表示所属数据记录对应的待复制数据不在缓冲区中而在源LUN中,所述第一复制模式用于指示按照缓冲区中数据记录的顺序将源LUN和缓冲区中的待复制数据复制到目标LUN中;
统计并记录每一个周期内第二写命令的个数,所述第二写命令为所述第一写命令中触发达到预设数量个目标数据记录对应的待复制数据从源LUN读出并写入所述缓冲区的写命令;
统计最近N个周期中写命令命中率大于预设命中率阈值的第一周期的个数;
统计最近N个周期中第二写命令的个数大于预设的第一数量阈值的第二周期的个数;
如果统计的第一周期的个数小于M个、且第二周期的个数小于L个,则维持所述第一复制模式,其中,M、L均小于或等于N。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
如果统计的第一周期的个数不小于M个,或者,统计的第二周期的个数不小于L个,则切换到第二复制模式,其中,所述第二复制模式下写入源LUN的待复制数据同时写入缓冲区,所述第二复制模式用于指示按照缓冲区中数据记录的顺序将缓冲区中的待复制数据复制到目标LUN中;
遍历缓冲区中已有数据记录,针对每一个已有数据记录,如果该数据记录包括的存储位置为空,则从源LUN中读取该数据记录包括的逻辑地址段处的待复制数据写入缓冲区,并更新该数据记录包括的存储位置为该待复制数据在所述缓冲区中的存储位置。
3.如权利要求1或2所述的方法,其特征在于,所述方法还包括:
在第一复制模式或第二复制模式下,统计并记录每一个周期的缓冲区平均响应时间;
统计最近N个周期中缓冲区平均响应时间大于预设响应时间阈值的第三周期的个数;
如果统计的第三周期的个数大于K个,则切换到第三复制模式,其中,K小于或等于N,所述第三复制模式用于指示按照源LUN对应的差异位图将源LUN中待复制数据复制到目标LUN中,所述源LUN按照预设逻辑块大小划分为多个逻辑块,所述差异位图包括与各逻辑块分别对应的差异位,所述差异位的值用于标识对应逻辑块中是否有待复制数据;
遍历缓冲区中已有数据记录,针对每一个已有数据记录,确定该数据记录包括的逻辑地址段所涉及的至少一个目标逻辑块;
更新所述差异位图中各目标逻辑块对应的差异位的值为目标值,所述目标值用于标识对应逻辑块中有待复制数据。
4.如权利要求2所述的方法,其特征在于,所述切换到第二复制模式之后,所述方法还包括:
统计缓冲区中已有数据记录的个数;
如果统计的个数小于预设的第二数量阈值,切换到所述第一复制模式。
5.如权利要求4所述的方法,其特征在于,所述统计缓冲区中已有数据记录的个数,包括:
在从第一复制模式切换到第二复制模式后,累计第二复制模式的持续时长;
当所述持续时长达到预设时长阈值时,统计缓冲区中已有数据记录的个数。
6.一种LUN数据复制装置,其特征在于,应用于存储设备,所述存储设备包括待复制的源LUN,所述源LUN对应有缓冲区,所述缓冲区用于存储按照写入顺序生成的所述源LUN中待复制数据的数据记录以及待复制数据,所述数据记录包括待复制数据在所述源LUN中对应逻辑地址段以及该待复制数据在所述缓冲区中的存储位置,所述源LUN还对应有用于复制该源LUN对应数据的目标LUN,所述装置包括:
统计单元,用于在第一复制模式下,按照预设周期统计并记录每一个周期的写命令命中率,所述写命令命中率为当前周期内第一写命令的个数占当前周期内接收到的所有写命令的总个数的比例,其中,所述第一写命令包括的待写入逻辑地址段与缓冲区中目标数据记录包括的逻辑地址段存在重叠,且该目标数据记录包括的存储位置为空,所述存储位置为空表示所属数据记录对应的待复制数据不在缓冲区中而在源LUN中,所述第一复制模式用于指示按照缓冲区中数据记录的顺序将源LUN和缓冲区中的待复制数据复制到目标LUN中;
所述统计单元,还用于统计并记录每一个周期内第二写命令的个数,所述第二写命令为所述第一写命令中触发达到预设数量个目标数据记录对应的待复制数据从源LUN读出并写入所述缓冲区的写命令;
所述统计单元,还用于统计最近N个周期中写命令命中率大于预设命中率阈值的第一周期的个数;
所述统计单元,还用于统计最近N个周期中第二写命令的个数大于预设的第一数量阈值的第二周期的个数;
切换单元,用于如果统计的第一周期的个数小于M个、且第二周期的个数小于L个,则维持所述第一复制模式,其中,M、L均小于或等于N。
7.如权利要求6所述的装置,其特征在于,所述装置还包括:
所述切换单元,还用于如果统计的第一周期的个数不小于M个,或者,统计的第二周期的个数不小于L个,则切换到第二复制模式,其中,所述第二复制模式下写入源LUN的待复制数据同时写入缓冲区,所述第二复制模式用于指示按照缓冲区中数据记录的顺序将缓冲区中的待复制数据复制到目标LUN中;
写入单元,用于遍历缓冲区中已有数据记录,针对每一个已有数据记录,如果该数据记录包括的存储位置为空,则从源LUN中读取该数据记录包括的逻辑地址段处的待复制数据写入缓冲区;
更新单元,用于更新该数据记录包括的存储位置为该待复制数据在所述缓冲区中的存储位置。
8.如权利要求6或7所述的装置,其特征在于,所述装置还包括:
所述统计单元,还用于在第一复制模式或第二复制模式下,统计并记录每一个周期的缓冲区平均响应时间;
所述统计单元,还用于统计最近N个周期中缓冲区平均响应时间大于预设响应时间阈值的第三周期的个数;
所述切换单元,还用于如果统计的第三周期的个数大于K个,则切换到第三复制模式,其中,K小于或等于N,所述第三复制模式用于指示按照源LUN对应的差异位图将源LUN中待复制数据复制到目标LUN中,所述源LUN按照预设逻辑块大小划分为多个逻辑块,所述差异位图包括与各逻辑块分别对应的差异位,所述差异位的值用于标识对应逻辑块中是否有待复制数据;
确定单元,用于遍历缓冲区中已有数据记录,针对每一个已有数据记录,确定该数据记录包括的逻辑地址段所涉及的至少一个目标逻辑块;
更新单元,用于更新所述差异位图中各目标逻辑块对应的差异位的值为目标值,所述目标值用于标识对应逻辑块中有待复制数据。
9.如权利要求7所述的装置,其特征在于:
所述统计单元,还用于在所述切换单元切换到第二复制模式后,统计缓冲区中已有数据记录的个数;
所述切换单元,还用于如果统计的个数小于预设的第二数量阈值,切换到所述第一复制模式。
10.如权利要求9所述的装置,其特征在于,所述统计单元统计缓冲区中已有数据记录的个数,包括:
在从第一复制模式切换到第二复制模式后,累计第二复制模式的持续时长;
当所述持续时长达到预设时长阈值时,统计缓冲区中已有数据记录的个数。
CN202111250152.3A 2021-10-26 2021-10-26 Lun数据复制方法及装置 Active CN113986129B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111250152.3A CN113986129B (zh) 2021-10-26 2021-10-26 Lun数据复制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111250152.3A CN113986129B (zh) 2021-10-26 2021-10-26 Lun数据复制方法及装置

Publications (2)

Publication Number Publication Date
CN113986129A CN113986129A (zh) 2022-01-28
CN113986129B true CN113986129B (zh) 2023-04-25

Family

ID=79741867

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111250152.3A Active CN113986129B (zh) 2021-10-26 2021-10-26 Lun数据复制方法及装置

Country Status (1)

Country Link
CN (1) CN113986129B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105487944A (zh) * 2015-12-31 2016-04-13 成都华为技术有限公司 数据备份系统中复制模式转换的方法及装置
CN112559388A (zh) * 2020-12-14 2021-03-26 杭州宏杉科技股份有限公司 数据缓存方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006236019A (ja) * 2005-02-25 2006-09-07 Hitachi Ltd データコピー方式の切替方法
CN100570575C (zh) * 2008-04-18 2009-12-16 成都市华为赛门铁克科技有限公司 一种数据备份的方法和装置
JP2015052844A (ja) * 2013-09-05 2015-03-19 富士通株式会社 コピー制御装置,コピー制御方法及びコピー制御プログラム
JP6350090B2 (ja) * 2014-08-06 2018-07-04 富士通株式会社 ストレージ制御装置、コピー制御プログラム、およびコピー制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105487944A (zh) * 2015-12-31 2016-04-13 成都华为技术有限公司 数据备份系统中复制模式转换的方法及装置
CN112559388A (zh) * 2020-12-14 2021-03-26 杭州宏杉科技股份有限公司 数据缓存方法及装置

Also Published As

Publication number Publication date
CN113986129A (zh) 2022-01-28

Similar Documents

Publication Publication Date Title
US8327076B2 (en) Systems and methods of tiered caching
KR101702201B1 (ko) 솔리드 스테이트 드라이브(ssd)에 대한 최적화된 컨텍스트 드롭
KR100584255B1 (ko) 플래시 메모리를 위한 포스트방식의 라이트-스루 캐시
CN109496300B (zh) 一种存储介质垃圾回收方法、存储介质和程序产品
US8312217B2 (en) Methods and systems for storing data blocks of multi-streams and multi-user applications
US7171515B2 (en) Storage unit with improved performance by purging unnecessary data and transferring data with high probability of future hits to a segment buffer
US20150254005A1 (en) High speed input/output performance in solid state devices
US10346096B1 (en) Shingled magnetic recording trim operation
KR102335838B1 (ko) 에너지-백 메모리에 대한 영구 기록 데이터
US8947817B1 (en) Storage system with media scratch pad
US10089234B2 (en) Disk cache allocation
US9785438B1 (en) Media cache cleaning based on workload
US10180792B1 (en) Cache management in data storage systems
CN115599589B (zh) 一种数据恢复方法及相关装置
US20210132818A1 (en) Techniques for prolonging lifespan of storage drives
CN104917788A (zh) 一种数据存储方法及装置
JP2003196032A (ja) ストレージ装置のライトキャッシュ制御方法及びストレージ装置
US8380952B2 (en) Storage system and data storage method using storage system which decides size of data to optimize the total of data size transfer efficiency
CN110795031A (zh) 一种基于全闪存储的数据重删方法、装置和系统
US6678787B2 (en) DASD-free non-volatile updates
CN113986129B (zh) Lun数据复制方法及装置
CN111459402B (zh) 磁盘可控缓冲写方法、控制器、混合io调度方法及调度器
CN112579483B (zh) 一种叠瓦式磁记录磁盘的数据恢复方法、装置
JP2021135538A (ja) ストレージ制御装置及びストレージ制御プログラム
CN110348245B (zh) 基于nvm的数据完整性保护方法、系统、装置及存储介质

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