CN102652423A - 用于集群选择和协作复制的集群族 - Google Patents
用于集群选择和协作复制的集群族 Download PDFInfo
- Publication number
- CN102652423A CN102652423A CN2010800556667A CN201080055666A CN102652423A CN 102652423 A CN102652423 A CN 102652423A CN 2010800556667 A CN2010800556667 A CN 2010800556667A CN 201080055666 A CN201080055666 A CN 201080055666A CN 102652423 A CN102652423 A CN 102652423A
- Authority
- CN
- China
- Prior art keywords
- family
- cluster
- copy
- volume
- module
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2056—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2056—Error 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/2082—Data synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0617—Improving the reliability of storage systems in relation to availability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0686—Libraries, e.g. tape libraries, jukebox
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0682—Tape 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Hardware Redundancy (AREA)
- Developing Agents For Electrophotography (AREA)
Abstract
公开了创建用于集群选择和协作复制的集群族的装置、***和方法。基于它们的关系和角色,将集群分组到集群族的族成员。集群族的成员确定哪个族成员在获得复制信息的最佳位置并且变为与他们的集群族内的累积一致。一旦集群族变为累积一致,在集群族内共享数据使得集群族内所有拷贝是一致的。
Description
技术领域
本发明涉及与数据存储***相关的数据存储,并且更特别地涉及存储***中的集群。
背景技术
存储***可以包括多个磁带设备,所述磁带设备用于使用库管理器来访问多个磁带。磁带可以被布置在录音带盒中。控制器可以指示传动器将盒式磁带从存储区域转移到磁带驱动器,从而访问在磁带上写入的数据和/或将数据写入到磁带中。
存储***可以位于包括多个地理上不同的站点的多个站点。存储***可以通过一个或多个网络进行通信。每个存储***可以包括多个集群。每个集群可以包括多个磁带驱动器。将磁带安装到磁带驱动器,从而从磁带读取数据并且将数据写入磁带。
可以将每个磁带组织成一个或多个逻辑卷,此处被称为卷。卷可以对主机呈现为不同的存储设备。可以将卷逻辑地“安装”在虚拟磁带驱动器上。如此处所使用的,虚拟磁带驱动器是对主机呈现为磁带驱动器的逻辑构造。
US 2009/0132657(Sutani,M R,等)公开了分布式结构中跨集群的数据分区,其中缓存节点的动态复制基于伙伴复制的概念。伙伴复制允许由集群内有限数量的节点来复制数据并且提供降低的网络复制业务。
US 2009/0030986A1(Bstes,J W)公开了在复制集群内实现的远程异步数据复制过程,其实现点到点数据复制。通过复制网络上站点之间的双向数据,点到点拓扑允许局部站点的主要存储将数据分布到远程站点。
在多集群配置中,每个集群平等地独立于所有其它集群。在没有关系意识的一些分类的情况下,集群不能基于他们角色和/或与其它集群的距离按最有效率的方式来操作。在典型的网格配置中,这种对关系的没有意识极大地影响了在安装处理期间选择集群作为卷的源的手段以及集群兑现卷复制的能力。例如,网格可以与城域远程集群相比倾向于选择全球远程源集群用于安装和/或拷贝处理。由于集群之间的网络距离,全球远程集群的效率要低得多。尽管可以将实时延迟检查引入以检测所述距离,广域网(WAN)的不规则和随机性使得非常难以可靠地测量相对距离。更深一步地,如果组一起工作并且累积地复制数据到组中,并且然后彼此复制,跨组中两个或多个集群距离的自身复制能够更有效率。
因此,现有技术中存在解决上述问题的需要。
发明内容
提供用于创建集群族、选择集群族成员或多个集群族以及族成员和不同族之间的协作复制的方法、装置和***。例如,基于集群的关系将集群分组为集群族的族成员。集群族的成员确定哪个族成员处于最好的位置,以获得外部数据对象并且变为与他们的集群族内的外部数据对象累积地一致。一旦集群族变为累积地一致,在集群族内共享数据对象,使得集群族内所有的集群具有每个外部数据对象的已知拷贝。
从一个方面来看,本发明提供一种包括计算机可使用媒介的计算机程序产品,所述计算机可读媒介包括计算机可读程序。当在计算机上执行计算机可读程序时,促使计算机:将多个集群分组到集群族的族成员;确定哪个族成员处于获得来自源的外部数据的最佳位置;选择集群族中的一个或多个族成员以获得数据;将数据复制到集群族;在至少两个外部数据对象的集群族内实现累计一致性;并且共享集群族内的数据,使得集群族内的所有集群具有每个外部数据对象的一致拷贝。
从另一方面来看,本发明提供一种用于多个集群的协作复制的方法。所述方法包括将多个集群安排到集群族的族成员中;在族成员之间进行协商,确定哪个族成员位于从源获得数据的最佳位置;选择集群族的一个或多个族成员,以获得数据;协作地将数据复制到集群族中;在集群族内实现累计一致性;并且在集群族内共享数据,使得集群族内的所有数据拷贝是一致的。
从另一方面来看,本发明提供一种创建集群族和族成员以执行协作复制的装置。所述装置包括多个模块,被配置为功能性地执行以下步骤:创建集群族和族成员;应用协作复制;以及基于集群关系来选择集群族和族成员。所介绍的实施方式中的这些模块可以包括关系模块、创建模块、协作复制模块、安装处理模块、通信模块以及策略模块或他们的任意组合。
关系模块包括在处理器上执行的计算机可读程序并且保持定义角色、规则和集群族和族成员之间的关系的因素。所述集群通过网络进行通信。每个集群包括至少一个缓存,例如,虚拟卷缓存。
创建模块包括在处理器上执行的计算机可读程序并且创建用于集群选择和协作复制的集群族。在本发明的优先实施方式中,创建模块通过基于集群的关系和角色将集群分组到族成员中来创建集群族。在可替换的实施方式中,创建模块在配置上将集群分配到族中。在可替换的实施方式中,创建模块创建不同集群之间的关系并且将集群分组到族中。
协作复制模块包括在处理器上执行的计算机可读程序,并且跨集群族中集群族成员且跨不同集群族协作地复制数据。
安装处理模块在处理器上执行的计算机可读程序,并且支持集群族内的族成员比其它集群族更用于生产目的。
从另一方面来看,本发明提供了一种用于多个集群的协作复制的***。所述***包括网络;通过网络进行通信的多个站点,每个集群包括至少一个主机和存储***,所述存储***包括多个集群,每个集群包括被配置为访问在磁带上存储的卷的至少一个磁带驱动器,至少一个磁带卷缓存,以及集群管理器,被配置为使用处理器和存储器来执行计算机可读程序,其中软件可读程序包括:创建模块,被配置为建立集群组以及将集群组安排到集群族的族成员中;以及协作复制模块,被配置为选择族成员以协作地复制外部数据对象到集群族中并且实现累积族一致性。
附图说明
下面将仅通过实例的方式并参考如附图中所示的优选实施方式来介绍本发明,其中:
图1是示出了根据本发明的分布式站点的优选实施方式的示意性框图;
图2A和2B是示出了根据本发明的存储***的优选实施方式的示意性框图;
图3是示出了本发明的集群的优选实施方式的示意性框图;
图4是示出了本发明的集群族装置的优选实施方式的示意性框图;
图5是示出了本发明的协作复制方法和集群族选择的优选实施方式的示意性流程图;以及
图6A和6B是示出了本发明的协作复制方法和集群族选择的优选实施方式的示意性流程图。
具体实施方式
本说明书中对特征、优点或相似语言的参考并不意味着,可以利用本发明来实现的所有特征和优点应当在或全部在本发明的任意单个实施方式中。而是,将涉及特征和优点的语言理解为表示:结合优选实施方式介绍的特定特征、优点或特性包括在本发明的至少一个实施方式中。因此,整个所述说明书中的特征、优点和相似语言的讨论可以,但不是必须地,指代相同的实施方式。
此外,本发明的上述特征、优点和特性可以在一个或多个实施方式中按任意合适方式来结合。所属领域的技术人员将认识到,本发明可以在没有特殊实施方式的一个或多个特定特征或优点的情况下来实现。
通过参考附图在下面的说明的实施方式中介绍本发明,其中相同的附图标记表示相同或相似的元件。虽然根据用于实现本发明的目标的最佳模式来介绍本发明,所属领域的技术人员应了解的是,在不脱离本发明的范围的情况下根据这些教导可以完成改变。
将本说明书中介绍的许多功能单元标记为模块,以更特殊地强调他们的实现方式的独立性。例如,可以将模块实现为硬件电路,包括惯用的超大规模集成电路(VLSI)或门阵列,现成的半导体,例如逻辑芯片、晶体管或其它不相关联组件。还可以在可编程硬件设备中实现模块,可编程硬件设备例如是现场可编程门阵列(FPGA)、可编程阵列逻辑、可编程逻辑设备等。还可以由各种类型的处理器执行的软件中实现模块。可执行模块的识别模块例如包括一个或多个物理或逻辑计算机指令块,所述指令块可以例如被组织成对象、过程或功能。然而,可执行的识别模块不需要在物理位置上处在一起,但是可以包括在不同位置处存储的完全不同的指令,当将上述指令逻辑上连接在一起时,包括模块并且实现用于模块的所表述的目的。
实际上,可执行节点的模块可以是单个指令、或多个指令,并且甚至可以在几个不同的代码段上、在不同的程序间、以及跨几个存储器设备上分布。相似地,此处在模块中可以识别和说明可操作的数据。可以将可操作的数据收集作为单个数据集合,或可以在包括不同存储设备的不同位置上分布。
本说明书中队“优选实施方式”、“优选实施方式”或相似语言的参考意味着,结合本实施方式介绍的特殊特征、结构或特点包括在本发明的至少一个优选实施方式中。因此,本说明书中出现的短语“在优选实施方式中”、“在优选实施方式中”以及相似语音可以但无须全部指代相同的实施方式。
此外,本发明的所述特征、结构或特性可以在一个或多个实施方式中按任意合适的方式来结合。在下面的说明中,提供大量的具体细节,例如,编程、软件模块、用户选择、网络事务、数据库查询、数据库结构、硬件模块、硬件电路、硬件芯片等的实例,以提供本发明的实施方式的彻底理解。然而,所属领域的技术人员将认识到,可以在不使用一个或多个具体细节、或其它方法、组件、材料等来实现本发明。在其他实例中,没有详细地介绍和示出已知的结构、材料或操作,以避免混淆本发明的方面。
图1是示出了根据本发明的分布式站点100的优选实施方式的示意性框图。分布式站点100包括多个站点105。每个站点105可通过网络110与其它站点105进行通信。网络110可以是互联网、局域网(LAN)、广域网(WAN)、专用网络、网络的结合等。
每个站点105可以包括一个或多个存储***,如此后将介绍的。此外,每个站点105可以包括将存储***连接到网络110的网桥、路由器等。
图2A和2B是示出了根据本发明的存储***200的优选实施方式的示意性框图。一个或多个存储***200可以体现在图1的每个站点105中。
存储***200可以将数据存储在不同物理媒介中,包括但不限于存储盒带、磁盘驱动器、固态磁盘(SSD)、磁盘直接存取存储设备(DASD)、磁带驱动器、库、以及磁盘驱动器阵列,例如独立磁盘(RAID)冗余阵列或磁盘簇。存储盒带的实例是盒式磁带,其包括枢纽卷轴上缠绕的可重写磁带,以及盒带存储器。盒式磁带的一个实例包括基于线性磁带开放(LTO)技术的盒带。线性磁带开放LTO以及LTO标志是HP、IBM公司和Quantum在美国或其它国家的商标。
存储***200可以按不同形式来存储数据,例如逻辑或虚拟数据。此处,可以按各种形式中的任意一种来组织数据,称为“卷”或“对象”,在不参考数据的任意特殊尺寸或安排的情况下选择的数据。
如图2A和2b中所示,存储***200为多个主机***210提供存储器。例如,存储***200包括多个主机210、多个集群220、以及网络215。尽管为了简化的目的,图2A中示出了两个(2)主机210a、210b,四个(4)集群220a、220b、220c、220d以及一个(1)网络215,但是可以使用任意数量的主机210、集群220以及网络215。因此,存储***200中可以包括任意数量的集群220。
如图2A中所示,存储***200可以使用通过网络215连接的四个(4)集群220a、220b、220c、220d,每个集群220包括用于为主机210a仿真磁带驱动器或磁带库的虚拟节点(“VN”)260和存储设备230。在优选的实施方式中,集群220a、220b、220c、220d是虚拟磁带服务器集群。
每个集群220包括分层存储节点(“HSN”)250,用于本地移动和/或在存储设备230和库240之间传递数据。在优选的实施方式中,存储***200包括磁盘存储器230和磁盘库240。在优选的实施方式中,库240是自动磁盘库(“ATL”)。HSN 250可以用于在本地磁盘存储器230和远程磁盘存储器230之间远程地传递数据。例如,磁盘存储器230可以包括被安排为RAID、JBOD、SSD或他们的任意组合的一个或多个磁盘驱动器。
每个集群220包括如图3所示的具有磁带的库管理器370,将在下面进行介绍。主机210可以发起或运行任务或工作,例如磁带工作,其中从集群族280和/或族成员220中的磁带读取数据,并且将数据写入集群族280和/或族成员220中的磁带。主机210可以是大型计算机、服务器等。主机210可以具有运行或支持多个操作***的能力。例如,主机210可以运行或可以支持多个操作***,例如 等。Linux是Linus Toralds在美国和/或其它国家的注册商标。Java和所有基于Java的商标和标志是Oracle和/或其分支机构的商标或注册商标。Microsoft、Windows以及Windows标志是微软公司在美国和/或其它国家内的商标。存储***200的主机210中的每一个可以用作单个大型计算机,一个或多个服务器、或多个虚拟机。主机210可以提供三个级别的虚拟化:通过处理器资源/***管理器(PR/SM)工具的逻辑分区(LPAR);通过操作***的虚拟机;以及操作***,尤其是具有密钥保护的地址空间和面向目标的工作量调度的IBMIBM,z/VM以及z/OS是国际商业机器公司在许多全球管辖区内注册的商标。
主机210可以通过网络215与集群220进行通信,以通过下面将介绍的集群族成员220访问多个磁带驱动器、磁盘驱动器、或其它存储设备。例如,第一主机210a可以在网络215上进行通信,以通过第一集群220a访问存储设备和磁带。
每个集群220可以包括分层存储控制器,例如分层存储节点315,如图3所示。集群220可以提供用于要被读取和存储的单点管理,聚集了可以容易地将存储器分配给不同主机210的存储工具,通过增加存储器或存储器控制节点来扩展存储***200,以及用于实现高级功能的平台,例如快写缓存、时间点拷贝、透明数据迁移以及远程拷贝。
集群220可以遵循“带内”方法。带内方法可以导致通过集群族成员220来处理所有的输入/输出(I/O)请求和所有的管理和配置请求。
集群220中的每一个可以在他们自己之间连接并且可以通过网络215连接到主机220,以访问在磁带上写入的数据和/或将数据写入到磁带中。多个集群220可以形成存储***200的域205。域205可以代表多个集群或网格配置。域205可以包括两个或多个集群220。
存储***200的网络215可以是存储区域网络(SAN),令牌环网络、局域网(LAN)、广域网(WAN)、互联网、专用网络和网络的结合等。SAN可以包含一种“构造”,主机210可以通过所述“构造”在网络215上与集群220进行通信。构造可以包括光纤通道网络、以太网等。所有的元件不能共享用于通信的相同构造。第一主机210a可以通过一种构造与第一集群220a进行通信。此外,第一主机210a可以通过另一构造与第三集群220c进行通信。
每个存储***200可以包括集群族280。集群族280可以包括多个集群族成员220,将所述多个集群族成员220安排、配置、组织和/或分组到集群族280中。例如,如图2B中所示,存储***200包括集群族280(1)和集群族280(2)。集群族280(1)包括被分组到集群族280(1)的族成员中的多个集群220(a)、220(b)。集群族280(2)包括被分组到集群族280(2)的族成员中的多个集群族成员220(b)、220(c)。集群族280(1)和集群族280(2)经由网络(例如网络110、215)彼此进行通信。可以为每个集群族280指定或分配名称。例如,可以将集群族280(1)命名为城市A,并且可以将集群族280(2)命名为城市B。
尽管为了简化的目的,图2B示出了具有两个集群族280的存储***200。可以使用任意数量的存储***200、集群族280以及集群族成员220。
存储***200的实例是IBM TS7700虚拟磁带服务器。
图3是示出了本发明的集群220的优选实施方式的示意性框图。例如,集群220可以代表图2A和2B的集群族280的集群族成员220。集群220的说明引用图1至2的元件,相同的数字表示相同的元件。集群220可以包括虚拟化节点310、分层存储节点315、卷缓存365以及库管理器370。
例如,存储设备230可以包括被安排为独立磁盘冗余阵列(RAID)或磁盘簇(JBOD)、或固态磁盘(SSD)等的一个或多个磁盘驱动器。存储设备230可以包括卷存储器365。卷缓存365可以用作虚拟卷缓存和/或磁带卷缓存(TVC)。
例如,存储设备230包括虚拟卷缓存365。虚拟卷缓存365可以用作TVC,其中TVC包括快速访问存储器设备,例如硬盘驱动器。在优选的实施方式中,集群220用于缓存到TVC 365的数据。
TVC 365可以缓存从逻辑卷读取的数据和/或缓存要被写入到逻辑卷的数据。主机210可以重复地写入到逻辑卷。TVC 365可以在硬盘驱动器230上存储写入的数据,而不将数据写入到逻辑卷的磁带。在稍后的时间,TVC 365可以将缓存的数据写入到磁带库240内的磁带。因此,可以通过TVC 365来路由诸如用于安装逻辑卷的虚拟磁带驱动器的读取操作和写入操作的操作。
主机210可以发起和运行集群220上的任务和/或工作。例如,第一主机210a访问可能导致库管理器370的传动器由物理磁带管理器335控制,将盒式磁带从存储区域传递到磁带驱动器,以访问在磁带上写入的数据和/或将数据写入磁带和/或TVC 365。
虚拟化节点310可以是具有到网络215的多个连接的独立的基于处理器的服务器。虚拟化节点310可以包括电池备份单元(BBU)和/或可以访问不中断电源(UPS)。虚拟化节点310可以包含看门狗定时器。看门狗定时器可以确保能够重启不能和/或花费较长时间来恢复的故障虚拟化节点310。
虚拟化节点310可以包括一个或多个磁带后台程序312。磁带后台程序312可以将集群220到主机210的磁带驱动器仿真为虚拟磁带驱动器。磁带后台程序312可以在TVC 365上操作文件,和/或可以通过远程文件访问在另一集群220的远程TVC 365中操作文件。
分层存储节点315可以包括集群管理器320、远程文件访问325、数据移动器330、物理磁带管理器335、缓存管理器340、回调管理器345、数据库350、管理接口355以及媒体管理器360。集群管理器320可以在多个集群或网格拓扑中的多个集群220之间协调操作。
集群管理器320可以使用令牌来确定哪个集群220具有数据的当前拷贝。可以将令牌存储在数据库350中。集群管理器320还可以协调集群220之间的拷贝数据。集群管理器320可以包括一个或多个处理器,被配置为执行所属领域的技术人员所了解的计算机可读程序。
远程文件访问325可以是服务器、一个或多个处理器等。远程文件访问325可以提供到TVC 365的用于由任意远程集群220访问的链接。集群管理器320可以包括计算机可读程序。
数据移动器330可以控制用于在集群220之间执行的拷贝的实际数据传递操作,并且还可以在物理磁带媒体和TVC 365之间传递数据。数据移动器330可以包括计算机可读程序。
物理磁带管理器335可以控制集群220中的物理磁带。物理磁带管理器335可以管理多个池中的物理磁带、改造、从共同的暂存池借卷以及将卷返回给暂存池,并且在池之间传递磁带。物理磁带管理器335可以包括计算机可读程序。
缓存管理器340可以控制从TVC 365到物理磁带的数据拷贝,以及随后的从TVC 365的数据冗余拷贝的移除。缓存管理器340可以提供控制信号以不同组件和TVC 365之间的数据流。缓存管理器340可以计算机可读程序。
回调管理器345可以对从物理媒体到TVC 365的数据的回调进行排队和控制,用于集群管理器320所请求的虚拟磁带驱动器或拷贝。回调管理器345可以包括计算机可读程序。
数据库350可以是在硬盘驱动器上存储的记录的结构收集。记录可以包括磁带上的数据的位置。主机210可以使用数据库地址将数据写入集群220的磁带和/或可以从磁带访问数据,以将数据提供给用户。
管理接口355可以提供与集群220相关的信息给用户。同样,管理接口355可以允许用户控制和配置集群220。管理接口355可以包括计算机阴极射线管(CRT)、液晶显示器(LCD)屏幕、键盘等,或作为基于网络的接口而存在。
媒体管理器360可以管理集群220的磁带的物理处理。同样,媒体管理器360可以管理集群220的磁带的错误恢复。媒体管理器360可以诊断错误且可以确定错误是否是由物理磁带驱动器或由物理磁带媒体引起的。此外,媒体管理器360可以采取用于错误恢复的适当动作。
库管理器370可以包括多个物理磁带驱动器、机器人存取器以及多个物理磁带媒体。库管理器370的机器人存取器可以将磁带传递到被分配给TVC 365的磁带驱动器。虚拟磁带驱动器可以是对主机210来说是物理磁带驱动器的逻辑结构。如所属领域技术人员公知的,可以通过读取/写入通道从磁带驱动器的磁带读取数据,或将数据写入磁带驱动器的磁带。
多个集群220中的每一个磁带驱动器可以使用一个或多个磁带以存储数据。磁带可以用作存储***200中数据的存储媒体。集群220可以使用任意数量的磁带驱动器和磁带。例如,存储***200可以使用两个(2)磁带驱动器以及两百五十六(256)个虚拟驱动器。
TVC 365可以包含来自***作的磁带卷的数据并且可存储用于快速存取的附加卷数据。可以通过TVC 365来路由安装卷的虚拟磁带驱动的诸如读取操作和写入操作的操作。因此,选择集群220可以选择集群的TVC365。可以将磁带驱动器的所有磁带组织为一个或多个逻辑卷。可以使用先入先出(FIFO)和/或最近使用(LRU)算法来管理TVC 365中的卷。
TVC 365可以是快速存取存储器设备。例如,TVC 365可以是具有五千四百吉比特(5400GB)存储器容量的硬盘驱动器等。在存储***200中,磁带驱动器可以缓存从逻辑卷读取的去往TVC 365的数据和/或可以缓存要被写入到逻辑卷的数据。例如,主机210可以重复地写入虚拟磁带驱动器。TVC 365可以在硬盘驱动器上存储写入的数据,而不将数据写入虚拟磁带。在稍后的时间,缓存管理器340可以将缓存的数据写入到集群220的磁带。
可以将存取卷的虚拟化节点310称为安装点。选择用于逻辑卷的最近安装点的远程集群TVC 365可以改进对卷的存取。TVC 365的高可使用性、快速写入存储器允许主机210将数据写入TVC 365,而不必等待要被写入到物理磁盘的数据。
在优选的实施方式中,每个站点105包括存储***200。每个存储***200包括被分组在一起的两个或多个集群族成员220,以创建集群族280。例如,集群族280(1)包括集群族成员220(a)和220(b)的组,并且集群族280(2)包括集群族成员220(c)和220(d)的组。集群族281(1)可以用于生产目的,并且例如,集群族280(2)可以用于灾难(DR)或归档的目的。因此,集群族280可以实现与其它集群族28相关的不同角色。此外,集群族280的集群族成员220可以实现集群族280内彼此相关的不同角色。因此,集群族280的集群族成员220可以实现与非族成员的不同角色。
在优选的实施方式中,可以在全球距离、都市距离或其组合上配置集群族280。相似地,可以在全球距离、都市距离或其组合上配置集群族成员220。此外,在集群族280中,集群族成员220可以具有彼此不同的远离分级。相似地,集群族280可以具有彼此之间的不同的远离分级。虽然可以将远离分级用作定义角色和集群族820和集群族成员220之间的关系的因素,但这仅是带来集群族成员220和基站族280之间的关系感知的因素。因此,将集群220安排或分组到集群族280的集群族成员中并不被限制为距离。
此外,由于每个存储***200包括通过将两个或多个集群220分组到族成员中所创建的集群族280,每个存储***200或存储***200的结合可以代表多集群配置或网格。
此外,存储***200的集群220可以形成分布式存储配置。例如,第二集群220(b)可以创建卷的第二实例。第二实例可以与第一集群220(a)上的第一拷贝同步,其中在更新第一拷贝的任意时间更新第二拷贝。可以在位于远程站点105的另一集群族280中存储第二实例,以确保在第一实例变为不可使用的情况下的数据可用性。未来的安装点存取可以选择第二拷贝作为第一拷贝。当增加、移除和/或重新平衡数据到磁带时,可以使用透明数据迁移。
尽管通过参考图1至2来讨论本发明的优选实施方式,但是这仅用于说明的目的。所属领域的技术人员将明白的是,本发明并不限于任意特定的网格配置并且可以在任意多集群或网格配置中实现。例如,可以将来自站点105(a)的一个或多个集群220与来自不同站点105(站点105(b))的一个或多个集群220分为一组,以创建第一集群族280。同样地,可以将来自站点105(c)和站点105(a)的一个或多个集群220分组到族成员中,以创建第二集群族280。因此,可以将集群220的任意组合分组到组成员中,以创建集群族280。
图4是示出了本发明的集群族装置400的优选实施方式的示意性框图。装置400可以体现在主机210和/或集群220中。在优选的实施方式中,装置400体现在集群管理器320中。装置400的说明指图1至3的元件,相同的数字指代相同的元件。装置400可以包括关系模块405、创建模块410、协作复制模块415、安装处理模块420、通信模块425和策略模块430或其任意组合。
关系模块405包括在处理器上执行的计算机可读程序,处理器例如是集群管理器320的处理器。此外,集群关系模块405包括定义集群族280和族成员220之间的关系和角色的因素。例如,与哪些族成员属于哪些族相关的因素,相邻族和/或组成员之间的距离分级,以及哪些族成员用于生产目的且哪些族成员用于DR(灾难恢复)和/或实现目的。
集群族成员220通过诸如网络110和/或网络215的网络进行通信。每个集群族成员220可包括具有至少一个磁带驱动器的库管理器370,所述至少一个磁带驱动器被配置为存取在磁带和至少一个TVC 365上的卷。
创建模块410包括在处理器上执行计算机可读程序,所述处理器例如是集群管理器320的处理器。通过将集群22分组到一起以通过准则、规则和/或目的的共同集合来进行操作,创建模块410选择集群220并且将集群220安排到集群族280的族成员中。
创建模块410将集群220分组到集群族280中,以允许族成员220遵从规则或准则的共同集合。这样允许集群组,例如族280(1)、280(2)一起工作以更有效率地完成特殊任务,或允许不同组的集群220和/或族280具有网格内的不同目的。
创建模块410可以被用于通过配置属性允许族280内族成员220的可定制行为。例如,参考图2B,可以允许集群族成员220(a)、220(b)的组充当遵从对生产工作量有益的规则集合的生产族280(1)。可以允许域205中的另一组集群族成员220(c)、220(d)充当归档或灾难恢复族280(2),具有使族成员220(c)、220(d)在从生产族280(1)复制数据时更有效地进行操作的规则。
此外,创建模块410管理族280的族成员220的关系以及不同集群族280之间的关系。例如,创建模块410可以基于集群族成员的关系和角色来管理集群族成员220。在优选的实施方式中,关系模块405可提供这种信息给创建模块410。基于族成员和相邻族的关系和/或角色,集群族成员220将在彼此间进行协调以确定,哪个族成员220在从族280外部的多个集群获得外部数据的最佳位置。创建模块410还可使用这个信息来支持族280的成员220作为TVC集群,或允许相对于仅集群或全网格的族280上的存取限制或其它特殊情况行为。
创建模块410可使用管理接口355来显示页面,其中用户(例如,客户)可以创建具有字符名称的集群族,例如8个字符名称。然后,用户可以使用创建模块410增加一个或多个集群到族。创建模块410可以在集群持续的重要产品数据内存储所述信息,使得多个集群或网格配置中的所有集群知道他们集群的角色以及其所驻留的族。创建模块410可以确定正在选择用于族的集群已经被选择用于另一族。为了避免使任意一个集群在相同时间出现在两个族中,创建模块410可以通知用户被选择的集群已经存在于另一族成员中。此外,创建模块410可以使用规则集合来阻止同一时间将一个集群选择到两个族中。
策略模块430包括在处理器(诸如集群管理器320的处理器)上执行的计算机可读程序。在优选的实施方式中,策略模块430可包括与应当将哪个集群族成员220用于生产以及应当将哪个族成员用于DR/归档目的有关的特定策略。这些策略可以包括管理数据复制的数据集合。用户可以经由管理接口355输入用于管理多个集群族280和族成员220的策略。
参考图2A和2B,集群族创建模块410可以用于创建名称为“城市A”的集群族280(1)以及创建名称为“城市B”的集群族280(2)。集群族280(1)可以包括集群族成员220(a)、220(b)的组,并且集群族280(2)可以包括集群族成员220(c)、220(d)的组。此外,创建模块410可以用于增加族成员220到集群族280或从集群族280移除族成员220,以及将集群族成员重新分组到不同的集群族280中。
由于创建模块410基于族的创建期间集群彼此间的关系和/或角色建立集群并将集群安排到族组中,网格或多集群配置中的所有集群直到彼此的角色以及他们所驻留的族。因此,创建模块410可通过管理接口355警告或通知用户,被增加到族280(1)的集群220(d)当前例如是另一族280(2)的族成员。然后,用户可以从族280(2)取消选择220(d),并且为族280(1)增加或重新选择220(d)。因此,创建模块410允许域205(例如,网格)中的所有集群220直到他们自己的角色以及与他们所驻留的族的关系、与其它族成员的关系以及与驻留在其它族中的非族成员的关系。
在优选的实施方式中,创建模块410可为集群族指派名称。例如,在配置期间,用户可使用管理接口355为集群族指派名称。
协作复制模块415包括在处理器上执行的计算机可读程序,所述处理器例如是集群管理器320的处理器。此外,协作复制模块415加强现有拷贝的管理以使属于集群族280的集群220的组能够更有效率地一起工作,以实现族280以及族280内(例如,族成员220)各个集群220之间的一致性。
协作复制模块415允许族280(例如,DR或归档族)内两个或多个集群族成员220共享入境复制工作量。因此,当为复制选择了源集群时,使用协作复制模块415的DR/归档集群族成员220的族280能够从改进的TVC选择获益。
协作复制模块415允许集群族成员在属于相同族的其它集群族成员之间共享拷贝工作量。例如,在优选的实施方式中,域205包括Y个集群220,其中Y代表域205中包括的集群220的数量。将集群分组到具有N(两个或多个)集群族成员220的集群族280中。因此,域205由Y个集群220组成,其中将集群220中的一些分组到集群族280的N个集群族成员中。
例如,参照图2B,域205中存在四个集群220(a)、220(b)、220(c)、和220(d),因此Y代表4个集群(Y=4)。将两个集群220(a)和220(b)分组到第一集群族280(1)的N=2的集群族成员中,并且将两个集群220(c)和220(d)分组到第一集群族280(2)的N=2的集群族成员中。在这种网格配置中,域205由Y(4)个集群组成,其中将N=2的集群的子集分组到集群族280的族成员中。因此,N=2,作为族中集群族成员的数量。
通过当第一次将集群带入到族中时序列化任意一个卷的复制,协作复制模块45协作地复制基站的族组。例如,协作复制模块415指示族280(2)中的每个集群成员复制外部卷中的1/N,其中N是需要拷贝的族中的集群数量。一旦将所有的外部卷复制到族280(2)中且族280(2)是累积一致的,于是相同族280(2)内不一致的集群在每一个间共享外部数据。
例如,在没有本发明的情况下,如果可能,从微代码的级别,由于集群220不知道彼此之间的关系和角色,每个集群220彼此独立的工作。例如,如果我们假设集群220(a)包括需要被复制到集群220(c)和220(d)的20个卷。由于集群220(c)和220(d)彼此独立地工作,集群220(c)、220(d)中的每一个可以在网络215上拉取20卷的原始数据。
现在参照图2A和2B,在优选的实施方式中,例如,存在四个集群,其中通过创建模块410将两个集群220(a)、220(b)分组到族280(1)中并且将两个集群220(c)、220(d)分组到族280(2)中。所有的族成员220知道彼此并且知道他们所属的族280,并且知道需要被复制到族中相邻集群的所有卷。
例如,集群族成员220(c)和220(d)知道彼此并且存在来自不同集群族280(1)内非族成员220(a)的需要被复制到它们的族280(2)的20个卷。使用协作复制模块415,族成员220(c)拉取10个唯一的卷并且族成员220(d)拉取其它10个唯一的卷。即,每个集群族成员220(c)、220(d)拉取卷的1/N,其中N=族中集群族成员的数量。由于在这个实例中存在属于族集群280(2)的两个集群族成员220(c)、220(d),每个族成员拉取1/2的卷(例如,每个拉取10个唯一的卷)以获得整体20个卷。然后,集群族成员220(c)、220(d)彼此共享10个唯一的卷。
通过经由协作复制模块415协作地复制,由于任意一个卷仅通过远程链路110/235拉取一次而不是N次,集群族280(2)或DR位置可以变得累积地一致更快N倍。于是,由于它们之间的相对距离,集群族成员220可更快地变得彼此间可用性一致。因此,通过每个集群220独立地源自从相同远程生产集群220,变得DR一致和高度可用(HA)一致的整体时间可以极大地增强。
因此,可以优化拷贝吞吐量以及提升整体时间,以实现集群族280内的卷一致性。例如,在受限带宽***或具有多个存档站点的网格中,协作复制模块415允许族280中的每个族成员220参与到用于所有入境拷贝的复制过程,而不复制任何努力。一旦族280内集群220的组(族成员)达到聚集一致状态时,在相同族内的对等集群间共享族280内各个集群220中的一致性拷贝。
此外,协作复制模块415通过推迟复制来处理持续复制源觉察。例如,可以通知具有一致源的集群成员220以保持缓存中所述源卷,从而使其容易地可用于对等复制的其它族成员220。具有一致性源的集群继承原始安装源集群或包含主机创建/修改的原始拷贝的集群的角色。一旦族中的一个集群复制其1/N卷中的一个,协作复制模块415首先通知原始安装源集群,说明其族中所有其它集群(包括其自己)的理由并且生产集群可以解除代表目标族中集群的其自己的角色。这样免除生产集群以组织后端磁带外的卷(假设没有其它族或需要拷贝的生产集群),因此提供更多的缓存可用性。第二,发起用于卷的复制的DR族集群继承角色并且想起其族内的哪些集群仍需要拷贝。通过这种继承,可以在缓存中支持卷,直到所有的其对等族集群完成了拷贝。
在优选的实施方式中,协作复制模块415可以使用级联拷贝需求标志。例如,随着集群族变为一致的,协作复制模块415将拷贝需求标志的所有权从一个集群族移动到另一个。通过级联拷贝需求标志,协作复制模块415可以允许标志的益处从一个族移动到另一个族,因此释放其参与的原始TVC。通过从TVC继承拷贝需求标志,例如,一旦族成员获得拷贝,其可以允许TVC集群迁移卷并且在缓存中为其他新工作量分配空间。
一个实例可以是包括产品或与DR/归档族相连的默认族的域。TVC集群可以是生产或默认族的成员,并且可以开始管理拷贝需求标志。一旦DR/归档族的成员从TVC集群获得了拷贝,DR/归档族可以通知TVC集群清除与DR/归档族的成员相关的所有拷贝需求标志。与此相结合,DR/归档族可以继承管理用于其族成员的这些拷贝需求标志的责任。
例如,在存储***200(未示出)的另一实施方式中,域205可以包括:第一族集群280(1),其包括集群族成员220(a)、220(b)、220(c);第二族集群280(2),其包括集群族成员220(d)、220(e)、220(f);以及第三族集群280(3),其包括集群族成员220(g)、220(h)、220(i)。每个族280包括三个集群族成员220并且每个族成员代表一个比特。由于存在三个族且每个族具有三个族成员(3比特),比特集合中总共有9个比特。例如,族集群280(1)包括需要被复制到族集群280(2)、280(3)中的原始数据对象。
可能的是,集群220(a)可以持有缓存中的卷,直到所有九个集群220在网络110或215之间拉取了拷贝为止。例如,集群220(a)可以包括9比特集合并且,当每个集群220拉取拷贝时,集群220(a)可清除其掩码中的比特。由于集群220(a)在其缓存中持有用于所有九个集群220的拷贝,集群220(a)不能为附加工作量分配空间。
通过允许每个集群族280继承管理用于其族成员的这些拷贝需求标志的责任,集群220(a)可以清除用于这些集群族280(2)、280(3)的剩余6个比特,并且在其缓存中仅保持用于其自己的驻留在族280(1)中的两个族成员220(b)、220(c)的拷贝。一旦其自己的族成员220(b)和220(c)具有拷贝,集群220(a)于是可清除其掩码以为更多的工作量分配空间。
在本实例中,族280(2)的集群220(d)在网络215上拉取拷贝并且通知族集群280(1)的集群220(a)由于220(d)将在其缓存中保持拷贝直到其族成员220(e)、220(f)接收了拷贝位置,则其不再需要在缓存中持有用于族280(2)的拷贝。这样使集群220(a)无需在缓存中持有用于集群族280(2)的所有集群成员的拷贝。相似地,属于族280(3)的族成员220(g)指示集群220(a),将在其缓存中保持其族成员220(h)、220(i)的拷贝。因此,族220(a)免除在其缓存中持有用于属于280(3)的所有族成员的拷贝。
此外,协作复制模块415可以通过在域中使用更多链接来执行拷贝而不是主要抵赖于来自TVC的拷贝,在低带宽环境中增加性能,并且改进了用于族内集群变为一致的整体时间。例如,使用协作复制模块415的族280合作,从而实现跨族的一致性。在接收到全族的一致性时,族成员220于是可以一起工作以在族成员之间共享数据,以将每个各自成员带至族的一致性级别。
安装处理模块420包括在处理器上执行的计算机可读程序,处理器例如是集群管理器320的处理器。当利用集群的逻辑卷发生安装时,安装处理模块420支持和选择在其族外部的集群上的其自己的族内的集群族成员。例如,对产品集群的安装可通过主要用于DR或电子跳马远程集群来支持相同族280(1)中的另一生产集群。当生产数据需要保持局部且快速复制的高度可用性,安装处理模块420可被用于支持通过灾难恢复的可用性,并且因此通过DR族在生产族内选择族成员。
安装处理模块420可以通过在需要远程安装时支持集群族成员来改进控制和性能。可以配置族和/或族成员(例如,使用创建模块410)以在选择远程TVC时相比于其它基站更喜欢特定集群。这样在从非生产集群区别产品集群集合时是有益处的。优选相同产品族内的族成员可以在生产集群内保持TVC选择,而不是潜在地选择旨在DR或归档目的的距离上远程的集群。
此外,由于集群族280内的集群族成员220是安装的目标并且在相同集群族280中得到支持,可以改进TVC选择处理。
在优选的实施方式,存储***200可以包括多个集群,其中将两个或多个集群220的子集分组到第一集群族280中,并且将两个或多个集群220的子集分组到第二集群族280中。族组的分组可以基于族成员的角色、关系和/或彼此间和/或与其它非族成员集群之间的距离。集群族280的每个集群族成员知道他们彼此之间的关系。族成员之间的这种关系意识允许组一起有效率地工作,以累积地复制数据到组中并且然后在彼此间进行复制。
站点105可以包括集群族280或集群族280的组合。例如,站点105(a)可以包括第一集群族280和第二集群族280。第一集群族280可以包括生产集群220(a)、220(b),并且第二集群族280可以包括生产集群220(c)、220(d)。此外,可以从站点105的结合中选择集群220以创建集群族280。例如,可以通过选择不同站点105(例如,105(a)和105(b)处的集群220来创建集群族280,其中站点105(a)处集群220(a)、220(b)用于生产目的并且站点105(b)处集群220(c)、220(d)用于DR和/或归档目的。
在优选的实施方式中,集群220(c)、220(d)用于归档数据。在优选的实施方式中,集群220(c)、220(d)用于DR。在另一实施方式中,诸如集群220(c)的一个集群用于DR,并且诸如集群220(d)的另一集群用于归档。
一般地,下面的示例性流程图详述了逻辑流程图。这样,所描述的顺序和标记的步骤指示本方法的优选实施方式。可以将功能上、逻辑上或效果上等价的其它步骤和方法设想为所述方法的一个或多个步骤,或其部分。此外,提供所使用的格式和符号以解释所述方法的逻辑步骤,并且将所使用的格式和符号理解为不限制本方法的范围。尽管可以在流程图使用各种箭头类型和线类型,不将他们理解为限制相应方法的范围。实际上,一些箭头和其它连接器可以用于仅指示方法的逻辑流。例如,箭头可以指示所描述的方法的列举的步骤之间非特定持续的等待或监控时间段。此外,特定方法发生的顺序可以限制为附着的相应示出步骤的顺序,或不限制为附着的相应示出步骤的顺序。
图5是示出了本发明的集群族选择和协作复制方法的优选实施方式的示意性流程图。方法500实质上包括执行上面与图1至4的介绍的装置和方法的操作相关呈现的共更能的步骤。在优选的实施方式中,利用计算机程序产品来实现所述方法,所述计算机程序产品包括具有计算机可读程序的计算机可读媒介。可以将计算机可读程序集成到计算机***中,所述计算机***例如集群管理器320和/或主机210,其中与计算***相结合的程序能够执行所述方法500。
方法500开始并且在步骤510,将一组集群安排到集群族的族成员中。例如,基于集群间彼此的关系以及与域中其它集群的关系来对集群进行分组。基于各种因素和/或功能来创建集群族,所述功能包括角色(例如,生产源、DR、归档等)、范围、距离(例如,族之间的距离比率)等。此外,用户可以将字符名称指派给集群族。例如,如图2B中所示,可以使用字符名称(“城市A”)来创建集群族并且可以使用字符名称“城市B”来创建另一族。
在优选的实施方式中,创建模块410用于创建集群族,其中用户可以使用管理接口355在配置期间创建集群族,以创建集群族名称、增加一个或多个集群到族、在相邻族间分配角色和/或距离比率、以及使用配置属性来教导集群。例如,创建模块410可以使用这些持续设置以为一个或多个集群或族成员带来关系意识以及带来族之间的相关属性,例如距离。
在优选的实施方式中,关系模块405保持用于集群族和族成员的这些持续设置。
此外,可以使用自主功能来检测角色和集群间的关系。例如,在创建模块410中执行自主功能簇。
在步骤515中,族成员在彼此间进行协商,以确定族的哪个族成员位于获得外部数据对象的最佳位置。例如,如图2B所示,集群族280(1)包括两个或多个族成员220(a)、220(b),可以在城市距离上配置集群族并且集群族可以用于生产目的。集群族280(2)包括两个或多个族成员220(c)、220(d),可以在全球距离上参照族280(1)来配置集群族并且集群族可以用于DR目的。集群族280(1)可以经由准备好拷贝数据对象的网络110、215与集群族280(2)进行通信。由于每个族的集群成员以及集群自身知道其它每个集群的角色和彼此间的关系,族成员220(c)、220(d)可以在彼此间进行协商以确定族280(2)的哪一个族成员位于获得数据对象外部的拷贝的最佳位置。
在优选的实施方式中,例如,属于集群族280的集群族成员220使用共同拷贝工作队列按FIFO顺序工作。在拷贝的工作之前,每个集群族成员220首先确保集群族280中没有其它集群族成员已经在拷贝或已经拷贝了。如果不是,一个或多个集群族成员220可执行拷贝。如果另一族成员已经正在发生拷贝或另一族成员已经发生拷贝,一个或多个集群族成员可以将拷贝移动到延迟队列。一些时间之后,毕竟已经将激活的生产内容拷贝到集群族280中,族成员开始在他们应当彼此共享内容的延迟队列上进行工作。如果原始获得拷贝的对等族成员不在,那么其仍然可从外部集群或另一族成员获得拷贝。
在步骤520,一个或多个集群族成员获得和复制信息或源卷。例如,选择属于集群族280的一个或多个集群族成员220以在远程网络110、215上拉取数据或源卷,拷贝/复制数据或源卷、并且将其带入到集群族280中。例如,族280(2)的族成员220(c)将外部数据对象通过网络110、215拉到族280(2)。族成员220(c)现在具有一致的源并且可以要求族成员220(c)在缓存(例如,TVC 365)中保持源卷,以使其容易地可用于对等复制。
在步骤525中,在族的族成员之间协作地复制源卷。例如,当第一次将集群带入到族中,集群的族组通过序列化任意一个卷的复制来进行协作。族中的每个集群均可用作复制1/N卷的角色,其中N是族内需要拷贝的集群的数量。
通过协作地复制,由于仅跨远距离链路拉取任意一个卷一次而不是多次,集群族或DR位置可以N倍更快地变为累积一致。然后,由于它们之间的相对距离,集群可以更快地变为用于可用性的彼此间一致。变为DR一致和HA(高可用性)一致的整体时间可在每个集群上极大地增加,而与相同远程生产集群的源相独立。
在步骤530,集群族实现累积一致性。即,完成需要被复制到集群族的集群族外部的所有卷。集群族作为整体与所有外部数据对象一致。现在,集群族成员可以在彼此间共享,使得集群族内每个单独族成员具有其自己的拷贝。
在步骤535,在将所有的卷复制到族中并且族是累积一致的之后,相同族内不一致的集群于是彼此间共享卷(即,数据对象)。
因此,本发明的实现方法500协作地执行复制,其中由于仅跨远距离链路拉取任意一个卷一次而不是多次,集群族或DR位置可以N倍更快地变为累积一致。然后,由于它们之间的相对距离,集群可以更快地变为用于可用性的彼此间一致。变为DR一致和HA(高可用性)一致的整体时间可在每个集群上极大地增加,而与相同远程生产集群的源相独立。
此外,当客户仅需要N个拷贝以及这些N个拷贝彼此远离时,方法500使用复制到X个集群(其中,X代表集群的数量)的更有效方法的族。这样允许客户在距离/族上传播拷贝,而不明确集群接收拷贝。例如,用户可能不关心哪个集群包含拷贝,只要存在N个拷贝(其中N小于X);并且客户要求N个拷贝全部存在于独立的族中。因此,域中的所有基站可以协作,以确保来自每个族的至少一个成员复制卷,并且于是剩余的集群可满足其复制要求。如是,可以在N个族中以N个拷贝作为结束,而不会在任意一个区域中具有N个拷贝中的过多拷贝。
可以在安装处理中按任意结合来使用方法500的步骤。例如,通过在步骤510中配置的集群族,使用步骤515到535,方法500可以支持在其族外部的集群上其自己族的集群。例如,对生产集群的安装可以支持远程集群上的另一生产集群(在***族中),所述远程集群最初用于灾难恢复(电子跳马)。由于用户可能趋于想要产品数据,以保持本地的和快速复制的高可用性(支持通过灾难恢复的可用性),根据短期目标且仍然不影响长期目标,获得产品集群更为有效。
参考图6A和6B,是示出了本发明的集群族选择和协作复制方法的优选实施方式的示意性流程图。方法600实质上包括执行上面关于图1至4介绍的装置和***的操作呈现的功能的步骤。在优选的实施方式中,利用计算机程序产品来实现所述方法,所述计算机程序产品包括具有计算机可读程序的计算机可读媒介。可以将计算机可读程序集成到计算机***,例如集成管理器320和/或主机210,其中与计算***结合的程序能够执行方法600。
方法600开始且在步骤605,拷贝过程开始。例如,城市A中的外部数据对象需要在城市B中复制(例如,图2B)。
在步骤610,控制确定接收拷贝请求的集群是否是集群族成员。如果不是,在步骤615,拷贝卷,且不执行协作复制。例如,协作复制模块415可以管理拷贝请求,而没有延迟或优先级改变。
此外,协作复制模块415可以在族中选择至少一个族成员,以跨遥远的链路或网络拉取数据。一旦确定了集群是族成员且没有其它族成员跨网路拉取数据,可以执行选择。
如果这是集群族成员,在步骤620,控制确定其它族成员中的一个是否已经完成了拷贝所述卷。如果是,在步骤625,由于其他族成员中的一个已经拷贝了卷,为拷贝卷提供较低优先级并且将卷拷贝回队列。
如果族成员中的一个还没有完成对所述卷的拷贝,在步骤630,控制确定另一族成员是否激活地包括所述卷。如果是,在步骤635,降低用于拷贝这个卷的优先级并且在回到队列前存在延迟。在将拷贝请求发送回队列之前的延迟确保,例如,激活地拷贝卷的另一族成员没有遭遇拷贝卷的任何问题。
在步骤630,如果没有激活地拷贝所述卷的其它族成员,那么在步骤640,控制确定另一族成员是否也已经准备拷贝所述卷,但是此时没有激活地拷贝。如果不是,在步骤645,控制确定此时没有激活地拷贝的这种其它族成员是否应当继承拷贝需求标志。如果是,在步骤645,这个集群降低拷贝优先级且延迟回到队列。
如果在步骤645中的否,方法600移动到步骤655并且所述族成员赢得两个集群成员之间的连接中断器并且继承拷贝标志。因此,在步骤645,控制确定将指定哪个族成员来继承拷贝标志。非指定族成员降低拷贝优先级并且延迟回到队列(例如,步骤650)。
返回步骤640,如果另一族成员没有准备好拷贝所述卷,那么在步骤655,控制确定在所述集群族中仅有一个族成员准备好拷贝所述卷且指定族成员作为集群来继承拷贝标志且完成复制。
应当注意的是,在步骤640,控制可以确定存在准备拷贝并且此时没有激活地拷贝的另一族,但如步骤645所示的,确定其它集群将不会继承拷贝标志。因此,步骤640中,集群将继承拷贝标志,如步骤655所示。
在步骤660,在步骤655中继承拷贝标志的指定集群完成拷贝。
在步骤670,控制清除源集群处的拷贝需求标志并且通过设置用于集群族的族成员的拷贝需求标志,协作以累积地将族变为一致的。
在步骤675,集群成员的其它族成员完成他们的拷贝,并且重置在步骤655中设置的在被指定集成拷贝标志的集群内的他们的拷贝需求标志。
图1至3可以是多集群配置的指示。在多集群配置或(网格配置)中,从微代码的角度,每个集群可能不知道其与自己以及其它集群的关系和角色,因此与所有其它期间平等独立地工作。例如,当从一个或两个生产集群全球远程地配置两个或多个集群时,他们可以通过在远程网络上“拉取”数据而单独地复制。由于集群没有关系意识,他们不能够基于它们的角色和/或与其它集群的距离来按最有效的方式进行操作。
此外,在多集群配置中,由于这种对关系的无意识,很大程度上影响选择集群以在安装期间获得卷的装置以及集群获得卷复制的能力。例如,生产集群可以在城市远程集群上选择全球远程源集群,以用于安装和/或拷贝处理。由于集群间的网络距离,全球远程集群的效率要低得多。
本发明的实现方式能够通过为多集群或网格配置中族成员和族之间引入关系意识来解决这些问题。此外,实现本发明可以提高数据拷贝和/或复制的性能、效率和优化。例如,协作地复制到族,从而实现累积族一致性更快N倍以及通过相比于让每个集群独立地从相同的远程生产集群获取降低变为DR一致和HA一致的整体时间,仅使用累积网络吞吐量的1/N可以提升效率和性能。
参照图1至6,本发明的实现方式可以涉及软件、固件、微代码、硬件和/或任意组合。实现方式可以采用在媒介中实现的代码或逻辑的形式,媒介例如是分层存储节点315的存储器、存储和/或电路,其中媒介可以包括硬件逻辑(例如,集成电路芯片、可编程门阵列[PGA]、应用专用集成电路[ASIC]、或其它电路、逻辑或设备)、或计算机可读存储媒介,例如磁存储媒介(例如,电、磁、光、电磁、红外、或半导体***、半导体或固态存储器、磁带、可移动计算机磁带、以及随机存取存储器[RAM]、只读存储器[ROM]、硬磁盘和光盘、致密盘-只读存储器[CD-ROM]、致密盘-读/写[CD-R/W]以及数字视频磁碟(DVD))。
所属领域的技术人员容易了解的是,可以对上述讨论的方式进行改变,包括对步骤顺序的改变。此外,所属领域的技术人员将了解的是,可以与此处示出的那些方式使用不同的特定组件安排。
虽然此处已经详细地说明了本发明的优选实施方式,应当了解的是,在不脱离下列权利要求所述的本发明的范围的情况下,所述领域的技术人员可以对这些实施方式进行各种修改和改变。
Claims (30)
1.一种用于多个集群的协作复制的方法,所述方法包括以下步骤:
将多个集群的至少一个子集安排到集群族的族成员中;
在集群族成员之间进行协商,以确定哪个集群族成员在从族外部的至少一个集群获得至少一个外部数据对象的最佳位置;
选择集群族的一个族成员,以获得外部数据对象;以及
在集群族成员之间共享外部数据对象,使得集群族内的每个集群与外部数据对象一致。
2.根据权利要求1所述的方法,进一步包括基于集群关系因素和角色因素中的至少一个,在集群族之间创建关系的步骤。
3.根据权利要求1或2所述的方法,进一步包括以下步骤:
具有一致源的族成员在缓存中保持卷,以使卷可容易地用于对等复制的其它族成员。
4.根据权利要求3所述的方法,进一步包括以下步骤:
所述族成员在缓存中保持所述卷用于其他族成员,使外部集群免除在外部集群的缓存中保持拷贝。
5.根据权利要求1所述的方法,进一步包括以下步骤:
族中N个族成员中的每一个复制外部数据对象的第1/N卷。
6.根据权利要求1至5中任意一项所述的方法,进一步包括协作地将所有复制序列化到集群族中的步骤。
7.根据权利要求1所述的方法,进一步包括以下步骤:
复制外部数据对象的第1/N卷的N个族成员中的第一个通知外部集群,第一族成员将保持所述卷用于集群族成员以及免除外部集群在外部集群缓存中保持卷。
8.根据权利要求1至7中任意一项所述的方法,进一步包括在集群族内的集群之间共享外部数据对象之前,在多个外部数据对象的集群族内实现累积一致性的步骤。
9.根据权利要求1至8中任意一项所述的方法,进一步包括支持在集群族中的族成员中的一个比集群族外部的集群更用于安装处理的步骤。
10.根据权利要求1至9中任意一项所述的方法,进一步包括提供多个集群族的步骤,其中来自每个族的至少一个族成员复制卷。
11.根据权利要求1所述的方法,进一步包括以下步骤:提供包括多个集群的域,其中集群协作以确保来自每个族的至少一个族成员复制卷并且剩余的集群服从复制要求。
12.根据权利要求1所述的方法,进一步包括以下步骤:
接收拷贝卷到第一集群的拷贝请求;
确定第一集群是否是集群族的族成员;
响应于第一集群是族成员,确定另一族成员是否已经完成拷贝所述卷;
响应于另一族成员还没拷贝所述卷,指定第一集群继承拷贝请求;
执行拷贝请求并且协作地复制所述卷到集群族中;
在集群族内实现累计一致性;以及
在集群族内共享所述卷,使得所述集群族内的卷的所有拷贝是一致的。
13.根据权利要求12所述的方法,进一步包括以下步骤:
确定第二族成员是否激活地拷贝所述卷;以及
响应于第二族成员激活地拷贝所述卷,指定第二族成员来继承拷贝请求。
14.根据权利要求13所述的方法,进一步包括以下步骤:
确定第二族成员是否准备好拷贝,但是此时没有激活地拷贝;
响应于第二族成员准备好拷贝并且此时没有激活地拷贝,降低第二族成员的拷贝优先级且延迟拷贝请求。
15.根据权利要求12所述的方法,进一步包括以下步骤:
选择第二族成员以继承拷贝请求;以及
降低第一集群族成员的拷贝优先级且延迟拷贝请求。
16.根据权利要求12所述的方法,进一步包括以下步骤:
指定第一族成员继承拷贝请求,作为集群族的源集群;
在第一族成员处完成拷贝;
在第一族成员处清除拷贝请求标志;
在第一族成员处为其他族成员设置拷贝请求标志;
其他族成员继承拷贝请求标志;
其他族成员完成拷贝;以及
每个族成员重置拷贝请求标志。
17.一种用于多个集群的协作复制的***,所述***包括:
网络;
通过网络进行通信的多个站点,每个站点包括至少一个主机和存储***,所述存储***包括多个集群,每个集群包括被配置为存取在磁带上存储的卷的至少一个磁带驱动器、至少一个磁带卷缓存、以及集群管理器,其包括:
创建模块,用于建立集群组以及将集群组安排到集群族的族成员中;以及
协作复制模块,用于选择族成员以协作地复制外部数据对象到集群族中并且实现累积族一致性。
18.根据权利要求17所述的***,其中协作复制模块进一步用于在每个族成员之间共享复制。
19.根据权利要求18所述的***,进一步用于族中N个族成员中的每一个复制外部数据对象的第1/N卷。
20.根据权利要求17到19中任意一项所述的***,其中创建模块进一步用于基于集群间关系因素和角色因素中的至少一个,创建集群族。
21.根据权利要求17到20中任意一项所述的***,其中协作复制模块进一步用于在集群族内的集群之间共享外部数据对象之前,实现多个外部数据对象的集群族内的累积一致性。
22.一种用于多个集群的协作复制的计算机程序产品,所述计算机程序产品包括:
处理单元可读的计算机可读存储媒介并且存储用于执行根据权利要求1到16任意一项方法的处理电路执行的指令。
23.一种在计算机可读媒介上存储的且可装载到数字计算机的内部存储器中的计算机程序,包括软件代码部分,当在计算机上运行所述程序时,执行权利要求1到16中任意一项所述的方法。
24.一种用于多个集群的协作复制的装置,所述装置包括:
创建模块,用于从多个集群创建集群族,其中集群通过网络进行通信并且每个集群包括缓存;以及
协作复制模块,用于协作地复制至少一个外部数据对象到集群族。
25.根据权利要求24所述的装置,其中创建模块进一步用于根据集群关系因素和角色因素中的至少一个建立集群组以及将集群组安排到集群族的族成员。
26.根据权利要求24至25中任意一项所述的装置,其中协作复制模块进一步用于通过延迟复制来处理持续复制源意识。
27.根据权利要求24至26中任意一项所述的装置,其中集群族中N个族成员中的每一个复制外部数据对象的第1/N个卷。
28.根据权利要求24至27中任意一项所述的装置,其中协作复制模块进一步用于:选择集群族的一个族成员,以获得外部数据对象,并且作为用于集群族内所有族成员的源集群;以及在共享外部数据对象之前,使得源集群负责实现集群族内的累积一致。
29.根据权利要求24至28中任意一项所述的装置,进一步包括:
关系模块,用于保持定义集群族和族成员之间的角色、规则和关系的因素。
30.根据权利要求24至29中任意一项所述的装置,进一步包括:
安装处理模块,用于支持集群族内的族成员比其它集群族更用于生产目的。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/635,702 | 2009-12-11 | ||
US12/635,702 US8812799B2 (en) | 2009-12-11 | 2009-12-11 | Cluster families for cluster selection and cooperative replication |
PCT/EP2010/067595 WO2011069783A1 (en) | 2009-12-11 | 2010-11-16 | Cluster families for cluster selection and cooperative replication |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102652423A true CN102652423A (zh) | 2012-08-29 |
CN102652423B CN102652423B (zh) | 2015-04-01 |
Family
ID=43567534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080055666.7A Active CN102652423B (zh) | 2009-12-11 | 2010-11-16 | 用于集群选择和协作复制的方法和*** |
Country Status (6)
Country | Link |
---|---|
US (5) | US8812799B2 (zh) |
JP (1) | JP5695660B2 (zh) |
CN (1) | CN102652423B (zh) |
DE (1) | DE112010003837T5 (zh) |
GB (1) | GB2488248B (zh) |
WO (1) | WO2011069783A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105493474A (zh) * | 2013-08-29 | 2016-04-13 | 甲骨文国际公司 | 用于支持用于同步分布式数据网格中的数据的分区级别日志的***及方法 |
WO2017167070A1 (zh) * | 2016-03-30 | 2017-10-05 | 阿里巴巴集团控股有限公司 | 集群数据复制方法、优先级确定方法及装置 |
CN108089949A (zh) * | 2017-12-29 | 2018-05-29 | 广州创慧信息科技有限公司 | 一种数据自动备份的方法和*** |
CN111885170A (zh) * | 2020-07-23 | 2020-11-03 | 平安科技(深圳)有限公司 | 物联网控制***的处理方法、***、云端服务器及介质 |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8812799B2 (en) | 2009-12-11 | 2014-08-19 | International Business Machines Corporation | Cluster families for cluster selection and cooperative replication |
US20110153715A1 (en) * | 2009-12-17 | 2011-06-23 | Microsoft Corporation | Lightweight service migration |
US9389895B2 (en) * | 2009-12-17 | 2016-07-12 | Microsoft Technology Licensing, Llc | Virtual storage target offload techniques |
US9323775B2 (en) | 2010-06-19 | 2016-04-26 | Mapr Technologies, Inc. | Map-reduce ready distributed file system |
US11726955B2 (en) | 2010-06-19 | 2023-08-15 | Hewlett Packard Enterprise Development Lp | Methods and apparatus for efficient container location database snapshot operation |
US9311328B2 (en) * | 2011-04-22 | 2016-04-12 | Veritas Us Ip Holdings Llc | Reference volume for initial synchronization of a replicated volume group |
US8856082B2 (en) * | 2012-05-23 | 2014-10-07 | International Business Machines Corporation | Policy based population of genealogical archive data |
JP6015755B2 (ja) * | 2012-06-20 | 2016-10-26 | 富士通株式会社 | 仮想ディスクのマイグレーションに関する情報処理方法及び装置 |
US9619256B1 (en) * | 2012-06-27 | 2017-04-11 | EMC IP Holding Company LLC | Multi site and multi tenancy |
US8904231B2 (en) * | 2012-08-08 | 2014-12-02 | Netapp, Inc. | Synchronous local and cross-site failover in clustered storage systems |
US20140122817A1 (en) * | 2012-10-31 | 2014-05-01 | Duke Browning | System and method for an optimized distributed storage system |
US8903539B2 (en) * | 2012-11-21 | 2014-12-02 | International Business Machines Corporation | Efficient distribution and selection of storage media in a storage medium library |
US20140229695A1 (en) * | 2013-02-13 | 2014-08-14 | Dell Products L.P. | Systems and methods for backup in scale-out storage clusters |
US9438674B2 (en) | 2013-06-07 | 2016-09-06 | International Business Machines Corporation | Appliance interconnection architecture |
US11128448B1 (en) * | 2013-11-06 | 2021-09-21 | Pure Storage, Inc. | Quorum-aware secret sharing |
US9262290B2 (en) | 2013-12-02 | 2016-02-16 | International Business Machines Corporation | Flash copy for disaster recovery (DR) testing |
US9304871B2 (en) | 2013-12-02 | 2016-04-05 | International Business Machines Corporation | Flash copy for disaster recovery (DR) testing |
US9286366B2 (en) * | 2013-12-02 | 2016-03-15 | International Business Machines Corporation | Time-delayed replication for data archives |
US20150271014A1 (en) * | 2014-03-21 | 2015-09-24 | Onyx Ccs | Automatic configuration of new components by infrastructure management software |
US9606873B2 (en) | 2014-05-13 | 2017-03-28 | International Business Machines Corporation | Apparatus, system and method for temporary copy policy |
US9542277B2 (en) | 2014-09-30 | 2017-01-10 | International Business Machines Corporation | High availability protection for asynchronous disaster recovery |
US20160140197A1 (en) * | 2014-11-14 | 2016-05-19 | Tim Gast | Cross-system synchronization of hierarchical applications |
US20160259573A1 (en) * | 2015-03-03 | 2016-09-08 | International Business Machines Corporation | Virtual tape storage using inter-partition logical volume copies |
US10896207B2 (en) * | 2015-08-20 | 2021-01-19 | International Business Machines Corporation | Optimization of object-based storage |
WO2017131791A1 (en) * | 2016-01-30 | 2017-08-03 | Entit Software Llc | Log event cluster analytics management |
CN107220263B (zh) * | 2016-03-22 | 2021-09-03 | 阿里巴巴集团控股有限公司 | 数据迁移的优化方法、评估方法及处理方法及装置 |
US10248523B1 (en) * | 2016-08-05 | 2019-04-02 | Veritas Technologies Llc | Systems and methods for provisioning distributed datasets |
KR102292389B1 (ko) * | 2018-01-17 | 2021-08-25 | 한국전자통신연구원 | 원격 직접 메모리 접근을 통한 분산 처리 장치 및 그 방법 |
US11010233B1 (en) | 2018-01-18 | 2021-05-18 | Pure Storage, Inc | Hardware-based system monitoring |
US11172021B2 (en) | 2018-02-06 | 2021-11-09 | Hewlett-Packard Development Company, L.P. | File objects download and file objects data exchange |
US11023174B2 (en) | 2019-09-12 | 2021-06-01 | International Business Machines Corporation | Combining of move commands to improve the performance of an automated data storage library |
US11429441B2 (en) | 2019-11-18 | 2022-08-30 | Bank Of America Corporation | Workflow simulator |
US11106509B2 (en) | 2019-11-18 | 2021-08-31 | Bank Of America Corporation | Cluster tuner |
US11520907B1 (en) | 2019-11-22 | 2022-12-06 | Pure Storage, Inc. | Storage system snapshot retention based on encrypted data |
US11341236B2 (en) | 2019-11-22 | 2022-05-24 | Pure Storage, Inc. | Traffic-based detection of a security threat to a storage system |
US11657155B2 (en) | 2019-11-22 | 2023-05-23 | Pure Storage, Inc | Snapshot delta metric based determination of a possible ransomware attack against data maintained by a storage system |
US11645162B2 (en) | 2019-11-22 | 2023-05-09 | Pure Storage, Inc. | Recovery point determination for data restoration in a storage system |
US11720714B2 (en) | 2019-11-22 | 2023-08-08 | Pure Storage, Inc. | Inter-I/O relationship based detection of a security threat to a storage system |
US11755751B2 (en) | 2019-11-22 | 2023-09-12 | Pure Storage, Inc. | Modify access restrictions in response to a possible attack against data stored by a storage system |
US11675898B2 (en) | 2019-11-22 | 2023-06-13 | Pure Storage, Inc. | Recovery dataset management for security threat monitoring |
US11941116B2 (en) | 2019-11-22 | 2024-03-26 | Pure Storage, Inc. | Ransomware-based data protection parameter modification |
US11687418B2 (en) | 2019-11-22 | 2023-06-27 | Pure Storage, Inc. | Automatic generation of recovery plans specific to individual storage elements |
US11615185B2 (en) | 2019-11-22 | 2023-03-28 | Pure Storage, Inc. | Multi-layer security threat detection for a storage system |
US11500788B2 (en) | 2019-11-22 | 2022-11-15 | Pure Storage, Inc. | Logical address based authorization of operations with respect to a storage system |
US11720692B2 (en) | 2019-11-22 | 2023-08-08 | Pure Storage, Inc. | Hardware token based management of recovery datasets for a storage system |
US11625481B2 (en) | 2019-11-22 | 2023-04-11 | Pure Storage, Inc. | Selective throttling of operations potentially related to a security threat to a storage system |
US11651075B2 (en) | 2019-11-22 | 2023-05-16 | Pure Storage, Inc. | Extensible attack monitoring by a storage system |
CN113641503B (zh) * | 2021-09-01 | 2024-05-14 | 上海联蔚盘云科技有限公司 | 多云多集群的Kubernetes管理***及方法与设备 |
US11630603B1 (en) * | 2021-09-28 | 2023-04-18 | Hewlett Packard Enterprise Development Lp | Hardware device polling using delay order |
US20230136224A1 (en) * | 2021-11-02 | 2023-05-04 | Quantum Corporation | Automated system and method for diagnosing tape drive and media issues within large-scale tape library system |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030221074A1 (en) * | 2002-05-24 | 2003-11-27 | Ai Satoyama | Computer system and a method of replication |
US6718361B1 (en) * | 2000-04-07 | 2004-04-06 | Network Appliance Inc. | Method and apparatus for reliable and scalable distribution of data files in distributed networks |
CN1780420A (zh) * | 2004-11-18 | 2006-05-31 | 华为技术有限公司 | 一种确定集群用户集群组内优先级的方法 |
CN101005372A (zh) * | 2006-01-19 | 2007-07-25 | 思华科技(上海)有限公司 | 集群式缓存服务***及其实现方法 |
US7461130B1 (en) * | 2004-11-24 | 2008-12-02 | Sun Microsystems, Inc. | Method and apparatus for self-organizing node groups on a network |
CN101355476A (zh) * | 2008-05-23 | 2009-01-28 | 林云帆 | 一种基于服务器群集的数据文件存储、分发和应用的***和方法 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5862312A (en) * | 1995-10-24 | 1999-01-19 | Seachange Technology, Inc. | Loosely coupled mass storage computer cluster |
US6438705B1 (en) * | 1999-01-29 | 2002-08-20 | International Business Machines Corporation | Method and apparatus for building and managing multi-clustered computer systems |
JP2000322292A (ja) | 1999-05-10 | 2000-11-24 | Nec Corp | クラスタ型データサーバシステム及びデータ格納方法 |
US6952741B1 (en) * | 1999-06-30 | 2005-10-04 | Computer Sciences Corporation | System and method for synchronizing copies of data in a computer system |
US6950833B2 (en) * | 2001-06-05 | 2005-09-27 | Silicon Graphics, Inc. | Clustered filesystem |
US7243103B2 (en) * | 2002-02-14 | 2007-07-10 | The Escher Group, Ltd. | Peer to peer enterprise storage system with lexical recovery sub-system |
US7523204B2 (en) * | 2004-06-01 | 2009-04-21 | International Business Machines Corporation | Coordinated quiesce of a distributed file system |
US20060080362A1 (en) * | 2004-10-12 | 2006-04-13 | Lefthand Networks, Inc. | Data Synchronization Over a Computer Network |
US20060149922A1 (en) * | 2004-12-28 | 2006-07-06 | Ceva D.S.P. Ltd. | Multiple computational clusters in processors and methods thereof |
US9176741B2 (en) * | 2005-08-29 | 2015-11-03 | Invention Science Fund I, Llc | Method and apparatus for segmented sequential storage |
JP4281925B2 (ja) | 2006-06-19 | 2009-06-17 | 株式会社スクウェア・エニックス | ネットワークシステム |
US7757111B2 (en) * | 2007-04-05 | 2010-07-13 | International Business Machines Corporation | Method and system for insuring data integrity in anticipation of a disaster |
US7774094B2 (en) * | 2007-06-28 | 2010-08-10 | International Business Machines Corporation | Selecting a source cluster by measuring system factors, calculating a mount-to-dismount lifespan, and selecting the source cluster in response to the lifespan and a user policy |
US8073922B2 (en) * | 2007-07-27 | 2011-12-06 | Twinstrata, Inc | System and method for remote asynchronous data replication |
EP2052688B1 (en) * | 2007-10-25 | 2012-06-06 | pfm medical ag | Snare mechanism for surgical retrieval |
JP5018403B2 (ja) | 2007-10-31 | 2012-09-05 | 日本電気株式会社 | バックアップシステム、サーバ装置及びそれらに用いるバックアップ方法並びにそのプログラム |
US8180747B2 (en) * | 2007-11-12 | 2012-05-15 | F5 Networks, Inc. | Load sharing cluster file systems |
US7779074B2 (en) * | 2007-11-19 | 2010-08-17 | Red Hat, Inc. | Dynamic data partitioning of data across a cluster in a distributed-tree structure |
CN104123240B (zh) * | 2008-01-31 | 2017-07-28 | 甲骨文国际公司 | 用于事务缓存的***和方法 |
JP5508798B2 (ja) * | 2009-09-29 | 2014-06-04 | 株式会社日立製作所 | クラスタを考慮してレプリケーションを管理する管理方法及びシステム |
US8812799B2 (en) * | 2009-12-11 | 2014-08-19 | International Business Machines Corporation | Cluster families for cluster selection and cooperative replication |
-
2009
- 2009-12-11 US US12/635,702 patent/US8812799B2/en active Active
-
2010
- 2010-11-16 CN CN201080055666.7A patent/CN102652423B/zh active Active
- 2010-11-16 WO PCT/EP2010/067595 patent/WO2011069783A1/en active Application Filing
- 2010-11-16 GB GB1203109.2A patent/GB2488248B/en active Active
- 2010-11-16 JP JP2012542429A patent/JP5695660B2/ja active Active
- 2010-11-16 DE DE112010003837T patent/DE112010003837T5/de not_active Ceased
-
2012
- 2012-07-23 US US13/555,367 patent/US8521975B2/en active Active
-
2014
- 2014-07-31 US US14/448,110 patent/US9250825B2/en not_active Expired - Fee Related
-
2015
- 2015-12-16 US US14/970,764 patent/US9684472B2/en active Active
-
2017
- 2017-05-01 US US15/583,235 patent/US10073641B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6718361B1 (en) * | 2000-04-07 | 2004-04-06 | Network Appliance Inc. | Method and apparatus for reliable and scalable distribution of data files in distributed networks |
US20030221074A1 (en) * | 2002-05-24 | 2003-11-27 | Ai Satoyama | Computer system and a method of replication |
CN1780420A (zh) * | 2004-11-18 | 2006-05-31 | 华为技术有限公司 | 一种确定集群用户集群组内优先级的方法 |
US7461130B1 (en) * | 2004-11-24 | 2008-12-02 | Sun Microsystems, Inc. | Method and apparatus for self-organizing node groups on a network |
CN101005372A (zh) * | 2006-01-19 | 2007-07-25 | 思华科技(上海)有限公司 | 集群式缓存服务***及其实现方法 |
CN101355476A (zh) * | 2008-05-23 | 2009-01-28 | 林云帆 | 一种基于服务器群集的数据文件存储、分发和应用的***和方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105493474A (zh) * | 2013-08-29 | 2016-04-13 | 甲骨文国际公司 | 用于支持用于同步分布式数据网格中的数据的分区级别日志的***及方法 |
CN105493474B (zh) * | 2013-08-29 | 2020-11-20 | 甲骨文国际公司 | 用于支持用于同步分布式数据网格中的数据的分区级别日志的***及方法 |
WO2017167070A1 (zh) * | 2016-03-30 | 2017-10-05 | 阿里巴巴集团控股有限公司 | 集群数据复制方法、优先级确定方法及装置 |
CN108089949A (zh) * | 2017-12-29 | 2018-05-29 | 广州创慧信息科技有限公司 | 一种数据自动备份的方法和*** |
CN111885170A (zh) * | 2020-07-23 | 2020-11-03 | 平安科技(深圳)有限公司 | 物联网控制***的处理方法、***、云端服务器及介质 |
Also Published As
Publication number | Publication date |
---|---|
US20160103616A1 (en) | 2016-04-14 |
US8812799B2 (en) | 2014-08-19 |
GB2488248A (en) | 2012-08-22 |
CN102652423B (zh) | 2015-04-01 |
GB2488248B (en) | 2015-07-01 |
US20140344540A1 (en) | 2014-11-20 |
US9684472B2 (en) | 2017-06-20 |
US20120290805A1 (en) | 2012-11-15 |
US8521975B2 (en) | 2013-08-27 |
US9250825B2 (en) | 2016-02-02 |
DE112010003837T5 (de) | 2012-11-08 |
US20110145497A1 (en) | 2011-06-16 |
GB201203109D0 (en) | 2012-04-04 |
JP2013513839A (ja) | 2013-04-22 |
WO2011069783A1 (en) | 2011-06-16 |
JP5695660B2 (ja) | 2015-04-08 |
US10073641B2 (en) | 2018-09-11 |
US20170235508A1 (en) | 2017-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102652423B (zh) | 用于集群选择和协作复制的方法和*** | |
JP5411250B2 (ja) | 冗長データ記憶システムへの指示に従ってのデータ配置 | |
US10825477B2 (en) | RAID storage system with logical data group priority | |
CN101799742B (zh) | 用于在存储***之间转移精简配置卷的方法和装置 | |
US8438136B2 (en) | Backup catalog recovery from replicated data | |
CN102713856B (zh) | 用于恢复在计算机***内的文件***的方法和*** | |
CN101755257B (zh) | 管理在不同的网络上将写入从首要存储器拷贝到次要存储器 | |
US7966470B2 (en) | Apparatus and method for managing logical volume in distributed storage systems | |
US20140351636A1 (en) | Method, device, and system for data reconstruction | |
JP5396836B2 (ja) | データ分散制御プログラム、ストレージ管理プログラム、制御ノード、およびディスクノード | |
JP2010079391A (ja) | レプリケーション環境構築方法およびストレージシステム | |
JP5946472B2 (ja) | コンピュータ・システムにおけるアプリケーション処理の管理のための方法、システム、コンピュータ・プログラム | |
WO2014080492A1 (ja) | 計算機システム、クラスタ管理方法、及び管理計算機 | |
US9606873B2 (en) | Apparatus, system and method for temporary copy policy | |
US11188258B2 (en) | Distributed storage system | |
JP2015527620A (ja) | 計算機システム、サーバ、及び、データ管理方法 | |
JP5355725B2 (ja) | 必須データ管理システム及び計算機及び必須データ管理プログラム及び記録媒体及び通信方法 | |
JP2010191499A (ja) | ストレージシステム | |
JP2013161383A (ja) | 情報処理装置、情報処理方法、プログラム及び情報処理システム | |
WO2017026070A1 (ja) | ストレージシステム及びストレージ管理方法 | |
JP5309816B2 (ja) | データ管理プログラム、データ管理装置、およびデータ管理方法 | |
JP2008191775A (ja) | ディスクアレイ装置およびディスクアレイ装置における複製ボリュームの管理方法 | |
JP2005234937A (ja) | コンピュータ機器、コンピュータネットワークシステム、パーティション分割方法、パーティション分割変更方法、パーティション分割用プログラムおよびパーティション分割変更用プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |