CN116113931A - 释放数据存储轨道同时保持逻辑损坏保护 - Google Patents

释放数据存储轨道同时保持逻辑损坏保护 Download PDF

Info

Publication number
CN116113931A
CN116113931A CN202180057818.5A CN202180057818A CN116113931A CN 116113931 A CN116113931 A CN 116113931A CN 202180057818 A CN202180057818 A CN 202180057818A CN 116113931 A CN116113931 A CN 116113931A
Authority
CN
China
Prior art keywords
backup
data
storage
storage volume
volume
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
CN202180057818.5A
Other languages
English (en)
Inventor
M·桑切斯
T·M·布朗
N·Y·弗朗西斯科
N·M·克莱顿
D·B·施雷伯
M·利佩茨
J·M·明奇
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN116113931A publication Critical patent/CN116113931A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • 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/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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

一种计算机实现的方法,包括:接收存储卷内要释放的轨道范围的指示;识别对应于该轨道范围的存储卷的备份存储空间内的数据备份;以及响应于确定备份存储空间内对应的数据备份已到期,释放存储卷内的轨道范围。

Description

释放数据存储轨道同时保持逻辑损坏保护
背景技术
本发明涉及实现对数据的逻辑损坏保护(logical corruption protection,LCP),更具体地,本发明涉及在保持LCP的同时释放数据存储轨道。
为了对存储卷内的数据实施LCP,可以创建备份存储空间并将其用于存储来自存储卷的数据的备份。例如,存储卷内的预先确定的数据的时间点快照可以被创建并且可以被存储在备份存储空间内。这些数据备份可以用于恢复存储卷内丢失或损坏的数据。
另外,可以在存储卷上运行空间释放实用程序以识别存储卷的当前未被使用和可被释放以用于未来数据存储的轨道。这可以通过将存储卷的未使用部分改变用途来增加存储系统的可用容量。
然而,数据备份可以依赖存储卷内存储的轨道,以响应于数据丢失/损坏而恢复存储卷内的数据。如果响应于来自空间释放实用程序的命令释放这些轨道中的一个或多个,则依赖于那些轨道的任何相关联的数据备份可能不再能够恢复存储卷内的数据。这可能导致不能经由LCP解决的存储卷中的数据丢失/损坏。
发明内容
根据一个方面的一种计算机实现的方法包括:接收存储卷内要释放的轨道范围的指示;识别对应于轨道范围的存储卷的备份存储空间内的数据备份;以及响应于确定备份存储空间内对应的数据备份已到期,释放存储卷内的轨道范围。
以此方式,被调度用于经由来自存储卷的轨道释放而从存储卷移除的数据可以仅在依赖于该数据的所有备份在备份存储空间内到期时被移除。这可以确保备份存储空间内的所有备份具有存储卷内可用的所有相关联数据,以便在必要时执行数据恢复。这可以根据LCP实现维持存储卷内的数据的安全性。
在一个实施例中,备份存储空间被创建作为用于存储卷内的数据的LCP实现方式的一部分。
根据另一方面,一种用于在维持逻辑损坏保护的同时释放数据存储轨道的计算机程序产品包括计算机可读存储介质,该计算机可读存储介质具有程序指令,其中该计算机可读存储介质本身不是瞬态信号,并且其中该程序指令可由处理器执行以使该处理器执行一种方法,该方法包括:由处理器接收在存储卷内要释放的轨道范围的指示;由处理器识别对应于轨道范围的存储卷的备份存储空间内的数据备份;以及响应于确定备份存储空间内对应的数据备份已到期,由处理器释放存储卷内的轨道范围。
在一个实施例中,将在存储卷内释放的轨道范围的指示被存储在空间释放位图(space release bitmap,SRBM)内。以此方式,可异步地释放轨道范围(例如,在晚于接收到指示的时间的时间等)。
根据另一方面,一种系统包括:处理器;以及与处理器集成、可由处理器执行、或与处理器集成并且可由处理器执行的逻辑,其中逻辑被配置成接收存储卷内要释放的轨道范围的指示;识别对应于轨道范围的存储卷的备份存储空间内的数据备份;以及响应于确定备份存储空间内对应的数据备份已到期,释放存储卷内的轨道范围。
以这种方式,通过确保在轨道范围释放期间对存储卷实施LCP,可以保护存储卷免受逻辑损坏,这可以提高存储卷本身的性能。进一步,释放存储卷内的盘区可减少存储卷内的已用空间量,这可改善存储卷的性能(例如,如果存储卷是精简配置的,等等)。
在一个实施例中,响应于确定数据备份依赖于轨道范围内的一个或多个轨道以便执行存储卷的数据恢复,将备份存储空间内的数据备份识别为对应于轨道范围。
根据另一实施例,一种计算机实现的方法包括:接收对存储卷内要释放的轨道范围的指示;将对存储卷内要释放的轨道范围的指示存储在空间释放位图(SRBM)内;响应于确定数据备份依赖于轨道范围内的一个或多个轨道以便执行存储卷的数据恢复,识别对应于轨道范围的存储卷的备份存储空间内的数据备份;以及响应于从备份存储空间接收到备份存储空间内对应的数据备份已经到期的指示,释放存储卷内的轨道范围。
根据另一方面,一种用于在维持逻辑损坏保护的同时释放数据存储轨道的计算机程序产品包括计算机可读存储介质,该计算机可读存储介质具有程序指令,其中该计算机可读存储介质不是瞬态信号本身,并且其中该程序指令可由处理器执行以使该处理器执行一种方法,该方法包括:由处理器接收存储卷内要释放的轨道范围的指示;由处理器将存储卷内要释放的轨道范围的指示存储在空间释放位图(SRBM)内;响应于确定数据备份依赖于轨道范围内的一个或多个轨道以便执行存储卷的数据恢复,由处理器在用于对应于轨道范围的存储卷的备份存储空间内识别数据备份;以及响应于从备份存储空间接收到备份存储空间内对应的数据备份已经到期的指示,由处理器释放存储卷内的轨道范围。
通过以下详细描述,本发明的其他方面和实施例将变得显而易见,当结合附图时,详细描述以举例方式说明本发明的原理。
附图说明
图1示出了根据本发明一个方面的云计算环境。
图2示出了根据本发明的一个方面的抽象模型层。
图3示出了根据本发明的一个方面的云计算节点。
图4示出了根据本发明的一个方面的分层数据存储系统。
图5示出了根据本发明的一个方面的示例性受保护的备份配置。
图6示出了根据本发明的一个方面的示例性CSM受保护的副本会话。
图7示出了根据本发明的一个方面的示例性受保护的副本配置。
图8示出了根据本发明的一个方面,用于在保持逻辑损坏保护的同时释放数据存储轨道的方法的流程图。
图9示出了根据本发明的一个方面的示例性逻辑损坏保护存储环境。
具体实施方式
以下描述是为了说明本发明的一般原理而进行的,并且不意味着限制在此要求的发明概念。进一步,本文中所描述的特定特征可以与不同可能的组合和置换中的每一者中的其他所描述特征组合使用。
除非本文中另外特别限定,否则所有术语将被给予它们的最广泛的可能解释,包括从说明书中暗示的含义以及本领域技术人员所理解的含义和/或如在词典、论文等中限定的含义。
还必须注意的是,除非另外说明,如在说明书和所附权利要求中使用的,单数形式“a”、“an”和“the”包括复数指示物。还应当理解,当在本说明书中使用术语“包括(comprises)”和/或“包含(comprising)”时,其指定特征、整体、步骤、操作、元件和/或部件的存在,但不排除一个或多个其他特征、整体、步骤、操作、元件、部件和/或其组合的存在或添加。
以下描述公开了释放数据存储轨道同时保持逻辑损坏保护的若干方面。
在一个总体方面,一种计算机实现的方法包括:接收存储卷内要释放的轨道范围的指示;识别对应于轨道范围的存储卷的备份存储空间内的数据备份;以及响应于确定备份存储空间内对应的数据备份已到期,释放存储卷内的轨道范围。
以此方式,被调度用于经由来自存储卷的轨道释放而从存储卷移除的数据可以仅在依赖于该数据的所有备份在备份存储空间内到期时被移除。这可以确保备份存储空间内的所有备份具有存储卷内可用的所有相关联数据,以便在必要时执行数据恢复。这可以根据LCP实现维持存储卷内的数据的安全性。
在一个总体方面,备份存储空间被创建作为用于存储卷内的数据的逻辑损坏保护(LCP)实现方式的一部分。
根据另一一般方面,一种用于在维持逻辑损坏保护的同时释放数据存储轨道的计算机程序产品包括计算机可读存储介质,该计算机可读存储介质具有程序指令,其中该计算机可读存储介质本身不是瞬态信号,并且其中该程序指令可由处理器执行以使该处理器执行一种方法,该方法包括:由处理器接收在存储卷内将释放的轨道范围的指示;由处理器识别对应于轨道范围的存储卷的备份存储空间内的数据备份;以及响应于确定备份存储空间内对应的数据备份已到期,由处理器释放存储卷内的轨道范围。
在一个一般方面,将在存储卷内释放的轨道范围的指示被存储在空间释放位图(SRBM)内。以此方式,可异步地释放轨道范围(例如,在晚于接收到指示的时间的时间等)。
根据另一一般方面,一种系统包括:处理器;以及与处理器集成、可由处理器执行、或与处理器集成并且可由处理器执行的逻辑,其中逻辑被配置成接收存储卷内要释放的轨道范围的指示;识别对应于轨道范围的存储卷的备份存储空间内的数据备份;以及响应于确定备份存储空间内对应的数据备份已到期,释放存储卷内的轨道范围。
以这种方式,通过确保在轨道范围释放期间对存储卷实施LCP,可以保护存储卷免受逻辑损坏,这可以提高存储卷本身的性能。进一步,释放存储卷内的盘区可减少存储卷内的已用空间量,这可改善存储卷的性能(例如,如果存储卷是精简配置的,等等)。
在一个总体方面,响应于确定数据备份依赖于轨道范围内的一个或多个轨道以便执行存储卷的数据恢复,将备份存储空间内的数据备份识别为对应于轨道范围。
根据另一一般方面,一种计算机实现的方法包括:接收对存储卷内要释放的轨道范围的指示;将存储卷内要释放的轨道范围的指示存储在空间释放位图(SRBM)内;响应于确定数据备份依赖于轨道范围内的一个或多个轨道以便执行存储卷的数据恢复,识别对应于轨道范围的存储卷的备份存储空间内的数据备份;以及响应于从备份存储空间接收到备份存储空间内对应的数据备份已经到期的指示,释放存储卷内的轨道范围。
根据另一方面,一种用于在维持逻辑损坏保护的同时释放数据存储轨道的计算机程序产品包括计算机可读存储介质,该计算机可读存储介质具有程序指令,其中该计算机可读存储介质本身不是瞬态信号,并且其中该程序指令可由处理器执行以使该处理器执行一种方法,该方法包括:由该处理器接收在存储卷内要释放的轨道范围的指示;由处理器将存储卷内要释放的轨道范围的指示存储在空间释放位图(SRBM)内;响应于确定数据备份依赖于轨道范围内的一个或多个轨道以便执行存储卷的数据恢复,由处理器在用于对应于轨道范围的存储卷的备份存储空间内识别数据备份;以及响应于从备份存储空间接收到备份存储空间内对应的数据备份已经到期的指示,由处理器释放存储卷内的轨道范围。
应当理解,虽然本公开包括关于云计算的详细描述,但是本文所引用的教导的实现不限于云计算环境。相反,本发明的各方面能够结合现在已知或以后开发的任何其他类型的计算环境来实现。
云计算是服务交付的模型,用于使得能够方便地、按需地网络访问可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池,可配置计算资源可以以最小的管理努力或与服务的提供者的交互来快速供应和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
特性如下:
按需自助服务:云消费者可以单方面地根据需要自动地提供计算能力,诸如服务器时间和网络存储,而不需要与服务的提供者的人工交互。
广泛的网络接入:能力可通过网络获得并且通过标准机制接入,该标准机制促进异构瘦客户机平台或厚客户机平台(例如,移动电话、膝上型计算机和PDA)的使用。
资源池:提供者的计算资源被池化以使用多租户模型来服务于多个消费者,其中不同的物理和虚拟资源根据需要动态地指派和重新指派。存在位置独立性的感觉,因为消费者通常不具有对所提供的资源的确切位置的控制或了解,但可能能够以较高抽象级别(例如,国家、州或数据中心)指定位置。
快速弹性:能够快速和弹性地提供能力,在一些情况下自动地快速缩小和快速释放以快速放大。对于消费者而言,可用于供应的能力通常显得不受限制并且可以在任何时间以任何数量购买。
测量的服务:云系统通过在适合于服务类型(例如,存储、处理、带宽和活动用户账户)的某个抽象级别处利用计量能力来自动控制和优化资源使用。可以监视、控制和报告资源使用,为所利用的服务的提供者和消费者提供透明度。
服务模型如下:
软件即服务(SaaS):提供给消费者的能力是使用在云基础设施上运行的提供者的应用。可通过诸如web浏览器(例如,基于web的电子邮件)之类的瘦客户端接口从不同客户端设备访问应用。消费者不管理或控制包括网络、服务器、操作系统、存储或甚至单独的应用能力的底层云基础设施,可能的例外是有限的用户特定应用配置设置。
平台即服务(PaaS):提供给消费者的能力是将消费者创建的或获取的使用由提供商支持的编程语言和工具创建的应用部署到云基础设施上。消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础设施,但是对所部署的应用和可能的应用托管环境配置具有控制。
基础设施即服务(IaaS):提供给消费者的能力是提供处理、存储、网络和消费者能够部署和运行任意软件的其他基本计算资源,软件可以包括操作系统和应用。消费者不管理或控制底层云基础设施,而是具有对操作系统、存储、所部署的应用的控制以及对所选联网组件(例如,主机防火墙)的可能受限的控制。
部署模型如下:
私有云:云基础架构仅为组织运作。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
共同体云:云基础架构被若干组织共享并支持共享了关注(例如,任务、安全要求、策略、和合规性考虑)的特定共同体。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
公共云:使云基础架构对公众或大型行业组可用,并且由出售云服务的组织拥有。
混合云:云基础架构是两个或更多个云(私有、社区或公共)的组合,这些云保持唯一实体但通过使数据和应用能够移植的标准化或专有技术(例如,云突发以用于云之间的负载平衡)绑定在一起。
云计算环境是面向服务的,集中于无状态、低耦合、模块化和语义互操作性。云计算的核心是包括互连节点网络的基础设施。
现在参见图1,描述了说明性云计算环境50。如图所示,云计算环境50包括云消费者使用的本地计算设备可以与其通信的一个或多个云计算节点10,本地计算设备诸如例如个人数字助理(PDA)或蜂窝电话54A、台式计算机54B、膝上型计算机54C和/或汽车计算机系统54N。节点10可彼此通信。它们可以物理地或虚拟地分组(未示出)在一个或多个网络中,诸如如上所述的私有云、共同体云、公共云或混合云、或其组合。这允许云计算环境50提供基础设施、平台和/或软件作为云消费者不需要为其维护本地计算设备上的资源的服务。应当理解,图1中所示的计算装置54A-N的类型仅旨在是说明性的,并且计算节点10和云计算环境50可通过任何类型的网络和/或网络可寻址连接(例如,使用网络浏览器)与任何类型的计算机化装置通信。
现在参见图2,示出了由云计算环境50(图1)提供的一组功能抽象层。应提前理解,图2中所示的组件、层和功能仅旨在是说明性的,并且本发明的方面不限于此。如所描述,提供以下层和对应功能:
硬件和软件层60包括硬件和软件组件。硬件组件的示例包括:大型机61;基于RISC(精简指令集计算机)架构的服务器62;服务器63;刀片服务器64;存储设备65;以及网络和联网组件66。在一些方面,软件组件包括网络应用服务器软件67和数据库软件68。
虚拟化层70提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器71;虚拟存储器72;虚拟网络73,包括虚拟专用网络;虚拟应用和操作系统74;以及虚拟客户端75。
在一个示例中,管理层80可以提供以下描述的功能。资源供应81提供用于在云计算环境内执行任务的计算资源和其他资源的动态采购。计量和定价82在云计算环境内利用资源时提供成本跟踪,并为这些资源的消费开账单或发票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户83为消费者和系统管理员提供对云计算环境的访问。服务水平管理84提供云计算资源分配和管理,使得满足所需的服务水平。服务水平协议(SLA)规划和履行85提供根据SLA预期未来需求的云计算资源的预安排和采购。
工作负载层90提供可以利用云计算环境的功能的示例。可以从该层提供的工作负荷和功能的示例包括:地图和导航91;软件开发和生命周期管理92;虚拟课堂教育交付93;数据分析处理94;事务处理95;以及逻辑损坏保护(LCP)96。
现在参见图3,示出了云计算节点的示例的示意图。云计算节点10仅是合适的云计算节点的一个示例,并不旨在对本文所描述的本发明的各方面的使用范围或功能提出任何限制。无论如何,云计算节点10能够被实现和/或执行上文阐述的任何功能。
在云计算节点10中,存在计算机系统/服务器12,其可与许多其他通用或专用计算系统环境或配置一起操作。可以适用于计算机系统/服务器12的公知的计算系统、环境和/或配置的示例包括但不限于个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型计算机系统、大型计算机系统和包括上述任何系统或设备的分布式云计算环境等。
计算机系统/服务器12可以在由计算机系统执行的计算机系统可执行指令(例如程序模块)的一般上下文中描述。一般而言,程序模块可包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。计算机系统/服务器12可以在分布式云计算环境中实践,其中任务由通过通信网络链接的远程处理设备执行。在分布式云计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机系统存储介质中。
如图3所示,云计算节点10中的计算机系统/服务器12以通用计算设备的形式示出。计算机系统/服务器12的组件可以包括但不限于一个或多个处理器或处理单元16、系统存储器28和将包括系统存储器28的不同系统组件耦合到处理器16的总线18。
总线18表示若干类型的总线结构中的任何一种或多种,包括存储器总线或存储器控制器、外围总线、加速图形端口、以及使用各种总线架构中的任一种的处理器或局部总线。作为示例而非限制,此类体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线以及外围组件互连(PCI)总线。
计算机系统/服务器12通常包括各种计算机系统可读介质。这样的介质可以是可由计算机系统/服务器12访问的任何可用介质,并且其包括易失性和非易失性介质、可移动和不可移动介质。
系统存储器28可包含呈易失性存储器形式的计算机系统可读媒体,例如随机存取存储器(RAM)30和/或高速缓冲存储器32。计算机系统/服务器12可以进一步包括其他可移动/不可移动、易失性/非易失性计算机系统存储介质。仅通过示例的方式,存储系统34可以被提供用于从不可移动、非易失性磁介质(未示出,并且通常被称为“硬盘驱动器”)中读取和向其写入。尽管未示出,可以提供用于从可移动非易失性磁盘(例如,“软盘”)读取或向其写入的磁盘驱动器,以及用于从可移动非易失性光盘(如CD-ROM、DVD-ROM或其他光学介质)读取或向其写入的光盘驱动器。在这样的情况下,每一个可以通过一个或多个数据介质接口连接到总线18。如以下将进一步描绘和描述的,存储器28可以包括具有被配置成用于执行本发明的多个方面的功能的一组(例如,至少一个)程序模块的至少一个程序产品。
具有一组(至少一个)程序模块42的程序/实用程序40,以及操作系统、一个或多个应用程序、其他程序模块和程序数据,可以通过示例而非限制的方式存储在存储器28中。操作系统、一个或多个应用程序、其他程序模块和程序数据中的每一个或它们的一些组合可以包括网络环境的实现方式。程序模块42通常执行如本文所描述的本发明的各方面的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、定点设备、显示器24等)通信;和/或使得计算机系统/服务器12能够与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)。这种通信可经由输入/输出(I/O)接口22进行。此外,计算机系统/服务器12可以通过网络适配器20与一个或多个网络通信,例如局域网(LAN)、通用广域网(WAN)和/或公共网络(例如互联网)。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其他组件通信。应当理解,虽然未示出,但是其他硬件和/或软件组件可以与计算机系统/服务器12结合使用。示例包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器和数据归档存储系统等。
现在参考图4,根据一个方面示出了存储系统400。要注意的是,根据各种方面,图4中所示的一些元件可实施为硬件和/或软件。存储系统400可以包括用于与至少一个较高存储层402和至少一个较低存储层406上的多个介质通信的存储系统管理器412。较高存储层402优选地可以包括一个或多个随机存取和/或直接存取介质404,诸如硬盘驱动器(HDD)中的硬盘、非易失性存储器(NVM)、固态驱动器(SSD)中的固态存储器、闪存、SSD阵列、闪存阵列等,和/或本文指出的或本领域已知的其他存取介质。较低存储层406可以优选地包括一个或多个较低性能的存储介质408,包括顺序访问介质(例如,磁带驱动器中的磁带和/或光学介质)、较慢访问的HDD、较慢访问的SSD等、和/或本文指出的或本领域已知的其他存储介质。一个或多个附加存储层416可以包括系统400的设计者期望的存储存储器介质的任何组合。而且,较高存储层402和/或较低存储层406中的任一者可包含存储装置和/或存储介质的一些组合。
存储系统管理器412可以通过网络410(例如,如图4所示的存储区域网络(storagearea network,SAN)或一些其他合适的网络类型)与较高存储层402和较低存储层406上的存储介质404、408通信。存储系统管理器412还可以通过主机接口414与一个或多个主机系统(未示出)通信,该主机接口可以是或可以不是存储系统管理器412的一部分。存储系统管理器412和/或存储系统400的任何其他组件可以在硬件和/或软件中实现,并且可利用用于执行本领域中已知类型的命令的处理器(未示出),诸如中央处理单元(CPU)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)等。当然,如本领域技术人员在阅读本说明书时将显而易见的,可以使用存储系统的任何布置。
在更多的方面,存储系统400可以包括任何数量的数据存储层,并且可以在每个存储层内包括相同或不同的存储存储介质。例如,每个数据存储层可以包括相同类型的存储存储介质,诸如HDD、SSD、顺序访问介质(磁带驱动器中的磁带、光盘驱动器中的光盘等)、直接访问介质(CD-ROM、DVD-ROM等)或媒体存储类型的任何组合。在一个这样的配置中,较高存储层402可以包括用于在较高性能的存储环境中存储数据的大部分SSD存储介质,并且包括较低存储层406和附加存储层416的剩余存储层可以包括用于在较低性能的存储环境中存储数据的SSD、HDD、磁带驱动器等的任何组合。以此方式,可将更频繁存取的数据、具有较高优先级的数据、需要更快速存取的数据等存储到较高存储层402,而可将不具有这些属性中的一者的数据存储到附加存储层416,包含较低存储层406。当然,本领域技术人员在阅读本描述后,根据本文呈现的方面,可以设计存储介质类型的许多其他组合以实现成不同的存储方案。
根据一些方面,存储系统(例如400)可以包括配置成接收打开数据集的请求的逻辑,配置成确定所请求的数据集是否在多个相关联部分中存储到分层数据存储系统400的较低存储层406的逻辑,被配置为将所请求的数据集合的每个关联部分移动到分层数据存储系统400的较高存储层402的逻辑,以及被配置为在分层数据存储系统400的较高存储层402上从关联部分组装所请求的数据集合的逻辑。
当然,根据不同方面,该逻辑可以被实现为任何设备和/或系统上的方法或计算机程序产品。
逻辑数据损坏
在一个方面,当数据存储硬件完好和正确工作时发生逻辑数据损坏,但是在内容级别上,存储的数据被破坏和/或损坏。这可由于有意或无意的数据删除、加密和操作而发生。例如,逻辑数据损坏可以由于用户错误、数据的疏忽或恶意毁坏、数据可能在未经许可的情况下被加密的勒索软件实现等引起的应用损坏引起。
为了解决逻辑数据损坏,逻辑损坏保护(LCP)可能需要实施内容感知解决方案。例如,受保护的副本(safeguarded copy,SGC)对存储在分布式存储系统中的数据实施LCP,并且可以实施逻辑数据损坏事件的识别,以及从这样的事件恢复。
受保护的副本的示例性目标
在一个方面中,受保护的副本具有以下示例性目标:
·允许创建具有优化容量使用和最小性能影响的跨多个卷或存储系统的许多恢复副本。·当生产环境继续运行时,使任何先前的恢复点在一组恢复卷上可用。
·保护副本的数据安全,以防止其意外或故意损坏。
·避免使用分布式存储系统设备号和主机设备地址。
受保护的副本可以不同于数据的时间点完整卷快照,它可以提供生产卷的即时可访问的副本,其中从数据角度来看,每个副本独立于其他副本。
示例性受保护的副本操作
图5示出了根据一个示例性方面的示例性受保护的备份配置500。如图所示,受保护的副本提供创建生产卷504(例如,存储卷,诸如源/受保护的源)的多个恢复点502的功能。这些恢复点502被称为受保护的备份(例如,备份/SG备份)。在一个方面,恢复数据不被存储在单独的常规卷中,而是被存储在被称为受保护的备份容量(safeguarded backupcapacity,SGBC)的备份存储空间506中。备份不能被主机直接访问。该数据可仅在备份被恢复到单独的恢复卷508之后使用。
当恢复点502已经恢复到恢复卷508时,可以使用恢复系统510访问它。这个系统可以或可以不与生产系统512相同,这取决于安全要求。异步数据复制/镜像可用于将数据从恢复系统510恢复到生产卷504。生产卷504可以位于与恢复卷508相同或不同的分布式数据存储系统中。
生产环境可以由跨一个或多个存储系统的数百或数千个卷504组成。逻辑损坏保护的重要方面是提供跨作为备份的一部分的所有卷一致的恢复点。这些恢复点被称为一致性组(consistency group,CG)。
示例性备份管理
受保护的副本备份可以被保护免受无意或有意的篡改。例如,用户可以不使用分布式存储系统管理接口手动地创建、删除或恢复。副本服务管理器(Copy ServicesManager,CSM)的实例可用于执行这些任务。CSM可使用会话概念来管理完整的一致性群组。
图6示出根据一个示例性方面的示例性CSM受保护复制会话600。如图所示,会话600包括多个副本集合606A-N。每个待备份的生产卷设置一个副本。多个副本集合606A-N中的每包括具有相关联的受保护的备份容量608A-N(例如,备份存储空间)的生产/源/存储卷604A-N和恢复卷602A-N。CSM对完整会话600执行动作,如备份和恢复。CSM可使用内置调度器来自动运行这些操作。
CSM还管理备份的生命周期。可指定备份的保留时段,并且CSM可自动期满(移除)在该保留时段之后不需要的备份。这可以简化和安全管理,并且可以确保跨会话保持一致性。
示例性受保护的备份容量
受保护的备用容量608A-N可以是精简配置的。小范围可用于改善效率。在没有任何现有的受保护的备份的情况下,受保护的备份容量是与源卷相关联的纯虚拟容量。在创建备份时分配物理存储空间,并且将原始卷中被重写的数据保存在备份中。以轨道粒度保存备份数据。
可为待备份的每个卷指定最大量的受保护的备份容量。当已经达到指定的容量时,最旧的备份被自动移除以释放空间。只要对于给定卷存在任何受保护的备份,就可以防止其相关联的受保护的备份容量被删除。如果存储池在物理空间上运行较短,无论其是用于备份还是生产数据,分布式存储系统可根据池设置发送通知。如果受保护的关系所使用的存储池被确定为用完物理空间(例如,如果可用物理空间的量变得小于阈值量,等等),则也可以通过微代码自动移除受保护的备份。
示例性受保护的副本备份
当发起受保护的副本备份时,分布式存储系统创建一致性组。它建立元数据和位图以便跟踪对生产卷的更新。在备份建立之后,分布式存储系统将待由主机I/O覆盖的数据从生产卷复制到受保护的备份容量内的一致性组记录位置。
当发起下一备份时,分布式存储系统可关闭前一备份并且可创建新的一致性组。因此,系统可能不必单独地维护每个备份。为了恢复到某个恢复点,分布式存储系统需要比恢复的备份更年轻的所有备份。
为了最小化创建一致性组的影响,受保护的副本备份处理可以由三个步骤组成:1.预留:在该步骤中,分布式存储系统准备创建新的受保护的备份。该系统建立所需的位图并在受保护的副本容量中准备元数据。其还确保来自先前备份的所有改变的数据存储在其一致性组日志中。在完成所有准备之后,可以进行实际的一致性组形成。
2.签到:为了创建一致性组,分布式存储系统必须在短时间段内停止CG内的所有卷的所有更新。它通过呈现扩展的长忙(ELB)状态来这样做。当缓存中的数据一致时,则关闭所有受影响卷的上一致性组日志,因此也是一致的。从现在开始,分布式存储系统将进一步的备份数据写入新备份的一致性组日志中。
3.完成:分布式存储系统提升ELB并且写入操作可以继续。副本服务管理器自动协调并执行这些步骤,并且对主机操作具有最小的影响。
示例性受保护的副本恢复
用户可以将任何恢复点恢复到单独的恢复卷。该卷必须具有与生产卷至少相同的容量,并且可以被精简配置。用户可以利用后台副本或不利用后台副本执行恢复。如果用户仅在有限的时间段内需要恢复的数据,则用户可以指定不复制命令(no copy command),并且如果用户打算在更长的时间段内使用该命令,则用户可以指定复制命令(copycommand)。用户可通过CSM发起受保护副本恢复。
图7示出了根据一个示例性方面的示例性受保护的副本配置700。如图所示,受保护的副本配置700包括生产卷702(例如,存储卷)、恢复卷704和表示存储在备份存储空间内的四个恢复点的四个受保护的备份(例如,一致性组日志t1 706A-t4 706D,其中t4是最近的)。在一个方面,可以恢复到时间点t2,具有不复制(no copy)选项。恢复包括以下步骤:
1.分布式存储系统建立从生产卷702到恢复卷704的数据的时间点快照。这使得回收体积704与生产体积702相同。
2.分布式存储系统随后创建恢复位图708,该恢复位图708指示自时间t2起改变且必须从一致性组日志t4 706D、t3 706C和t2 706B而不是从生产卷702引用的所有数据。
从这一点,可以使用恢复卷704来执行读取和写入访问。如果恢复系统710从恢复卷704读取数据,那么分布式存储系统检查恢复位图708并决定其是否必须从生产卷702或从一致性组日志t1 706A-t4 706D中的一个提取请求的数据。如果相同的轨道在多于一个备份中出现,系统可以使用“最老的”实例(最靠近恢复点t2 706B的实例)。
如果恢复系统710写入恢复卷704,则可能发生两种情况之一:
·全轨道写入:分布式存储系统可直接写入恢复卷704而不考虑现有数据
·部分轨道写入:分布式存储系统必须根据上述规则首先提取现有数据,然后可以应用更新。
如果利用后台副本执行恢复,则分布式存储系统遵循相同的规则将来自生产卷702和一致性组日志t1 706A-t4 706D的所有数据复制到后台中的恢复卷704。你可以在后台副本仍然运行时的任何时间访问恢复卷704。
在数据恢复到原始生产卷702的情况下,若干选择可用:
·全卷恢复:全局副本可以用于将数据从恢复卷704复制到生产卷702。生产卷702
可以在与恢复卷704相同或不同的分布式存储系统上。
·选择性恢复:使生产卷702可用于恢复系统710,或使恢复卷704可用于生产系统712。
然后,标准操作系统或应用方法可以用于将所需数据从恢复卷704复制到生产卷702。
现在参考图8,示出了根据一个方面的方法800的流程图。在各种方面中,除其他之外,方法800可以根据本发明在图1-7和图9中描绘的任何环境中执行。当然,如本领域技术人员在阅读本描述之后将理解的,方法800中可包括比图8中具体描述的操作更多或更少的操作。
方法800的每个步骤可以由操作环境的任何合适的组件执行。例如,在各个方面,方法800可以部分地或全部地由一个或多个服务器、计算机或其中具有一个或多个处理器的某个其他设备来执行。处理器(例如,以硬件和/或软件实现并且优选地具有至少一个硬件部件的处理电路、芯片和/或模块)可以在任何设备中用于执行方法800的一个或多个步骤。说明性处理器包括但不限于中央处理单元(CPU)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等、其组合、或本领域已知的任何其他合适的计算设备。
如图8所示,方法800可以开始于操作802,其中接收存储卷内要释放的轨道范围的指示。在一个方面,存储卷可以包括在互连的存储系统(例如,分布式数据存储系统等)内。在另一方面中,存储卷可以被包括在单个设备内(例如,在单个磁盘操作系统(diskoperating system,DOS)内等)。在又一个方面,存储卷可以包括一个或多个有形存储驱动器。
另外,在一个方面,备份存储空间可以被创建作为用于存储卷内的数据的逻辑损坏保护(LCP)实现方式的一部分。例如,LCP实现可为存储卷创建数据备份(例如,恢复点)。在另示例中,每个数据备份可以包括存储卷内的预先确定的数据的时间点快照。在又一示例中,每个数据备份可与快照被拍摄的特定时间/日期相关联。在另一实例中,可根据预定调度周期性地创建数据备份。
此外,在一个方面,LCP实现可将恢复点存储在备份存储空间中,其中备份存储空间不能被使用存储卷的主机访问。在另一方面,响应于在存储卷内发生一个或多个错误,可以将恢复点恢复到与存储卷分离的恢复卷。在又一方面,恢复卷可以由与实施存储卷的系统分离的恢复系统访问。在又一方面,然后可以将数据从恢复系统恢复到存储卷。
此外,在一个方面,备份存储空间可以包括与存储卷物理地和/或逻辑地分离的数据存储。在另一方面,备份存储空间可以位于与存储卷相同的物理设备中。在又一方面,备份存储空间可以位于与存储卷不同的物理设备中。
而且,在一个方面,备份存储空间和存储卷两者都可以包括物理数据存储(例如,一个或多个有形数据存储驱动器等)。在另一方面中,备份存储空间还可以被称为备份容量、受保护的备份容量等。在又一方面,存储卷也可以被称为主机卷、生产卷等。
此外,在一个方面,可以从空间释放实用程序接收要释放的轨道范围的指示。例如,空间释放实用程序可以在存储卷上运行,以识别存储卷的当前未被使用和可以被释放用于将来的数据存储的轨道。在另一示例中,所识别的轨道可以具有阻止它们在其当前状态下被写入的写入限制。在又一示例中,空间释放实用程序可以分析存储卷以确定在存储卷上正在使用的数据存储。
此外,在一个方面中,空间释放实用程序可以分析卷表,该卷表通知实用程序数据集位于存储卷中何处。在另一方面,空间释放实用程序可以识别存储卷内不具有存储在其上的数据集、未被分配在任何数据集上的轨道范围等。在又一方面,空间释放实用程序然后可以(经由盘操作系统(DOS)主机等)发布用于存储卷上的所识别的轨道范围的空间释放。在又一方面,空间释放可以包括所识别的轨道范围可以被存储卷空闲/释放并且用于未来数据存储的通知。
此外,在一个方面,轨道范围可包括有形数据存储设备内的物理位置。例如,每个存储设备可以具有多个不同的硬件轨道,并且轨道范围可以指示用于存储数据的一个或多个硬件轨道的预定部分。
而且,在一个方面,可以在包括存储卷的设备处、在管理存储卷的一个或多个应用处、在存储卷本身处等接收存储卷内要释放的轨道范围的指示。在另方面,可以在数据结构(例如,位图,例如空间释放位图(space release bitmap,SRBM)等)内存储对在存储卷内释放的轨道范围的指示。
以此方式,可异步地释放轨道范围(例如,在晚于接收到指示的时间的时间等)。另外,接收到轨道范围的指示的实体可以创建数据结构,并且可以将轨道范围的指示存储在数据结构内。
另外,方法800可以进行操作804,其中识别对应于该轨道范围的存储卷的备份存储空间内的数据备份。在一个方面,响应于确定数据备份依赖于轨道范围内的一个或多个轨道,备份存储空间内的数据备份可被识别为对应于轨道范围,以便执行存储卷的数据恢复(例如,LCP数据恢复等)。
进一步,在一个方面,轨道范围可以被识别为具有一个或多个对应的数据备份的受保护的轨道范围。在另一方面,响应于将轨道范围识别为受保护的,可以搜索备份存储空间以寻找一个或多个对应的数据备份。在又一方面,如果多个数据备份对应于轨道范围,则仅最近的对应的备份可被识别为对应的数据备份。
更进一步,在一个方面,所识别的数据备份的标识符可存储在存储卷和/或包括存储卷的系统内的元数据中。例如,标识符可包括微代码标识符、一个或多个序列号、世代号(generation number)、备份标识符等。在另一方面中,识别符可与轨道范围相关联地存储。例如,存储轨道范围的指示的数据结构可以指向标识符(使用一个或多个指针、一个或多个关联表等)。
而且,在一个方面,可接收在存储卷内将释放的一组轨道范围,其中组的不同子集可与备份存储空间内的不同数据备份相关联。在另一方面,组的不同子集中的每一者的指示可存储在其自身的单独数据结构内。在又一方面,每个单独的数据结构可以单独地与备份存储空间内的不同数据备份相关联。
例如,第一数据备份可以对应于识别待释放的轨道范围的第一子集的第一位图。在另一示例中,不同于第一备份的第二数据备份可以对应于与第一位图分离的第二位图,该第二位图标识要被释放的轨道范围的第二子集,该第二子集不同于轨道范围的第一子集。
此外,方法800可继续进行操作806,其中响应于确定备份存储空间内对应的数据备份已到期而释放存储卷内的轨道范围。在一个方面,数据备份可存储在备份存储空间内的盘区(extent)处。例如,盘区可包括由备份存储空间使用的有形数据存储硬件内的预定数据存储位置。在另一实例中,盘区可具有一致的预定大小,或盘区的大小可变化。在又一示例中,备份存储空间可以表示为预定顺序的一系列相邻盘区。
此外,在一个方面,备份存储空间内的盘区可根据滚动缓冲方法来填充。例如,在当前盘区位置填充有数据备份(例如,根据数据备份计划表等)之后,以预定顺序选择下一相邻盘区位置。在另一示例中,滚动缓冲方法可规定,在备份存储空间内,当用数据备份填充预定顺序内的最后盘区位置时,选择预定顺序的第一盘区位置作为要填充的下一盘区位置。这可以在备份存储空间内创建循环缓冲器。
更进一步,在一个方面,当已经在备份存储空间内存储数据备份的盘区填充有新数据备份时,先前存储的数据备份到期/被移除,并且新数据备份被存储在盘区位置中。
在另一方面中,存储数据备份的盘区也可由用户或应用程序手动到期。在又一方面,当数据备份到期时(例如,由于其盘区被新数据备份填充或者由于人工到期),通知被发送到包括存储卷的系统(或者发送到存储卷本身)。
而且,在一个方面中,系统和/或存储卷可以设置周期性定时器,并且在周期性定时器到期时,系统和/或存储卷可以从备份存储空间请求对应数据备份的状态。例如,备份存储空间可以返回指示对应的数据备份已经过期的状态。
另外,在一个方面,响应于接收到通知,可以将处理存储在存储卷内将要释放的轨道范围的指示的数据结构的请求发送到存储卷所在的系统、存储卷本身、管理存储卷的一个或多个应用等。例如,处理数据结构(并且由此释放存储卷内的轨道范围)包括释放存储卷内的相关联的轨道范围,使得轨道范围内的相关联的轨道可以用于存储新数据。在另一示例中,释放轨道可以包括移除对轨道的任何写入限制,以使得轨道可以被写入。
进一步,在一个方面中,如果存储卷被同步镜像,并且是主存储卷,则响应于确定备份存储空间内对应的数据备份已经到期,可以将处理存储在存储卷内将要释放的轨道范围的指示的数据结构的请求发送到存储卷以及镜像的存储卷(例如,辅助卷(secondaryvolume)等)。以这种方式,可以执行轨道范围的释放的同步镜像。
更进一步,在一个方面中,如果存储卷是同步镜像的,并且是辅助存储卷,则响应于确定备份存储空间内对应的数据备份已经到期,可以向存储卷发送处理存储在存储卷内将要释放的轨道范围的指示的数据结构的请求。
而且,在一个方面,如果存储卷以一致性被异步镜像,并且是主存储卷,则响应于确定备份存储空间内对应的数据备份已到期,将设置标志以在下一递增期间释放存储卷内的轨道范围。当在下一递增期间释放轨道范围时,然后可以向镜像卷(例如,辅助卷)发送请求以释放镜像卷处的相同轨道范围。
另外,在一个方面中,如果存储卷以一致性被异步镜像,并且是主存储卷,则响应于确定备份存储空间内对应的数据备份已经到期,将设置标志以在下一递增期间释放存储卷内的轨道范围。当在下一递增期间释放轨道范围时,然后可以向镜像卷(例如,辅助卷)发送请求以释放镜像卷处的相同轨道范围。
此外,在一个方面,如果存储卷以一致性被异步镜像,并且是辅助存储卷,则响应于确定备份存储空间内对应的数据备份已经到期,将设置标志以注意到这样的到期已经发生。
更进一步,在一个方面中,所有上述操作可以由包括存储卷的有形系统中的一个或多个、由存储卷本身或由与存储卷分离的系统来执行。
以此方式,被调度用于经由来自存储卷的轨道释放而从存储卷移除的数据可以仅在依赖于该数据的所有备份在备份存储空间内到期时被移除。这可以确保备份存储空间内的所有备份具有存储卷内可用的所有相关联数据,以便在必要时执行数据恢复。这可以根据LCP实现维持存储卷内的数据的安全性。
另外,通过确保在轨道范围释放期间对存储卷实施LCP,可以保护存储卷免受逻辑损坏,这可以提高存储卷本身的性能。进一步,释放存储卷内的盘区可减少存储卷内的已用空间量,这可改善存储卷的性能(例如,如果存储卷是精简配置的,等等)。
图9示出根据一个示例性方面的示例性逻辑损坏保护存储环境900。如图所示,备份存储空间902为系统908的存储卷904提供备份存储。例如,备份存储空间902可以被创建作为用于存储卷904内的数据的逻辑损坏保护(LCP)实现方式的一部分。
另外,周期性地,可为存储卷904创建数据备份,并且可将数据备份存储在备份存储空间902的盘区906A-N中的一个中。盘区906A-N可以按照从第一原始盘区906A到最后原始盘区906N的预定顺序,并且可以根据滚动缓冲方法来填充。例如,在第一盘区906A被填充有数据备份(例如,根据备份计划表等)之后,根据预定顺序,下一相邻的原始盘区906B被选择成填充。
进一步,滚动缓冲方法可规定,在备份存储空间902内,在用数据备份填充预定顺序的最后原始盘区906N之后,选择预定顺序的第一原始盘区906A作为要填充的下一盘区位置。
而且,空间释放实用程序910可以在存储卷904上运行,以识别存储卷904的当前未被使用并且可以被释放用于将来的数据存储的轨道。这些识别的轨道作为空间释放位图(SRBM)912被存储在系统908内。
另外,响应于确定数据备份906C依赖于接收的SRBM 912内的一个或多个轨道,备份存储空间902内的数据备份906C可以被识别为对应于接收的SRBM 912的位图,以便执行存储卷904的数据恢复。所识别的数据备份906C的标识符被存储为系统908内的元数据914。
进一步,响应于确定所识别的数据备份906C仍存储在备份存储空间902内,所接收的SRBM 912可以在存储卷904内保持未释放。然而,响应于确定在备份存储空间902中识别的数据备份906C已经到期,可以将处理SRBM 912的请求发送到存储卷904。处理SRBM 912通过释放存储卷904内的关联轨道范围来释放存储卷904内的轨道范围,使得轨道范围内的关联轨道可以用于存储新数据。
受保护的卷的空间释放
在一个方面中,受保护的卷可允许和管理来自主机的释放空间请求。
当向受保护的设备(例如,实现受保护的副本(SGC)的设备)发出有效的释放空间命令时,世代号将被存储在受保护的和释放空间代码中,以指示在接收到释放空间命令时的当前受保护的一致性组(CG)。空间将不立即释放,但空间释放位图(SRBM)将被分配以指示哪些轨道范围将被释放。在当前CG中,相同的SRBM将用于接受和记录随后的释放空间命令的范围。
一旦形成新的CG,为原始CG分配的SRBM将不再跟踪新的释放空间命令。
一旦原始CG被滚降,SGC将会要求SRBM被处理并且允许空间被释放。还支持运行Metro镜像、全局副本、和/或全局镜像的受保护的卷。
当在受保护的源卷上接收到空间释放请求时,将进行检查以验证当前备份是否可以接受该请求。假设它接受请求,则将分配空间释放位图(SRBM),并且将存储代表当前备份/CG的世代号。SGC还将存储该世代号,代表CG的SRBM。随着新的请求进入,只要备份(与SRBM相关联)是活动的,它们将被接受。一旦形成新的CG,SRBM将不再接受更新。新的SRBM将被创建并用于跟踪对新的CG的请求。一旦备份/CG被滚降,将对要被处理的SRBM做出调用并且开始空间释放。
还支持并描述PPRC和全局镜像(GM)的处理:
·Metro镜像/全局副本主操作:当CG退出时,如果存在相关联的SRBM,则将对要处理的位图和要释放的空间进行调用。当空间在主设备上被释放时,命令将被发送到请求释放相同空间的辅助设备。
·Metro镜像/全局副本辅助操作:当CG被滚降时,如果存在相关联的SRBM,则将对要
处理的位图和要释放的空间进行调用。
·全局镜像主:当CG被滚降时,如果存在相关联的SRBM,则将对要处理的位图进行调
用。空间将不会被释放,但标志将被设置,指示在GM的下一“增量完成”上空间可被释放。随着主空间上的空间被释放(在增量完成期间),请求将被发送到请求释放相同空间的辅助设备。
·全局镜像辅助:当CG滚降时,SGC将不调用释放空间;相反,将设置指示发生滚降的标志。在GM撤销提交(Withdraw Commit)期间,将进行检查以确定与SRBM相关联的CG是否已经滚降。一旦SGC指示相关联的CG已经被滚降,撤销提交将要求处理
SRBM。
在一个方面,提供了一种用于管理对被保护卷的释放空间请求的方法,该方法包括:在接收到针对被保护设备的有效释放空间命令时,存储指示接收释放空间命令时的当前受保护的一致性组(CG)的世代号。另外,该方法包括分配空间释放位图(SRBM)以指示哪些轨道范围将被释放。
进一步,该方法包括:对于当前一致性组,使用相同的SRBM接受随后的释放空间命令。更进一步,该方法包括:对于新的一致性组,停止跟踪具有为原始一致性组分配的SRBM的新的释放空间命令。此外,该方法包括响应于终止原始一致性组,调用将被处理的SRBM并且允许释放空间。
本发明可以是任何可能的技术细节集成度的系统、方法和/或计算机程序产品。计算机程序产品可包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质(或多个介质)。
计算机可读存储介质可以是可保留和存储供指令执行装置使用的指令的有形装置。计算机可读存储介质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式紧凑盘只读存储器(CD-ROM)、数字通用盘(DVD)、记忆棒、软盘、诸如穿孔卡之类的机械编码设备或具有记录在其上的指令的槽中的凸出结构、以及上述各项的任何合适的组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输媒体传播的电磁波(例如,穿过光纤电缆的光脉冲)或通过电线发射的电信号。
本文中所描述的计算机可读程序指令可以经由网络(例如,互联网、局域网、广域网和/或无线网络)从计算机可读存储介质下载到相应的计算/处理设备,或者下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据、或以一种或多种程序设计语言的任何组合编写的源代码或目标代码,这些程序设计语言包括面向对象的程序设计语言(诸如Smalltalk、C++等)和过程程序设计语言(诸如“C”程序设计语言或类似程序设计语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接至用户计算机,或者可连接至外部计算机(例如,使用互联网服务提供商通过互联网)。在一些方面中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的方面。
在此参照根据本发明的多个方面的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的多个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可被提供给计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的或多个框中指定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置、和/或其他设备以特定方式工作,从而,其中存储有指令的计算机可读存储介质包括包含实现流程图和/或框图中的或多个方框中规定的功能/动作的方面的指令的制造品。
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的各个方面的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。对此,流程图或框图中的每个框可表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些备选实现中,框中标注的功能可以不按照图中标注的顺序发生。例如,连续示出的两个方框实际上可以作为一个步骤完成,同时、基本上同时、以部分或完全时间上重叠的方式执行,或者方框有时可以以相反的顺序执行,这取决于所涉及的功能。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。
此外,根据不同方面的系统可包括处理器和与处理器集成和/或可由处理器执行的逻辑,逻辑被配置成执行本文所述的处理步骤中的一个或多个。通过与其集成,意味着处理器具有嵌入在其中的作为硬件逻辑的逻辑,诸如专用集成电路(ASIC)、FPGA等。处理器可执行的意思是逻辑是硬件逻辑;软件逻辑,诸如固件、操作系统的一部分、应用程序的一部分;等等,或硬件和软件逻辑的一些组合,所述硬件和软件逻辑可由处理器访问并且被配置为使处理器在由处理器执行时执行一些功能。软件逻辑可以存储在任何存储器类型的本地和/或远程存储器上,如本领域中已知的。可以使用本领域已知的任何处理器,诸如软件处理器模块和/或硬件处理器,诸如ASIC、FPGA、中央处理单元(CPU)、集成电路(IC)、图形处理单元(GPU)等。
将清楚的是,前述系统和/或方法的不同特征可以以任何方式进行组合,从而从以上呈现的描述中创建多个组合。
还应当理解,本发明的各个方面可以以代表客户部署的服务的形式来提供,以按需提供服务。
已经出于说明的目的呈现了本发明的各个方面的描述,但并不旨在是详尽的或限于所公开的方面。在不脱离所描述方面的范围的情况下,许多修改和变化对于本领域普通技术人员来说是显而易见的。本文使用的术语被选择来最好地解释这些方面的原理、实际应用或对在市场中找到的技术的技术改进,或使得本领域普通技术人员能够理解本文所公开的方面。

Claims (23)

1.一种计算机实现的方法,包括:
接收存储卷内要释放的轨道范围的指示;
识别对应于所述轨道范围的所述存储卷的备份存储空间内的数据备份;以及
响应于确定所述备份存储空间内的对应的数据备份已经到期,释放所述存储卷内的轨道范围。
2.根据权利要求1所述的计算机实现的方法,其中,所述备份存储空间被创建作为所述存储卷内的数据的逻辑损坏保护(LCP)实现的一部分。
3.根据权利要求1或权利要求2所述的计算机实现的方法,其中,要释放的所述轨道范围的指示是从空间释放实用程序接收的。
4.根据权利要求1所述的计算机实现的方法,其中,所述存储卷内要释放的轨道范围的指示被存储在空间释放位图(SRBM)内。
5.根据任一前述权利要求所述的计算机实现的方法,其中,响应于确定所述数据备份依赖于所述轨道范围内的一个或多个轨道以便执行所述存储卷的数据恢复,将所述备份存储空间内的数据备份识别为对应于所述轨道范围。
6.根据任一前述权利要求所述的计算机实现的方法,其中,响应于确定多个数据备份对应于所述轨道范围,仅最近的对应的备份被识别为对应的数据备份。
7.根据任一前述权利要求所述的计算机实现的方法,其中,所述对应的数据备份的标识符被存储在所述存储卷内的元数据中。
8.根据任一前述权利要求所述的计算机实现的方法,其中:
接收所述存储卷内要释放的一组轨道范围,其中该组的不同子集与所述备份存储空间内的不同数据备份相关联,
该组的不同子集中的每个子集的指示被存储在其自身的独立数据结构内,以及
所述独立数据结构中的每个单独地与所述备份存储空间内的不同数据备份相关联。
9.根据权利要求1所述的计算机实现的方法,其中,数据备份被存储在所述备份存储空间内的盘区处,并且所述备份存储空间内的盘区是根据滚动缓冲方法填充的。
10.根据权利要求1所述的计算机实现的方法,其中,所述存储卷设置周期性定时器,并且在所述周期性定时器到期时,所述存储卷从所述备份存储空间请求对应的数据备份的状态。
11.根据权利要求1所述的计算机实现的方法,其中:
响应于确定数据备份已到期,向包括所述存储卷的系统发送通知,以及
响应于接收所述通知,处理存储所述存储卷内要释放的轨道范围的指示的数据结构的请求被发送到所述存储卷。
12.一种用于在维持逻辑损坏保护的同时释放数据存储轨道的计算机程序产品,所述计算机程序产品包括计算机可读存储介质,所述计算机可读存储介质具有程序指令,其中所述计算机可读存储介质本身不是瞬态信号,所述程序指令可由处理器执行以使所述处理器执行一种方法,所述方法包括:
由处理器接收存储卷内要释放的轨道范围的指示;
由处理器识别与所述轨道范围对应的所述存储卷的备份存储空间内的数据备份;以及
响应于确定所述备份存储空间内的对应的数据备份已经到期,由处理器释放所述存储卷内的轨道范围。
13.根据权利要求12所述的计算机程序产品,其中,所述备份存储空间被创建作为所述存储卷内的数据的逻辑损坏保护(LCP)实现的一部分。
14.根据权利要求12或权利要求13所述的计算机程序产品,其中,要释放的所述轨道范围的指示是从空间释放实用程序接收的。
15.根据权利要求12或权利要求13所述的计算机程序产品,其中,所述存储卷内要释放的轨道范围的指示被存储在空间释放位图(SRBM)内。
16.根据权利要求12至15中任一项所述的计算机程序产品,其中,响应于确定所述数据备份依赖于所述轨道范围内的一个或多个轨道以便执行所述存储卷的数据恢复,将所述备份存储空间内的数据备份识别为对应于所述轨道范围。
17.根据权利要求12所述的计算机程序产品,其中,响应于确定多个数据备份对应于所述轨道范围,仅将最近的对应备份识别为对应的数据备份。
18.根据权利要求12所述的计算机程序产品,其中,所述数据备份的标识符被存储在所述存储卷内的元数据中。
19.根据权利要求12所述的计算机程序产品,其中:
接收所述存储卷内要释放的一组轨道范围,其中该组的不同子集与所述备份存储空间内的不同数据备份相关联,
该组的不同子集中的每个子集的指示被存储在其自身的独立数据结构内,以及
所述单独的数据结构中的每个单独地与所述备份存储空间内的不同数据备份相关联。
20.根据权利要求12所述的计算机程序产品,其中,数据备份被存储在所述备份存储空间内的盘区处,并且所述备份存储空间内的盘区是根据滚动缓冲方法来填充的。
21.根据权利要求12所述的计算机程序产品,其中,所述存储卷设置周期性定时器,并且在所述周期性定时器到期时,所述存储卷从所述备份存储空间请求对应的数据备份的状态。
22.根据权利要求12所述的计算机程序产品,其中:
响应于确定数据备份已到期,向包括所述存储卷的系统发送通知,以及
响应于接收所述通知,处理存储所述存储卷内要释放的轨道范围的指示的数据结构的请求被发送到所述存储卷。
23.一种系统,包括:
处理器;以及
与所述处理器集成、可由所述处理器执行、或与所述处理器集成并且可由所述处理器执行的逻辑,所述逻辑被配置为用于执行根据权利要求1至11中任一项所述的步骤。
CN202180057818.5A 2020-08-06 2021-07-22 释放数据存储轨道同时保持逻辑损坏保护 Pending CN116113931A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/987,080 2020-08-06
US16/987,080 US11644997B2 (en) 2020-08-06 2020-08-06 Releasing data storage tracks while maintaining logical corruption protection
PCT/EP2021/070561 WO2022028908A1 (en) 2020-08-06 2021-07-22 Releasing data storage tracks while maintaining logical corruption protection

Publications (1)

Publication Number Publication Date
CN116113931A true CN116113931A (zh) 2023-05-12

Family

ID=77155786

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180057818.5A Pending CN116113931A (zh) 2020-08-06 2021-07-22 释放数据存储轨道同时保持逻辑损坏保护

Country Status (6)

Country Link
US (1) US11644997B2 (zh)
JP (1) JP2023537282A (zh)
CN (1) CN116113931A (zh)
DE (1) DE112021003413T5 (zh)
GB (1) GB2612754A (zh)
WO (1) WO2022028908A1 (zh)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7496952B2 (en) * 2002-03-28 2009-02-24 International Business Machines Corporation Methods for authenticating a user's credentials against multiple sets of credentials
US8028135B1 (en) 2004-09-01 2011-09-27 Netapp, Inc. Method and apparatus for maintaining compliant storage
US7953946B2 (en) * 2007-04-16 2011-05-31 Microsoft Corporation Controlled anticipation in creating a shadow copy
US9135120B1 (en) 2012-06-27 2015-09-15 Emc Corporation Consistency group moving
US10192065B2 (en) * 2015-08-31 2019-01-29 Commvault Systems, Inc. Automated intelligent provisioning of data storage resources in response to user requests in a data storage management system
US10482066B2 (en) 2016-04-28 2019-11-19 Netapp Inc. Gransets for managing consistency groups of dispersed storage items
US10528256B2 (en) 2017-05-24 2020-01-07 International Business Machines Corporation Processing a space release command to free release space in a consistency group
US10572178B2 (en) 2018-06-21 2020-02-25 International Business Machines Corporation Expiration handling for block level backup of virtual machines
US11100132B2 (en) 2018-10-11 2021-08-24 International Business Machines Corporation Intelligent space release in asynchronous mirror journal volumes
US11656947B2 (en) * 2020-06-19 2023-05-23 International Business Machines Corporation Data set recovery from a point-in-time logical corruption protection copy

Also Published As

Publication number Publication date
GB2612754A (en) 2023-05-10
US11644997B2 (en) 2023-05-09
US20220043573A1 (en) 2022-02-10
JP2023537282A (ja) 2023-08-31
GB202303067D0 (en) 2023-04-19
WO2022028908A1 (en) 2022-02-10
DE112021003413T5 (de) 2023-06-07

Similar Documents

Publication Publication Date Title
US11079966B2 (en) Enhanced soft fence of devices
US11132264B2 (en) Point-in-time copy restore
US9514004B2 (en) Restore in cascaded copy environment
US11182094B2 (en) Performing a recovery copy command using a recovery copy data structure for a backup volume lookup
US10289322B2 (en) Delayed consistent point-in-time copy from a secondary volume of a consistent asynchronous mirror copy
US9760449B2 (en) Restoring a point-in-time copy
US11182081B2 (en) Performing a recovery copy command to restore a safeguarded copy backup to a production volume
US11947808B2 (en) Expanding storage capacity for implementing logical corruption protection
US11003559B2 (en) Underperforming drive handling in redundant arrays
US11055017B1 (en) Throttling a point-in-time snapshot copy operation within a data consistency application
US9158712B2 (en) Instantaneous save/restore of virtual machines with persistent memory
US10789132B2 (en) Performing a recovery copy command to create a recovery volume for a consistency group
US11640339B2 (en) Creating a backup data set
CN116113931A (zh) 释放数据存储轨道同时保持逻辑损坏保护
US11775395B2 (en) Withdrawing a point-in-time snapshot copy operation within a data consistency application
US11853585B2 (en) Performing a point-in-time snapshot copy operation within a data consistency application

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