CN104969169A - 出于卷复制的目的来标识工作量和对缓冲器定大小 - Google Patents

出于卷复制的目的来标识工作量和对缓冲器定大小 Download PDF

Info

Publication number
CN104969169A
CN104969169A CN201380072373.3A CN201380072373A CN104969169A CN 104969169 A CN104969169 A CN 104969169A CN 201380072373 A CN201380072373 A CN 201380072373A CN 104969169 A CN104969169 A CN 104969169A
Authority
CN
China
Prior art keywords
disk group
logical volume
buffer zone
storage system
calculated
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
Application number
CN201380072373.3A
Other languages
English (en)
Other versions
CN104969169B (zh
Inventor
R·默里什
S·沃克
O·卢拉吉
C·刘
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of CN104969169A publication Critical patent/CN104969169A/zh
Application granted granted Critical
Publication of CN104969169B publication Critical patent/CN104969169B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3442Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for planning or managing the needed capacity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • 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/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种控制器,可操作用于:在第一存储***中标识要被保护的虚拟机;基于第一关系信息来标识由虚拟机使用的逻辑卷;基于针对所标识的逻辑卷监视的工作量信息来计算工作量;以及基于计算出的工作量来计算第一存储***中的缓冲区的大小,所述缓冲区将要被用于在一个或多个远程副本对的远程拷贝过程中暂时存储要被发送到第二存储***的副本数据,每个副本对由第一存储***中标识的逻辑卷中作为主逻辑卷的逻辑卷和第二存储***中作为次逻辑卷的另一个逻辑卷形成,以使得具有等于或者大于计算出的大小的大小的缓冲区能够被用于管理标识的虚拟机的保护。

Description

出于卷复制的目的来标识工作量和对缓冲器定大小
背景技术
本发明总体上涉及数据复制,并且更特别地涉及通过自动标识工作量并且对复制缓冲器定大小来实现的高效卷复制。
出于数据复制的目的,虚拟化的数据中心环境中的卷的复制是一个复杂且容易出错的过程。其要求存储阵列技术的详尽知识以及复杂的计算,以对复制虚拟化的环境所要求的复制缓冲器定大小。用户被要求将虚拟化的环境手动映射到物理存储阵列环境以确定要求复制的卷。一旦卷被标识,则具有卷特定的度量的复杂的计算就被要求,以对向远处站点充分地复制工作量所要求的复制缓冲器定大小。一旦所要求的复制缓冲器大小被计算,则复制缓冲器被创建并且与成对的卷相关联以发起复制。
发明内容
本发明的示例性实施例提供从一个虚拟化的数据中心到另一个虚拟化的数据中心的复制的自动标识、计算、配置和创建。自动过程被分为三个不同的阶段,该阶段包括:
1.虚拟机到物理卷的标识和映射;
2.所要求的复制缓冲器大小的计算以满足复制要求;以及
3.复制缓冲器与卷复制之间的关联以及本地虚拟数据中心和远程虚拟数据中心之间的关联的创建和记录。
每个阶段被分为处理新的复制缓冲器的创建过程或者现有的复制缓冲器的修改过程的分离的子过程。
描述了两个实施例。它们仅在标识阶段不同。第一实施例保持由用户定义的现有的物理卷配置。第二实施例提供附加的标识和配置步骤以将被复制的卷的范围缩小为仅所选择的那些卷。数据被迁移到具有相似性能的新的组合卷,并且仅那些卷被包括在复制配置中,从而降低虚拟数据中心之间的复制负载。
执行自动过程的***具有库存(inventory)在虚拟数据中心中找到的虚拟环境和物理环境二者并且将虚拟资源(诸如数据存储)映射到物理资源(例如逻辑卷)的能力。该库存和映射能力允许***执行详细描述中给出的虚拟资源和物理资源的必要的创建和迁移。本发明可以被用于标识要求复制的卷、计算处理复制的工作量所要求的复制缓冲器大小、以及创建复制缓冲器。
根据本发明的一个方面,一种计算机,该计算机包括存储器和控制器。控制器可操作用于:在第一存储***中标识多个虚拟机中的要保护的一个或多个虚拟机;基于多个虚拟机与多个逻辑卷之间的第一关系信息来在第一存储***中标识多个逻辑卷中的一个或多个逻辑卷,该一个或多个逻辑卷由所标识的一个或多个虚拟机使用,第一关系信息由控制器来管理;基于针对所标识的一个或多个逻辑卷中的每个逻辑卷监视的工作量信息来计算要被用于所标识的一个或多个逻辑卷的工作量,所监视的工作量信息由控制器来管理;以及基于所标识的一个或多个逻辑卷的计算出的工作量来计算第一存储***中的缓冲区的大小,所述缓冲区将要被用于在一个或多个远程副本对的远程拷贝过程中暂时存储要被从第一存储***向第二存储***发送的副本数据,该一个或多个远程副本对中的每个远程副本对由第一存储***中的所标识的一个或多个逻辑卷中作为主逻辑卷的逻辑卷和第二存储***中作为次逻辑卷的另一个逻辑卷形成,以使得用于具有等于或者大于计算出的大小的大小的所标识的一个或多个逻辑卷的远程拷贝过程的缓冲区能够被用于管理所标识的一个或多个虚拟机的保护。
在一些实施例中,控制器可操作用于(i)基于计算出的工作量和计算出的缓冲区的大小来在第一存储***中创建新的缓冲区或者(ii)基于计算出的工作量和计算出的缓冲区的大小来修改第一存储***中的现有的缓冲区。控制器可操作用于(i)基于计算出的工作量和计算出的缓冲区的大小来在第二存储***中创建新的缓冲区或者(ii)基于计算出的工作量和计算出的缓冲区的大小来修改第二存储***中的现有的缓冲区。第一存储***具有开销和中断持续时间。缓冲区的大小被计算为计算出的工作量乘以中断持续时间乘以(1+开销)。
在特定实施例中,第一存储***具有包括使用的磁盘组和未使用的磁盘组的多个磁盘组。每个未使用的磁盘组具有带有磁盘组大小和磁盘组吞吐量的磁盘组布局。控制器可操作用于从未使用的磁盘组选择要由第一存储***中的缓冲区使用的一个或多个磁盘组,选择一个或多个磁盘组包括:通过磁盘组布局来组织未使用的磁盘组;针对每个磁盘组布局,标识具有大于计算出的工作量的总磁盘组吞吐量以及具有大于计算出的缓冲区的大小的总磁盘组大小的候选磁盘组列表,以便产生一个或多个候选磁盘组列表;从所标识的一个或多个候选磁盘组列表选择具有最高总磁盘组吞吐量的候选磁盘组列表;以及通过以下操作来确定所选择的候选磁盘组列表中要求的、用于缓冲区的磁盘组的数目:(i)将计算出的工作量除以用于所选择的列表的总磁盘组吞吐量并且四舍五入到最接近的整数以获得第一计算值,(ii)将计算出的缓冲区的大小除以所选择的列表的磁盘组大小并且四舍五入到最接近的整数以获得第二计算值,以及(iii)选择第一计算值和第二计算值中的最大值作为所选择的候选磁盘组列表中要求的、用于缓冲区的磁盘组的数目。
在一些实施例中,计算出的缓冲区的大小用于修改具有要保护的现有的一个或多个虚拟机的列表的现有的缓冲区。控制器可操作用于:从现有的一个或多个虚拟机的列表标识现有的一个或多个虚拟机中的哪些虚拟机将保持保护;以及标识要被新保护的任何一个或多个虚拟机。由要保持保护的所标识的一个或多个虚拟机以及由要被新保护的所标识的一个或多个虚拟机使用的一个或多个逻辑卷被标识。第一存储***具有多个磁盘组。计算出的缓冲区的大小用于选择具有大于计算出的缓冲区的大小的大小以及具有大于计算出的工作量的总吞吐量的现有的缓冲区,现有的缓冲区的总吞吐量等于向现有的缓冲区分配的一个或多个磁盘组的磁盘组吞吐量和向现有的缓冲区分配的一个或多个磁盘组的数目的乘积。
在特定实施例中,第一存储***具有包括使用的磁盘组和未使用的磁盘组的多个磁盘组。缓冲区的计算出的大小用于修改(i)具有不大于计算出的缓冲区的大小的大小或者(ii)具有不大于计算出的工作量的总吞吐量的现有的缓冲区,现有的缓冲区的总吞吐量等于向现有的缓冲区分配的一个或多个现有的磁盘组的磁盘组吞吐量与向现有的缓冲区分配的一个或多个现有的磁盘组的数目的乘积。控制器可操作用于从未使用磁盘组选择要被添加到第一存储***中的现有的缓冲区的一个或多个磁盘组。
在一些实施例中,每个未使用的磁盘组具有带有磁盘组大小和磁盘组吞吐量的磁盘组布局。现有的缓冲区中的一个或多个现有的磁盘组具有现有的磁盘组布局。选择要被添加到第一存储***中的现有的缓冲区的一个或多个磁盘组包括:通过磁盘组布局来组织未使用的磁盘组;从具有与现有的磁盘组布局相同的磁盘组布局的未使用的磁盘组标识在被添加到现有的磁盘组时具有大于计算出的工作量的总磁盘组吞吐量以及具有大于计算出的缓冲区的大小的总磁盘组大小的候选磁盘组列表;以及通过以下步骤来确定所标识的候选磁盘组列表中要求的,要被添加到现有的缓冲区的磁盘组的数目:(i)将计算出的工作量除以在被添加到现有的磁盘组时的所标识的列表的总磁盘组吞吐量并且四舍五入到最接近的整数以获得第一计算值,(ii)将计算出的缓冲区的大小除以在被添加现有的磁盘组时所标识的列表的磁盘组大小并且四舍五入到最接近的整数以获得第二计算值,以及(iii)选择第一计算值和第二计算值中的最大值作为所标识的候选磁盘组列表中要求的、被添加到现有的缓冲区的磁盘组的数目。
在特定实施例中,第一存储***具有多个磁盘组。基于第一关系信息,多个逻辑卷在第一存储***中被标识。控制器可操作用于:在第一存储***中标识所标识的逻辑卷的磁盘组;计算要为所标识的磁盘组中的每个磁盘组提供的、用于在第一存储***中包含所标识的逻辑卷的所有数据的总空间量;基于计算出的要为所标识的磁盘组中的每个磁盘组提供的总空间量来创建单个逻辑卷;以及使用所创建的单个逻辑卷代替所标识的逻辑卷来计算工作量和缓冲区的大小。
在一些实施例中,控制器可操作用于:基于计算出的工作量和计算出的缓冲区的大小来在第一存储***中创建缓冲区;更新多个虚拟机与多个逻辑卷之间的第一关系;在第一存储***中标识多个虚拟机中要被保护的一个或多个新的虚拟机,一个或多个新的虚拟机不同于之前标识的要保护的一个或多个虚拟机;基于多个虚拟机与多个逻辑卷之间的第一关系信息来在第一存储***中标识多个逻辑卷中的一个或多个新的虚拟机,一个或多个逻辑卷由所标识的一个或多个新的虚拟机使用;在第一存储***中标识包含所标识的新的逻辑卷的磁盘组;计算要为所标识的磁盘组中的每个磁盘组提供的、用于以在第一存储***中包含所标识的新的逻辑卷的所有数据的总的新空间量;通过修改之前创建的单个逻辑卷、基于计算出的要为所标识的磁盘组中的每个磁盘组提供的总的新空间量来创建新的单个逻辑卷,该修改之前创建的单个逻辑卷包括:基于所标识的要保护的一个或多个新的虚拟机来移除需要被解保护的任何虚拟机并且添加要被新保护的任何虚拟机;基于针对新的单个逻辑卷监视的工作量信息来计算要被用于新的单个逻辑卷的新的工作量;基于新的单个逻辑卷的计算出的新的工作量来计算第一存储***中的、要被用于在一个或多个远程副本对的远程拷贝过程中暂时存储要从第一存储***向第二存储***发送的副本数据的新的缓冲区的新的大小,以使得用于具有等于或者大于计算出的新的大小的大小的新的单个逻辑卷的远程拷贝过程的新的缓冲区能够被用于管理所标识的一个或多个新的虚拟机的保护;以及基于计算出的新的工作量和计算出的新的缓冲区的新的大小来修改之前创建的缓冲区以创建新的缓冲区。
本发明的另一方面涉及一种***,该***包括第一存储***、第二存储***和管理计算机。管理计算机具有存储器和控制器。控制器可操作用于:在第一存储***中标识多个虚拟机中的要被保护的一个或多个虚拟机;基于多个虚拟机与多个逻辑卷之间的第一关系信息来在第一存储***中标识多个逻辑卷中的一个或多个逻辑卷,该一个或多个逻辑卷由所标识的一个或多个虚拟机使用,第一关系信息由控制器来管理;基于针对所标识的一个或多个逻辑卷中的每个逻辑卷监视的工作量信息来计算要被用于所标识的一个或多个逻辑卷的工作量,所监视的工作量信息由控制器来管理;以及基于所标识的一个或多个逻辑卷的计算出的工作量来计算第一存储***中的缓冲区的大小,所述缓冲区将要被用于在一个或多个远程副本对的远程拷贝过程中暂时存储要被从第一存储***向第二存储***发送的副本数据,一个或多个远程副本对中的每个远程副本对由第一存储***中的所标识的一个或多个逻辑卷中作为主逻辑卷的逻辑卷和第二存储***中作为次逻辑卷的另一个逻辑卷形成,以便用于具有等于或者大于计算出的大小的大小的所标识的一个或多个逻辑卷的远程拷贝过程的缓冲区可被用于以管理所标识的一个或多个虚拟机的保护。
本发明的另一方面涉及一种计算机可读存储介质,该计算机可读存储介质存储用于控制数据处理器管理复制的多个指令。多个指令包括:引起数据处理器在第一存储***中标识多个虚拟机中的要被保护的一个或多个虚拟机的指令;引起数据处理器基于多个虚拟机与多个逻辑卷之间的第一关系信息来在第一存储***中标识多个逻辑卷中一个或多个逻辑卷的指令,该一个或多个逻辑卷由所标识的一个或多个虚拟机使用,第一关系信息由控制器来管理;引起数据处理器基于针对所标识的一个或多个逻辑卷中的每个逻辑卷监视的工作量信息来计算要被用于所标识的一个或多个逻辑卷的工作量的指令,所监视的工作量信息由控制器来管理;以及引起数据处理器基于所标识的一个或多个逻辑卷的计算出的工作量来计算第一存储***中的缓冲区的大小的指令,所述缓冲区将要被用于在一个或多个远程副本对的远程拷贝过程中暂时存储要被从第一存储***向第二存储***发送的副本数据,一个或多个远程副本对中的每个远程副本对由第一存储***中的所标识的一个或多个逻辑卷中作为主逻辑卷的逻辑卷和第二存储***中作为次逻辑卷的另一个逻辑卷形成,以使得用于具有等于或者大于计算出的大小的大小的所标识的一个或多个逻辑卷的远程拷贝过程的缓冲区可以被用于管理所标识的一个或多个虚拟机的保护。
本领域普通技术人员鉴于对特定实施例的以下详细描述将很清楚本发明的这些和其他特征和优点。
附图说明
图1图示了根据本发明的第一实施例的可以在其中应用本发明的方法和装置的***的硬件配置的示例。
图2图示了图1的管理计算机中的存储器的示例。
图3示出了图示根据本发明的第一实施例的用于标识要在新的复制缓冲器的创建中保护的虚拟机的过程的流程图的示例。
图4示出了VM(虚拟机)复制列表表格的示例。
图5示出图示了根据第一实施例的用于基于在图3的过程中所标识的虚拟机来标识逻辑卷的过程的流程图的示例。
图6示出了用于新的复制缓冲器的创建的VM到卷映射表的示例。
图7示出了根据第一实施例的用于新的复制缓冲器的创建的逻辑卷复制列表表格的示例。
图8示出了图示根据第一实施例的用于标识要在现有的复制缓冲器的修改中保护的虚拟机的过程的流程图的示例。
图9示出了VM保护标记表格的示例。
图10示出了图示根据第一实施例的用于基于在图8的过程中所标识的虚拟机来标识要保护的逻辑卷的过程的流程图的示例。
图11示出了用于现有的复制缓冲器的修改的VM到卷映射表的示例。
图12示出了根据第一实施例的用于现有的复制缓冲器的修改的逻辑卷复制列表表格的示例。
图13示出了图示用于计算工作量的过程的流程图的示例。
图14示出了三个工作量度量类型之间的关系。
图15示出了计算出的工作量值的示例。
图16示出了图示用于基于来自图13的计算出的工作量值来计算复制缓冲器大小的过程的流程图的示例。
图17示出了计算出的复制缓冲器最小大小值的示例。
图18示出了图示了用于基于复制缓冲器标准来确定要使用的磁盘组的过程的流程图的示例。
图19示出了未使用的本地磁盘组(本地站点)的表格的示例。
图20示出了未使用的远程磁盘组(远程站点)的表格的示例。
图21示出了根据第二实施例的用于现有的复制缓冲器的修改的VM到新的逻辑卷映射表的示例。
图22示出了根据第二实施例的用于现有的复制缓冲器的修改的逻辑卷复制列表表格的示例。
图23示出了图示用于基于复制缓冲器标准来确定要使用的磁盘组的过程的流程图的示例。
图24示出了现有的复制缓冲器中的本地磁盘组的表格的示例。
图25示出了现有的复制缓冲器中的远程磁盘组的表格的示例。
图26-28示出了图示用于计算用于新的复制缓冲器的创建的所要求的磁盘组的次要过程的流程图的示例。
图29示出了远程磁盘组表格的示例。
图29A示出了本地磁盘组表格的示例。
图30示出了在计算所要求的磁盘组的步骤的完整通过之后具有满足吞吐量标记列和满足大小标记列的远程磁盘组表格的示例。
图30A示出了在计算所要求的磁盘组的步骤的完整通过之后具有满足吞吐量标记列和满足大小标记列的本地磁盘组表格的示例。
图31示出了满足用于复制缓冲器的标准的远程磁盘组的表格的示例。
图31A示出了满足用于复制缓冲器的标准的本地磁盘组的表格的示例。
图32示出了作为计算图26-28的所要求的磁盘组的次要过程的输出的用于缓冲器的远程磁盘组的表格的示例。
图32A示出了作为计算图26-28的所要求的磁盘组的次要过程的输出的用于缓冲器的本地磁盘组的表格的示例。
图33和34示出了图示用于计算用于现有的复制缓冲器的所要求的修改后的磁盘组的次要过程的流程图的示例。
图35是作为计算图33和34的所要求的修改后的磁盘组的次要过程的输出的用于复制缓冲器的远程磁盘组的表格的示例。
图35A是作为计算图33和34的所要求的修改后的磁盘组的次要过程的输出的用于复制缓冲器的本地磁盘组的表格的示例。
图36-38示出了图示用于新的复制缓冲器的创建的过程的流程图的示例。
图39示出了本地卷到远程卷映射表的示例。
图40示出了本地卷到远程卷和复制缓冲器映射表的示例。
图41-45示出了图示用于修改现有的复制缓冲器的过程的流程图的示例。
图46图示了根据本发明的第二实施例的从多个逻辑卷到然后被复制到远程***的一个或多个合并的逻辑卷的虚拟卷的移动和迁移。
图47图示了根据第二实施例的可以在其中应用本发明的方法和装置的***的硬件配置的示例。
图48和49示出了图示根据第二实施例的用于基于在图3的过程中所标识的虚拟机来标识要保护的逻辑卷的过程的流程图的示例。
图50示出了根据第二实施例的用于新的复制缓冲器的创建的VM到新的逻辑卷映射表的示例。
图51示出了根据第二实施例的用于新的复制缓冲器的创建的逻辑卷复制列表表格的示例。
图52-54示出了图示根据第二实施例的用于基于在图8的过程中所标识的虚拟机来标识要保护的逻辑卷的过程的流程图的示例。
具体实施方式
在本发明的以下详细描述中,参考形成本公开内容的一部分并且通过图示而非限制性的方式在其中示出可以、实践本发明的示例性实施例的附图。在附图中,相似的附图标记贯穿若干视图基本上描述相似的部件。此外,应当注意,如下面所描述的并且如附图中所图示的,虽然详细描述提供了各种示例性实施例,然而本发明不限于本文、所描述和所图示的实施例,而是可以扩展到其他实施例,该点对于本领域技术人员而言熟知或者会变得熟知。说明书中对于“一种实施例”、“该实施例”、或者“这些实施例”的引用意味着结合实施例所描述的特定特征、结构或者特性被包括在本发明的至少一个实施例中,并且在本说明书中的各个地方中的这些短语的出现并不必要地全部指代相同的实施例。另外,在以下详细描述中,阐述了大量具体细节以便提供对本发明的透彻理解。然而,本领域普通技术人员将很清楚,这些特定细节可能不全需要用来实践本发明。在其他情况下,众所周知的结构、材料、电路、处理和界面没有被详细描述,和/或可以以框图形式被图示,以便没有不必要地模糊本发明。
此外,下面的详细描述的一些部分以计算机内的操作的算法和符号表示的形式被呈现。这些算法描述和符号表示是由数据处理领域的技术人员使用以最有效地向本领域其他技术人员传达其创新性的手段。算法是产生期望的结束状态或者结果的一系列定义的步骤。在本发明中,执行的步骤需要求用于实现有形的结果的有形量的物理操纵。通常,然而并非必须地,这些量采用电信号或者磁信号或者能够被存储、被传输、被合并、被比较或者***纵的指令的形式。原则上出于一般使用的原因,将这些信号称为比特、值、元素、符号、特征、项、数字、指令等有时被证明为很方便。然而应当铭记在心的是,所有这些和类似术语要与适当的物理量相关联并且仅是用于这些量的方便的标记。除非清楚地指出,否则根据下面的讨论很清楚的是,应当理解,贯穿说明书,利用诸如“处理”、“算出”、“计算”、“确定”、“显示”等术语的讨论可以包括计算机***或者其他信息处理设备的动作和过程,该其他信息处理设备操纵和将被表示为计算机***的寄存器和存储器内的物理(电子)量的数据转换成类似地被表示为计算机***的存储器或者寄存器或者其他信息存储、传输或者显示设备内的物理量的其他数据。
本发明还涉及一种用于执行本文中的操作的装置。该装置可以被特别地构造用于所要求的目的,或者其可以包括由一个或多个计算机程序选择性地激活或者重新配置的一个或多个通用计算机。这样的计算机程序可以被存储在计算机可读存储介质(包括非瞬态介质,诸如但不限于光盘、磁盘、只读存储器、随机存取存储器、固态设备或者驱动器、或者适合用于存储电子信息的任何其他类型的介质)中。本文中所呈现的算法和显示没有固有地涉及任何特定计算机或者其他装置。各种通用***可以与根据本文中的教导的程序和模块一起被使用,或者可以提供构造更特定的装置以执行所期望的方法步骤被证明为很方便。此外,没有参考任何特定编程语言来描述本发明。应当理解,可以各种编程语言可以被用于实现如本文中所描述的本发明的教导。可以由一个或多个处理设备(例如中央处理单元(CPU)、处理器或者控制器)来执行(多种)编程语言的指令。
如下面更详细地描述的本发明的示例性实施例通过自动标识工作量并且对复制缓冲器定大小来提供实现的高效的卷复制的装置、方法和计算机程序。
1.实施例1
第一实施例示出:标识现有的卷的集合以从本地站点向远程位置进行复制;计算卷的集合所要求的复制缓冲器;以及建立所选择的卷与复制缓冲器之间的关系。第一实施例被分成三个阶段:卷的标识、复制缓冲器大小的计算、以及所选择的卷与复制缓冲器之间的复制关系的创建。基于复制缓冲器的创建或者修改,每个阶段被分成分离的操纵。
图1图示了可以在其中应用本发明的方法和装置的***的硬件配置的示例。图1示出在本地站点处的本地数据中心和在远程站点处的远程数据中心。每个数据中心具有主机计算机和存储子***。每个主机计算机具有控制器、存储器和存储装置。本地数据中心进一步包括来自2个主机计算机的虚拟机(VM)和虚拟卷(VV)的组。通常,数据中心中可以有多个组。每个存储子***包括存储阵列和复制缓冲器,其存储磁盘组(DG),每个磁盘组具有带有对应的虚拟卷(VV)的一个或多个逻辑卷(LV)。存储子***提供多个逻辑卷作为用于主机计算机的存储区。主机计算机使用这些逻辑卷的标识符来从存储子***读取数据或者向存储子***写入数据。逻辑卷的标识符被称为逻辑单元编号(LUN)。逻辑卷可以被包括在单个物理存储设备或者多个存储设备中。类似地,多个逻辑卷可以与单个物理存储设备相关联。附加的部件(诸如存储控制器、存储器、存储磁盘和接口)被省略。
在图1中,本地数据中心和远程数据中心外部的管理计算机控制用于高效的卷复制的自动过程。管理计算机(作为主机计算机)包括管理器(管理控制器)、存储器和存储装置。管理计算机的本地存储装置存储管理数据,该管理数据包括被存储在过程的阶段之间的图表。存储装置还保持存储器中的图表的副本以用于恢复目的和重新启动。管理器的本地控制器负责管理器过程与本地管理程序环境之间的集成。控制器还负责在请求库存信息时询问存储阵列,以及命令存储阵列创建、修改或者删除需要标识、计算和建立复制的各种对象。
在替选实施例中,可以由数据中心中的一个数据中心(通常为本地数据中心)执行管理计算机的管理功能,并且可以省略外部管理计算机。
图2图示了图1的管理计算机中的存储器的示例。存储器存储VM和卷标识模块、复制缓冲器大小计算模块、复制缓冲器创建模块、用于新的复制缓冲器的创建的VM到卷映射表(图6)、用于新的复制缓冲器的创建的逻辑卷复制列表表格(图7或图51)、VM保护标记表格(图9)、用于现有的复制缓冲器的修改的VM到卷映射表(图11)、用于现有的复制缓冲器的修改的逻辑卷复制列表表格(图12或者图22)、计算出的工作量值(图15)、计算出的复制缓冲器最小大小值(图17)、未使用的本地磁盘组的表格(图19)、未使用的远程磁盘组的表格(图20)、现有复制缓冲器中的本地磁盘组的表格(图24)、现有的复制缓冲器中的远程磁盘组的表格(图25)、远程磁盘组表格(图29)、本地磁盘组表格(图29A)、具有满足吞吐量标记列和满足大小标记列的远程磁盘组表格(图30)、具有满足吞吐量标记列和满足大小标记列的本地磁盘组表格(图30A)、满足用于复制缓冲器的标准的远程磁盘组的表格(图31)、满足用于复制缓冲器的标准的本地磁盘组的表格(图31A)、作为计算所要求的磁盘组的次要过程的输出的用于缓冲器的远程磁盘组的表格(图32)、作为计算所要求的磁盘组的次要过程的输出的用于缓冲器的本地磁盘组的表格(图32A)、作为计算所要求的修改后的磁盘组的次要过程的输出的用于缓冲器的远程磁盘组的表格(图35)、作为计算所要求的修改后的磁盘组的次要过程的输出的用于缓冲器的本地磁盘组的表格(图35A)、本地到远程卷映射表(图39)、本地到远程卷和复制缓冲器映射表(图40)、用于新的复制缓冲器的创建的VM到新的逻辑卷映射表(图50)、用于现有的复制缓冲器的修改的VM到新的逻辑卷映射表(图21)。
I.A阶段1:标识
由VM和卷标识模块(例如程序)执行阶段1的虚拟机和物理卷标识过程。
I.A.1新的复制缓冲器的创建
图3示出了图示根据本发明的第一实施例的用于标识在新的复制缓冲器的创建中要保护的虚拟机的过程的流程图的示例。在步骤100中,过程呈现由用户选择的两个选择机制的选择。根据一个选择机制,步骤101通过管理程序收集的虚拟机(VM)分组的列表,同时在步骤102中做出要使用哪个分组用于复制的选择。在步骤104中,向用户呈现所选择的虚拟机的分组。根据另一个选择机制,步骤103通过管理程序收集所有虚拟机的列表并且在步骤104中向用户呈现该列表。在步骤104中,用户可以从在步骤102中所选择的分组中或者从在步骤103中所获得的列表中选择要复制/保护的虚拟机。在步骤105中,程序将创建图4中所示的、列出应当被复制的虚拟机的VM复制列表表格。
图5示出了图示根据第一实施例的用于基于在图3的过程中所标识的虚拟机来标识要保护的逻辑卷的过程的流程图的示例。在步骤106中,程序读取应当从图4的VM复制列表表格被复制的虚拟机的列表。在步骤107中,程序询问管理程序以确定与所选择的虚拟机中的每个虚拟机相关联的虚拟卷的列表并且初始化虚拟机(VM)和图6的VM到卷映射表中的虚拟卷列。在步骤108中,程序(例如,以软件或者模块的形式)标识包含虚拟卷的逻辑卷。在步骤109中,程序填充图6的VM到卷映射表的逻辑卷列。在步骤106中,程序在所标识的所有虚拟机上迭代。在步骤110中,根据图7中所示的第一实施例,程序减少被包含在图6的VM到卷映射表的逻辑卷列中的副本逻辑卷,以创建用于新的复制缓冲器的创建的逻辑卷复制列表表格,其是步骤111的输出。接着,过程继续进行到用于新的复制缓冲器的创建的阶段2。
I.A.2现有的复制缓冲器的修改
图8示出了图示根据第一实施例的用于标识在现有的复制缓冲器的修改中要保护的虚拟机的过程的流程图的示例。在步骤130中,程序得到现有的复制缓冲器的列表。在步骤131中,做出关于哪个复制缓冲器应当被修改的选择。在步骤132中,利用当前正由所选择的复制缓冲器保护的虚拟机的内容来初始化图9的VM保护标记表格。当复制缓冲器被创建时,该信息由图3中的步骤105的输出确定。其包含VM标识符的VM列表的列以及为真/假的保护标记。对应于特定VM标识符的保护标记指示是否应当在复制缓冲器中保护虚拟机。利用针对当前被包含在复制缓冲器中的所有虚拟机而设置为真的保护标记来初始化图9的VM保护标记表格。
返回图8,步骤133中,程序在呈现对要由用户选择的2个选择机制的选择。根据一个选择机制,步骤134通过管理程序收集VM分组的列表,同时在步骤135中做出要使用哪个分组用于复制的选择。在步骤137中,向用户呈现虚拟机的所选择的分组。根据另一个选择机制,步骤136通过管理程序收集所有虚拟机的列表,并且在步骤137中向用户呈现该列表。在步骤137中,用户可以从步骤135中所选择的分组或者从步骤136中所获得的列表中选择要复制/保护的虚拟机。步骤137中的选择机制使用在图9的VM保护标记表格中设置的保护标记来示出哪些虚拟机当前由该复制缓冲器保护。在步骤138中,基于步骤137中所选择的输入来更新图9中的保护标记。真表示应当保护虚拟机,而假表示不应当保护虚拟机。然后将图9的VM保护标记表格存储在存储器中并且在随后的过程(如图10的过程)中使用。
图10示出了图示根据第一实施例的用于基于在图8的过程中所标识的虚拟机来标识要保护的逻辑卷的过程的流程图的示例。在步骤140中,程序取回图9中的虚拟机的列表并且利用仅应当保持保护或者应当被新保护的虚拟机来初始化图11的VM到卷映射表。这由图9中的保护标记列中的真值表示。在步骤141中,程序询问管理程序以从图9中确定与具有被设置为真的保护标记的所选择的虚拟机中的每个相关联的虚拟卷的列表,并且初始化图11中的VM到卷映射表中的虚拟机和虚拟卷列。在步骤142中,程序标识包含虚拟卷的逻辑卷。在步骤143中,程序填充图11的VM到卷映射表的逻辑卷列。程序在步骤140中所标识的所有虚拟机上迭代。在步骤144中,根据如图12所示出的第一实施例,程序减少图11的VM到卷映射表的逻辑卷列中所包含的复制逻辑卷,以创建用于现有的复制缓冲器的修改的逻辑卷复制列表表格,其是图10的输出。接着过程继续进行到用于现有的复制缓冲器的修改的阶段2。
I.B.阶段2:计算
I.B.1新的复制缓冲器的创建
在用于新的复制缓冲器的创建的该第二阶段,复制缓冲器大小计算模块(例如程序)将执行过程以计算新的本地和远程复制缓冲器的大小以及本地和远程存储阵列的磁盘组配置。这些计算然后可以用于配置本地和远程站点以用于阶段3中的数据复制。
图13示出了图示用于计算工作量的过程的流程图的示例。在步骤200中,程序获得在实施例1的情况下在图7(或者在下面讨论的实施例2的情况下在图51)的逻辑卷复制列表表格中存储并且在阶段1中被标识用于保护的逻辑卷的列表。在步骤201中,程序标识要用于计算:峰值、通常值或者平均值的工作量度量类型。峰值工作量是***经历的最高工作量,通常工作量是在正常操作期间可能经历的最高工作量,以及平均工作量是在逻辑卷的生存期期间的平均工作量。图14示出三个工作量度量类型之间的关系。
在步骤202中,程序取回特定工作量度量。用户可以手动指定工作量,其可以对照逻辑卷被测量,或者可以由管理程序返回工作量。在步骤203中,程序在步骤200中所标识的所有逻辑卷上迭代。在步骤204中,程序通过针对在步骤200中所标识的每个逻辑卷添加在步骤202取回的工作量度量来计算所有卷上的总工作量。在步骤205a中,程序存储总工作量,以用于在图15所示出的计算出的工作量值中的稍后计算中使用。
图16示出了图示用于基于来自图13的计算出的工作量值来计算复制缓冲器大小的过程的流程图的示例。在步骤205b中,程序取回在图13中计算出的并且在图15所示出的计算出的工作量值中所存储的总工作量。程序在步骤206中得到中断持续时间并且在步骤207中得到开销。中断持续时间是从用户请求的输入值,而开销是在***(例如***软件)中存储的硬编码值。在步骤208中,程序使用以下公式来计算复制缓冲器大小:
复制缓冲器大小=(工作量)*中断持续时间*[1+开销]在步骤209中,程序存储复制缓冲器大小,以在图17所示出的计算出的复制缓冲器最小大小值中在后续计算时使用。
图18示出了图示用于基于复制缓冲器标准来确定要使用的磁盘组的过程的流程图的示例。在本地站点处,在步骤210中,程序从存储阵列得到未使用的本地磁盘组的列表并且将列表存储在存储器中作为图19所示出的未使用的本地磁盘组(本地站点)的表格。表格具有磁盘组名称、布局/大小和吞吐量的列。程序传递图19中的未使用的本地磁盘组的列表作为在图26-28中所示并且在计算所要求的磁盘组的阶段2次要过程下描述的步骤212到235中所标识次要过程的输入。来自次要过程的输出是与用于本地复制缓冲器的标准匹配的本地磁盘组的列表。过程将输出存储在存储器中的用于缓冲器的本地磁盘组的表格中,以用于如图32A所示的新的复制缓冲器的创建。
在远程站点处,在步骤211中,程序从存储阵列得到未使用的远程磁盘组的列表并且将列表存储在存储器中作为图20所示的未使用的远程磁盘组(远程站点)的表格。程序传递图20的未使用的远程磁盘组的列表作为在图26-28所示出的并且在计算所要求的磁盘组的阶段2次要过程下描述的步骤212到235中所标识的次要过程的输入。来自次要过程的输出是与用于远程复制缓冲器的标准匹配的远程磁盘组的列表。过程将输出存储在缓冲器中、在用于缓冲器的远程磁盘组的表格中,以用于如图32所示出的新的复制缓冲器的创建。
过程然后继续进行到下面的用于创建复制缓冲器的阶段3(图36中的步骤300)。
I.B.2现有的复制缓冲器的修改
在用于现有的复制缓冲器的修改的该第二阶段,复制缓冲器大小计算模块(例如程序)将执行计算现有的复制缓冲器的新的大小以及本地和远程存储阵列上的磁盘组配置的过程。这些计算然后可以用于重新配置本地和远程站点以用于阶段3中的数据复制。
过程利用图13中的过程以用于计算工作量,并且利用图16的过程以用于基于来自图13的计算出的工作量值来计算复制缓冲器大小。这些步骤的输出是在图15的计算出的工作量值和图17的计算出的复制缓冲器最小大小值中求得的值。
图23示出了图示用于基于复制缓冲器标准来确定要使用的磁盘组的过程的流程图的示例。在本地站点处,在步骤246中,程序从本地存储阵列取回在图32A中之前计算和存储的现有的复制缓冲器配置,并且将该列表存储在存储器中在图24所示出的现有的复制缓冲器中的本地磁盘组的表格中,以利用磁盘组的吞吐量能力来增加表格。表格具有磁盘组名称、布局/大小和吞吐量的列。程序传递图24中的本地磁盘组的列表作为在图33和34所示出的并且在计算所要求的修改后的磁盘组的阶段2次要过程下所描述的步骤236到245中所标识的次要过程的输入。来自次要过程的输出是与用于本地复制缓冲器的标准匹配的本地磁盘组的列表。过程将输出存储在存储器中、在用于缓冲器的本地磁盘组的表格中,以用于现有的本地复制缓冲器的修改(在形式上类似于用于图32A的新的复制缓冲器的创建的缓冲器的本地磁盘组的表格)。
在远程站点处,在步骤247中,程序从远程存储阵列取回在图32中之前计算和存储的现有的复制缓冲器配置并且将该列表存储在存储器中作为图25所示出的现有的复制缓冲器中的远程磁盘组的表格,以利用磁盘组的吞吐量能力来增大表格。程序传递图25中的远程磁盘组的列表作为在图33和34中示出并且在计算所要求的修改后的磁盘组的阶段2次要过程下描述的步骤26到245中所标识的次要过程的输入。来自次要过程的输出是与用于远程复制缓冲器的标准匹配的远程磁盘组的列表。过程将输出存储在存储器中、在用于缓冲器的远程磁盘组的表格中,以用于现有的远程复制缓冲器的修改(在形式上类似于用于图32的新的复制缓冲器的创建的缓冲器的远程磁盘组的表格)。
过程然后继续进行到下面的用于复制缓冲器的修改的阶段3(图41中的步骤316)。
I.A.3计算所要求的磁盘组的阶段2次要过程
图26-28示出了图示用于计算用于本地或者远程***上的新的复制缓冲器的创建的要求的磁盘组的次要过程的流程图的示例。次要过程在用于收集作为磁盘组的列表的输入的步骤212处开始磁盘组的列表包括在存储器中存储的、作为图19的用于本地站点计算的未使用的本地磁盘组的表格(或者图20的用于远程站点计算的未使用的远程磁盘组的表格)的布局、大小和吞吐量。在步骤213中,程序确定在次要过程的该调用之前其是否已经看到磁盘组布局。如果其还没有看到磁盘组布局,则程序继续进行到步骤214,在步骤214中,其填充如图29A中所示出的用于本地的和如图29中所示出的用于远程的磁盘组表格中的条目(例如行),其具有磁盘组布局/磁盘大小、磁盘组的列表和吞吐量的列。在步骤215中,程序向磁盘组表格中的条目添加磁盘组名称。如果程序之前已经知道磁盘组布局,则程序继续进行到步骤216,在步骤216中,其向磁盘组表格中的适当的条目添加磁盘组名称(即用于要被添加的磁盘组名称的适当的行)。程序对输入中的剩余条目进行迭代。图26的过程的输出是图29的完整的远程磁盘组表格或者图29A的完整的本地磁盘组表格。过程然后继续进行到图27。
在图27的步骤220中,程序取回被存储在存储器中的图29/29A的磁盘组表格。在步骤221中,程序取回在之前的步骤中被存储在存储器中作为图15的计算出的工作量值的计算出的工作量。在步骤222中,程序通过将图29/29A的磁盘组表格中的吞吐量条目乘以表格的相同行中所存储的磁盘组名称的计数来针对每个布局类型计算磁盘组的计数的总吞吐量。如果总吞吐量大于在步骤220中取回的工作量,则在步骤223中将磁盘组标记为满足用于复制缓冲器工作量的标准。在步骤224中,程序对磁盘组表格中的剩余条目进行迭代。图30或者图30A示出了用于满足吞吐量标准的那些磁盘组的满足吞吐量列集合。
在步骤225中,程序取回在图17的计算出的复制缓冲器最小大小值中计算和存储的复制缓冲器最小大小。在步骤226中,程序通过将图29/29A的磁盘组表格中的大小条目乘以表格的相同行中所存储的磁盘组名称的计数来针对每个布局类型计算磁盘组的计数的总大小。如果总大小大于在步骤225中取回的复制缓冲器最小大小,则在步骤227中将磁盘组标记为满足用于复制换缓冲器大小的标准。在步骤228中,程序对磁盘组表格中的剩余条目进行迭代。图30/30A示出了用于满足大小标准的那些磁盘组的满足大小标记列集合。
用于本地的图30A和用于远程的图30是在计算所要求的磁盘组的以上步骤的完整通过之后具有满足吞吐量标记列和满足大小标记列的磁盘组表格的示例。对于满足用于复制缓冲器的标准的磁盘组,满足吞吐量标记被设置为“是”。对于满足用于复制缓冲器的标准的磁盘组,满足大小标记被设置为“是”。在步骤229,程序移除图30/30A的表格中不满足两个标准(即复制缓冲器工作量和复制缓冲器大小)的条目并且将结果存储在如用于本地的图31A所示或者如用于远程的图31所示的满足用于复制缓冲器的标准的磁盘组的表格中。将图31/31A的表格被存储在存储器中,并且过程继续进行到图28。
在图28的步骤230中,过程以用于本地的图31A或者用于远程的图31的表格开始,其包含满足用于复制缓冲器的标准的磁盘组的列表。在步骤231中,程序从图15的计算出的工作量值取回计算出的工作量。在步骤232中,使用图31/31A的表格,程序通过对于列中的所有值使用最大函数来确定具有最高吞吐量值的磁盘组的列表,并且选择具有最高吞吐量的条目(图31/31A中的80)。在步骤233中,程序计算应当向复制缓冲器分配的磁盘组的数目。其通过将来自图15的计算出的工作量除以在步骤232中求得的最高吞吐量值并且将结果四舍五入到最近的整数(第一计算值)来计算要满足最小工作量标准的磁盘组的数目。程序通过将来自图17的计算出的复制缓冲器最小大小结果的复制缓冲器大小除以在磁盘组条目中求得的具有最高吞吐量值的磁盘大小值并且将结果四舍五入到最近的整数(第二计算值)来计算需要满足最小大小标准的磁盘组的数目。应当使用的磁盘组的数目是这两个计算值(第一计算值和第二计算值)中的最大值。在步骤234中,程序从图31/31A的表格中的磁盘组条目中选择在步骤233中计算出的磁盘组的数目并且创建用于图32/32A的缓冲器的磁盘组的表格作为计算图26-28的所要求的磁盘组的次要过程的输出。如果图26-28的该过程针对本地站点被执行,则结果将是图32A的表格。如果图26-28的该过程针对远程站点被执行,则结果将是图32的表格。
I.B.4计算所要求的修改后的磁盘组的阶段2次要过程
图33和34示出了图示用于计算用于现有的复制缓冲器的修改的所要求的修改后的磁盘组的次要过程的流程图的示例。次要过程在步骤236处开始,步骤236用于从向次要过程传递作为用于本地的图32A的或者用于远程的图32的缓冲器的磁盘组的表格的存储阵列中取回现有的复制缓冲器配置,作为计算图26-28的所要求的磁盘组的次要过程的输出以及图24所示出的用于本地站点计算的本地磁盘组的表格(或者图25所示出的用于远程站点计算的远程磁盘组的表格),以利用磁盘组的吞吐量能力来增加表格。在步骤237中,程序取回在图15的计算出的工作量值和图17的计算出的复制缓冲器最小大小值中求得的工作量和复制缓冲器大小。
在步骤238中,如果现有的复制缓冲器的大小大于所要求的复制缓冲器的大小,则程序继续进行到步骤239。在步骤239中,如果磁盘组吞吐量乘以复制缓冲器中的现有的磁盘组的数目大于工作量,则过程继续进行到阶段3,因为不要求对复制缓冲器的任何改变。阶段2的输出是存储器中所存储的现有的磁盘组的表格,如作为计算图26-28的所要求的磁盘组的次要过程的输出的图32/32A的缓冲器的磁盘组的表格。如果对步骤238或者239中的计算的回答是“否”,则程序继续进行到图34。
在图34的步骤240中,程序从存储阵列中取回复制缓冲器中的磁盘组的相同的布局类型的未使用的磁盘组的列表。在步骤241中,程序从图15的计算出的工作量值和图17的计算出的复制缓冲器最小大小值中取回工作量和复制最小缓冲器大小。在步骤242中,程序确定现有的复制缓冲器磁盘组大小加上一起添加的所有的空闲磁盘组的大小是否大于复制最小缓冲器大小。如果否,则存在错误情况并且程序离开整个过程。如果是,则程序继续进行到步骤243,在步骤243中,其对所有现有的磁盘组的吞吐量与所有可用的空闲磁盘组之和进行求和并且确定该值是否大于工作量。如果否,则存在错误情况并且程序离开整个过程。如果是,则程序继续进行到步骤244。
在步骤244中,程序计算应当向复制缓冲器分配的磁盘组的总数目。其通过将来自图15的计算出的工作量值的工作量除以最高吞吐量值并且将结果四舍五入到最近的整数(第一计算值)来计算要满足最小工作量标准的磁盘组的数目。其通过将来自图17的计算出的复制缓冲器最小大小结果的复制缓冲器大小除以在磁盘组条目中求得的具有最高吞吐量值的磁盘大小值并且将结果四舍五入到最近的整数(第二计算值)来计算满足最小大小标准的磁盘组需要的数目。应当使用的磁盘组的总数目是这两个计算值(第一计算值和第二计算值)中的最大值。
在步骤245中,程序向存储器中所存储的输出表格添加现有的缓冲器的磁盘组和适当类型的所要求的数目的磁盘组,来作为图32/32A的缓冲器的磁盘组的表格,以产生以用于缓冲器的磁盘组的表格形式的图33和34的次要过程的输出,作为如用于本地磁盘组的图35A所示出的和用于远程磁盘组的图35所示出的、计算图33和34的所要求的修改后的磁盘组的次要过程的输出。图35和35A中的表格包括用于复制缓冲器的现有的磁盘组以及应当被添加到复制缓冲器的新的磁盘组。
I.C阶段3:复制缓冲器创建
该阶段涉及呈现要向复制缓冲器分配的磁盘组的列表,以在本地站点和远程站点上创建新的复制缓冲器或者在本地站点和远程站点上重新配置现有的复制缓冲器,并且建立复制关系和数据复制。阶段3的复制缓冲器创建由复制缓冲器创建模块(例如程序)执行。
I.C.1新的复制缓冲器的创建
图36-38示出了图示用于新的复制缓冲器的创建的过程的流程图的示例。图36创建远程逻辑卷并且输出本地逻辑卷和远程逻辑卷的映射。图37创建本地复制缓冲器和远程复制缓冲器。图38使得本地逻辑卷与本地复制缓冲器相关联,使得远程逻辑卷与远程复制缓冲器相关联,使得本地复制缓冲器与远程复制缓冲器关联,并且发起从本地站点到远程站点的复制。
在图36的步骤300中,程序取回要保护的逻辑卷的列表,其作为阶段1的输出,并且被存储在用于实施例1的图7的新的复制缓冲器的创建的逻辑卷复制列表表格中,或者被存储在用于实施例2的图52的新的复制缓冲器的创建的逻辑卷复制列表表格中。程序向图39所示出的本地到远程卷映射表的本地逻辑卷列传递适当的数据。表格还包括远程逻辑卷列。在步骤301中,程序与远程控制器通信以取回需要创建远程逻辑卷用于复制的等同的磁盘组。在步骤302中,程序确定远程磁盘组上是否存在用于所有支持复制所要求的远程逻辑卷的足够的空间。如果不存在足够的空间,则存在错误情况并且程序离开整个过程。如果存在足够的空间,则程序继续进行到步骤303。在步骤303中,程序创建与本地逻辑卷相同大小的远程逻辑卷。在步骤304a中,程序在图39的本地到远程卷映射表中所包含的剩余逻辑卷上进行迭代。当程序完成创建所有远程逻辑卷时,其利用被创建的远程逻辑卷标识符来更新步骤304b中的图9的本地到远程卷映射表。过程继续进行到图37。
在图37的步骤305中,程序取回应当用于在本地存储阵列上创建新的复制缓冲器的本地磁盘组的列表。本地磁盘组的列表在阶段2中被计算并且被存储在用于图32A的缓冲器的本地磁盘组的表格中。在步骤306中,程序在本地存储阵列上创建本地复制缓冲器并且将步骤305中取回的磁盘组与缓冲器相关联。在步骤307中,程序取回应当用于在远程存储阵列上创建新的复制缓冲器的远程磁盘组的列表。远程磁盘组的列表在阶段2被计算并且被存储在用于图32的缓冲器的远程磁盘组的表格中。在步骤308中,程序在远程存储阵列上创建远程复制缓冲器并且将步骤307中取回的磁盘组与缓冲器相关联。程序然后继续进行到图38。
在图38的步骤309中,程序将在图39中求得的本地逻辑卷与在步骤306中创建的本地复制缓冲器相关联。关联被记录在如图40所示出的本地到远程卷和复制缓冲器映射表中。在步骤310中,程序在剩余本地逻辑卷上进行迭代。在步骤311中,程序使得在图39中求得的远程逻辑卷与在步骤308创建的远程复制缓冲器相关联。关联被记录在图40的本地到远程卷和复制缓冲器映射表中。在步骤312中,程序在剩余远程逻辑卷上进行迭代。在步骤313中,程序利用存储阵列记录本地复制缓冲器与远程复制缓冲器之间的关联。在步骤314中,程序将图40的本地到远程卷和复制缓冲器映射表存储在永久存储装置(例如,在管理计算机)中。在步骤315中,程序对本地复制缓冲器与远程复制缓冲器之间的复制进行迭代。用于阶段3的复制缓冲器创建模块的过程现在完成。
I.C.2现有的复制缓冲器的修改
图41-45示出了图示用于修改现有的复制缓冲器的过程的流程图的示例。在图41的步骤316中,程序取回要保护的逻辑卷的列表,其是阶段1的输出,并且其被存储在用于实施例1的图12的用于现有的复制缓冲器的修改的逻辑卷复制列表表格中,或者其被存储在用于实施例2的图22的用于现有的复制缓冲器的修改的逻辑卷复制列表表格中。程序向图39的本地到远程卷映射表的本地逻辑卷列传递适当的数据。
在步骤317中,程序通过查找在磁盘上被创建并且被存储的、图40的本地到远程卷和复制缓冲器映射表,来确定是否存在用于本地逻辑卷的远程逻辑卷。如果存在远程逻辑卷,则在步骤321中,程序在剩余本地逻辑卷上进行迭代。如果远程逻辑卷不存在,则程序继续进行到步骤318,在步骤318中,其从远程存储阵列得到远程磁盘组。在步骤319中,程序确定在远程磁盘组上是否存在足够的空间。如果不存在足够的空间,则存在错误情况并且程序离开整个过程。如果存在足够空间,则程序在步骤320中创建远程逻辑卷并且然后在步骤321中在剩余的本地逻辑卷上进行迭代。在步骤322中,程序通过更新图39的本地到远程卷映射表来记录本地逻辑卷到远程逻辑卷的映射。过程继续进行到图42。
在图42的步骤324中,程序得到由阶段2的输出(用于本地站点计算的图35A)选择的所选择的本地磁盘组的列表。在步骤325中,程序确定来自步骤324的所选择的本地磁盘组中的任何一个本地磁盘中是否被包含在现有的本地复制缓冲器中。如果不存在任何本地磁盘组,则在步骤326中,程序向本地复制缓冲器添加不存在的那些磁盘组。过程继续进行到图43。
在图43的步骤328中,程序得到由阶段2的输出(用于远程站点计算的图35)选择的所选择的远程磁盘组的列表。在步骤329中,程序确定来自步骤328的所选择的远程磁盘组中的任何一个远程磁盘组是否被包含在现有的远程复制缓冲器中。如果不存在任何远程磁盘组,则在步骤330中,程序向远程复制缓冲器添加不存在的那些磁盘组。过程继续进行到图44。
在图44的步骤331中,程序确定本地逻辑卷与本地复制缓冲器之间是否已经存在关联。当复制最初被创建时,程序通过参考在磁盘上所存储的图40的本地到远程卷和复制缓冲器映射表来确定关联是否存在。如果关联存在,则程序继续进行到步骤333。如果关联不存在,则在步骤332中,程序建立本地逻辑卷与本地复制缓冲器之间关联,并且更新图40的本地到远程卷和复制缓冲器映射表中的条目。在步骤333中,程序然后在剩余的本地逻辑卷进行迭代。
在步骤334中,程序确定远程逻辑卷与远程复制缓冲器之间是否已经存在关联。当复制最初被创建时,程序通过参考在磁盘上所存储的图40的本地到远程卷和复制缓冲器映射表来确定关联是否存在。如果关联存在,则程序继续进行到步骤336。如果关联不存在,则在步骤335中,程序建立远程逻辑卷与远程复制缓冲器之间关联,并且更新图40的本地到远程卷和复制缓冲器映射表中的条目。在步骤336中,程序然后在剩余的远程逻辑卷进行迭代。程序然后继续进行到图45。
在图45的步骤337中,程序确定本地复制缓冲器与远程复制缓冲器之间是否已经存在关联。如果已经存在关联,则程序继续进行到步骤339。如果不存在关联,则在步骤338中,程序建立关联,并且将其记录在图40的本地到远程卷和复制缓冲器映射表中并且将其放置在永久存储装置中(例如,在管理计算机中)。在步骤339,程序确定是否已经在本地和远程存储阵列之间发起复制。如果已经发起,则程序离开过程。如果还没有开始,则在步骤340中,程序发起复制并且然后离开过程。
II.实施例2
实施例2涉及意图用于复制的所选择的卷到等同的数据池上所包含的卷的最小子集的标识和迁移。实施例2的阶段2和阶段3与实施例1的阶段2和阶段3相同,并且在该实施例描述中没有被重复。
图46图示了根据本发明的第二实施例的从多个逻辑卷(DG1中的LV1和LV2)到然后被复制到远程***的一个或多个合并的逻辑卷(LG1中的LV4)的虚拟卷的移动和迁移。LV代表逻辑卷,而DG代表磁盘组。图46中所示出的复制卷的合并的集合然后被用在图47所示的***中,以图示根据第二实施例的在其中可以应用本发明的方法和装置的***的硬件配置。
II.A阶段1:标识
II.A.1新的复制缓冲器的创建
用于新的复制缓冲器的创建的阶段1的VM和物理卷标识过程与标识来自实施例1的、在图3中所求得的、要保护的虚拟机以相同的步骤的集合来开始。过程由VM和卷标识模块(例如程序)执行。图3的输出是在存储器中所存储的图4的VM复制列表表格。实施例2过程现在继续进行到图48。
图48和49示出了图示根据第二实施例的用于基于在图3的过程中所标识的虚拟机来标识要保护的逻辑卷的过程的流程图的示例。在图48的步骤112中,程序读取应当被复制的虚拟机的列表。在步骤113中,程序询问管理程序以确定与来自图4的VM复制列表表格的所选择的每个虚拟机相关联的虚拟卷的列表,并且将VM中的虚拟机列和虚拟卷列初始化为如图50所示的用于新的复制缓冲器的创建的新的逻辑卷表格。在步骤114中,程序标识包含虚拟卷的逻辑卷。在步骤115中,程序标识包含逻辑卷的磁盘组。在步骤116中,程序标识与虚拟机相关联的主机。在步骤117中,程序将VM的逻辑卷、磁盘组和主机列填充到图50的新的逻辑卷映射表。在步骤113中,程序在标识的所有虚拟卷上进行迭代。在步骤112中,程序然后在标识的所有虚拟机上进行迭代。在步骤120中,程序将映射信息存储到存储器中的VM到新的逻辑卷映射表。实施例2现在继续进行到图49。
在图49的步骤121中,程序以图50的VM到新的逻辑卷映射表的所包含的信息开始。在步骤122中,程序对每个磁盘组(DG01、DG02)中所包含的每个逻辑卷的大小求和,这将产生通过磁盘组将所有逻辑卷的所有数据包含在所选择的虚拟机中所需要的逻辑卷的大小。程序现在将在每个磁盘组中创建单个逻辑卷。程序以需要被创建的第一新的逻辑卷开始并且在步骤123中创建新的逻辑卷。新的逻辑卷标识符然后用于将新的逻辑卷列填充到图50的VM到新的逻辑卷映射表。在步骤124中,程序然后对新的逻辑卷格式化,并且然后向由与逻辑卷的原始集合相关联的主机的唯一的列表标识的所有主机呈现新的逻辑卷。在步骤126中,程序在需要被创建的所有新的逻辑卷上进行迭代。
在步骤127中,程序以图50的VM到新的逻辑卷映射表中的虚拟机列中所标识的第一虚拟机开始,并且使用管理程序来向新的逻辑卷迁移虚拟机。程序然后在图50的VM到新的逻辑卷的映射表中所包含的所有虚拟机上进行迭代。在步骤128中,程序减小图50的新的逻辑卷列中所包含的复制逻辑卷,如图51所示处的,根据第二实施例创建用于新的复制缓冲器的创建的逻辑卷复制列表表格,其是步骤129的输出。过程然后继续进行到用于新的复制缓冲器的创建的阶段2。
II.A.2现有的复制缓冲器的修改
用于新的复制缓冲器的创建的阶段1的VM和物理卷标识过程与标识在图8中求得的、来自实施例1的、要保护的虚拟机以相同的步骤的集合开始。过程由VM和卷标识模块(例如程序)执行。图8的输出是图9的VM保护标记表格。实施例2过程现在继续进行到图52。
图52-54示出了图示根据第二实施例的用于基于在图8的过程中所标识的虚拟机来标识要保护的逻辑卷的过程的流程图的示例。在图52的步骤145中,程序从图9的VM保护标记表格中读取应当被保护的虚拟机的列表。在步骤146中,如图21所示的,程序将用于现有的复制缓冲器的修改的VM到新的逻辑卷映射表中的保护标记列中的所有值设置为假。当在图50的用于新的复制缓冲器的创建的VM到新的逻辑卷映射表中最初创建复制缓冲器时,根据创建的所存储的映射文件来初始化图21的表格。对于在步骤145中读取的每个受保护的虚拟机,程序将用于虚拟机的保护标记列设置为真。
在步骤147中,程序询问管理程序以确定与来自图21的每个受保护的虚拟机相关联的虚拟卷的列表,并且初始化图21的VM到新的逻辑卷映射表中的虚拟机和虚拟卷列。程序对属于应当被保护的虚拟机的所有虚拟卷进行迭代。在步骤148中,程序确定是否已经保护所有的虚拟卷。如果其已经被保护,则程序继续进行到步骤153。如果其没有被保护,则程序继续进行到步骤149。
在步骤149中,程序标识包含虚拟卷的逻辑卷,而在步骤150中,程序标识包含逻辑卷的磁盘组。在步骤151中,程序标识与虚拟机相关联的主机。在步骤152,程序将VM的逻辑卷、磁盘组和主机列填充到图21的新的逻辑卷映射表。程序对步骤147中获得的所有虚拟卷进行迭代。程序对步骤145中获得的所有虚拟机进行迭代。在步骤154中,程序存储图21的VM到新的逻辑卷映射表中所包含的映射信息。实施例2过程现在继续进行到图53。
在图53的步骤155中,程序得到不应当被由图21的VM到新的逻辑卷映射表中的保护标记的“假”值标识的复制缓冲器保护的虚拟机的列表。在步骤156中,程序使用管理程序来从新的逻辑卷(2)向原始逻辑卷(1)迁移不需要被保护的虚拟机。在步骤157中,程序向自由池返回在(2)中使用的虚拟机消耗的空间并且然后更新图21的VM到新的逻辑卷映射表并且清除用于虚拟机(3)的新的逻辑卷条目。程序然后对不应当保护的其余虚拟机进行迭代。在步骤158中,程序更新图21的VM到新的逻辑卷映射表中的映射信息并且继续行进到图54。
在图54的步骤159中,程序得到应当由图21的VM到新的逻辑卷映射表中的保护标记的“真”值标识的复制缓冲器保护的虚拟机的列表。在步骤160,如果虚拟机已经被保护,则程序继续进行到步骤166。否则,程序继续进行到步骤161。
在步骤161中,如果存在由图21的VM到新的逻辑卷映射表中的磁盘组列标识的磁盘组,则程序继续进行到步骤169,在步骤169中,其扩展与磁盘组关联的新的逻辑卷的大小以满足新的虚拟机的需要。程序然后继续进行到步骤164。如果不存在磁盘组,则程序继续进行到步骤162,在步骤162中,其创建并且格式化新的逻辑卷以包含虚拟机虚拟卷。在步骤163中,程序利用新创建的逻辑卷来更新图21的VM到新的逻辑卷映射表中的新的逻辑卷列。
在步骤164中,程序确定是否需要向新的主机呈现在步骤169中被扩展或者在步骤162中新创建的新的逻辑卷。如果是,则程序向适当的主机呈现新的逻辑卷。在步骤165,程序使用管理程序来从原始逻辑卷(1)向新的逻辑卷(2)迁移虚拟机。在步骤166,程序在剩余的虚拟机上进行迭代。在步骤167,程序减少图21的新的逻辑卷列中所包含的复制逻辑卷,以创建如图22所示出的、根据第二实施例的、用于现有的复制缓冲器的修改的逻辑卷复制列表表格,其是步骤168的输出。过程然后继续进行到用于现有的复制缓冲器的修改的阶段2。
II.B.阶段2:计算
用于第二实施例的阶段2与用于第一实施例的阶段2相同。
II.C阶段3:复制缓冲器创建
用于第二实施例的阶段3与用于第一实施例的阶段3相同。
当然,图1和47中所图示的***配置仅是在其中可以实现本发明的信息***的示例,本发明不限于特定硬件配置。实现本发明的计算机和存储***还可以具有可以存储和读取用于实现以上描述的发明的模块、程序和数据结构的已知的I/O设备(例如CD和DVD驱动器、软盘驱动器、硬盘驱动器等)。这些模块、程序和数据结构可以被编码在这样的计算机可读介质上。例如,本发明的数据结构可以存储在独立于驻留本发明中所使用的程序的一个或多个计算机可读介质的计算机可读介质上。***的部件可以通过任何形式或者介质的数字数据通信(例如通信网络)互连。通信网络的示例包括局域网、广域网,例如因特网、无线网络、存储区网络等。
在描述中,出于解释的目的而阐述大量细节,以便提供对本发明的透彻理解。然而,本领域技术人员将很清楚,并非需要求所有这些特定细节以便实践本发明。还应当注意,本发明被描述为过程,其通常被描绘为流程图表、流程图、结构图、或者框图。虽然流程图表可以将操作描述为顺序过程,然而可以并行地或者同时执行很多操作。另外,可以重新布置操作的顺序。
如本领域熟知的,可以由硬件、软件或者硬件和软件的某种组合来执行以上描述的操作。可以使用电路和逻辑设备(硬件)来实现本发明的实施例的各个方面,也可以使用存储在计算机可读介质(软件)上的指令来实现其他方面,这些指令在由处理器执行时,将引起处理器执行用以执行本发明的实施例的方法。此外,可以单独用硬件来执行本发明的一些实施例,而可以单独用软件来执行其他实施例。另外,可以在单个单元中执行所描述的各种功能,或者可以以任何数目的方式在大量部件上分布所描述的各种功能。当由软件来执行时,方法可以由处理器(诸如通用计算机)基于存储在计算机可读介质上的指令来执行。如果期望,则指令可以以压缩和/或加密格式存储在介质上。
根据以上内容,将很清楚的是,本发明通过自动标识工作量并且对复制缓冲器定大小来提供存储在计算机可读介质上的用于高效的卷复制的方法、装置和程序。另外,已经在本说明书中图示和描述特定实施例,然而本领域技术人员理解,被计算以实现同样目的的任何布置应当替代所公开的特定实施例。本公开内容旨在覆盖本发明的任何和所有适配或者变型,并且应当理解,不应当将所附的权利要求中所使用的术语理解为将本发明限制为说明书中所公开的特定实施例。相反,本发明的范围完全由所附的权利要求确定,要根据权利要求解释的所建立的原则连同这样的权利要求有权享有的等同方案的全部范围来解释所附的权利要求。

Claims (20)

1.一种计算机,所述计算机包括存储器和控制器,所述控制器可操作用于:
在第一存储***中标识多个虚拟机中的要被保护的一个或多个虚拟机;
基于所述多个虚拟机与多个逻辑卷之间的第一关系信息来在所述第一存储***中标识所述多个逻辑卷中的一个或多个逻辑卷,所述一个或多个逻辑卷由标识的所述一个或多个虚拟机使用,所述第一关系信息由所述控制器管理;
基于针对标识的所述一个或多个逻辑卷中的每个逻辑卷监视的工作量信息,计算要被用于标识的所述一个或多个逻辑卷的工作量,监视的所述工作量信息由所述控制器管理;以及
基于标识的所述一个或多个逻辑卷的计算出的所述工作量,计算所述第一存储***中的缓冲区的大小,所述缓冲区将要被用于在一个或多个远程副本对的远程拷贝过程中暂时存储要被从所述第一存储***向第二存储***发送的副本数据,所述一个或多个远程副本对中的每个远程副本对由所述第一存储***中的标识的所述一个或多个逻辑卷中作为主逻辑卷的逻辑卷和所述第二存储***中作为次逻辑卷的另一个逻辑卷形成,以使得用于具有等于或者大于计算出的所述大小的大小的标识的所述一个或多个逻辑卷的所述远程拷贝过程的所述缓冲区能够被用于管理标识的所述一个或多个虚拟机的保护。
2.根据权利要求1所述的计算机,
其中所述控制器可操作用于(i)基于计算出的所述工作量和计算出的所述缓冲区的所述大小来在所述第一存储***中创建新的缓冲区或者(ii)基于计算出的所述工作量和计算出的所述缓冲区的所述大小来修改所述第一存储***中的现有的缓冲区。
3.根据权利要求1所述的计算机,
其中所述控制器可操作用于(i)基于计算出的所述工作量和计算出的所述缓冲区的所述大小来在所述第二存储***中创建新的缓冲区或者(ii)基于计算出的所述工作量和计算出的所述缓冲区的所述大小来修改所述第二存储***中的现有的缓冲区。
4.根据权利要求1所述的计算机,
其中所述第一存储***具有开销和中断持续时间;以及
其中所述缓冲区的所述大小被计算为:计算出的所述工作量乘以所述中断持续时间乘以(1+开销)。
5.根据权利要求1所述的计算机,
其中所述第一存储***具有包括使用的磁盘组和未使用的磁盘组的多个磁盘组;
其中每个未使用的磁盘组具有带有磁盘组大小和磁盘组吞吐量的磁盘组布局;
其中所述控制器可操作用于从所述未使用的磁盘组选择要由所述第一存储***中的所述缓冲区使用的一个或多个磁盘组,所述选择一个或多个磁盘组包括:
通过磁盘组布局来组织所述未使用的磁盘组;
针对每个磁盘组布局,标识具有大于计算出的所述工作量的总磁盘组吞吐量以及具有大于计算出的所述缓冲区的所述大小的总磁盘组大小的候选磁盘组列表,以便产生一个或多个候选磁盘组列表;
从标识的所述一个或多个候选磁盘组列表选择具有最高总磁盘组吞吐量的所述候选磁盘组列表;以及
通过以下操作来确定选择的所述候选磁盘组列表中要求的、用于所述缓冲区的磁盘组的数目:(i)将计算出的所述工作量除以用于选择的所述列表的所述总磁盘组吞吐量并且四舍五入到最接近的整数以获得第一计算值,(ii)将计算出的所述缓冲区的所述大小除以选择的所述列表的所述磁盘组大小并且四舍五入到最接近的整数以获得第二计算值,以及(iii)选择所述第一计算值和所述第二计算值中的最大值作为选择的所述候选磁盘组列表中要求的、用于所述缓冲区的磁盘组的所述数目。
6.根据权利要求1所述的计算机,
其中计算出的所述缓冲区的所述大小用于修改具有要保护的现有的一个或多个虚拟机的列表的现有的缓冲区;以及
其中所述控制器可操作用于:
从现有的一个或多个虚拟机的所述列表标识所述现有的一个或多个虚拟机中的哪些虚拟机将保持保护;以及
标识要被新保护的任何一个或多个虚拟机;
其中由标识的要保持保护的所述一个或多个虚拟机以及标识的要被新保护的所述一个或多个虚拟机使用的所述一个或多个逻辑卷被标识。
7.根据权利要求1所述的计算机,
其中所述第一存储***具有多个磁盘组;以及
其中计算出的所述缓冲区的所述大小用于选择具有大于计算出的所述缓冲区的所述大小的大小以及具有大于计算出的所述工作量的总吞吐量的现有的缓冲区,所述现有的缓冲区的所述总吞吐量等于向所述现有的缓冲区分配的一个或多个磁盘组的磁盘组吞吐量与向所述现有的缓冲区分配的所述一个或多个磁盘组的数目的乘积。
8.根据权利要求1所述的计算机,
其中所述第一存储***具有包括使用的磁盘组和未使用的磁盘组的多个磁盘组;
其中计算出的所述缓冲区的所述大小用于修改(i)具有不大于计算出的所述缓冲区的所述大小的大小或者(ii)具有不大于计算出的所述工作量的总吞吐量的现有的缓冲区,所述现有的缓冲区的所述总吞吐量等于向所述现有的缓冲区分配的一个或多个现有的磁盘组的磁盘组吞吐量与向所述现有的缓冲区分配的所述一个或多个现有的磁盘组的数目的乘积;以及
其中所述控制器可操作用于从所述未使用磁盘组选择要被添加到所述第一存储***中的所述现有的缓冲区的一个或多个磁盘组。
9.根据权利要求8所述的计算机,
其中每个未使用的磁盘组具有带有磁盘组大小和磁盘组吞吐量的磁盘组布局;
其中所述现有的缓冲区中的所述一个或多个现有的磁盘组具有现有的磁盘组布局;以及
其中选择要被添加到所述第一存储***中的所述现有的缓冲区的一个或多个磁盘组包括:
通过磁盘组布局来组织所述未使用的磁盘组;
从具有与所述现有的磁盘组布局相同的磁盘组布局的所述未使用的磁盘组标识在被添加到所述现有的磁盘组时具有大于计算出的所述工作量的总磁盘组吞吐量以及具有大于计算出的所述缓冲区的所述大小的总磁盘组大小的候选磁盘组列表;以及
通过以下操作来确定标识的所述候选磁盘组列表中要求的、要被添加到所述现有的缓冲区的磁盘组的数目:(i)将计算出的所述工作量除以在被添加到所述现有的磁盘组时的用于标识的所述列表的所述总磁盘组吞吐量并且四舍五入到最接近的整数以获得第一计算值,(ii)将计算出的所述缓冲区的所述大小除以在被添加到所述现有的磁盘组时的标识的所述列表的所述磁盘组大小并且四舍五入到最接近的整数以获得第二计算值,以及(iii)选择所述第一计算值和所述第二计算值中的最大值作为标识的所述候选磁盘组列表中要求的、要被添加到所述现有的缓冲区的磁盘组的所述数目。
10.根据权利要求1所述的计算机,
其中所述第一存储***具有多个磁盘组;
其中基于第一关系信息,多个逻辑卷在所述第一存储***中被标识;以及
其中所述控制器可操作用于:
在所述第一存储***中标识包含标识的所述逻辑卷的磁盘组;
计算要为标识的所述磁盘组中的每个磁盘组提供的、用于在所述第一存储***中包含标识的所述逻辑卷的所有数据的总空间量;
基于计算出的要为标识的所述磁盘组中的每个磁盘组提供的所述总空间量来创建单个逻辑卷;以及
使用创建的所述单个逻辑卷代替标识的所述逻辑卷来计算所述工作量和所述缓冲区的所述大小。
11.根据权利要求10所述的计算机,其中所述控制器可操作用于:
基于计算出的所述工作量和计算出的所述缓冲区的所述大小来在所述第一存储***中创建缓冲区;
更新所述多个虚拟机与所述多个逻辑卷之间的所述第一关系;
在所述第一存储***中标识所述多个虚拟机中的要被保护的一个或多个新的虚拟机,所述一个或多个新的虚拟机不同于之前标识的要被保护的所述一个或多个虚拟机;
基于所述多个虚拟机与所述多个逻辑卷之间的所述第一关系信息来在所述第一存储***中标识所述多个逻辑卷中的多个新的逻辑卷,所述一个或多个逻辑卷由标识的所述一个或多个新的虚拟机使用;
在所述第一存储***中标识包含标识的所述新的逻辑卷的磁盘组;
计算要为标识的所述磁盘组中的每个磁盘组提供的、用于在所述第一存储***中包含标识的所述新的逻辑卷的所有数据的总的新空间量;
通过修改之前创建的所述单个逻辑卷、基于计算出的要为标识的所述磁盘组中的每个磁盘组提供的所述总的新空间量来创建新的单个逻辑卷,所述修改之前创建的所述单个逻辑卷包括:基于标识的要被保护的所述一个或多个新的虚拟机来移除需要被解保护的任何虚拟机并且添加需要被新保护的任何虚拟机;
基于针对所述新的单个逻辑卷监视的工作量信息来计算要被用于所述新的单个逻辑卷的新的工作量;
基于所述新的单个逻辑卷的计算出的所述新的工作量来计算所述第一存储***中的、要被用于在一个或多个远程副本对的远程拷贝过程中暂时存储要被从所述第一存储***向所述第二存储***发送的副本数据的新的缓冲区的新的大小,以使得用于具有等于或者大于的计算出的所述新的大小的大小的所述新的单个逻辑卷的所述远程拷贝过程的所述新的缓冲区能够被用于管理标识的所述一个或多个新的虚拟机的保护;以及
基于计算出的所述新的工作量和计算出的所述新的缓冲区的所述新的大小来修改之前创建的所述缓冲区以创建所述新的缓冲区。
12.一种***,所述***包括第一存储***、第二存储***和管理计算机,所述管理计算机具有存储器和控制器,所述控制器可操作用于:
在所述第一存储***中标识多个虚拟机中的要被保护的一个或多个虚拟机;
基于所述多个虚拟机与多个逻辑卷之间的第一关系信息来在所述第一存储***中标识所述多个逻辑卷中的一个或多个逻辑卷,所述一个或多个逻辑卷由标识的所述一个或多个虚拟机使用,所述第一关系信息由所述控制器管理;
基于针对标识的所述一个或多个逻辑卷中的每个逻辑卷监视的工作量信息来计算要被用于标识的所述一个或多个逻辑卷的工作量,监视的所述工作量信息由所述控制器管理;以及
基于标识的所述一个或多个逻辑卷的计算出的所述工作量来计算所述第一存储***中缓冲区的大小,所述缓冲区将要被用于在一个或多个远程副本对的远程拷贝过程中暂时存储要被从所述第一存储***向所述第二存储***发送的副本数据,所述一个或多个远程副本对中的每个远程副本对由所述第一存储***中的标识的所述一个或多个逻辑卷中作为主逻辑卷的逻辑卷和所述第二存储***中作为次逻辑卷的另一个逻辑卷形成,以使得用于具有等于或者大于计算出的所述大小的大小的标识的所述一个或多个逻辑卷的所述远程拷贝过程的所述缓冲区能够被用于管理标识的所述一个或多个虚拟机的保护。
13.一种计算机可读存储介质,所述计算机可读存储介质存储用于控制数据处理器管理复制的多个指令,所述多个指令包括:
引起所述数据处理器在第一存储***中标识多个虚拟机中的要被保护的一个或多个虚拟机的指令;
引起所述数据处理器基于所述多个虚拟机与多个逻辑卷之间的第一关系信息来在所述第一存储***中标识所述多个逻辑卷中的一个或多个逻辑卷的指令,所述一个或多个逻辑卷由标识的所述一个或多个虚拟机使用,所述第一关系信息由所述控制器管理;
引起所述数据处理器基于针对标识的所述一个或多个逻辑卷中的每个逻辑卷监视的工作量信息来计算要被用于标识的所述一个或多个逻辑卷的工作量的指令,监视的所述工作量信息由所述控制器管理;以及
引起所述数据处理器基于标识的所述一个或多个逻辑卷的计算出的所述工作量来计算所述第一存储***中的缓冲区的大小的指令,所述缓冲区将要被用于在一个或多个远程副本对的远程拷贝过程中暂时存储要被从所述第一存储***向第二存储***发送的副本数据,所述一个或多个远程副本对中的每个远程副本对由所述第一存储***中的标识的所述一个或多个逻辑卷中作为主逻辑卷的逻辑卷和所述第二存储***中作为次逻辑卷的另一个逻辑卷形成,以使得用于具有等于或者大于计算出的所述大小的大小的标识的所述一个或多个逻辑卷的所述远程拷贝过程的所述缓冲区能够被用于管理标识的所述一个或多个虚拟机的保护。
14.根据权利要求13所述的计算机可读存储介质,其中所述多个指令进一步包括:
引起所述数据处理器(i)基于计算出的所述工作量和计算出的所述缓冲区的所述大小来在所述第二存储***中创建新的缓冲区或者(ii)基于计算出的所述工作量和计算出的所述缓冲区的所述大小来修改所述第二存储***中的现有的缓冲区的指令。
15.根据权利要求13所述的计算机可读存储介质,
其中所述第一存储***具有包括使用的磁盘组和未使用的磁盘组的多个磁盘组;
其中每个未使用的磁盘组具有带有磁盘组大小和磁盘组吞吐量的磁盘组布局;
其中所述多个指令进一步包括:引起所述数据处理器从所述未使用的磁盘组选择要由所述第一存储***中的所述缓冲区使用的一个或多个磁盘组的指令,所述选择一个或多个磁盘组包括:
通过磁盘组布局来组织所述未使用的磁盘组;
针对每个磁盘组布局,标识具有大于计算出的所述工作量的总磁盘组吞吐量以及具有大于计算出的所述缓冲区的所述大小的总磁盘组大小的候选磁盘组列表,以便产生一个或多个候选磁盘组列表;
从标识的所述一个或多个候选磁盘组列表选择具有最高总磁盘组吞吐量的所述候选磁盘组列表;以及
通过以下操作来确定选择的所述候选磁盘组列表中要求的、用于所述缓冲区的磁盘组的数目:(i)将计算出的所述工作量除以用于选择的所述列表的所述总磁盘组吞吐量并且四舍五入到最接近的整数以获得第一计算值,(ii)将计算出的所述缓冲区的所述大小除以选择的所述列表的所述磁盘组大小并且四舍五入到最接近的整数以获得第二计算值,以及(iii)选择所述第一计算值和所述第二计算值中的最大值作为选择的所述候选磁盘组列表中要求的、用于所述缓冲区的磁盘组的所述数目。
16.根据权利要求13所述的计算机可读存储介质,
其中计算出的所述缓冲区的所述大小用于修改具有要保护的现有的一个或多个虚拟机的列表的现有的缓冲区;以及
其中所述多个指令进一步包括引起所述数据处理器执行以下操作的指令:
从现有的一个或多个虚拟机的所述列表标识所述现有的一个或多个虚拟机中的哪些虚拟机将保持保护;以及
标识要被新保护的任何一个或多个虚拟机;
其中由标识的要保持保护的所述一个或多个虚拟机以及标识的要被新保护的所述一个或多个虚拟机使用的所述一个或多个逻辑卷被标识。
17.根据权利要求13所述的计算机可读存储介质,
其中所述第一存储***具有包括使用的磁盘组和未使用的磁盘组的多个磁盘组;
其中计算出的所述缓冲区的所述大小用于修改(i)具有不大于计算出的所述缓冲区的所述大小的大小或者(ii)具有不大于计算出的所述工作量的总吞吐量的现有的缓冲区,所述现有的缓冲区的所述总吞吐量等于向所述现有的缓冲区分配的一个或多个现有的磁盘组的磁盘组吞吐量与向所述现有的缓冲区分配的所述一个或多个现有的磁盘组的数目的乘积;以及
其中所述多个指令进一步包括引起所述数据处理器从所述未使用磁盘组选择要被添加到所述第一存储***中的所述现有的缓冲区的一个或多个磁盘组的指令。
18.根据权利要求17所述的计算机可读存储介质,
其中每个未使用的磁盘组具有带有磁盘组大小和磁盘组吞吐量的磁盘组布局;
其中所述现有的缓冲区中的所述一个或多个现有的磁盘组具有现有的磁盘组布局;以及
其中引起所述数据处理器选择要被添加到所述第一存储***中的所述现有的缓冲区的一个或多个磁盘组的所述指令包括:
引起所述数据处理器通过磁盘组布局来组织所述未使用的磁盘组的指令;
引起所述数据处理器从具有与所述现有的磁盘组布局相同的磁盘组布局的所述未使用的磁盘组标识在被添加到所述现有的磁盘组时具有大于计算出的所述工作量的总磁盘组吞吐量以及具有大于计算出的所述缓冲区的所述大小的总磁盘组大小的候选磁盘组列表的指令;以及
引起所述数据处理器通过以下操作来确定标识的所述候选磁盘组列表中要求的、要被添加到所述现有的缓冲区的磁盘组的数目的指令:(i)将计算出的所述工作量除以在被添加到所述现有的磁盘组时的用于标识的所述列表的所述总磁盘组吞吐量并且四舍五入到最接近的整数以获得第一计算值,(ii)将计算出的所述缓冲区的所述大小除以在被添加到所述现有的磁盘组时的标识的所述列表的所述磁盘组大小并且四舍五入到最接近的整数以获得第二计算值,以及(iii)选择所述第一计算值和所述第二计算值中的最大值作为标识的所述候选磁盘组列表中要求的、要被添加到所述现有的缓冲区的磁盘组的所述数目。
19.根据权利要求13所述的计算机可读存储介质,
其中所述第一存储***具有多个磁盘组;
其中基于第一关系信息,多个逻辑卷在所述第一存储***中被标识;以及
其中所述多个指令进一步包括引起所述数据处理器执行以下操作的指令:
在所述第一存储***中标识包含标识的所述逻辑卷的磁盘组;
计算要为标识的所述磁盘组中的每个磁盘组提供的、用于在所述第一存储***中包含标识的所述逻辑卷的所有数据的总空间量;
基于计算出的要为标识的所述磁盘组中的每个磁盘组提供的所述总空间量来创建单个逻辑卷;以及
使用创建的所述单个逻辑卷代替标识的所述逻辑卷来计算所述工作量和所述缓冲区的所述大小。
20.根据权利要求19所述的计算机可读存储介质,其中所述多个指令进一步包括:
引起所述数据处理器基于计算出的所述工作量和计算出的所述缓冲区的所述大小来在所述第一存储***中创建缓冲区的指令;
引起所述数据处理器更新所述多个虚拟机与所述多个逻辑卷之间的所述第一关系的指令;
引起所述数据处理器在所述第一存储***中标识所述多个虚拟机中的要被保护的一个或多个新的虚拟机的指令,所述一个或多个新的虚拟机不同于之前标识的要被保护的所述一个或多个虚拟机;
引起所述数据处理器基于所述多个虚拟机与所述多个逻辑卷之间的所述第一关系信息来在所述第一存储***中标识所述多个逻辑卷中的多个新的逻辑卷的指令,所述一个或多个逻辑卷由标识的所述一个或多个新的虚拟机使用的;
引起所述数据处理器在所述第一存储***中标识包含标识的所述新的逻辑卷的磁盘组的指令;
引起所述数据处理器计算要为标识的所述磁盘组中的每个磁盘组提供的、用于在所述第一存储***中包含标识的所述新的逻辑卷的所有数据的总的新空间量的指令;
引起所述数据处理器通过修改之前创建的所述单个逻辑卷、基于计算出的要为标识的所述磁盘组中的每个磁盘组提供的所述总的新空间量来创建新的单个逻辑卷的指令,所述修改之前创建的所述单个逻辑卷包括:基于标识的要被保护的所述一个或多个新的虚拟机来移除需要被解保护的任何虚拟机并且添加需要被新保护的任何虚拟机;
引起所述数据处理器基于针对所述新的单个逻辑卷监视的工作量信息来计算要被用于所述新的单个逻辑卷的新的工作量的指令;
引起所述数据处理器基于所述新的单个逻辑卷的计算出的所述新的工作量来计算所述第一存储***中的、要被用于在一个或多个远程副本对的远程拷贝过程中暂时存储要被从所述第一存储***向所述第二存储***发送的副本数据的新的缓冲区的新的大小,以使得用于具有等于或者大于的计算出的所述新的大小的大小的所述新的单个逻辑卷的所述远程拷贝过程的所述新的缓冲区能够被用于管理标识的所述一个或多个新的虚拟机的保护的指令;以及
引起所述数据处理器基于计算出的所述新的工作量和计算出的所述新的缓冲区的所述新的大小来修改之前创建的所述缓冲区以创建所述新的缓冲区的指令。
CN201380072373.3A 2013-05-13 2013-05-13 出于卷复制的目的来标识工作量和对缓冲器定大小 Active CN104969169B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2013/001975 WO2014184606A1 (en) 2013-05-13 2013-05-13 Identifying workload and sizing of buffers for the purpose of volume replication

Publications (2)

Publication Number Publication Date
CN104969169A true CN104969169A (zh) 2015-10-07
CN104969169B CN104969169B (zh) 2017-11-17

Family

ID=49725155

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380072373.3A Active CN104969169B (zh) 2013-05-13 2013-05-13 出于卷复制的目的来标识工作量和对缓冲器定大小

Country Status (6)

Country Link
US (1) US9854037B2 (zh)
JP (1) JP6211631B2 (zh)
CN (1) CN104969169B (zh)
DE (1) DE112013006646B4 (zh)
GB (1) GB2524448B (zh)
WO (1) WO2014184606A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9052938B1 (en) * 2014-04-15 2015-06-09 Splunk Inc. Correlation and associated display of virtual machine data and storage performance data
US9575858B2 (en) * 2014-10-02 2017-02-21 Vmware, Inc. Dynamic protection of storage resources for disaster recovery
JP6613603B2 (ja) * 2015-04-30 2019-12-04 富士通株式会社 ストレージ制御装置、ストレージ制御プログラム、およびストレージシステム
US9864640B2 (en) 2015-08-14 2018-01-09 International Business Machines Corporation Controlling virtual machine density and placement distribution in a converged infrastructure resource pool
JP7012010B2 (ja) * 2016-07-11 2022-01-27 株式会社日立製作所 情報処理システム、及び、情報処理システムの制御方法
US10949124B2 (en) * 2019-06-28 2021-03-16 Amazon Technologies, Inc. Virtualized block storage servers in cloud provider substrate extension
JP7154261B2 (ja) * 2020-09-25 2022-10-17 株式会社日立製作所 複合型ストレージシステム
US11537310B2 (en) 2021-02-05 2022-12-27 Microsoft Technology Licensing, Llc Threading of replication based on data type

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090132779A1 (en) * 2007-11-16 2009-05-21 Hitachi, Ltd. Storage system and remote copy control method
US20110087850A1 (en) * 2009-10-13 2011-04-14 Fujitsu Limited Storage apparatus and method for storage apparatus
CN102868727A (zh) * 2012-08-23 2013-01-09 广东电子工业研究院有限公司 一种实现逻辑卷高可用性的方法
CN102959499A (zh) * 2010-09-16 2013-03-06 株式会社日立制作所 计算机***、存储卷管理方法以及计算机可读取的存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008204358A (ja) * 2007-02-22 2008-09-04 Hitachi Ltd 継続的データ保護方法および継続的データ保護システム
US9185054B2 (en) 2010-09-15 2015-11-10 Oracle International Corporation System and method for providing zero buffer copying in a middleware machine environment
US8516209B2 (en) * 2010-09-16 2013-08-20 Hitachi, Ltd. Computer system, storage volume management method, and computer-readable storage medium
US20120131287A1 (en) 2010-11-19 2012-05-24 Tadato Nishina Storage control apparatus and logical volume size setting method
US8478961B2 (en) * 2011-03-02 2013-07-02 International Business Machines Corporation Dynamic migration of virtual machines based on workload cache demand profiling
US9626105B2 (en) * 2011-12-12 2017-04-18 International Business Machines Corporation Controlling a storage system
US8966316B2 (en) * 2012-11-30 2015-02-24 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Identifying software responsible for changes in system stability
US9135140B2 (en) * 2012-11-30 2015-09-15 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Identifying software responsible for a change in system stability

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090132779A1 (en) * 2007-11-16 2009-05-21 Hitachi, Ltd. Storage system and remote copy control method
US20110087850A1 (en) * 2009-10-13 2011-04-14 Fujitsu Limited Storage apparatus and method for storage apparatus
CN102959499A (zh) * 2010-09-16 2013-03-06 株式会社日立制作所 计算机***、存储卷管理方法以及计算机可读取的存储介质
CN102868727A (zh) * 2012-08-23 2013-01-09 广东电子工业研究院有限公司 一种实现逻辑卷高可用性的方法

Also Published As

Publication number Publication date
WO2014184606A1 (en) 2014-11-20
US20160014200A1 (en) 2016-01-14
JP2016510918A (ja) 2016-04-11
DE112013006646T5 (de) 2015-10-22
US9854037B2 (en) 2017-12-26
GB2524448A (en) 2015-09-23
CN104969169B (zh) 2017-11-17
GB201513463D0 (en) 2015-09-16
JP6211631B2 (ja) 2017-10-11
DE112013006646B4 (de) 2023-06-15
GB2524448B (en) 2020-10-14

Similar Documents

Publication Publication Date Title
CN104969169A (zh) 出于卷复制的目的来标识工作量和对缓冲器定大小
US9292217B2 (en) Logical volume space sharing
US6832299B2 (en) System and method for assigning storage in a storage network in accordance with stored management information
US10374792B1 (en) Layout-independent cryptographic stamp of a distributed dataset
CN102707990B (zh) 基于容器的处理方法和装置
JP5799812B2 (ja) データ配置・計算システム、データ配置・計算方法、マスタ装置、及びデータ配置方法
US9800575B1 (en) Assigning storage responsibility in a distributed data storage system with replication
CN103995855A (zh) 存储数据的方法和装置
CN111290699B (zh) 数据迁移方法、装置及***
CN106682215A (zh) 一种数据处理方法和管理节点
EP3432132B1 (en) Data storage method and device
CN104572242A (zh) 一种扩展虚拟机磁盘空间的方法、装置及虚拟机***
CN104054076B (zh) 数据存储方法、数据库存储节点故障处理方法及装置
CN104272242A (zh) 创建加密存储体
CN112181736A (zh) 分布式存储***及分布式存储***的配置方法
CN105302536A (zh) MapReduce应用的相关参数的配置方法和装置
CN105718221A (zh) 一种数据存储的方法、装置和***
CN105446982A (zh) 用于管理数据存储***的方法和装置
US9971785B1 (en) System and methods for performing distributed data replication in a networked virtualization environment
CN104272273A (zh) 动态存储器分配
CN105868023B (zh) 一种分布式***中的数据处理方法及计算节点
JP5519583B2 (ja) 仮想マシン制御システム、仮想マシン制御装置、仮想マシン制御方法及びプログラム
EP3846037B1 (en) Storage device configured to support multi-streams and operation method thereof
TW201328248A (zh) 系統韌體更新方法與使用其之伺服器系統
CN105808318B (zh) 一种信息处理方法和电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant