CN109313595B - 跨平台复制 - Google Patents

跨平台复制 Download PDF

Info

Publication number
CN109313595B
CN109313595B CN201780036961.XA CN201780036961A CN109313595B CN 109313595 B CN109313595 B CN 109313595B CN 201780036961 A CN201780036961 A CN 201780036961A CN 109313595 B CN109313595 B CN 109313595B
Authority
CN
China
Prior art keywords
storage
endpoint
storage endpoint
task
replication
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
CN201780036961.XA
Other languages
English (en)
Other versions
CN109313595A (zh
Inventor
A·R·潘迪特
V·M·德什穆克
M·L·费德魏施
L·郑
K·J·科玛特苏
R·克斯亚尔
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.)
NetApp Inc
Original Assignee
NetApp Inc
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 NetApp Inc filed Critical NetApp Inc
Publication of CN109313595A publication Critical patent/CN109313595A/zh
Application granted granted Critical
Publication of CN109313595B publication Critical patent/CN109313595B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2069Management of state, configuration or failover
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • G06F11/2092Techniques of failing over between control units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

提供一种或多种技术和/或计算设备用于跨平台复制。例如,可以在第一存储端点与第二存储端点之间建立复制关系,其中至少一个存储端点(诸如第一存储端点)缺少执行和管理复制的功能,或具有不兼容的功能,因为存储端点具有以不同方式存储数据的不同的存储平台,使用不同的控制操作和接口,等等。因此,复制目的地工作流、复制源工作流和/或表示第一存储端点的代理可以在包括复制功能的第二存储端点处实现。以这种方式,可以由第二存储端点使用复制目的地工作流、复制源工作流和/或代理来在存储端点之间实现复制,诸如快照复制,该代理本地执行任务或将任务路由到第一存储端点,以用于诸如数据访问。

Description

跨平台复制
相关申请的交叉引用
本申请要求于2016年4月29日提交的名称为“CROSS-PLATFORM REPLICATION”的美国非临时专利申请No.15/142,126的优先权,其通过引用并入本文。
技术领域
本公开的实施例总体上涉及计算机网络或存储网络领域,并且特别涉及一种用于跨平台复制的方法、非暂态机器可读介质和计算设备。
背景技术
很多存储网络可以实现数据复制和/或其他冗余数据访问技术,以用于数据丢失保护和无中断客户端访问。例如,第一存储集群可以包括第一存储控制器,其被配置为向客户端提供对被存储在第一存储设备和/或其他存储设备内的数据的主要访问。第二存储集群可以包括第二存储控制器,其被配置为向客户端提供对被存储在第二存储设备和/或其他存储设备内的数据的主要访问。第一存储控制器和第二存储控制器可以根据灾难恢复关系而被配置,从而使得第二存储控制器可以提供对从第一存储设备被复制到次级存储设备的复制的数据的故障转移访问,次级存储设备由第一存储控制器拥有,但是可由第二存储控制器访问(例如,在第二存储控制器承担次级存储设备和/或先前由第一存储控制器拥有的其他存储设备的所有权时,切换操作可以被执行,从而使得第二存储控制器可以向客户端提供对这样的存储设备内的复制的数据的故障转移访问)。在逻辑复制方案的示例中,第二存储控制器具有复制的数据的所有权。第二存储控制器可以提供对复制的数据的只读访问。第二存储控制器可以在故障转移时将复制的数据转换为完全读写访问。在物理复制的示例中,包括复制的数据的存储设备由第一存储控制器拥有,直到向第二存储控制器的故障转移/切换发生。
在示例中,第二存储集群可以被定位在第一存储集群的远程站点(例如,存储集群可以被定位在不同的建筑物、城市中,彼此相距数千公里等)。因此,如果灾难在存储集群的站点处发生,则幸存的存储集群可以保持不受灾难的影响(例如,托管第一存储集群的建筑物的停电可能不会影响在不同城市中托管第二存储集群的第二建筑物)。
在示例中,存储集群内的两个存储控制器可以根据高可用性配置而被配置,诸如在两个存储控制器被彼此本地连接和/或被连接到相同的存储设备时。以这种方式,当存储控制器发生故障时,则由于本地连通性,高可用性伙伴存储控制器可以快速地接管发生故障的存储控制器。因此,高可用性伙伴存储控制器可以向客户端提供对先前可通过发生故障的存储控制器访问的数据的访问。
在高可用性配置的示例中,对数据的高可用性可以在不使用共享存储的情况下被提供。特别是,对数据的高可用性可以使用主存储对象的同步复制副本而被提供。对数据的高可用性可以使用同步复制、通过软件定义的架构而被提供,并且不限于仅两个存储控制器。
各种复制和同步技术可以被用来复制数据(例如,客户端数据),配置数据(例如,卷的大小、卷的名称、逻辑单元号(LUN)配置数据等),和/或在存储控制器和/或存储设备之间写入高速缓存数据(例如,高速缓存的写入操作尚未被冲刷到存储设备,但被高速缓存在存储器(诸如非易失性随机存取存储器(NVRAM))中)。在对第一存储控制器的传入写入操作由第一存储控制器在第一存储对象(例如,文件、LUN、跨越多个卷的LUN、或任何其他类型的对象)上本地实现,并且在确认被提供回给发送传入写入操作的客户端之前由第二存储控制器在第二存储对象(例如,被保持为第一存储对象的完全同步的副本)上远程实现时,同步复制可以被使用。在另一示例中,通过捕获卷的快照,确定当前快照和被用来将数据复制到第二存储对象的最后快照之间的数据差异(例如,变更(delta)),并且使用增值传输将数据差异发送到第二存储控制器以用于在第二存储对象上实现,同步复制可以被实现。在针对写入请求的返回到客户端的确认基于在第一存储对象上的本地实现、但不依赖于在第二存储对象上的远程实现时,半同步复制可以被实现。
存储环境可以包括具有不同存储平台的存储控制器。例如,存储环境可以具有不同版本或模型的存储控制器(例如,具有基于磁盘的存储平台、闪存阵列存储平台、基于卷的存储平台、文件和/或LUN一致性组存储平台、诸如云存储等分布式存储平台等的存储控制器),这些存储控制器以不同的方式存储数据,使用不同的盘区大小,具有不同的压缩特性,支持不同类型的存储操作和语法,具有不同的数据和控制接口,为管理员提供不同的用户界面,等等。不幸的是,具有不同存储平台的跨平台存储控制器可能无法建立和促进与彼此的数据复制和其他功能。因此,对于跨平台存储控制器,可能无法进行数据复制和保护。
发明内容
在本公开的第一方面,提供了一种方法。该方法包括:通过存储服务器在第一存储端点与第二存储端点之间建立复制关系,存储服务器通过网络被通信地耦合到第一存储端点和第二存储端点;在存储服务器处实现第一代理以表示第一存储端点;在存储服务器处实现第二代理以表示第二存储端点;以及执行复制操作,以基于复制关系将数据从第一存储端点复制到第二存储端点,其中执行包括:响应于复制操作的第一任务以第一存储端点为目标,在第一代理上实现第一任务;以及响应于复制操作的第二任务以第二存储端点为目标,在第二代理上实现第二任务。
在本公开的第二方面,提供了一种非暂态机器可读介质。该非暂态机器可读介质上存储有用于执行方法的指令,指令包括机器可执行代码。机器可执行代码在由至少一个机器执行时,使得机器:在第一存储端点与第二存储端点之间建立复制关系;在第一存储端点处,基于复制关系实现复制源工作流,以利用由第一存储端点托管的第一存储作为用于将数据复制到由第二存储端点托管的第二存储的复制源;在第一存储端点处实现代理,以表示第二存储端点的第二存储;在第一存储端点处、在代理上实现复制目的地工作流;以及实现数据发送工作流,以将数据从第一存储端点的第一存储复制到第二存储端点的第二存储。
在本公开的第三方面,提供了一种计算设备。该计算设备包括:包含机器可读介质的存储器,机器可读介质包括机器可执行代码,机器可读介质上存储有用于执行方法的指令;以及被耦合到存储器的处理器。处理器被配置为执行机器可执行代码以使得处理器:在第一存储端点与第二存储端点之间建立复制关系;在第二存储端点处,基于复制关系实现复制目的地工作流,以利用由第二存储端点托管的第二存储作为用于存储来自第一存储端点的第一存储的所复制的数据的复制目的地;在第二存储端点处实现代理,以表示第一存储端点的第一存储;在第二存储端点处、在代理上实现复制源工作流;以及实现数据发送工作流,以从第一存储端点的第一存储接收所复制的数据,以用于存储到第二存储中。
附图说明
图1是图示根据本文所阐述的规定中的一个或多个规定的示例集群网络的部件框图。
图2是图示根据本文所阐述的规定中的一个或多个规定的示例数据存储系统的部件框图。
图3是图示跨平台复制的示例性方法的流程图。
图4A是图示用于跨平台复制的示例性计算设备的组件框图,其中代理在第一存储端点处实现。
图4B是图示用于跨平台复制的示例性计算设备的组件框图,其中复制源工作流和复制目的地工作流在第一存储端点处实现。
图4C是图示用于跨平台复制的示例性计算设备的组件框图,其中复制源工作流和复制目的地工作流在第一存储端点处实现。
图4D是图示用于跨平台复制的示例性计算设备的组件框图,其中在第一存储端点与第二存储端点之间执行数据传输。
图5是图示跨平台复制的示例性方法的流程图。
图6A是图示用于跨平台复制的示例性计算设备的组件框图,其中代理在第二存储端点处实现。
图6B是图示用于跨平台复制的示例性计算设备的组件框图,其中复制源工作流和复制目的地工作流在第二存储端点处实现。
图6C是图示用于跨平台复制的示例性计算设备的组件框图,其中复制源工作流和复制目的地工作流在第二存储端点处实现。
图6D是图示用于跨平台复制的示例性计算设备的组件框图,其中在第一存储端点与第二存储端点之间执行数据传输。
图7是图示跨平台复制的示例性方法的流程图。
图8A是图示用于跨平台复制的示例性计算设备的组件框图,其中代理在存储服务器处实现。
图8B是图示用于跨平台复制的示例性计算设备的组件框图,其中复制源工作流和复制目的地工作流在存储服务器处实现。
图8C是图示用于跨平台复制的示例性计算设备的组件框图,其中复制源工作流和复制目的地工作流在存储服务器处实现。
图8D是图示用于跨平台复制的示例性计算设备的组件框图,其中在第一存储端点与第二存储端点之间执行数据传输。
图9是根据本文所阐述的规定中的一个或多个规定的计算机可读介质的示例。
具体实施方式
所要求保护的技术主题的一些示例现在参考附图而被描述,其中相同的附图标记通常被用来始终表示相同的元件。在下面的描述中,出于说明的目的,许多具体细节被阐述以便提供对所要求保护的技术主题的理解。然而,显而易见的是,所要求保护的技术主题可以在没有这些具体细节的情况下被实践。本具体实施方式中的任何内容均不被承认为是现有技术。
本文中提供了用于跨平台复制的一种或多种技术和/或计算设备。例如,第一存储端点(例如,托管源存储的源存储控制器)和第二存储端点(例如,托管目的地存储的目的地存储控制器,来自源存储的数据将被复制到目的地存储中)可以具有不同的存储平台(例如,基于磁盘的存储平台、闪存阵列存储平台、基于卷的存储平台、文件和/或LUN一致性组存储平台、诸如云存储等分布式存储平台等),这些存储平台原生地(natively)不支持彼此之间的复制。
因此,如本文中提供的,可以使用在单个设备上执行(例如,在第一存储端点、第二存储端点或单独的存储服务器上执行)的复制源工作流和复制目的地工作流(例如,控制操作、获取卷信息操作、创建快照操作、创建流操作、管理流操作、设置标签操作、确定两个快照之间的差异的操作、数据传输管理操作等)来建立和管理复制关系。代理用于表示存储端点(例如,表示由存储端点托管的存储,诸如目的地卷),在该存储端点处,复制源工作流和复制目的地工作流由于存储端点可能原生地不支持由另一存储端点促进的复制而未被执行。例如,如果复制源工作流和复制目的地工作流在第一存储端点处执行,则表示第二存储端点(例如,表示第二存储端点的第二存储)的代理可以在第一存储端点处被托管。在一个示例中,第一存储端点而不是第二存储端点可以包括执行诸如快照复制等复制的功能,并且因此复制源工作流、复制目的地工作流和代理在第一存储端点处被托管。
当代理被托管在第一存储端点处时,因为代理与快照复制兼容,可以在代理上执行与快照复制相关联的某些目的地工作流任务(例如,针对用于表示诸如第二存储端点的第二存储等目的地存储的物理或虚拟代理卷而被执行)、(例如,控制操作,诸如不要求来自第二存储的文件系统的数据的创建流操作可以在代理上本地执行)。与快照复制相关联的其他目的地工作流任务可以在代理上实现并且由代理路由到第二存储(例如,可以使用第二存储内的实际数据的文件系统访问操作可以被路由到第二存储,以用于取回这样的数据)。以这种方式,可以执行复制操作,以将数据从第一存储端点的第一存储复制到第二存储端点的第二存储(例如,文件和/或逻辑单元号(LUN)的卷或一致性组的基线传输、第一存储的当前快照与用于将数据传输到第二存储的第一存储的最后快照之间的变更的增量传输等)。因为复制源工作流、复制目的地工作流和代理托管在第一存储端点处(例如,第一存储端点能够管理数据传输、控制操作、复制关系、状态机等),所以第二存储端点可以是轻量级端点,该第二存储端点不需要完全支持快照复制的所有方面的功能(例如,第二存储端点可以具有用于实际数据复制的发送和/或接收功能,而快照复制的其他方面由代理来处理)。
为了提供跨平台复制,图1图示了集群网络环境100或网络存储环境的实施例。然而,可以理解,本文所描述的技术等可以在集群网络环境100、非集群网络环境和/或各种其他计算环境(诸如台式计算环境)内被实现。也就是说,包括所附权利要求的范围的本公开内容并不意味着限于本文所提供的示例。将理解的是,其中相同或相似的部件、元件、特征、项目、模块等在稍后的附图中被图示,但是先前关于先前的附图而被讨论,当描述随后的附图时,对相同内容的相似(例如,冗余)的讨论可以被省略(例如,出于简化和易于理解的目的)。
图1是图示可以实现本文所描述的技术和/或系统的至少一些实施例的集群网络环境100的框图。集群网络环境100包括通过集群结构106而被耦合的数据存储系统102和104,集群结构106诸如被体现为促进数据存储系统102和104(以及例如其中的一个或多个模块、部件等,诸如节点116和118)之间的通信的私有无限带宽、光纤通道(FC)或以太网网络的计算网络。应当理解的是,虽然两个数据存储系统102和104以及两个节点116和118在图1中被图示,但是任何合适数量的这样的部件是预期的。在示例中,节点116、118包括存储控制器(例如,节点116可以包括主存储控制器或本地存储控制器,并且节点118可以包括次级存储控制器或远程存储控制器),其向客户端设备(诸如主机设备108、110)提供对被存储在数据存储设备128、130内的数据的访问。类似地,除非在本文中另有图集规定,否则对于本文所引用和/或在附图中所示的其他模块、元件、特征、项目等也是如此。也就是说,本文所公开的特定数目的部件、模块、元件、特征、项目等不意味着以限制方式而被解释。
还将理解的是,集群网络并不限于任何特定地理区域,并且可以在本地和/或远程地被集群。因此,在一个实施例中,集群网络可以被分布在多个存储系统和/或被定位在多个地理位置中的节点上;而在另一实施例中,集群网络可以包括驻留在相同地理位置中(例如,在数据存储设备单个现场机架中)的数据存储系统(例如,102、104)。
在所示示例中,可以包括例如客户端设备、个人计算机(PC)、被用于存储的计算设备(例如,存储服务器)以及其他计算机或外围设备(例如,打印机)的一个或多个主机设备108、110通过存储网络连接112、114被耦合到相应的数据存储系统102、104。网络连接可以包括局域网(LAN)或广域网(WAN),它们例如利用网络附接存储(NAS)协议(诸如用来交换数据分组的通用因特网文件系统(CIFS)协议或网络文件系统(NFS)协议)、存储区域网络(SAN)协议(诸如小型计算机系统接口(SCSI)或光纤通道协议(FCP))、对象协议(诸如S3)等。说明性地,主机设备108、110可以是运行应用的通用计算机,并且可以使用客户机/服务器模型与数据存储系统102、104交互以用于信息的交换。也就是说,主机设备可以从数据存储系统请求数据(例如,由被配置为处理由主机设备针对存储设备发布的I/O命令的网络存储控件管理的存储设备上的数据),并且数据存储系统可以经由一个或多个存储网络连接112、114将请求的结果返回给主机设备。
集群化数据存储系统102、104上的节点116、118可以包括作为集群而被互连的网络或主机节点,以将数据存储和管理服务例如提供给诸如具有远程位置的企业,云存储(例如,存储端点可以被存储在数据云内)等。例如,集群网络环境100中的这样的节点可以是被附接到网络作为连接点、再分配点或通信端点的设备。节点可以能够通过网络通信信道发送、接收和/或转发信息,并且可以包括满足这些标准中的任何或所有标准的任何设备。节点的一个示例可以是被附接到网络的数据存储和管理服务器,其中服务器可以包括通用计算机或被特别配置成作为数据存储和管理系统中的服务器操作的计算设备。
在示例中,诸如节点116、118的第一节点集群(例如,被配置为提供对包括一个或多个存储设备的第一逻辑分组的第一存储集合体(aggregate)的访问的第一存储控制器集合)可以被定位在第一存储站点上。未被示出的第二节点集群可以被定位在第二存储站点处(例如,被配置为提供对包括一个或多个存储设备的第二逻辑分组的第二存储集合体的访问的第二存储控制器集合)。第一节点集群和第二节点集群可以根据灾难恢复配置而被配置,其中在灾难发生在包括灾难节点集群的灾难存储站点处的情况中,幸存的节点集群提供对灾难节点集群的存储设备的切换(switchover)访问(例如,在灾难发生在第二存储站点处的情况中,第一节点集群向客户端设备提供对第二存储集合体的存储设备的切换数据访问)。
如集群网络环境100中所示,节点116、118可以包括协调以针对集群提供分布式存储架构的各种功能部件。例如,节点可以包括网络模块120、122和数据模块124、126。网络模块120、122可以被配置为允许节点116、118(例如,网络存储控制器)通过存储网络连接112、114与主机设备108、110连接,从而例如允许主机设备108、110访问被存储在分布式存储系统中的数据。此外,网络模块120、122可以通过集群结构106提供与一个或多个其他部件的连接。例如,在图1中,节点116的网络模块120可以通过发送通过节点118的数据模块126的请求来访问第二数据存储设备130。
数据模块124、126可以被配置为将一个或多个数据存储设备128、130(诸如磁盘或磁盘阵列,闪存或一些其他形式的数据存储装置)连接到节点116、118。节点116、118可以由集群结构106互连,从而例如允许集群中的相应的节点访问被连接到集群中的不同节点的数据存储设备128、130上的数据。通常,数据模块124、126例如根据SAN协议(诸如SCSI或FCP)与数据存储设备128、130通信。因此,如从节点116、118上的操作系统看到的,数据存储设备128、130可以表现为被本地附接到操作系统。以这种方式,不同的节点116、118等可以通过操作系统来访问数据块,而不是明确地请求抽象文件。
应当理解的是,虽然集群网络环境100图示了相同数目的网络和数据模块,但是其他实施例可以包括不同数目的这些模块。例如,可能存在多个在集群中互连的多个网络和数据模块,该集群在网络和数据模块之间不具有一对一的对应关系。也就是说说,不同节点可以具有不同数目的网络和数据模块,并且同一节点可以具有与数据模块不同数目的网络模块。
此外,主机设备108、110可以通过存储联网连接112、114与集群中的节点116、118联网。作为示例,被联网到集群的相应的主机设备108、110可以请求集群中的节点116、118的服务(例如,以数据分组的形式的信息的交换),并且节点116、118可以将请求的服务的结果返回给主机设备108、110。在一个实施例中,主机设备108、110可以与驻留在数据存储系统102、104中的节点116、118(例如,网络主机)中的网络模块120、122交换信息。
在一个实施例中,数据存储设备128、130包括卷132,卷132是例如将信息存储到磁盘驱动或磁盘阵列或其他存储装置(例如闪存)上作为用于数据的文件系统的实现方式。例如,卷可以跨越磁盘的一部分、磁盘的集合或磁盘的多个部分,并且通常定义存储系统中的磁盘空间上的文件存储的整体逻辑布置。在一个实施例中,卷可以包括被存储为驻留在卷内的分层目录结构中的一个或多个文件的数据。
卷通常以可以与特定存储系统相关联的格式而被配置,并且相应的卷格式通常包括向卷提供功能的特征,诸如提供卷以形成集群的能力。例如,在第一存储系统可以利用第一格式以用于它们的卷时,第二存储系统可以利用第二格式以用于它们的卷。
在集群网络环境100中,主机设备108、110可以利用数据存储系统102、104来存储和取回来自卷132的数据。在这一实施例中,例如,主机设备108可以将数据分组发送给数据存储系统102内的节点116中的网络模块120。节点116可以使用数据模块124来将数据转发给数据存储设备128,其中数据存储设备128包括卷132A。以这种方式,在这一示例中,主机设备可以使用由网络连接112连接的数据存储系统102来访问卷132A,以存储和/或取回数据。此外,在这一实施例中,主机设备110可以与数据存储系统104(例如,其可以远离数据存储系统102)内的节点118中的网络模块122交换数据。节点118可以使用数据模块126来将数据转发给数据存储设备130,由此访问与数据存储设备130相关联的卷132B。
可以理解,跨平台复制可以在集群网络环境100内实现。在一个示例中,节点116和节点118可以具有不同的存储平台,诸如其中,仅节点之一(诸如节点116)具有在节点116与节点118之间执行和管理快照复制的全部能力。因此,可以在节点116处实现复制目的地工作流、源复制工作和表示节点118的代理,以执行快照复制操作。可以理解,跨平台复制可以针对任何类型的计算环境和/或在任何类型的计算环境之间被实现,并且可以在物理设备(例如,节点116、节点118、台式计算机、平板电脑、膝上型电脑、可穿戴设备、移动设备、存储设备、服务器等)和/或云计算环境(例如,在集群网络环境100远端)之间可转换。
图2是数据存储系统200(例如,图1中的102、104)的说明性示例,从而提供可以实现本文所描述的技术和/或系统中的一个或多个技术和/或系统的部件的实施例的进一步的细节。数据存储系统200包括节点202(例如,图1中的节点116、118)和数据存储设备234(例如,图1中的数据存储设备128、130)。节点202可以是例如通用计算机,或者被特别地配置为作为存储服务器操作的一些其他计算设备。主机设备205(例如,图1中的108、110)可以通过网络216被连接到节点202以例如提供对被存储在数据存储设备234上的文件和/或其他数据的访问。在示例中,节点202包括存储控制器,其向客户端设备(诸如主机设备205)提供对被存储在数据存储设备234内的数据的访问。
数据存储设备234可以包括大容量存储设备,诸如磁盘阵列218、220、222的磁盘224、226、228。将理解的是,本文所描述的技术和系统不受示例实施例的限制。例如,磁盘224、226、228可以包括任何类型的大容量存储设备,其包括但不限于磁盘驱动、闪存、以及适于存储信息(包括例如数据(D)和/或奇偶校验(P)信息)的任何其他类似介质。
节点202包括由系统总线242互连的一个或多个处理器204、存储器206、网络适配器210、集群访问适配器212和存储适配器214。数据存储系统200还包括被安装在节点202的存储器206中的操作系统208,操作系统208例如可以实现独立(或廉价)磁盘冗余阵列(RAID)优化技术,以优化阵列中的发生故障的磁盘的数据的重建过程。
操作系统208还可以管理用于数据存储系统的通信,以及可以在集群网络(诸如被附接到集群结构215(例如,图1中的106))中的其他数据存储系统之间的通信。因此,节点202(诸如网络存储控制器)可以根据这些主机设备请求来响应于主机设备请求以管理数据存储设备234(例如,或附加的集群化设备)上的数据。操作系统208通常可以在数据存储系统200上建立一个或多个文件系统,其中文件系统可以例如包括实现文件和目录的持久分层命名空间的软件代码和数据结构。作为示例,当新的数据存储设备(未被示出)被添加到集群网络系统时,操作系统208被通知在现有目录树中与新数据存储设备相关联的新文件将被存储在哪里。这通常被称为“装配(mount)”文件系统。
在示例数据存储系统200中,存储器206可以包括可由处理器204和适配器210、212、214寻址的存储位置以用于存储相关的软件应用代码和数据结构。处理器204和适配器210、212、214可以例如包括被配置为执行软件代码并且操纵数据结构的处理元件和/或逻辑电路。操作系统208(其部分通常驻留在存储器206中并且由处理元件执行)通过调用存储操作以支持由存储系统实现的文件服务等来在功能上组织存储系统。对于本领域技术人员来说将显而易见的是,包括各种计算机可读介质的其他处理和存储器机制可以被用于存储和/或执行与本文所描述的技术有关的应用指令。例如,操作系统还可以利用一个或多个控制文件(未被示出)来帮助提供虚拟机。
网络适配器210包括通过网络216将数据存储系统200连接到主机设备205所需的机械、电气和信令电路,网络216可以包括点对点连接或共享介质(诸如局域网)等。主机设备205(例如,图1的108、110)可以是被配置为执行应用的通用计算机。如上所述,主机设备205可以根据信息递送的客户端/主机模型与数据存储系统200交互。
存储适配器214与在节点202上执行的操作系统208协作以访问由主机设备205请求的信息(例如,访问由网络存储控制器管理的存储设备上的数据)。信息可以被存储在任何类型的附接可写介质阵列(诸如磁盘驱动、闪存和/或适于存储信息的任何其他类似介质)上。在示例数据存储系统200中,信息可以被存储在磁盘224、226、228上的数据块中。存储适配器214可以包括输入/输出(I/O)接口电路,其通过I/O互连布置(诸如存储区域网络(SAN)协议(例如,小型计算机系统接口(SCSI)、iSCSI、超SCSI、光纤通道协议(FCP))耦合到磁盘。该信息由存储适配器214取回,并且如果需要,则在通过系统总线242被转发给网络适配器210(和/或,如果发送给集群中的另一个节点,则被转发给集群访问适配器212)之前由一个或多个处理器204(或存储适配器214本身)处理,其中信息被格式化为数据分组并通过网络216被返回给主机设备205(和/或通过集群结构215被返回给附接到集群的另一节点)。
在一个实施例中,磁盘阵列218、220、222上的信息的存储可以被实现为一个或多个存储卷230、232,其包括定义磁盘空间的整体逻辑布置的磁盘224、226、228的集群。包括一个或多个卷的磁盘224、226、228通常被组织为一组或多组RAID。作为示例,卷230包括磁盘阵列218和220的集合体,其包括磁盘224和226的集群。
在一个实施例中,为了便于访问磁盘224、226、228,操作系统208可以实现文件系统(例如,随处写入文件系统),该文件系统在逻辑上将信息组织为磁盘上的目录和文件的分层结构。在这一实施例中,相应的文件可以被实现为被配置为存储信息的一组磁盘块,而目录可以被实现为具体格式化的文件,其中关于其他文件和目录的信息被存储。
无论这一数据存储系统200内的基础物理配置如何,数据都可以作为文件被存储在物理和/或虚拟卷内,物理和/或虚拟卷可以与相应的卷标识符(诸如文件系统标识符(FSID),在一个示例中,文件系统标识符的长度可以是32位)相关联。
物理卷对应于其地址、可寻址空间、位置等不改变的物理存储设备的至少一部分,诸如一个或多个数据存储设备234中的至少一些数据存储设备(例如,独立(或廉价)磁盘冗余阵列(RAID系统))。通常,物理卷的位置不会改变,因为被用来访问它的(多个)地址的(范围)通常保持不变。
作为对比,虚拟卷被存储在不同物理存储设备的不相干部分的集合体上。虚拟卷可以是不同物理存储设备位置的不同可用部分的集合,诸如来自磁盘224、226和/或228中的每个磁盘的一些可用空间。将理解的是,由于虚拟卷未被“绑定”到任何一个特定存储设备,因此可以说虚拟卷包括抽象或虚拟化的层,这允许虚拟卷被调整大小和/或在某些方面较灵活。
另外,虚拟卷可以包括一个或多个逻辑单元号(LUN)238、目录236、Qtree 235和文件240。除此之外,这些特征(更特别地是LUNS)例如允许数据被存储在其内的不相干存储器位置被标识,并且被分组为数据存储单元。这样,LUN 238可以被表征为构成虚拟磁盘或驱动,虚拟卷内的数据在虚拟磁盘或驱动器上被存储在集合体内。例如,LUN通常被称为虚拟驱动,从而使得它们从通用计算机模拟硬盘驱动,而它们实际上包括被存储在卷的各个部分中的数据块。
在一个实施例中,一个或多个数据存储设备234可以具有一个或多个物理端口,其中每个物理端口可以被指派目标地址(例如,SCSI目标地址)。为了表示被存储在数据存储设备上的相应的卷,数据存储设备上的目标地址可以被用来标识一个或多个LUN 238。因此,例如,当节点202通过存储适配器214连接到卷230、232时,节点202与该卷下面的一个或多个LUN 238之间的连接被创建。
在一个实施例中,相应的目标地址可以标识多个LUN,从而使得目标地址可以表示多个卷。可以被实现为存储适配器214中的电路和/或软件,或者作为驻留在存储器206中并由处理器204执行的可执行代码的I/O接口例如可以通过使用标识一个或多个LUN 238的一个或多个地址来连接到卷230。
可以理解,可以针对数据存储系统200来实现跨平台复制。在一个示例中,节点202可以包括用于执行和管理快照复制的功能。未示出的第二节点可以具有与节点202不同的存储平台,并且因此可以不具有执行和管理快照复制的全部能力。因此,可以在节点202处实现复制目的地工作流、源复制工作和表示第二节点的代理,以执行快照复制操作。可以理解,在线(inline)重复数据删除可以针对任何类型的计算环境和/或在任何类型的计算环境之间被实现,并且可以在物理设备(例如,节点202、主机设备205、台式计算机、平板电脑、膝上型计算机、可穿戴设备、移动设备、存储设备、服务器等)和/或云计算环境(例如,远离节点202和/或主机设备205)之间可转换。
通过图3的示例性方法300图示了跨平台复制的一个实施例。在302处,可以在第一存储端点(例如,对用作针对复制的复制源的第一存储进行托管的第一存储控制器)与第二存储端点(例如,对用作针对复制的复制目的地的第二存储进行托管的第二存储控制器)之间建立复制关系。在一个示例中,复制关系可以与快照复制相对应,其中使用基线快照执行基线传输,以第一次将数据从第一存储传输到第二存储,和/或其中执行增量传输,以传输由第一存储的最新快照和用于将数据从第一存储复制到第二存储的第一存储的最后快照所捕获的第一存储的变更(例如,数据、文件、目录、卷等的差异)。可以理解,可以建立任何类型的数据传输关系,诸如快照复制关系、数据迁移关系、同步复制关系、异步复制关系、半同步复制关系等。
第一存储端点和第二存储端点可以是不同的存储平台,诸如基于磁盘的存储平台、闪存阵列存储平台、基于卷的存储平台、文件和/或LUN一致性组存储平台、诸如云存储等分布式存储平台等,这些存储平台可以以不同的方式存储数据,使用不同的盘区大小,具有不同的压缩特性,支持不同类型的存储操作和语法,具有不同的数据和控制接口,为管理员提供不同的用户界面,等等。在一个示例中,第一存储端点可以具有支持执行和管理复制的第一存储平台,而第二存储端点可能缺乏完全执行和管理复制的能力(例如,第二存储端点可以包括发送和/或接收功能,但不包括以与第一存储平台相同的方式、完全实现与复制相关联的所有控制操作的功能)。因此,因为第一存储端点能够执行和管理复制,所以复制源工作流、复制目的地工作流和表示第二存储端点的第二存储的代理可以在第一存储端点处实现。
在304处,可以基于复制关系,在第一存储端点处实现复制源工作流(例如,通常由诸如第一存储端点等源存储端点执行的控制操作和/或数据传输操作的管理),以利用由第一存储端点托管的第一存储作为复制源,以将数据复制到由第二存储端点托管的第二存储。
在306处,表示第二存储端点的第二存储的代理可以在第一存储端点处实现。代理可以在第一存储端点处实现,因为第二存储端点可以不包括能够执行复制目的地工作流的功能。在一个示例中,第一存储与由于第一存储平台能够执行和管理复制而与复制关系原生地兼容的第一卷相对应,并且第二存储与由于第二存储平台无法执行和管理复制而不与复制关系原生地兼容的第二卷相对应。因此,第一卷的第一配置数据可以在复制关系中被记录为:用于复制的源卷。代理(例如,虚拟代理卷、物理代理卷或看起来与复制关系原生地兼容的其他存储)可以在复制关系中被记录为:用于复制的目的地卷。以这种方式,可以在代理上实现复制目的地工作流(例如,因为代理看起来是与复制关系原生地兼容的目的地卷),代理可以在本地执行复制目的地工作流的某些任务(例如,第二存储端点原生地不支持的控制操作)或者可以将某些任务路由到第二卷(例如,与存储在第二卷内的实际数据有关的文件系统访问操作)。在308处,在第一存储端点处、在代理上实现复制目的地工作流。
在310处,可以实现数据发送工作流,以将数据从第一存储端点的第一存储复制到第二存储端点的第二存储。例如,第一存储的两个快照之间的差异可以被标识为变更数据。数据发送工作流可以将变更数据复制到第二存储端点,以应用于第二存储。以这种方式,可以实现跨平台复制,其中并非所有存储端点原生地都支持快照复制或其他类型的复制。
在一个示例中,第一存储端点可以使用与第二存储端点使用的第二盘区大小类型(例如,一系列可变大小的盘区)不同的第一盘区大小类型(例如,LUN的表示可以是4千字节(KB)块)。因此,可以指示第二存储端点保持盘区位图文件,盘区位图文件用于跟踪从第一存储端点被复制到第二存储端点的数据的第一盘区大小类型的盘区大小。在一个示例中,可以在盘区位图文件内记录复制到第一类型存储平台的盘区的起始偏移和长度。在另一示例中,可以在盘区位图文件内记录复制到第二类型存储平台的盘区的起始扇区号和长度。每个扇区可以被表示为位,使得起始扇区号是到盘区位图文件中的偏移量。盘区的起点可以表示为:后面跟跨越盘区长度的一定数目的零的1。以这种方式,当数据从第一存储端点恢复回第二存储端点时(例如,响应于确定第一存储端点从故障被恢复,在该故障处,第二存储端点为客户端提供对所复制的数据的访问),可以指示第二存储端点:利用盘区位图文件将数据以具有第一盘区大小的盘区大小恢复回第一存储端点,这可以减轻空间膨胀(例如,由大小为s1、s2和s3的3个盘区组成的LUN应当使用相同盘区I/O大小s1、s2和s3来恢复)。
在一个示例中,第一存储端点可以使用与第二存储端点使用的第二压缩方案不同的第一压缩方案(例如,在每个盘区级别实现的压缩、在32KB对准边界上的32KB的数据的压缩等)。在诸如通过线路或在第二存储端点处的磁盘上的复制期间可以保留压缩节省。第一存储端点和第二存储端点可以协商:第一存储端点使用的压缩算法对于第二存储端点是否是可理解的或是已知的。如果端点二者都理解压缩算法,则第一存储端点将通过线路来发送经压缩数据,否则第一存储端点将通过线路发送未压缩数据。在一个示例中,第二存储端点将保留从第一存储端点所复制的数据的压缩,或者将解压缩和重新压缩所复制的数据。
在一个示例中,可以指示第一存储端点对要复制到第二存储端点的数据执行重复数据删除。例如,第一存储端点可以向第二存储端点发送数据的名称。如果第二存储端点已经包括该数据,则第一存储端点可以禁止发送该数据。否则,如果第二存储端点尚未包括该数据,则第一存储端点可以向第二存储端点发送该数据。
在一个示例中,可以响应于第一存储端点发生故障而调用第二存储端点,以向客户端提供对所复制的数据的访问。在另一示例中,第二存储端点可以能够创建所复制的数据的快照。在另一示例中,当管理跨存储平台的复制时,为了类似的客户端体验,可以以类似的方式提供用于第一存储端点和第二存储端点的用户界面。
图4A至图4D图示了用于跨平台复制的系统400的示例。图4A图示了具有通过网络408、与第二存储端点412的通信能力的第一存储端点402。可以在作为复制源的第一存储端点402与作为复制目的地的第二存储端点412之间建立复制关系410。例如,复制关系410可以指定第一存储端点402的源存储404的数据(例如,LUN、文件、LUN或文件的一致性组、卷、目录等)要被复制到第二存储端点412的目标存储414,诸如通过使用快照执行基线和/或增量传输。在一个示例中,第一存储端点402可以具有可以执行和/或管理快照复制的第一存储平台。然而,第二存储端点412可以具有不能(例如,以与第一存储平台相同的方式)完全执行和/或管理快照复制的第二存储平台。因此,代理406可以在第一存储端点402处实现,以表示第二存储端点412的目的地存储414。例如,代理406可以是虚拟或物理代理卷,虚拟或物理代理卷与由第一存储端点402提供的复制功能兼容,但是被配置为看起来是复制的目的地存储。
图4B图示了第一存储端点402实现复制源工作流420,以执行复制源将要执行以便执行和/或管理复制的操作。第一存储端点402可以实现复制目的地工作流422,以执行复制目的地将要执行以便执行和/或管理复制的操作(例如,代替第二存储端点412实现复制目的地工作流422,因为第二存储端点412可以不包括用于充分执行和/或管理与第一存储端点402的复制的功能,从而允许第二存储端点412是轻量级端点)。在一个示例中,复制目的地工作流422可以针对代理406执行426具有第一任务类型的第一任务424(例如,创建流任务可以由代理406完全实现而不被路由到第二存储端点412、复制状态机的管理等)。第一任务类型可以对应于:可以由代理406本地执行而不访问存储在目的地存储414内的数据的控制操作。
图4C图示了复制目的地工作流422在代理406上实现第二任务430,第二任务430由代理406路由432到第二存储端点412作为经路由的第二任务434。代理406可以路由432第二任务430,因为第二任务430可以与目的地存储414内的数据(例如,第二任务430具有使用目的地存储414内的数据的第二任务类型)相对应。例如,第二任务430可以包括文件系统访问操作。以这种方式,代理406执行任务或将任务路由到第二存储端点412以供执行。图4D图示了第一存储端点402执行从源存储404到目的地存储414的数据传输440。例如,数据传输440可以发送在源存储404的当前快照与用于最后数据传输的源存储404的最后快照之间的源存储404的变更。以这种方式,可以执行复制操作以将源存储404的数据复制到目的地存储414。
通过图5的示例性方法500图示了跨平台复制的一个实施例。在502处,可以在第一存储端点(例如,对用作针对复制的复制源的第一存储进行托管的第一存储控制器)与第二存储端点(例如,对用作针对复制的复制目的地的第二存储进行托管的第二存储控制器)之间建立复制关系。
第一存储端点和第二存储端点可以是不同的存储平台,诸如基于磁盘的存储平台、闪存阵列存储平台、基于卷的存储平台、文件和/或LUN一致性组存储平台、诸如云存储等分布式存储平台等,这些存储平台可以以不同的方式存储数据,使用不同的盘区大小,具有不同的压缩特性,支持不同类型的存储操作和语法,具有不同的数据和控制接口,为管理员提供不同的用户界面,等等。在一个示例中,第二存储端点可以具有支持执行和管理复制的第二存储平台,而第一存储端点可能缺乏完全执行和管理复制的能力(例如,第一存储端点可以包括发送和/或接收功能,但不包括以与第二存储平台相同的方式、完全实现与复制相关联的所有控制操作的功能)。因此,因为第二存储端点能够执行和管理复制,所以复制源工作流、复制目的地工作流和表示第一存储端点的第一存储的代理可以在第二存储端点处实现。
在504处,可以基于复制关系,在第二存储端点处实现复制目的地工作流(例如,通常由诸如第二存储端点等目的地存储端点执行的控制操作和/或数据传输操作的管理),以利用由第二存储端点托管的第二存储作为复制目的地,用于存储从第一存储端点托管的第一存储复制的数据。
在506处,表示第一存储端点的第一存储的代理可以在第二存储端点处实现。代理可以在第二存储端点处实现,因为第一存储端点可以不包括能够执行复制源工作流的功能。在一个示例中,第二存储与由于第二存储平台能够执行和管理复制而与复制关系原生地兼容的第二卷相对应,并且第一存储与由于第一存储平台无法执行和管理复制而不与复制关系原生地兼容的第一卷相对应。因此,第二卷的第二配置数据可以在复制关系中被记录为:用于复制的目的地卷。代理(例如,虚拟代理卷、物理代理卷或看起来与复制关系原生地兼容的其他存储)可以在复制关系中被记录为:用于复制的源卷。以这种方式,可以在代理上实现复制源工作流(例如,因为代理看起来与复制关系原生地兼容),代理可以在本地执行复制源工作流的某些任务(例如,第一存储端点原生地不支持的控制操作)或者可以将某些任务路由到第一卷(例如,与存储在第一卷内的实际数据有关的文件系统访问操作)。在508处,在第二存储端点处、在代理上实现复制源工作流。
在510处,可以实现数据发送工作流,以将数据从第一存储端点的第一存储复制到第二存储端点的第二存储。例如,第一存储的两个快照之间的差异可以被标识为变更数据。数据发送工作流可以将变更数据复制到第二存储端点,以应用于第二存储。以这种方式,可以实现跨平台复制,其中并非所有存储端点原生地都支持快照复制或其他类型的复制。
图6A至图6D图示了用于跨平台复制的系统600的示例。图6A图示了具有通过网络608、与第二存储端点612的通信能力的第一存储端点602。可以在作为复制源的第一存储端点602与作为复制目的地的第二存储端点612之间建立复制关系610。例如,复制关系610可以指定第一存储端点602的源存储604的数据(例如,LUN、文件、LUN或文件的一致性组、卷、目录等)要被复制到第二存储端点612的目标存储614。在一个示例中,第二存储端点612可以具有可以执行和/或管理复制的第二存储平台。然而,第一存储端点602可以具有不能(例如,以与第二存储平台相同的方式)完全执行和/或管理快照复制的第一存储平台。因此,代理606可以在第二存储端点612处实现,以表示第一存储端点602的源存储604。例如,代理606可以是虚拟或物理代理卷,虚拟或物理代理卷与由第二存储端点612提供的复制兼容,但是被配置为看起来是复制的源存储。
图6B图示了第二存储端点612实现复制目的地工作流620,以执行复制目的地将要执行以便执行和/或管理复制的操作。第二存储端点612可以实现复制源工作流622,以执行复制源将要执行以便执行和/或管理复制的操作(例如,代替第一存储端点602实现复制源工作流622,因为第一存储端点602可以不包括用于充分执行和/或管理与第二存储端点612的复制的功能,从而允许第一存储端点602是轻量级端点)。在一个示例中,复制源工作流622可以针对代理606执行626具有第一任务类型的第一任务624(例如,创建流任务可以由代理606完全实现而不被路由到第一存储端点602、复制状态机的管理等)。第一任务类型可以对应于:可以由代理606本地执行而不访问存储在源存储604内的数据的控制操作。
图6C图示了复制源工作流622在代理606上实现第二任务630,第二任务630由代理606路由632到第一存储端点602作为经路由的第二任务634。代理606可以路由632第二任务630,因为第二任务630可以与源存储604内的数据(例如,第二任务630可以具有使用来自源存储604的数据的第二任务类型)相对应。例如,第二任务630可以包括文件系统访问操作。以这种方式,代理606执行任务或将任务路由到第一存储端点602以供执行。图6D图示了第一存储端点602执行从源存储604到目的地存储614的数据传输640。例如,数据传输640可以发送在源存储604的当前快照与用于最后数据传输的源存储604的最后快照之间的源存储604的变更。以这种方式,可以执行复制操作以将源存储604的数据复制到目的地存储614。
通过图7的示例性方法700图示了跨平台复制的一个实施例。在702处,可以在第一存储端点(例如,对用作针对复制的复制源的第一存储进行托管的第一存储控制器)与第二存储端点(例如,对用作针对复制的复制目的地的第二存储进行托管的第二存储控制器)之间建立复制关系,诸如通过存储服务器。
第一存储端点和第二存储端点可以是不同的存储平台,诸如基于磁盘的存储平台、闪存阵列存储平台、基于卷的存储平台、文件和/或LUN一致性组存储平台、诸如云存储等分布式存储平台等,这些存储平台可以以不同的方式存储数据,使用不同的盘区大小,具有不同的压缩特性,支持不同类型的存储操作和语法,具有不同的接口,为管理员提供不同的用户界面,等等。在一个示例中,第一存储端点和第二存储端点可能不具有执行和/或管理复制的能力,或者可能以非兼容的方式执行和/或管理快照复制。但是,存储服务器可以支持执行和管理复制。
因此,在704处,表示第一存储端点(例如,表示第一存储端点的源存储)的第一代理可以在存储服务器处实现。第一代理可以在存储服务器处实现,因为第一存储端点可以不包括能够执行复制源工作流的功能。第一代理(例如,虚拟代理卷、物理代理卷或看起来与复制关系原生地兼容的其他存储)可以在复制关系中被记录为:用于复制的源卷。以这种方式,可以在第一代理上实现复制源工作流(例如,因为第一代理看起来与复制关系原生地兼容),第一代理可以在本地执行复制源工作流的某些任务(例如,第一存储端点原生地不支持的控制操作),或者可以将某些任务路由到包括用于复制的数据的第一存储端点的第一存储(例如,与存储在第一存储内的实际数据有关的文件系统访问操作)。
在706处,表示第二存储端点(例如,表示第二存储端点的目的地存储)的第二代理可以在存储服务器处实现。第二代理可以在存储服务器处实现,因为第二存储端点可以不包括能够执行复制目的地工作流的功能。第二代理(例如,虚拟代理卷、物理代理卷或看起来与复制关系原生地兼容的其他存储)可以在复制关系中被记录为:用于复制的目的地卷。以这种方式,可以在第二代理上实现复制目的地工作流(例如,因为第二代理看起来与复制关系原生地兼容),第二代理可以在本地执行复制目的地工作流的某些任务(例如,第二存储端点原生地不支持的控制操作),或者可以将某些任务路由到所复制的数据将要存储在其中的第二存储端点的第二存储(例如,与存储在第二存储内的实际数据有关的文件系统访问操作)。
可以基于复制关系来执行复制操作,以将数据从第一存储端点(例如,从第一存储)复制到第二存储端点(例如,到第二存储中)。复制操作可以包括与复制源工作流和/或复制目的地工作流相关联的一个或多个任务。在708处,响应于复制操作的第一任务以第一存储端点为目标(例如,复制源工作流的任务),可以在第一代理上实现第一任务。以这种方式,第一代理可以在本地执行第一任务或者将第一任务路由到第一存储端点,以便在第一存储上执行。在710处,响应于复制操作的第二任务以第二存储端点为目标(例如,复制目的地工作流的任务),可以在第二代理上实现第二任务。以这种方式,第二代理可以在本地执行第二任务或者将第二任务路由到第二存储端点,以在第二存储上执行。以这种方式,复制操作可以由存储服务器执行和管理。
图8A至图8D图示了用于跨平台复制的系统800的示例。图8A图示了存储服务器802、第一存储端点812和第二存储端点814,它们具有通过网络808的通信能力。可以在作为复制源的第一存储端点812与作为复制目的地的第二存储端点814之间建立复制关系810。例如,复制关系810可以指定第一存储端点812的源存储816的数据(例如,LUN、文件、LUN或文件的一致性组、卷、目录等)要被复制到第二存储端点814的目的地存储818,诸如通过使用快照执行基线和/或增量传输。
第一存储端点812和第二存储端点814可以是不同的存储平台,诸如基于磁盘的存储平台、闪存阵列存储平台、基于卷的存储平台、文件和/或LUN一致性组存储平台、诸如云存储等分布式存储平台等,这些存储平台可以不同地存储数据,使用不同的盘区大小,具有不同的压缩特性,支持不同类型的存储操作和语法,具有不同的接口,为管理员提供不同的用户界面,等等。在一个示例中,第一存储端点812和第二存储端点814可以不具有执行和/或管理快照复制的能力,或者可以以非兼容的方式执行和/或管理快照复制。然而,存储服务器802可以支持执行和管理快照复制。
因此,表示第一存储端点812(例如,表示源存储816)的第一代理804可以在存储服务器802处实现。第一代理804可以在存储服务器802处实现,因为第一存储端点812可以不包括能够执行复制源工作流的功能。第一代理804(例如,虚拟代理卷、物理代理卷或看起来与复制关系810原生地兼容的其他存储)可以在复制关系810中被记录为:用于复制的源卷。以这种方式,可以在第一代理804上实现复制源工作流(例如,因为第一代理804看起来与复制关系810原生地兼容),第一代理可以在本地执行复制源工作流的某些任务(例如,第一存储端点812原生地不支持的控制操作),或者可以将某些任务路由到包括用于复制的数据的第一存储端点812的源存储816(例如,与存储在源存储816内的实际数据有关的文件系统访问操作)。
表示第二存储端点814(例如,表示目的地存储818)的第二代理806可以在存储服务器802处实现。第二代理806可以在存储服务器802处实现,因为第二存储端点814可以不包括能够执行复制目的地工作流的功能。第二代理806(例如,虚拟代理卷、物理代理卷或看起来与复制关系810原生地兼容的其他存储)可以在复制关系810中被记录为:用于复制的目的地卷。以这种方式,可以在第二代理806上实现复制目的地工作流(例如,因为第二代理806看起来与复制关系810原生地兼容),第二代理可以在本地执行复制目的地工作流的某些任务(例如,第二存储端点814原生地不支持的控制操作),或者可以将某些任务路由到所复制的数据将要存储在其中的目的地存储818(例如,与存储在目的地存储818内的实际数据有关的文件系统访问操作)。
图8B图示了存储服务器802实现复制源工作流820,以执行复制源将要执行以便执行和/或管理复制的操作,并且实现复制目的地工作流822,以执行复制目的地将要执行以便执行和/或管理复制的操作。在一个示例中,复制源工作流820可以针对第一代理804执行826具有第一任务类型的第一任务824。复制目的地工作流822可以针对第二代理806执行828具有第一任务类型的第二任务827。第一任务类型可以对应于:可以由代理执行而不访问源存储816或目的地存储818的实际数据的任务。
图8C图示了复制源工作流820在第一代理804上实现第三任务830,第三任务830由第一代理804路由832到第一存储端点812作为经路由的第三任务838。第一代理804可以路由832第三任务830,因为第三任务830可以与源存储816内的数据相对应。复制目的地工作流822可以在第二代理806上实现第四任务834,第四任务834由第二代理806路由836到第二存储端点814作为经路由的第四任务840。第二代理806可以路由836第四任务834,因为第四任务834可以与目的地存储818内的数据相对应。
图8D示出了第一存储端点812执行从源存储816到目的地存储818的数据传输850。例如,数据传输850可以发送在源存储816的当前快照与用于最后数据传输的源存储816的最后快照之间的源存储816的变更。以这种方式,可以执行复制操作,以将源存储816的数据复制到目的地存储818。
又一实施例涉及一种包括处理器可执行指令的计算机可读介质,处理器可执行指令被配置为实现本文所呈现的技术中的一种或多种技术。以这些方式被设计的计算机可读介质或计算机可读设备的示例实施例在图9中被示出,其中实现方式900包括计算机可读介质908,诸如可记录光盘(CD-R)、数字多功能光盘可记录(DVD-R)、闪存驱动、硬盘驱动的盘片等,其上是编码的计算机可读数据906。这一计算机可读数据906(诸如包括零或一中的至少一个的二进制数据)转而包括处理器可执行计算机指令904,处理器可执行计算机指令904被配置为根据本文所阐述的一个或多个原理操作。在一些实施例中,处理器可执行计算机指令904被配置为例如执行方法902,诸如图3的示例性方法300中的至少一些、图5的示例性方法500中的至少一些和/或图7的示例性方法700中的至少一些。在一些实施例中,处理器可执行计算机指令904被配置为例如实现系统,诸如图4A至图4D的示例性系统400中的至少一些、图6A至图6D的示例性系统500中的至少一些、和/或图8A至图8D的示例性系统800中的至少一些。许多这样的计算机可读介质被预期根据本文所呈现的技术操作。
应当理解,本文所描述的过程、架构和/或程序可以在硬件、固件和/或软件中被实现。还将理解的是,本文所述的规定可以应用于任何类型的专用计算机(例如,文件主机、存储服务器和/或存储服务设备)和/或通用计算机,包括被体现为或包括存储系统的独立计算机或它的一部分。此外,本文的教导可以被配置为各种存储系统架构,包括但不限于网络附接存储环境和/或被直接附接到客户端或主机计算机的存储区域网络和磁盘组件。因此,除了被配置为执行存储功能并与其他装备或系统相关联的任何子系统之外,存储系统应当被广泛地采用以包括这样的布置。
在一些实施例中,本公开中所描述和/或说明的方法可以全部或部分地在计算机可读介质上被实现。计算机可读介质可以包括被配置为实现本文所呈现的方法中的一个或多个方法的处理器可执行指令,并且可以包括用于存储此后可以由计算机系统读取的这一数据的任何机制。计算机可读介质的示例包括(硬)驱动(例如,可经由网络附加存储(NAS)访问),存储区域网络(SAN),易失性和非易失性存储器,诸如只读存储器(ROM)、随机存取存储器(RAM)、电可擦除可编程只读存储器(EEPROM)和/或闪存、光盘只读存储器(CD-ROM)、CD-R、可重写光盘(CD-RW)、DVD,磁盒,磁带,磁盘存储装置,光学或非光学数据存储设备和/或可以被用来存储数据的任何其他介质。
尽管本主题内容已经用结构特征或方法动作专用的语言而被描述,但是应当理解,所附权利要求中所限定的主题内容不必限于上述具体特征或动作。相反,上面所描述的具体特征和动作是作为实现至少一些权利要求的示例形式而被公开的。
实施例的各种操作在本文中被提供。操作中的一些或所有操作被描述的顺序不应当被解释为暗示这些操作必须依赖于顺序。考虑到本说明书的益处,备选排序将被理解。此外,应当理解,并非所有操作都必须存在于本文所提供的每个实施例中。而且,应当理解,在一些实施例中并非所有操作都是必需的。
此外,所要求保护的主题内容被实现为使用标准应用或工程技术的方法、装置或制品,以产生软件、固件、硬件或它们的任何组合,以控制计算机实现所公开的主题内容。本文所使用的术语“制品”旨在涵盖可从任何计算机可读设备、载体或介质访问的计算机应用。当然,在不脱离所要求保护的主题内容的范围或精神的情况下,许多修改可以对这一配置被进行。
如在本申请中所使用的,术语“部件”、“模块”、“系统”、“接口”等通常旨在指代与计算机相关的实体,该实体是硬件、硬件和软件的组合、软件或执行中的软件。例如,部件包括在处理器上运行的进程、处理器、对象、可执行文件、执行的线程、应用或计算机。通过说明,在控制器上运行的应用和控制器两者都可以是部件。驻留在执行的进程或线程内的一个或多个部件和部件可以位于一台计算机上或被分布在两台或更多台计算机之间。
此外,“示例性”在本文中被用来表示用作示例、实例、说明等,并且不一定是有利的。如在本申请中所使用的,“或”旨在表示包含性的“或”而非排他性的“或”。另外,本申请中所使用的“一”和“一个”通常被解释为表示“一个或多个”,除非另有说明或从上下文清楚地被指向单数形式。此外,A和B中的至少一个和/或类似地通常表示:A或B和/或A和B两者。此外,在“包含”、“具有”、“有”、“带有”或它们的变型被使用的范围中,这样的术语旨在以类似于术语“包括”的方式而是包括性的。
在不脱离所要求保护的主题内容的范围或精神的情况下,许多修改可以对本公开进行。除非另有说明,否则“第一”、“第二”等不旨在暗示时间方面、空间方面、排序等。相反,这些术语仅被用作针对特征、元素、项目等的标识符、名称等。例如,第一组信息和第二组信息通常对应于信息组A和信息组B或两组不同或两组相同的信息或同一组信息。
此外,尽管本公开内容已经关于一个或多个实现方式而被示出和描述,但是基于对本说明书和附图的阅读和理解,等同的改变和修改将被本领域技术人员想到。本公开内容包括所有这样的修改和变更,并且仅受所附权利要求的范围限制。特别是关于由上述部(例如,元件、资源等)件执行的各种功能,除非另有说明,否则被用来描述这些部件的术语旨在与执行所述部件的特定功能的任何部件(例如,功能上等同的)对应,即使在结构上不等同于所公开的结构。另外,虽然本公开内容的特定特征可能已经仅关于若干实施方式中的一个而被公开,但是这样的特征可以与其他实现方式的一个或多个其他特征组合,如对于任何给定或特定应用可能是被期望的和有利的。

Claims (15)

1.一种计算机实现的方法,包括:
通过计算设备在第一存储端点与第二存储端点之间建立复制关系,所述计算设备通过网络被通信地耦合到所述第一存储端点以及所述第二存储端点;
在所述计算设备处实现第一代理以表示具有与所述第二存储端点的复制关系的第一存储端点,以及实现第二代理以表示在所述计算设备远程的所述第二存储端点;以及
执行复制操作以基于所述复制关系将数据从所述第一存储端点复制到所述第二存储端点,其中所述复制包括:
基于第一任务以所述第一存储端点为目标,在所述第一代理本地上选择性地实现所述复制操作的所述第一任务;以及
基于第二任务以所述第二存储端点为目标,在所述第二代理本地上选择性地实现所述复制操作的所述第二任务,并且包括控制操作,所述控制操作不由所述第二存储端点原生支持;
特征在于:基于包括文件系统接入操作的其他任务,将所述其他任务选择性地路由到所述第二存储端点以用于远程实现,所述文件系统接入操作以被存储在所述第二存储端点的存储装置内的数据为目标。
2.根据权利要求1所述的方法,其中实现所述第一任务包括:
基于所述第一任务以所述第一存储端点的第一文件系统为目标,将所述第一任务路由到所述第一存储端点。
3.根据权利要求1所述的方法,其中实现所述第二任务包括:
基于所述第二任务以所述第二存储端点的第二文件系统为目标,将所述第二任务路由到所述第二存储端点。
4.根据权利要求1所述的方法,其中所述第一存储端点具有由第一存储控制器托管的第一存储平台,并且所述第二存储端点具有由第二存储控制器托管的与所述第一存储平台不同的第二存储平台。
5.根据权利要求1所述的方法,所述第一存储端点和所述第二存储端点包括用于复制数据的发送和接收功能。
6.根据权利要求1所述的方法,其中所述第一存储端点使用与由所述第二存储端点使用的第二盘区大小类型不同的第一盘区大小类型,并且其中所述第二任务指示所述第二存储端点保持盘区位图文件,所述盘区位图文件被用于跟踪从所述第一存储端点被复制到所述第二存储端点的数据的所述第一盘区大小类型的盘区大小。
7.根据权利要求6所述的方法,包括:
基于确定所述第一存储端点从故障被恢复,来指示所述第二存储端点利用所述盘区位图文件将数据以具有所述第一盘区大小类型的盘区大小恢复回所述第一存储端点,在所述故障处,所述第二存储端点向客户端提供对所复制的数据的访问。
8.根据权利要求1所述的方法,其中所述第一任务通过发送要被复制到所述第二存储端点的数据的名称来指示所述第一存储端点执行重复数据删除,以用于确定是否向所述第二存储端点发送所述数据。
9.根据权利要求1所述的方法,其中所述第一存储端点使用与由所述第二存储端点使用的第二压缩方案不同的第一压缩方案,并且其中所述第二任务指示所述第二存储端点保留对来自所述第一存储端点的所复制的数据的压缩。
10.根据权利要求1所述的方法,其中所述第一代理包括:由所述第一存储端点托管的第一卷的代理卷。
11.根据权利要求1所述的方法,包括:
响应于所述第一存储端点发生故障,调用所述第二存储端点以向客户端提供对所复制的数据的访问。
12.根据权利要求1所述的方法,其中在所述第一代理上实现所述第一任务包括:
基于所述第一任务具有第一任务类型,在所述计算设备处、在所述第一代理上执行所述第一任务,以及基于所述第一任务具有第二任务类型,将所述第一任务路由到所述第一存储端点以用于执行。
13.一种非暂态机器可读介质,包括机器可执行代码,所述机器可执行代码在由至少一个机器执行时,使得所述机器:
通过计算设备在第一存储端点与第二存储端点之间建立复制关系,所述计算设备通过网络被通信地耦合到所述第一存储端点以及所述第二存储端点;
在所述计算设备处实现第一代理以表示所述第一存储端点,以及实现第二代理以表示在所述计算设备远程的所述第二存储端点;
执行复制操作以基于所述复制关系将数据从所述第一存储端点复制到所述第二存储端点,其中所述复制包括:
基于第一任务以所述第一存储端点为目标,在所述第一代理本地上选择性地实现所述复制操作的所述第一任务;以及
基于第二任务以所述第二存储端点为目标,在所述第二代理本地上选择性地实现所述复制操作的所述第二任务,并且包括控制操作,所述控制操作不由所述第二存储端点原生支持;
特征在于:基于包括文件系统接入操作的其他任务,将所述其他任务选择性地路由到所述第二存储端点以用于远程实现,所述文件系统接入操作以被存储在所述第二存储端点的存储装置内的数据为目标。
14.根据权利要求13所述的非暂态机器可读介质,其中所述第一存储端点具有由第一存储控制器托管的第一存储平台,并且所述第二存储端点具有由第二存储控制器托管的、与所述第一存储平台不同的第二存储平台。
15.根据权利要求13所述的非暂态机器可读介质,其中所述机器可执行代码使得所述机器:
基于所述第一任务具有第一任务类型,在所述代理上本地执行所述复制目的地工作流的第一任务,以及基于所述第二任务具有第二任务类型,在所述代理上实现所述复制目的地工作流的第二任务,以用于路由到所述第二存储端点。
CN201780036961.XA 2016-04-29 2017-05-01 跨平台复制 Active CN109313595B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/142,126 2016-04-29
US15/142,126 US9990260B2 (en) 2016-04-29 2016-04-29 Cross-platform replication
PCT/US2017/030381 WO2017190130A1 (en) 2016-04-29 2017-05-01 Cross-platform replication

Publications (2)

Publication Number Publication Date
CN109313595A CN109313595A (zh) 2019-02-05
CN109313595B true CN109313595B (zh) 2022-09-23

Family

ID=58709565

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780036961.XA Active CN109313595B (zh) 2016-04-29 2017-05-01 跨平台复制

Country Status (4)

Country Link
US (4) US9990260B2 (zh)
EP (1) EP3449373B1 (zh)
CN (1) CN109313595B (zh)
WO (1) WO2017190130A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9720626B2 (en) 2014-09-19 2017-08-01 Netapp Inc. Cluster configuration information replication
US11089099B2 (en) * 2015-09-26 2021-08-10 Intel Corporation Technologies for managing data object requests in a storage node cluster
US9990260B2 (en) 2016-04-29 2018-06-05 Netapp Inc. Cross-platform replication
US10142416B2 (en) * 2016-05-27 2018-11-27 Netapp, Inc. Methods for facilitating planned data container transitions and devices thereof
US11308125B2 (en) * 2018-03-27 2022-04-19 EMC IP Holding Company LLC Storage system with fast recovery and resumption of previously-terminated synchronous replication
US10831609B2 (en) * 2018-04-30 2020-11-10 EMC IP Holding Company LLC Data storage system with LUN snapshot shipping using volume-to-object translation
US10997204B2 (en) * 2018-12-21 2021-05-04 Elasticsearch B.V. Cross cluster replication
CN113448493B (zh) * 2020-03-27 2024-04-26 伊姆西Ip控股有限责任公司 用于备份数据的方法、电子设备和计算机可读介质
CN114138182B (zh) * 2021-10-27 2023-12-22 济南浪潮数据技术有限公司 一种分布式云硬盘的跨存储在线克隆方法、系统及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7774391B1 (en) * 2006-03-30 2010-08-10 Vmware, Inc. Method of universal file access for a heterogeneous computing environment

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6665705B1 (en) * 1999-10-19 2003-12-16 International Business Machines Corporation Method and apparatus for proxy replication
US6578121B1 (en) * 2001-02-05 2003-06-10 Emc Corporation File mapping system and related techniques
US6959373B2 (en) * 2001-12-10 2005-10-25 Incipient, Inc. Dynamic and variable length extents
US7783763B2 (en) * 2006-06-06 2010-08-24 International Business Machines Corporation Managing stateful data in a partitioned application server environment
CN101090330A (zh) * 2006-06-13 2007-12-19 上海威腾信息科技有限公司 一种网络数据备份管理装置及其相关处理方法
US20090262724A1 (en) * 2006-08-18 2009-10-22 Nec Corporation Proxy server, communication system, communication method and program
US8037349B2 (en) * 2009-08-28 2011-10-11 International Business Machines Corporation Data replication based on capacity optimization
US20120054850A1 (en) * 2010-08-31 2012-03-01 Cisco Technology, Inc. Proxying for Clusters of Fiber Channel Servers to Reduce Configuration Requirements for Fiber Channel Storage Arrays
KR101585146B1 (ko) * 2010-12-24 2016-01-14 주식회사 케이티 오브젝트를 복수 개의 데이터 노드들의 위치에 기반하여 분산 저장하는 분산 저장 시스템 및 그 위치 기반 분산 저장 방법 및 컴퓨터에 의하여 독출 가능한 저장 매체
US8539008B2 (en) * 2011-04-29 2013-09-17 Netapp, Inc. Extent-based storage architecture
US20160070495A1 (en) * 2011-05-02 2016-03-10 Netapp, Inc. Logical replication mapping for asymmetric compression
US9563480B2 (en) * 2012-08-21 2017-02-07 Rackspace Us, Inc. Multi-level cloud computing system
US8898113B2 (en) * 2012-11-21 2014-11-25 International Business Machines Corporation Managing replicated data
US9110898B1 (en) 2012-12-20 2015-08-18 Emc Corporation Method and apparatus for automatically detecting replication performance degradation
US8977594B2 (en) * 2012-12-21 2015-03-10 Zetta Inc. Systems and methods for state consistent replication
US9348715B2 (en) 2014-03-20 2016-05-24 Netapp Inc. Storage device health status synchronization
US9577830B2 (en) * 2014-05-16 2017-02-21 SwiftStack, Inc. Multi-tenant discovery and claiming of distributed storage nodes over an insecure network
US20160004721A1 (en) * 2014-07-01 2016-01-07 Commvault Systems, Inc. Replicating local file systems as respective luns in a storage array, using block-level data transfers and enhanced storage managers, data agents, and media agents in an information management system
US10031917B2 (en) * 2014-07-29 2018-07-24 Commvault Systems, Inc. Efficient volume-level replication of data via snapshots in an information management system
US9720626B2 (en) 2014-09-19 2017-08-01 Netapp Inc. Cluster configuration information replication
US10303570B2 (en) * 2014-10-17 2019-05-28 Hitachi, Ltd. Method and apparatus for managing data recovery of distributed storage system
CN104376062B (zh) * 2014-11-11 2018-01-26 中国有色金属长沙勘察设计研究院有限公司 一种异构数据库平台数据的同步方法
US9575687B2 (en) * 2015-01-29 2017-02-21 Vmware, Inc. Host-based replication with end-to-end compression
US11089099B2 (en) * 2015-09-26 2021-08-10 Intel Corporation Technologies for managing data object requests in a storage node cluster
US10997119B2 (en) * 2015-10-23 2021-05-04 Nutanix, Inc. Reduced size extent identification
US9971528B2 (en) * 2016-03-01 2018-05-15 International Business Machines Corporation Cold storage aware object replication
US9990260B2 (en) 2016-04-29 2018-06-05 Netapp Inc. Cross-platform replication
US20190121709A1 (en) * 2017-10-25 2019-04-25 Hewlett Packard Enterprise Development Lp Distributed extent based replication
US11016691B2 (en) * 2019-01-25 2021-05-25 International Business Machines Corporation Migrating data from a large extent pool to a small extent pool

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7774391B1 (en) * 2006-03-30 2010-08-10 Vmware, Inc. Method of universal file access for a heterogeneous computing environment

Also Published As

Publication number Publication date
EP3449373A1 (en) 2019-03-06
US20200201722A1 (en) 2020-06-25
CN109313595A (zh) 2019-02-05
US11347605B2 (en) 2022-05-31
US20170318089A1 (en) 2017-11-02
WO2017190130A1 (en) 2017-11-02
US20220292005A1 (en) 2022-09-15
US9990260B2 (en) 2018-06-05
EP3449373B1 (en) 2020-04-15
US10585768B2 (en) 2020-03-10
US11921597B2 (en) 2024-03-05
US20180276090A1 (en) 2018-09-27

Similar Documents

Publication Publication Date Title
US11829607B2 (en) Enabling data integrity checking and faster application recovery in synchronous replicated datasets
US11983083B2 (en) Trust relationship migration for data mirroring
CN109313595B (zh) 跨平台复制
US10176064B2 (en) Granular consistency group replication
US10853210B2 (en) Storage device health status synchronization
US20170149886A1 (en) Directory level incremental replication
US20170235805A1 (en) Tracking structure for data replication synchronization
CN108604163B (zh) 针对文件访问协议存储的同步复制
US20160266811A1 (en) Mirror vote synchronization
US9348714B2 (en) Survival site load balancing
US11768624B2 (en) Resilient implementation of client file operations and replication

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