JP2011076286A - ボリューム割り当てを管理する計算機システム及びボリューム割り当て管理方法 - Google Patents

ボリューム割り当てを管理する計算機システム及びボリューム割り当て管理方法 Download PDF

Info

Publication number
JP2011076286A
JP2011076286A JP2009225849A JP2009225849A JP2011076286A JP 2011076286 A JP2011076286 A JP 2011076286A JP 2009225849 A JP2009225849 A JP 2009225849A JP 2009225849 A JP2009225849 A JP 2009225849A JP 2011076286 A JP2011076286 A JP 2011076286A
Authority
JP
Japan
Prior art keywords
volume
physical
performance
logical volume
data
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
JP2009225849A
Other languages
English (en)
Other versions
JP5124551B2 (ja
Inventor
Wataru Okada
渡 岡田
Kunihiro Maki
晋広 牧
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
Priority to JP2009225849A priority Critical patent/JP5124551B2/ja
Priority to US12/625,006 priority patent/US8402236B2/en
Publication of JP2011076286A publication Critical patent/JP2011076286A/ja
Application granted granted Critical
Publication of JP5124551B2 publication Critical patent/JP5124551B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • 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/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/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
    • 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/202Error 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 processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2025Failover techniques using centralised failover control functionality
    • 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/202Error 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 processing functionality is redundant
    • G06F11/2038Error 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 processing functionality is redundant with a single idle spare processing component
    • 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/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/3457Performance evaluation by simulation
    • 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/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual

Landscapes

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

Abstract

【課題】通常運用時におけるストレージシステム内のボリュームを効率的に提供し、利用率を向上させる。
【解決手段】
正論理ボリュームと副論理ボリュームとを含むストレージシステムを管理する管理計算機において、正論理ボリュームへのアクセス量が閾値を超える場合、正論理ボリュームに対応付けられる物理ボリュームより入出力性能が高い物理ボリュームに対応付けられる副論理ボリュームを選択する。そして、選択された副論理ボリュームに対応する物理ボリュームに格納されたデータの移行時間が所定の時間以内である場合、正論理ボリュームに対応する物理ボリュームに格納されているデータを、選択された副論理ボリュームに対応する物理ボリュームに移行し、選択された副論理ボリュームに対応する物理ボリュームを正論理ボリュームに対応付ける。
【選択図】図1

Description

本発明は、ボリューム割り当てを管理する計算機システム及びボリューム割り当て管理方法であって、特にディザスタリカバリ構成を採用する計算機システムにおいて、物理ボリュームの正副論理ボリュームへの割り当て管理を行う技術に関する。
情報の電子化に伴って、計算機システムが保有する業務データ量は増加している。業務データの損失は、企業の業務継続を困難にし、企業の信用を失墜させるため、企業生命に関わる大問題となる。しかし、地震などの自然災害、あるいはテロなどによる業務データの損失のリスクは常に存在する。このリスクを低減するため、計算機システムでは、ディザスタリカバリ構成を採用するケースが増加している。ディザスタリカバリとは、通常運用時に業務データの複製を遠隔地に作成し、業務データ損失時にその複製を用いて遠隔地にて業務を継続できる仕組みのことである。例えば、特許文献1では、ストレージシステムが保有する筐体間データ複製機能(リモートコピー機能)を用いたディザスタリカバリ構成を構築するための技術が開示されている。
また、通常運用時の業務データを複製する計算機システムでは、一般に複製元ボリューム(正論理ボリューム)にはホスト計算機からのアクセスが発生するため、複製先ボリューム(副論理ボリューム)よりも負荷が高くなる。このため、複数のホスト計算機の正論理ボリュームが同一の記憶装置を共有している場合、その記憶装置への負荷が増大する。特許文献2では、単一の物理ボリュームから複数の論理ボリュームを生成するストレージシステムが開示されている。そして、該ストレージシステムにおいて、特定の物理ボリュームへの負荷の増大を回避するために、第一のホスト計算機が第一の物理ボリュームから生成された論理ボリュームを正論理ボリュームとして、第二の物理ボリュームから生成された論理ボリュームを副論理ボリュームとして使用する場合は、第二のホスト計算機は第二の物理ボリュームから生成された論理ボリュームを正論理ボリュームとして、第一の物理ボリュームから生成された論理ボリュームを副論理ボリュームとして使用するように制御する技術が開示されている。
この技術の拡張としてディザスタリカバリ構成においても負荷分散のため、一般に、第一のホスト計算機が第一のストレージシステムが格納する論理ボリュームを正論理ボリュームとして、第二のストレージシステムが格納する論理ボリュームを副論理ボリュームとして使用する場合は、第二のホスト計算機は第二のストレージシステムが格納する論理ボリュームを正論理ボリュームとして、第一のストレージシステムが格納する論理ボリュームを副論理ボリュームとして使用する構成が採られる。一般に、これをActive−Activeのディザスタリカバリ構成と呼ぶ。
特開2009−151389号公報 特開2003−162378号公報
特許文献1に開示されるディザスタリカバリ構成は、業務を運用している正サイトが被災した場合に、正サイトのデータをリモートコピーして格納している副サイトにて業務を再開することを目的としている。被災時にリモートコピーしたデータを用いて副サイトにて再開される業務は、通常運用時と同様に、性能目標を満たす必要がある。従来は、被災時においてユーザから要求される性能目標を満たすために、副サイトのストレージ装置において、リモートコピーしたデータを性能目標を満たす副論理ボリュームに格納し業務に割り当てていた。たとえば、被災時も通常運用と同等の性能で業務を継続する必要がある場合は、正論理ボリュームと同性能のボリュームを副論理ボリュームとして業務に割り当てる。
一方で、様々な制約によりストレージ装置内の高性能なボリュームの数は制限される。ある業務に高性能な副論理ボリュームを割り当てる場合、他の業務に対しては要求よりも低い性能の正論理ボリュームに割り当てざるを得なくなる場合があった。しかし、ホスト計算機は、通常運用時には副論理ボリュームに対してアクセスしない。したがって、被災時に再開される業務の性能目標を満たすために割り当てられた高性能な副論理ボリュームの性能を、通常運用時には活かすことができないという課題がある。
上記課題を解決するための計算機システムは、他のストレージシステムに接続するストレージシステムと、前記ストレージシステムを管理する管理計算機と、が含まれる計算機システムであって、前記ストレージシステムは、第一の正論理ボリュームと、複数の第一の副論理ボリュームと、バッファボリュームを含む複数の論理ボリュームに対応する複数の物理ボリュームと、前記複数の第一の物理ボリュームへのデータの入出力処理を実行する第一のコントローラと、を含み、前記管理計算機は、前記複数の物理ボリュームの性能を示す物理ボリューム情報と、を格納するメモリと、前記メモリに格納されるデータを参照して処理を実行する第二のコントローラと、を含み、前記複数の第一の副論理ボリュームは、前記他のストレージシステムが提供する複数の第二の正論理ボリュームとコピーペアを形成し、前記第一の正論理ボリュームが、前記他のストレージシステムが提供する第二の副論理ボリュームとコピーペアを形成し、前記第二のコントローラは、前記第一の正論理ボリュームへのアクセス量が閾値を超える場合、前記メモリから読み出した前記物理ボリューム情報を参照することにより、前記複数の第一の副論理ボリュームに含まれ、前記第一の正論理ボリュームに対応付けられる第一の物理ボリュームより入出力性能が高い第二の物理ボリュームに対応付けられる副論理ボリュームを選択し、前記第二のコントローラは、前記選択された副論理ボリュームに対応する前記第二の物理ボリュームに格納されたデータの移行時間が所定の時間以内であるかを確認し、前記移行時間が所定の時間内である場合、前記選択された副論理ボリュームに対応する前記第二の物理ボリュームに格納されているデータを、前記バッファボリュームに対応する第三の物理ボリュームに移行し、前記第一の正論理ボリュームに対応する前記第一の物理ボリュームに格納されているデータを、前記選択された副論理ボリュームに対応する前記第二の物理ボリュームに移行し、前記選択された副論理ボリュームに対応する前記第二の物理ボリュームを前記第一の正論理ボリュームに対応付ける、指示を前記ストレージシステムに発行する、ことを特徴とする計算機システムである。
サーバが要求する業務性能を、ストレージシステム内の正論理ボリュームに対応する物理ボリュームが満たせない場合に、高性能な副論理ボリュームであって通常運用時であるために使用されていない論理ボリュームに対応する物理ボリュームを、正論理ボリュームに割り当てて使用することができるため、ストレージシステム内の物理ボリュームを効率的に利用することができる。
第一の実施例において計算機システムの構成の概要を示すブロック図である。 第一の実施例においてストレージシステムの構成の一例を示した図である。 第一の実施例においてホスト計算機の構成の一例を示した図である。 第一の実施例において管理計算機の構成の一例を示した図である。 第一の実施例においてアプリケーション情報の構成例を示した図である。 第一の実施例において論理ボリューム情報の構成例を示した図である。 第一の実施例において物理ボリューム情報4015の構成例を示した図である。 第一の実施例においてデータ移行性能情報4016の構成例を示した図である。 第一の実施例において構成構築プログラム4010がディザスタリカバリ構成を構築する際の処理の流れを示した図である。 第一の実施例において代替構成提案画面の構成例を示す図である。 第一の実施例において稼働状況監視プログラムの動作を示すフローチャートである。 第一の実施例において被災時復旧プログラムの動作を示すフローチャートである。 第二の実施例においてストレージシステムの構成例を示すブロック図である。 第二の実施例においてホスト計算機の構成例を示すブロック図である。 第二の実施例において管理計算機の構成例を示すブロック図である。 第二の実施例においてVM性能情報のテーブルの構成例を示す図である。 第二の実施例において論理ボリューム情報のテーブルの構成例を示す図である。 第二の実施例において論理ボリューム構成情報のテーブルの構成例を示す図である。 第二の実施例において物理ボリューム情報のテーブルの構成例を示す図である。 第二の実施例においてVM構成情報のテーブルの構成例を示す図である。 第二の実施例において物理サーバ情報のテーブルの構成例を示す図である。 第二の実施例においてVM移行性能情報のテーブルの構成例を示す図である。 第二の実施例において構成構築プログラムの動作を示すフローチャートである。 第二の実施例において稼働状況監視プログラムの動作を示すフローチャートである。 第二の実施例において被災時復旧プログラムの動作を示すフローチャートである。
以下、本発明の実施例について、図面を参照しながら詳細に説明する。
第一の実施例
まず、第一の実施例について説明する。
以下、本実施例のシステム構成と動作を説明する。
(1−1)第一の実施例のシステム構成。
図1は、本実施例において計算機システムの構成の概要を示すブロック図の一例である。
本システムは、サイトA1100とサイトB1200によるActive−Activeのディザスタリカバリ構成となっている。
本計算機システムは、通常運用時にアプリケーションを稼動させる運用系ホスト計算機(正ホスト計算機)として、サイトA1100にホスト計算機A1101、サイトB1200にホスト計算機B1202を含む。サイトA1100の被災時に、ホスト計算機A1101と同等のアプリケーションを稼動させる待機系ホスト計算機(副ホスト計算機)としてホスト計算機C1201がサイトB1200に含まれる。また、サイトB1200の被災時にホスト計算機B1202と同等のアプリケーションを稼動させる待機系ホスト計算機(副ホスト計算機)としてホスト計算機D1102がサイトA1100に含まれる。
ここで、待機系ホスト計算機は対応する運用系ホスト計算機と同等の構成をとることが望ましい。しかし、被災時に運用系ホスト計算機で稼動していたアプリケーションと同等のアプリケーションが稼動する構成であれば異なっていても良い。
ホスト計算機A1101とホスト計算機D1102に加え、サイトA1100にはストレージシステムA1103が含まれる。サイトA1100のストレージシステムA1103はデータネットワークC1400を介してサイトB1200のストレージシステム1203に接続する。
また、ホスト計算機A1101はデータネットワークA1104を介してストレージシステムA1103に含まれる論理ボリュームA1111に対しデータの読み書き要求を発0行する。ストレージシステムA1103は、自身が保有する制御プログラム(リモートコピープログラム)をCPUにより実行し、データネットワークC1400を介し、論理ボリュームA1111に格納されるデータを、ストレージシステムB1200の論理ボリュームC1211に複製(リモートコピー)する。サイトA1100被災時において、ホスト計算機C1201は、該論理ボリュームC1211のデータを用いて、ホスト計算機Aで稼動していたアプリケーションと同等のアプリケーションをユーザに提供し、復旧することができる。なお、論理ボリュームには、物理ボリュームが対応付けられている。そして、論理ボリュームに対するデータの読み書き処理は、実際には、論理ボリュームに対応付けられている物理ボリュームに対する読み書き処理となる。以下、「論理ボリュームに対するデータの読み書き処理」として説明する場合もあるが、「論理ボリュームに対応付けられている物理ボリュームに対する読み書き処理」を意味する。
ホスト計算機B1202とホスト計算機C1201に加え、サイトB1200にはストレージシステムB1203が含まれる。ストレージシステムB1203は、データネットワークC1400を介してストレージシステムA1103に接続される。また、ホスト計算機B1202は、データネットワークB1204を介してストレージシステム1200の論理ボリュームB1212に対してデータの読み書き要求を発行する。ストレージシステムB1203は、自身が保有する制御プログラム(リモートコピープログラム)により、データネットワークC1400を介し、論理ボリュームB1212のデータを、論理ボリュームD1112に複製(リモートコピー)する。サイトB1200被災時に、ホスト計算機D1102は、この論理ボリュームD1112を用いて、ホスト計算機Bで稼動していたアプリケーションと同等のアプリケーションを復旧することができる。
本計算機システムは、管理計算機1500を含む。管理計算機1500は、管理ネットワーク1300を介して各サイトの運用系ホスト計算機、待機系ホスト計算機、ストレージシステムに接続する。そして、管理計算機1500は、各サイトの運用系ホスト計算機、待機系ホスト計算機、ストレージシステムを管理する。
なお、本計算機システム構成図では、各サイトにストレージシステムが一台、ホスト計算機が2台である。しかしこれに限定されるものではなく、本計算機システムは、複数のストレージシステムや2台以上のホスト計算機を含んでもよい。また、データネットワークA1104、データネットワークB1204、データネットワークC1400は、ストレージエリアネットワーク(SAN)である。しかしこれに限定されるものではなく、IPネットワークであっても、あるいはこれら以外のデータ通信用ネットワークであってもよい。また、管理ネットワーク1300は、IPネットワークである。しかし、これに限定されるものではなく、ストレージエリアネットワークであっても、あるいはこれら以外のデータ通信用ネットワークであってもよい。また、各ネットワークが同一ネットワークであってもよいし、ホスト計算機A1101とホスト計算機D1102と管理計算機1500の二つ以上が単一の計算機により実現されていてもよい。同様に、ホスト計算機B1202とホスト計算機C1201と管理計算機1500の二つ以上が単一の計算機により実現されていてもよい。
図2は、本実施例においてストレージシステムA1103の構成の一例を示した図である。
ストレージシステムA1103は、ホスト計算機のアプリケーションが利用するデータを格納する論理ボリュームを提供するストレージシステムである。ストレージシステムA1103は、データを格納する物理ボリューム2011と、ストレージシステムA1103内の制御を行うディスクコントローラ2020とを備える
物理ボリューム2011は、ディスク型の記憶装置、例えば、ハードディスクドライブ(HDD)である。物理ボリューム1011は、ラッシュメモリデバイス等、多種の記憶装置であってもよい。
ディスクコントローラ2020は、データI/F2021と、管理I/F2024と、ディスクI/F2023と、メモリ2025と、CPU2022とを含む。
メモリ2025には、管理情報群2031と、制御プログラム2032とが記憶される。CPU2022は、メモリ2025に記憶された制御プログラム2032を実行する。以下、コンピュータプログラムが主語になる場合は、実際にはそのコンピュータプログラムを実行するCPUによって処理が行われるものとする。
制御プログラム2032は、物理ボリューム2011を1以上の領域に論理的に分割した領域を作成し管理する。この分割された領域は、論理ボリューム2012である。図2においては、単一の物理ボリューム2011から論理ボリューム2012を作成するように図示されている。しかし、これに代えて、複数の物理ボリューム2011をRAID(Redundant Array of Inexpensive Disks)技術によりグループ化したものから論理ボリューム2012を作成しても良い。
また、制御プログラム2032は、論理ボリューム2012に格納されたデータを、ストレージシステム1203にリモートコピーするために必要な処理を実行する。たとえば、制御プログラムは、ユーザの指示に従い、正論理ボリュームとなる論理ボリューム2012の識別子と、副論理ボリュームとなる他筐体の論理ボリューム2012の識別子の組を管理情報群2031に記録する。そして、制御プログラム2032は、副論理ボリュームを格納するストレージシステムの制御プログラムと連携し、正論理ボリュームのデータを副論理ボリュームにコピーする。その後、ホスト計算機から正論理ボリュームに対する書き込みを受け付け、書き込まれるデータを副論理ボリュームへ転送するなどの処理を行う。
また、制御プログラム2032は、物理ボリューム2011に格納されるデータを他の物理ボリュームに再配置する処理を実行する。具体的には、制御プログラム2032は、指定された論理ボリュームの領域に対応する物理ボリュームの領域に格納されているデータを他の物理ボリュームの領域にコピーする。そして、制御プログラム2032は、指定された論理ボリュームの領域をコピー先の物理ボリュームの領域に対応付けなおすことで、ホスト計算機に影響を与えることなく、物理ボリューム間でのデータの再配置を行う。本技術の詳細は特開2000−293317号公報に開示されているものと同等である。ここでは、このデータを再配置することを「データを移行させる」とよぶ。
また、制御プログラム2032は、管理計算機やホスト計算機からの要求に応じ、論理ボリューム2012へデータ入出力(読み書き)処理をする。制御プログラム2032は、ストレージシステム1000内の構成情報や制御情報を設定する。ここで、構成情報には、物理ボリューム1011と論理ボリューム2012の関係が含まれる。構成情報は、管理情報群2031の全部又は一部として、メモリ2025に記録される。制御プログラム2032は、管理情報群2031に含まれる構成情報を参照または更新しながら上述した種々の処理を実行する。
データI/F2021は、データネットワークA1104あるいはデータネットワークC1400と接続するインタフェースである。制御プログラム2032は、データI/F2021を介してホスト計算機や他のストレージシステムと、データや制御命令の送受信を行う。
管理I/F1022は、管理ネットワーク1300と接続するインタフェースである。制御プログラム2032は、管理I/F2024を介してホスト計算機や管理計算機と、データや制御命令の送受信を行う。
ディスクI/F2023は、物理ボリューム2011と接続するインタフェースである。制御プログラム2032は、ディスクI/F2024を介して物理ボリューム2011とデータや制御命令の送受信を行う。
なお、ストレージシステムB1203もこれと同様の構成をとるため説明は省略する。
図3は、本実施例においてホスト計算機A1101の構成の一例を示した図である。
ホスト計算機A1101は、キーボードやマウスなどの入力装置3001と、CPU3002と、CRTなどの表示装置3003と、メモリ3006と、データI/F3004と、管理I/F3005とを備える。
CPU3002は、メモリ3006に記憶されたアプリケーション3010などのプログラムを実行する。メモリ3006には、アプリケーション3010が記憶される。アプリケーション3010は、論理ボリューム2012を利用するアプリケーションプログラムであり、例えば、DBMSやファイルシステムである。データI/F3004は、データネットワーク1104と接続するインタフェースである。アプリケーション3010は、データI/F3004を介してストレージシステムと、データや制御命令の送受信を行う。
管理I/F3005は、管理ネットワーク1400に対するインタフェースである。アプリケーション3010は、管理I/F3005を介して管理計算機、他のホスト計算機、ストレージシステムと、データや制御命令の送受信を行う。
なお、ホスト計算機B1202、ホスト計算機C1201、ホスト計算機D1102もこれと同様の構成をとるため説明は省略する。また、ホスト計算機Aのメモリに格納されるアプリケーションは、ホスト計算機Cのメモリに格納されるアプリケーションを含む。ホスト計算機Bのメモリに格納されるアプリケーションは、ホスト計算機Dのメモリに格納されるアプリケーションを含む。
図4は、本実施例において管理計算機1500の構成の一例を示した図である。
管理計算機1500は、キーボードやマウスなどの入力装置4001と、CPU4002と、CRTなどの表示装置4003と、メモリ4005と、管理I/F4004とを含む。
メモリ4005には、構成構築プログラム4010と、稼働状況監視プログラム4011と、被災時復旧プログラム4012と、アプリケーション情報4013と、論理ボリューム情報4014と、物理ボリューム情報4015と、データ移行性能情報4016とが記憶される。CPU4002は、メモリ4005に記憶されたプログラムを実行する。なお、以下プログラムを主語にして動作を説明する場合もあるが、実際にはCPU4002がメモリから該プログラムを読み出して実行することを意味する。
構成構築プログラム4010は、ディザスタリカバリ構成を構築するためのプログラムである。ユーザは本プログラムが提供するユーザインタフェースを用いて、構築するディザスタリカバリ構成に関する設定情報を入力する。本プログラムの処理の流れについては後述する。
稼働状況監視プログラム4011は、稼働中のディザスタリカバリ環境内の正論理ボリュームへのアクセス状況を監視し、正論理ボリュームの性能が不十分である場合に、ユーザの指示に応じて正論理ボリュームのデータを他のボリュームへの移行するプログラムである。本プログラムは、ユーザにより起動された後、計算機システム内でデーモンプロセスとして稼動し続ける。本プログラムの処理の流れについては後述する。
被災時復旧プログラム4012は、被災時に各アプリケーションが要求する性能を持つボリュームを割り当てるためのプログラムである。本プログラムは、ユーザの指示により起動する。本プログラムの処理の流れについては後述する。
アプリケーション情報4013、論理ボリューム情報4014、物理ボリューム情報4015、データ移行性能情報4016については後述する。
図5は、本実施例においてアプリケーション情報4013の構成例を示した図である。
アプリケーションID5001は、本計算機システムにおいてアプリケーションを一意に識別するためのIDを格納する。以降のフィールドは、この値により示されるアプリケーションに関する情報を格納する。
通常時要求性能5002は、通常運用時に、アプリケーションが要求する論理ボリュームの処理性能を格納する。論理ボリュームの処理性能とは、論理ボリュームに対応する物理ボリュームの処理性能を示す。以下、「論理ボリュームの処理性能」とは、「論理ボリュームに対応する物理ボリュームの処理性能」を意味する。本構成例では、一秒間に可能なI/Oの回数を示すIOPSにより示されるが、他の形式でも良い。以降、この値を通常時要求性能と呼ぶ。
被災時要求性能5003は、被災時に他のサイトで再開される場合に、アプリケーションが要求する論理ボリュームの処理性能を格納する。本構成例では、一秒間に可能なI/Oの回数を示すIOPSにより示されるが、他の形式でも良い。以降、この値を被災時要求性能と呼ぶ。
性能劣化許容時間5004は、被災時に、指定された被災時要求性能を持つ論理ボリュームに移行し終わるまでの許容可能な時間を格納する。本構成例では、秒数により示されるが、他の形式でも良い。以降、この値を被災時性能劣化許容時間又は性能劣化許容時間と呼ぶ。また、指定された被災時要求性能を持つ論理ボリュームに移行し終わるまでの時間を被災時性能劣化時間又は性能劣化時間と呼ぶ。
サイトID5005は、通常運用時においてアプリケーションを稼動するホスト計算機が属するサイトを、本計算機システムにおいて一意に識別するためのIDを格納する。
通常時ホストIDは、通常運用時においてアプリケーションを稼動するホスト計算機を、本計算機システムにおいて一意に識別するためのIDを格納する。
被災時ホストIDは、被災時においてアプリケーションを稼動するホスト計算機を、本計算機システムにおいて一意に識別するためのIDを格納する。
これらの情報は、ユーザ入力にもとづき構成構築プログラム1251により設定される。また、これらの情報の利用、設定、変更方法は後述する。
図6は、本実施例における論理ボリューム情報の構成例を示した図である。
ストレージID6001は、本計算機システムにおいてストレージシステムを一意に識別するためのIDを格納する。
論理VOLID6002は、ストレージID6001により示されるストレージシステムの論理ボリュームを一意に識別するためのIDを格納する。以降のフィールドは、ストレージID6001と論理VOLID6002により示される論理ボリュームに関する情報を格納する。
物理ボリューム6003は、論理ボリュームに対応付けられた物理ボリュームを一意に識別するためのIDを格納する。
容量6004は論理ボリュームの容量を格納する。
使用状況6005は論理ボリュームの使用状況を格納する。使用されている場合は、使用中のアプリケーションIDを格納する。
属性6006は論理ボリュームの属性を格納する。使用状況6005にアプリケーションIDが格納されている場合は、正論理ボリュームとして使われているか、副論理ボリュームとして使われているかを示す文字列が格納される。また、バッファボリュームとして指定されている場合は、バッファボリュームを示す文字列が格納される。なお、バッファボリュームの使われ方については後述する。未使用のボリュームについては未使用を示す文字列が格納される。
サイトID6007は、ストレージシステム及び論理ボリュームが属するサイトのIDを格納する。
ストレージID6001、論理ボリュームVOLID6002、物理VOLID6003、容量6004は、管理計算機の構成構築プログラム4010が管理ネットワーク1300を介しストレージシステムの制御プログラム2032から取得する。この取得処理については、本発明に関わる分野に精通する技術者にとっては明らかであるため、説明を省略する。
同一のアプリケーションにより使用されている属性が「正」の論理ボリューム(正論理ボリューム)と属性が「副」の論理ボリューム(副論理ボリューム)は、リモートコピーペアを形成していることを示す。
使用状況6005、属性6006、サイトID6007については、ユーザ入力にもとづき構成構築プログラム4010により設定される。使用状況6005は初期値として未使用を示す「−」(ハイフン)が格納される。属性6006は初期値として未使用を示す文字列が格納される。論理ボリュームをバッファボリュームに指定する場合は、構成構築プログラム1251を起動し、対象となる論理ボリュームのIDとバッファボリュームに指定する旨を入力することにより、対応する属性6006にバッファボリュームを示す文字列が格納される。バッファボリューム、未使用以外の使用状況を示す値を設定する方法については後述する。また、サイトID6007にサイトIDを登録する場合は、構成構築プログラム4010を起動し、対象となる論理ボリュームのIDとサイトIDを入力することにより、対応するサイトID6007に入力されたサイトIDが登録される。
図7は、本実施例における物理ボリューム情報4015の構成例を示した図である。
ストレージID7001は、本計算機システムにおいてストレージシステムを一意に識別するためのIDを格納する。
物理VOLID7002は、ストレージID4001により示されるストレージシステム内の物理ボリュームを一意に識別するためのIDを格納する。
性能4003は、物理VOLID4003により示される物理ボリュームの性能を格納する。本構成例では、一秒間に可能なI/Oの回数を示すIOPSにより示されるが、他の形式でも良い。なお、論理ボリュームの性能は、上記の通り、該論理リュームに対応する物理ボリュームの性能である。また、論理ボリュームが複数の物理ボリュームの記憶領域より形成されている場合には、論理ボリュームの性能は、該複数の物理ボリュームのうち最も性能の低い物理ボリュームの性能である。
これらの情報は、管理計算機の構成構築プログラム4010が管理ネットワーク1300を介しストレージシステムの制御プログラム2032から取得する。この取得処理については、本発明に関わる分野に精通する技術者にとっては明らかであるため、説明を省略する。
図8は、本実施例におけるデータ移行性能情報4016の構成例を示した図である。
ストレージID8001は、本計算機システムにおいてストレージシステムを一意に識別するためのIDを格納する。
データ移行速度8002は、ストレージID8001により示されるストレージシステムの内部においてCPUにて実行されるデータの移行を行う速度を格納する。本構成例では、一秒間に移行可能なデータ量(帯域)により示されるが、他の形式でも良い。
図9は、本実施例において構成構築プログラム4010がディザスタリカバリ構成を構築する際の処理の流れを示した図である。
まず、構成構築プログラム4010は起動されると、管理計算機の入力装置よりユーザより要件を受け付ける(ステップ9010)。要件の内容としては、(a)アプリケーションのIDと、(b)ボリュームの容量と、(c)通常時要求性能と、(d)被災時要求性能と、(e)被災時性能劣化許容時間と、(f)通常運用時にアプリケーションが稼動するサイトのID、(g)通常時にアプリケーションが稼動するホスト計算機のID、(h)被災時にアプリケーションが稼動するホスト計算機のIDである。
ユーザからの入力を受け付けると、構成構築プログラム4010は、(f)のサイト内の未使用なボリュームで、(b)の容量と(c)の性能を満たすボリュームを、論理ボリューム情報4014及び物理ボリューム情報4015を参照して探索する(ステップ9020)。
ステップ9020で該当する論理ボリュームを発見した場合、構成構築プログラム4010は、ステップ9100に進む。なお、以降の説明では、発見した論理ボリュームを第一の論理ボリュームと呼ぶ。ステップ9100では、構成構築プログラム4010は、(f)が示すサイト(正サイト)とは異なるサイトであり、(h)のホスト計算機が含まれるサイト(副サイト)から(b)の容量と(d)の性能を満たすボリュームを論理ボリューム情報4014及び物理ボリューム情報を参照して探索する(ステップ9100)。
ステップ9100で該当する論理ボリュームを発見した場合、構成構築プログラム4010は、ステップ9110に進む。なお、以降の説明では、発見した論理ボリュームを第二の論理ボリュームと呼ぶ。
ステップ9110では、構成構築プログラム4010は、第一の論理ボリュームを正論理ボリュームとして、第二の論理ボリュームを副論理ボリュームとしてリモートコピー構成を構築する指示を、制御プログラム2032に対して送信する。また、構成構築プログラム4010は、第一の論理ボリュームを(g)のホスト計算機に割り当てる。また、構成構築プログラム4010は、第二の論理ボリュームを(h)のホスト計算機に割り当てる(ステップ9110)。
次に、構成構築プログラム4010は、(a)をアプリケーションID5001に、(c)を通常時要求性能5002に、(d)を被災時要求性能5003に、(e)を性能劣化許容時間5004に、(f)をサイトID5005に、(g)を通常時ホストID5006に、(h)を被災時ホストID5007に設定する。また、構成構築プログラム4010は、設定したリモートコピー構成の内容に応じて使用状況6005と物理VOLID6003を更新する(ステップ9120)。そして構成構築プログラム4010は、処理を終了する。
ステップ9020で該当する論理ボリュームを発見できなかった場合、(f)が示すサイト内で、未使用かつ(b)の容量を満たす論理ボリュームを論理ボリューム情報4014を参照して探索する(ステップ9030)。
ステップ9030で該当するボリュームを発見できなかった場合、構成構築プログラム4010は、構成を構築できない旨を出力装置を介してユーザに通知して(ステップ9130)、処理を終了する。
ステップ9030で該当する論理ボリュームを発見できた場合、構成構築プログラム4010は、ステップ9040に進む。なお、以降の説明では、発見した論理ボリュームを第一の代替ボリュームと呼び、この時点で第一の代替ボリュームに対応付けられている物理ボリュームを第一の物理ボリュームと呼ぶ。構成構築プログラム4010は、第一の代替ボリュームが属するストレージシステム内の副論理ボリュームであること、(b)の容量を満たしていること、(c)の性能要件を超えることを条件に論理ボリュームを探索する(ステップ9040)。また、第一の代替ボリュームが属するストレージシステム内の副論理ボリュームであること、(b)の容量を満たしていること、第一の代替ボリュームより性能がよいこと、(c)の性能要件に最も近い性能を持つこと、を条件に論理ボリュームを探索してもよい。
ステップ9040で該当する論理ボリュームを発見できた場合、構成構築プログラム4010は、ステップ9050に進む。なお、以降の説明では、発見した論理ボリュームを第二の代替ボリュームと呼び、この時点で第二の代替ボリュームに対応付けられている物理ボリュームを第二の物理ボリュームと呼ぶ。
ステップ9050では、構成構築プログラム4010は、第二の代替ボリュームに対応する第二の物理ボリュームに格納されるデータを第一の代替ボリュームに対応する第一の物理ボリュームに移行させ、第一の物理ボリュームを第二の代替ボリュームに割り当て、第二の物理ボリュームを(a)のアプリケーションの正論理ボリュームとして用いられる第一の代替ボリュームに割り当てたことを想定し、被災時に発生する処理をシミュレーションする(ステップ9050)。
本シミュレーションでは、被災時の性能回復の可否と、各アプリケーションに対する被災時性能劣化時間を算出する。本構成例では、被災時には図12の説明で示す方法でボリュームの入れ替えを行うため、本シミュレーションはこれに従う。
図12のシミュレーションにて、第一の物理ボリュームが割り当てられている第二の代替ボリュームに関してエラー通知12090が必要になる場合があるか否かを判断する。そして、エラー通知12090が必要になる場合には、被災時の性能回復の不可と判断する。また、エラー通知12090が必要ではなく、被災時の性能回復の可と判断された場合には、被災時性能要求を満たすために第二の代替ボリュームのデータ移行に要する時間を算出する。算出された時間は、被災時性能劣化時間となる。被災時性能劣化時間は、第二の代替ボリュームに対応する第一の物理ボリュームに格納されるデータサイズと、データ移行性能情報4016のデータ移行速度をもとに算出することが可能である。具体的には、ストレージシステム「STG2」の論理ボリューム「LU02」に割り当てられる物理ボリューム内の100Gのデータを、データスピード400MB/Sで他の物理ボリュームに移行する場合には、250秒の時間を要する。
また、被災時の性能回復するために、第二の代替ボリュームと他のボリュームとをバッファボリュームを用いてスワップ処理を行う場合には、第二の代替ボリュームに格納されるデータサイズと、データ移行性能情報4016のデータ移行速度に加えて、さらに他のボリュームに格納されるデータサイズを用いて被災時性能劣化時間を算出する。具体的には、他のボリュームに対応付けられる物理ボリュームに格納されるデータを、バッファボリュームに対応付けられる物理ボリュームに移行する時間と、第二の代替ボリュームに対応付けられる物理ボリュームに格納されるデータを、他のボリュームに対応付けられる物理ボリュームに移行する時間との和が、被災時性能劣化時間である。
なお、本構成例では、図12で示す方法をボリューム入れ替えのアルゴリズムとして用いるが、他のアルゴリズムでボリューム入れ替えを行う場合は、それに応じた方法で性能劣化時間の算出する必要がある。
そして、第二の代替ボリュームのうち、被災時の性能回復の可と判断され、性能劣化許容時間が被災時性能劣化時間を越えるボリュームを選択する。そして、選択されたボリュームを新たに第二の代替ボリュームとする。
ステップ9040で該当する論理ボリュームを発見できなかった場合、構成構築プログラム4010は、ステップ9050はスキップする。
次に、構成構築プログラム4010は、通常時性能要求を満たすように第一の代替ボリュームと第二の代替ボリュームを用いた代替構成を、出力画面を介してユーザに提示する(ステップ9060)。ここで表示される代替構成には二つのタイプがある。
代替構成タイプ1は、第一の代替ボリュームを正論理ボリュームとして使用する構成である。代替構成タイプ2は、通常運用時には第二の代替ボリュームに対応付けられる第二の物理ボリュームを第一の代替ボリュームに対応付けて正論理ボリュームとして利用する。そして、もともと第二の代替ボリュームを副論理ボリュームとしてペアを組む正論理ボリュームが含まれるサイトが被災した場合、第一の代替ボリュームの物理ボリュームを正論理ボリュームとして利用する構成である。ユーザは本ステップで提示する画面から、代替構成タイプ1と代替構成タイプ2と構築中断の三つの選択肢から処理の流れを選ぶことができる。本画面の構成例は図10を用いて説明する。
構成構築プログラム4010は、ステップ9060で出力装置に提示した画面によりユーザからの入力を入力装置より受け付ける(ステップ9070)。以下、「構築中断」「代替構成タイプ2」「代替構成タイプ1」に分けてステップ9070以降の処理を説明する。
ステップ9070の入力が構築中断を示す値である場合、環境構築を中断した旨をユーザに提示し(ステップ9130)、処理を終了する。
ステップ9070の入力が代替構成タイプ2を示す値である場合、構成構築プログラム4010は、第一の代替ボリュームと第二の代替ボリュームをスワップする(ステップ9090)。具体的には、第二の代替ボリュームに対応付けられる第二の物理ボリュームに格納されているデータを、第一の代替ボリュームに対応付けられる第一の物理ボリュームへ移行するように、制御プログラム1032に指示する。そして、制御プログラムは、第二の代替ボリュームに対応付けられる第二の物理ボリュームに格納されているデータを、第一の代替ボリュームに対応付けられる第一の物理ボリュームへ移行する。
なお、制御プログラム1032は、論理ボリュームと物理ボリュームの対応付けの変更処理も行う。つまり、制御プログラム1023は、第二の代替ボリュームへの第二の物理ボリュームの対応付け(割り当て)を解消する。そして、制御プログラム1023は、第二の代替ボリュームに、第一の代替ボリュームに対応付けられていた第一の物理ボリュームを対応付ける。さらに、制御プログラム1023は、第一の代替ボリュームに第二の代替ボリュームに対応付けられていた第二の物理ボリュームを対応付ける。以上が、スワップの処理である。
ステップ9070の入力が代替構成タイプ1を示す値である場合、構成構築プログラム4010は、ステップ9090をスキップする。
次に、構成構築プログラム4010は、ステップ9100に進む。このステップは前述のとおりである。
次に、構成構築プログラム4010は、ステップ9110に進む。以下に、前述のステップ9110との差分を示す。リモートコピーの正論理ボリュームとして設定されるボリュームは、第一の代替ボリュームとなる。なお、ステップ9070で代替構成タイプ2を選択した場合、第一の代替ボリュームには、ステップ9090のスワップ前に、第二の代替ボリュームに対応付けられていた第二の物理ボリュームが対応付けられている。また、構成構築プログラム4010は、第一の代替ボリュームを(g)のホスト計算機に割り当てる。また、構成構築プログラム4010は、第二の論理ボリュームを(h)で指定されたホスト計算機に割り当てる。
次に、構成構築プログラム4010は、ステップ9120に進む。このステップは、前述のものとほぼ同じであるため、差分だけ示す。通常時要求性能5002には、第一の代替ボリュームに、ステップ9030の時点で対応付けられていた物理ボリュームの性能が設定される。そして構成構築プログラム4010は、処理を終了する。以上が、構成構築プログラム1251の処理の流れである。
図10は、本実施例において、図9のステップ9060において表示される代替構成提案画面の構成例を示す図である。
本構成例では、三つの選択肢をユーザに提示している。ユーザは選択肢10010、選択肢10020、選択肢10030のいずれかを選択した後に、ボタン7040を押下することで、代替構成を受け入れ可否と、受け入れる可の場合の受け入れ大体構成のタイプを構成構築プログラム4020に対して入力することができる。
選択肢10010は、代替構成タイプ1を許可する選択肢である。選択肢の下には通常時要求性能に対する代替構成タイプ1における性能が表示されている。通常運用時の性能は要求性能を下回ることが示される。
選択肢10020は、代替構成タイプ2を許可する選択肢である。選択肢の下には通常時要求性能に対する代替構成タイプ2における性能が表示されている。通常運用時は、正論理ボリュームにおいて要求性能を上回る性能又は要求性能に近い性能を提供できるが、他のサイトが被災したときに要求性能を下回ることが示される。なお、本選択肢は、ステップ9040で該当する副論理ボリュームが発見されること、ステップ9050で算出した被災時性能劣化時間が各アプリケーションの被災時性能劣化許容時間を下回ること、ステップ9050で被災時に性能回復が可能であることが判明すること、を全て満たしたときのみ活性化される。
選択肢10030は、代替構成を受け入れず、構成の構築を中断することを示す選択肢である。
以上が、図9のステップ9060においてユーザに表示する画面の構成例である。
なお、本構成例では、選択肢10020の活性・不活性を制御する際に、ステップ9050で算出した被災時性能劣化時間が各アプリケーションの被災時性能劣化許容時間を下回るかを判断したが、別の構成例として、ステップ9050で算出した各アプリケーションの被災時性能劣化時間を選択肢10020の下に表示し、この画面上でその値が許容可能かを判定するようにしても良い。この場合は、ステップ9010における(e)の入力と性能劣化許容時間5004の管理を省略することができる。この構成は、計算機システム内のアプリケーションを管理するユーザが少数であり、性能劣化許容時間がユーザ間で共有されている場合に有効である。
図11は、本実施例において稼動監視プログラムの動作のフローチャートの一例を示す図である。具体的には、稼働状況監視プログラム4011が稼働中のディザスタリカバリ環境内の正論理ボリュームへのアクセス状況を監視し、正論理ボリュームの性能が不十分である場合に、ユーザの指示に応じて正論理ボリュームに対応付けられた物理ボリュームを他の物理ボリュームへの移行させる処理の流れを示した図である。
稼働状況監視プログラム4011は、デーモンプロセスとして計算機システム内で起動し続けている。まず、稼働状況監視プログラム4011は所定の時間待機する(ステップ11010)。なお、この所定の時間は、ユーザにより指定されても良いし、プログラム内にコーディングされていても良い。
所定の時間経過後、稼働状況監視プログラム4011は、計算機システム内の正論理ボリュームを検索する。そして、それぞれの検索された正論理ボリュームを対象にして、ステップ11020〜ステップ11120の処理を繰り返す。なお、以降の説明では、対象となる正論理ボリュームを対象正論理ボリュームと呼び、対象正論理ボリュームに対応する物理ボリュームを第一の物理ボリュームと呼ぶ。
まず、稼働状況監視プログラム4011は、対象正論理ボリュームへの単位時間当たりのアクセス量を取得する(ステップ11030)。
次に、稼働状況監視プログラム4011は、その単位時間当たりのアクセス量が対象正論理ボリュームの性能を上回っているか、又は上回る可能性があるかを判定する(ステップ11040)。本ステップでの判定では、ステップ11030にて取得した単位時間当たりのアクセス量が一定の閾値を超えた場合に上回る可能性があると判定しても良いし、ステップ11030にて取得した値の履歴をとっておき、トレンド分析により上回る可能性があると判定しても良い。
ステップ11040の判定の結果、上回る可能性がないと判定された場合、稼働状況監視プログラム4011は、ステップ11020に移行し、次の正論理ボリュームを対象とした処理に移行する。
ステップ11040の判定の結果、上回る可能性があると判定された場合、稼働状況監視プログラム4011は、バッファボリュームの有無を判定する(ステップ11050)。本ステップでは、稼働状況監視プログラム4011は、対象正論理ボリュームが属するストレージシステムにおいて、対象正論理ボリュームと同じ容量又は対象正論理ボリュームの容量を上回る容量を持ち、かつ、バッファボリュームに指定されている論理ボリュームが存在するかを、論理ボリューム情報4014を用いて判定する。
ステップ11050の判定の結果、該当する論理ボリュームが無い場合、稼働状況監視プログラム4011は、対象正論理ボリュームの性能をアクセス量が上回る危険性があることをユーザに警告を通知した後(ステップ11130)、ステップ11020に移行し、次の正論理ボリュームを対象とした処理に移行する。
ステップ11050の判定の結果、該当する論理ボリュームを発見した場合、稼働状況監視プログラム4011は、ステップ11060へ進む。ステップ11060では、稼働状況監視プログラム4011は、対象正論理ボリュームが属するストレージシステム内で、対象正論理ボリュームよりも性能の良い副論理ボリュームを論理ボリューム情報4014から探索する(ステップ11060)。本実施例においては、性能のよい論理ボリュームとは、該論理ボリュームを形成する物理ボリュームのIOPSの値が大きい論理ボリュームを意味する。
ステップ11060の結果、該当する副論理ボリュームが無い場合、稼働状況監視プログラム4011は、対象正論理ボリュームの性能をアクセス量が上回る危険性があることをユーザに警告を通知した後(ステップ11130)、ステップ11020に移行し、次の正論理ボリュームの処理に移行する。
ステップ11060の結果、稼働状況監視プログラム4011は、該当する副論理ボリュームを発見した場合、ステップ11070に進む。なお、以降の説明では、発見した副論理ボリュームを代替ボリュームと呼び、この時点で代替ボリュームに対応付けられている物理ボリュームを第二の物理ボリュームと呼ぶ。ステップ11070では、稼働状況監視プログラム4011は、被災時の処理のシミュレーションを行うことにより、被災時の性能回復可否と性能劣化時間を算出する(ステップ11070)。性能回復時間と性能劣化時間の算出方法は、ステップ9050にて示した通りである。
ステップ11070のシミュレーションの結果、被災時に性能回復が可能であるかを判定する。(ステップ11075)また、被災時性能劣化時間が、代替ボリュームを使用するアプリケーションの性能劣化許容時間を越えるか否かを判定する。そして、被災時に性能回復が不可である場合、又は被災時性能劣化時間が、代替ボリュームを副論理ボリュームとして使用するアプリケーションの性能劣化許容時間を越える場合には、ユーザに警告を通知した後(ステップ11130)、ステップ11020に移行し、次の正論理ボリュームを対象とした処理に移行する。
次に、稼動状況監視プログラム4011は、代替構成をユーザに提示する(ステップ11080)。ここで表示される代替構成のタイプは一つだけである。代替ボリュームと対象正論理ボリュームをスワップする構成である。ユーザは、この構成を選択するか、現在の構成を継続するかの二つの選択肢から処理を選ぶこができる。なお、本画面の構成は、選択肢が前述の二つに変わる以外は図10と同じであるため図示は省略する。
ステップ11080で表示された画面によりユーザの入力を受け付ける(ステップ11090)
ステップ11090で受け入れたユーザの入力が現在の構成を継続することを示している場合、対象正論理ボリュームの性能をアクセス量が上回る危険性があることをユーザに警告を通知した後(ステップ11130)、ステップ11020に移行し、次の正論理ボリュームを対象とした処理に移行する。
ステップ11090で受け入れたユーザの入力が代替構成を受け入れることを意味している場合、稼動状況監視プログラム4011は、対象正論理ボリュームと代替ボリュームをスワップする(ステップ11100)。具体的には、代替ボリュームに対応する第二の物理ボリュームに格納されるデータを、バッファボリュームに対応する物理ボリュームへ移行するように、制御プログラム2032に指示する。指示を受けた制御プログラム2032は、代替ボリュームに対応する第二の物理ボリュームに格納されるデータを、バッファボリュームに対応する物理ボリュームへ移行する。その後、対象正論理ボリュームに対応付けられている第一の物理ボリュームに格納されるデータを、代替ボリュームに対応する第二の物理ボリュームへ移行するように、制御プログラム2032に指示する。指示を受けた制御プログラム2032は、対象正論理ボリュームに対応付けられている第一の物理ボリュームに格納されるデータを、代替ボリュームに対応する第二の物理ボリュームへ移行する。
なお、このデータの移行は前述のとおり、制御プログラム2032が、論理ボリュームと物理ボリュームの対応付けの変更処理を行う。具体的には、まず、制御プログラム2032は、代替ボリュームに、バッファボリュームに対応付けられていた物理ボリュームを対応付ける。次に、制御プログラム2032は、対象正論理ボリュームに、第一の代替ボリュームに対応付けられていた第二の物理ボリュームを対応付ける。
最後に働状況監視プログラム4011は、設定した内容に応じて使用状況6005と属性6006と物理VOLID6003を更新する(ステップ11110)。そして構成構築プログラム4011は、ステップ11020に戻り、次の正論理ボリュームを対象に処理を続ける。
全正論理ボリュームに対して、ステップ11020からステップ11120までの処理が完了したら、働状況監視プログラム4011は、ステップ11010に戻る。
以上が、働状況監視プログラム4011の処理の流れである。
図12は、被災時復旧プログラム4012が、被災時に各アプリケーションが要求する性能を持つボリュームを割り当てなおす処理の流れを示した図である。図12は、実際にあるサイトが被災した場合の処理を示す。図9の9050や、図11の11070でのシミュレーションは、図12の処理の流れに沿って、データ移行する論理ボリュームと、データ移行先を決定する。
被災時復旧プログラム4012は、一方のサイトが被災した時に、被災していない側のサイトIDをパラメータとして起動される。被災時復旧プログラム4012は、起動すると、一方のサイトが被災した後に被災していないサイトのホスト計算機にて実行されるアプリケーションのうち、要求性能の高いもの順にアプリケーションのソートを行う(ステップ12010)。本ソートでは、パラメータとして入力されたサイトIDとサイトID5005を比較し、一致するアプリケーションは通常時要求性能5002を要求性能とし、一致しないアプリケーションは、被災時要求性能5003を要求性能としてソートを行う。パラメータとして入力されたサイトIDとサイトID5005とが一致するアプリケーションは、一方のサイトが被災する前から、被災していない側のサイトを正サイトとして利用していたアプリケーションである。パラメータとして入力されたサイトIDとサイトID5005とが一致しないアプリケーションは、一方のサイトが被災する前には、被災していない側のサイトを副サイトとして利用していたアプリケーションである。
その後、被災時復旧プログラム4012は、アプリケーションをソートした順番に一つずつ対象として、ステップ12020〜ステップ12080までの処理を繰り返す。なお、以降の説明では、対象となっているアプリケーションを対象アプリケーションと呼ぶ。
まず、被災時復旧プログラム4012は、ステップ12010で用いた要求性能と、対象アプリケーションが利用している論理ボリュームの性能を比較する(ステップ12030)。
要求性能を満たしている場合は、被災時復旧プログラム4012は、ステップ12020に戻り、次のアプリケーションを対象に処理を続ける。
要求性能を満たしていない場合は、対象アプリケーションが利用している論理ボリュームと同じストレージシステムに属すること、要求性能を満たすこと、を条件に論理ボリュームを探索する(ステップ12040)。また、さらに、バッファボリュームに指定されていないこと、対象アプリケーションより要求性能の高いアプリケーションに使用されていないことを条件に論理ボリュームを探索してもよい(ステップ12040)。
ステップ12040の結果、該当するボリュームを発見できなかった場合は、ユーザにエラーを通知した後(ステップ12090)、異常終了する。
ステップ12040の結果、該当するボリュームを発見できた場合は、被災時復旧プログラム4012は、ステップ12050に進む。なお、発見したボリュームを第一の代替ボリュームと呼ぶ。ステップ12050では、被災時復旧プログラム4012は、対象アプリケーションが利用する論理ボリューム以上の容量のバッファボリュームを探索する(ステップ12050)。探索の結果、該当するボリュームを発見できなかった場合は、ユーザにエラーを通知した後(ステップ12090)、異常終了する。
ステップ12050の結果、該当するボリュームを発見できた場合は、被災時復旧プログラム4012は、対象アプリケーションが利用している論理ボリュームと第一の代替ボリュームをスワップする指示をストレージシステムに発行する(ステップ12060)。スワップ指示を受信したストレージシステムの制御プログラムは、第一の代替ボリュームに対応する物理ボリュームに格納されるデータをバッファボリュームに対応する物理ボリュームに移行させる。次に、制御プログラムは、対象アプリケーションが利用する論理ボリュームに対応する物理ボリュームのデータを、第一の代替ボリュームに対応付けられていた物理ボリュームに移行する。そして、制御プログラムは、第一の代替ボリュームに対応する物理ボリュームからバッファボリュームに対応する物理ボリュームに移行されたデータを、アプリケーションが利用する論理ボリュームに対応付けられていた物理ボリュームに移行する。そして、制御プログラムは、第一の代替ボリュームに対応していた物理ボリュームを、アプリケーションが利用する論理ボリュームに割り当てる。また、制御プログラムは、アプリケーションが利用する論理ボリュームに対応していた物理ボリュームを、第一の代替ボリュームに割り当てる。
なお、第一の代替ボリュームにデータが格納されていない場合には、バッファボリュームを使用せずに、対象アプリケーションが利用している論理ボリュームに対応する物理ボリュームに格納されているデータを、第一の代替ボリュームに対応する物理ボリュームに移動してもよい。
最後に、被災時復旧プログラム4012は、ステップ12060にて設定した内容に応じて使用状況6005、属性6006、物理VOLID6003を更新する(ステップ12070)。
以上が、被災時復旧プログラム4012の処理の流れである。
なお、本構成例では、データの移行方法をボリューム単位としたが、ページ単位でこれを行っても良い。また、性能劣化許容時間が一定以上となる場合は、ページ単位でのデータ移行を用いて、書き込みが発生した場合だけ要求性能を満たす物理ボリュームからページを割り当てる方式をとっても良い。
以上が、第一の実施例の説明である。
本実施例によれば、Active−Activeのディザスタリカバリ構成において、被災時に性能劣化許容時間内で元の状態に戻せる場合、副論理ボリュームとして割り当てられている高性能な物理ボリュームをその副論理ボリュームが存在するサイトで稼動するアプリケーションの正論理ボリュームとして使用させることができる。これにより、高性能なボリュームが副論理ボリュームとして割り当てられているため、いかしきれていなかった性能を生かすことができるようになり、ストレージシステム全体としての利用率を向上させることができる。
第二の実施例
次に、第二の実施例について説明する。
本実施例では、計算機システムに含まれるホスト計算機は、複数の仮想的なホスト計算機を稼動させるホスト計算機である。仮想的なホスト計算機のことを仮想サーバあるいは仮想マシン(Virtual Machine、VM)と呼ぶ。また、説明の明確化のため、仮想サーバを稼動させていているホスト計算機のことを物理サーバと呼ぶ。
本発明を適用する計算機システムに含まれるホスト計算機に仮想サーバを構築することで、ストレージシステムの利用率を向上させることができる。第一の実施例においても同様の効果を得ることができた。しかし、ストレージシステムの利用率が、ホスト計算機のデータI/Fの性能に依存し、高性能な物理ボリュームの性能を十分に利用することができない場合もある。一方、仮想サーバには仮想的なデータI/Fを割り当てることができる。本実施例では、割り当てなおされた物理ボリュームの性能にあわせて仮想的なデータI/Fを割り当てなおすことで上記問題に対応する。以降、この仮想的なデータI/Fを仮想データI/Fと呼ぶ。
また、単一の物理サーバ上に複数の仮想サーバが稼動する場合、仮想データI/Fの性能を保証するためには、それぞれの仮想サーバの仮想データI/Fの性能が物理サーバのデータI/Fの性能以下である必要がある。このため、物理サーバのデータI/Fの性能と、物理サーバ上に稼動する他の仮想サーバの仮想データI/F性能により、本発明により割り当てなおされた物理ボリュームの性能に適した仮想データI/Fを割り当てなおすことができない可能性がある。仮想サーバ環境においては、仮想サーバを物理サーバ間で移行させることができるため、本実施例では、適切なデータI/Fを持つ物理サーバを探索し、仮想サーバをその物理サーバへ移行させることで、上記問題に対応する。以下、実施方式を説明する。
(2−1)第二の実施例のシステム構成
本実施例において計算機システムの構成は、第一の実施例とほぼ同等であるため、主に差異について説明する。
本実施例において計算機システムの構成の概要は図1と同様であり、図示はしない。
ホスト計算機A1101、ホスト計算機B1202、ホスト計算機C1201、ホスト計算機D1102は物理サーバであり、内部で複数の仮想サーバが稼動する。
図1の計算機システムとの違いを以下に示す。本実施例においては、ホスト計算機D1102がデータネットワークに接続する。そして、ホスト計算機D1102は、データネットワークA1104を介して論理ボリュームA1111へアクセスする。また、ホスト計算機C1201は、データネットワークB1204に接続する。ホスト計算機C1201は、データネットワークB1204を介して論理ボリュームB1212へアクセスする。
該相違点は、ホスト計算機A1101とホスト計算機D1102の間で、あるいは、ホスト計算機B1202とホスト計算機C1201の間で、仮想サーバを移行させ、移行後においてもストレージシステムにアクセスできるようにするためのものである。仮想サーバ環境における仮想サーバの移行は、使用する論理ボリュームを含めた仮想サーバの構成情報と稼動状態に関する情報を、第一の物理サーバから第二の物理サーバへ移動させ、第二の物理サーバでその構成情報と稼動状態に関する情報を復元する。このため、仮想サーバからアクセスされる論理ボリュームは、第一の物理サーバと第二の物理サーバのどちらからもアクセス可能にしておく必要がある。
図13は、本実施例におけるストレージシステム1103、ストレージシステム1203の構成例を示した図である。本実施例では、制御プログラム2032により、論理ボリューム2012が一つ以上の領域に分割されて管理されている。この領域を論理ページと呼ぶ。また、物理ボリューム2011も、制御プログラム2032により、一つ以上の領域に分割され、管理されている。この領域を物理ページと呼ぶ。制御プログラム2032は、論理ページと物理ページの対応付けを管理している。この対応付けを論物ページマップと呼ぶ。制御プログラム2032は、論理ボリューム2012へのアクセスを、論物ページマップの対応付けにもとづいて、物理ボリューム2011へのアクセスに変換し、アクセスの処理を行う。なお、制御プログラム2032は、対応付けのなされていない論理ページに書き込みが発生した際に、この論理ページに未使用の物理ページを対応付ける。
また、制御プログラム2032は、ユーザや管理計算機の外部プログラムからの指示により、論物ページマッピングの内容を変更することができる。たとえば、制御プログラム2032は、ある論理ボリュームのアドレス0x00ff〜0x0fffの論理ページを低性能な物理ボリュームの物理ページから高性能な物理ボリュームの物理ページへ移行するように、ユーザ(又は管理計算機)から指示を受け付ける。すると、制御プログラム2032は、指定された論理ページに対応付けられた物理ボリュームのページを特定する。制御プログラム2032は、高性能な物理ボリュームの未使用な物理ページを同容量分探し、その物理ページに前記低性能な物理ボリュームの物理ページのデータをコピーする。指定された論理ページをコピー先の物理ページに対応付けなおす。
なお、ホスト計算機の入出力やストレージシステムのリモートコピー機能の入出力では、論理ボリュームのアドレスを用いてデータにアクセスするため、論物ページマップの内容変更による影響を受けることは無い。また、管理計算機における管理プログラムでは、管理の容易化のため、同等の属性を持つ複数の物理ボリュームをプールとして管理する。本実施例でもこれに倣うが、別の実施形態として、物理ボリューム毎に管理するなど、他の管理形態でもかまわない。なお、以降の説明では、このページ間でのデータ移行を伴う論物ページマッピングの内容変更を、ページ間データ移行と呼ぶ。
図14は、本実施例におけるホスト計算機A1101、ホスト計算機B1202、ホスト計算機C1201、ホスト計算機D1102の構成例を示したブロック図である。本実施例では、メモリ3006上にハイパバイザ14010、VM割り当てメモリ14011、エージェント14012が格納されている。
ハイパバイザ14010は、仮想サーバを稼動させるためのプログラムである。ハイパバイザ14010は、自身が稼動する物理サーバ上で稼動する仮想サーバの管理を行う。具体的には、ハイパバイザ14010は仮想サーバに仮想的なボリュームを割り当てる。仮想サーバは、この仮想的なボリュームを用いてデータの書き込み、読み出しを行うことができる。以降、この仮想的なボリュームを仮想ボリュームと呼ぶ。この仮想ボリュームは、物理サーバが使用する論理ボリューム2011に、ファイルとして格納される。以降、このファイルを仮想ボリュームファイルと呼ぶ。
また、ハイパバイザ14010は仮想サーバに、仮想的なメモリを割り当てることができる。仮想サーバは、この仮想的なメモリ上でアプリケーションを稼動させることができる。以降、この仮想的なメモリを仮想メモリと呼ぶ。
また、ハイパバイザ14010は仮想サーバに、アクセス性能を属性として持つ仮想的なデータI/Fを割り当てることができる。この仮想的なデータI/Fにより、物理サーバがもつデータI/Fのアクセス性能の範囲で複数の仮想サーバのアクセス性能を保証することができる。以降、この仮想的なデータI/Fを仮想データI/Fと呼ぶ。
また、ハイパバイザ14010は、ユーザや外部プログラムからの指示により、一方の物理サーバから他方の物理サーバへ仮想サーバを移行させることができる。たとえば、ホスト計算機A1101上のハイパバイザ14010は、ホスト計算機A1101上で稼動している仮想サーバを、ホスト計算機D1102に移行させる指示を受け付けることができる。この指示を受け付けると、ホスト計算機A1101上のハイパバイザ14010は、ホスト計算機D1102上のハイパバイザ14010に、仮想サーバに割り当てている仮想メモリと同容量のメモリを確保させる。その後、ホスト計算機A1101上のハイパバイザ14010は、ホスト計算機D1102上のハイパバイザ14010に、仮想サーバに割り当てているメモリ内の情報と、仮想データI/Fや仮想ボリュームなどの仮想サーバの構成情報を転送する。ホスト計算機D1102上のハイパバイザ14010は、これらの情報を受け取ると、受け取ったメモリ内の情報を、ホスト計算機D1102上のメモリ上に確保した領域に格納する。そして、ホスト計算機D1102上のハイパバイザ14010は、受け取った構成情報をもとに仮想サーバを起動する。
VM割り当てメモリ14011は、前述した仮想サーバに割り当てた仮想メモリである。
エージェント14012は、仮想サーバの構成情報をハイパバイザ14010から取得するためのプログラムである。後述する管理計算機1500で稼動するVM構成情報収集プログラム15001からの指示により、エージェント14012は、ハイパバイザ14010から情報を取得し、VM構成情報収集プログラム15001にその情報を提供する。
図15は、本実施例における管理計算機1500の構成例を示したブロック図である。
本実施例では、新たにメモリ4005上に、VM構成情報収集プログラム15001、VM性能情報15002、論理ボリューム構成情報15003、VM構成情報15004、物理サーバ情報15005、VM移行性能情報15006が格納される。
VM構成情報収集プログラム15001は、前述したエージェント14012から仮想サーバの構成情報を収集する。ユーザは、本プログラムを物理サーバのIDをパラメータとして起動する。起動したVM構成情報収集プログラム15001は、指定された物理サーバ上のエージェント14012に構成情報の収集を指示する。指示を受け付けたエージェント14012は、自身が稼動する物理サーバ上で稼動する仮想サーバの情報をハイパバイザ14010から取得する。取得する情報は、仮想サーバに割り当てた仮想メモリの容量、仮想データI/Fの性能、仮想ボリュームファイルが格納されている論理ボリュームのアドレスなどである。また、エージェント14012はハイパバイザ14010の情報も取得する。取得する情報は、ハイパバイザ14010が仮想サーバに割り当て可能なI/O性能とメモリ量などである。また、エージェント14012は物理サーバ間でのVMの移行の際に発生するデータ転送の速度も取得する。エージェント14012は、これらの情報をVM構成情報収集プログラム15001に提供する。これらの情報を受け取ったVM構成情報収集プログラム15001は、後述する論理ボリューム4014、VM構成情報15004、物理サーバ情報15005、VM移行性能情報15006に格納する。
VM性能情報15002、論理ボリューム構成情報15003、VM構成情報15004、物理サーバ情報15005、VM移行性能情報15006については、別の図で説明する。
図16は、本実施例におけるVM性能情報15002の構成例を示した図である。
VM性能情報15002は、アプリケーション情報4013を仮想サーバ向けに変更したものである。
アプリケーションID5001が、本計算機システムにおいて仮想サーバを一意に示すVMID16001に変更されている。
また、通常時ホストID5006が、通常時に仮想サーバが稼動する物理サーバを一意に示す、通常時物理サーバID16002に変更されている。
また、被災時ホストID5007が、被災時に仮想サーバが稼動する物理サーバを一意に示す、被災時物理サーバID16003に変更されている。
図17は、本実施例における論理ボリューム4014の構成例を示した図である。
本図は、図6の一部を変更した図である。前述のとおり本実施例では、論物ページマップにより、論理ボリュームはページ単位で物理ボリュームに対応付けられる。これに関わる管理方法については別の図で説明するため、物理VOLID6003は削除されている。
また、論理ボリュームの使用量を示す使用量17001が追加される。仮想ボリュームは論理ボリュームにファイルとして格納される。仮想サーバに割り当て可能な仮想ボリュームのサイズは論理ボリュームの空き容量に依る。このため、本実施例では、このテーブルで論理ボリュームの使用量を管理している。この情報は、前述のとおり、VM構成情報収集プログラム15001がエージェント14012から収集する。
図18は、本実施例における論理ボリューム構成情報15003の構成例を示した図である。これは、前述した論物ページマップの情報を管理するテーブルである。
ストレージID18001は、本計算機システムにおいてストレージシステムを一意に識別するためのIDを格納する。
論理VOLID18002は、ストレージID18001により示されるストレージシステム内の論理ボリュームを一意に識別するためのIDを格納する。
開始アドレス18003は、論理VOLID18002により示される論理ボリューム内のページ(領域)の開始位置を示す。
終了アドレス18004は、論理VOLID18002により示される論理ボリューム内のページ(領域)の終了位置を示す。
PoolID18005は、ストレージID18001、論理VOLID18002、開始アドレス18003、終了アドレス18004で示されるページに対応する物理ボリュームが属するプールを、本計算機システムで一意に識別するためのIDを格納する。
これらの情報は、構成構築プログラム4010が管理ネットワーク1300を介し制御プログラム2032から取得する。この取得処理については、本発明に関わる分野に精通する技術者にとっては明らかであるため、説明を省略する。
図19は、本実施例において物理ボリューム情報4015の構成例を示した図である。本図は、図7を本実施例向けに変更したものである。
本実施例では、同等の性能を持つ複数の物理ボリュームをプールとして管理する。このため、物理VOLID7002を、本計算機システムでプールを一意に識別するためのIDを格納するPoolID19001に変更している。
また、プール内の物理ボリュームは、論理ボリュームに対してページ単位で割り当てられる。特定の性能の物理ページの割り当て可能な量は、その性能のプール内の物理ページの全容量と割り当て済みの容量による。このため、本テーブルで、全体容量と割り当て済みの容量(使用量)を管理する。本テーブルでは、プール全体の容量を格納する容量19002と、割り当て済みの容量を格納する使用量19003を追加する。
この情報は、構成構築プログラム4010が管理ネットワーク1300を介し制御プログラム2032から取得する。この取得処理については、本発明に関わる分野に精通する技術者にとっては明らかであるため、説明を省略する。
図20は、本実施例における、VM構成情報15004の構成例を示した図である。
VMID20001は、本計算機システムにいて仮想サーバを一意に識別するためのIDを格納する。以降のフィールドは、本値に示される仮想サーバに関する情報を格納する。
割り当てメモリ量20002は、割り当てられた仮想メモリの容量を示す値を格納する。
割り当てデータI/F性能20003は、割り当てられた仮想データI/Fの性能を示す値を格納する。
ストレージID20004、論理ボリュームID20005、論理ボリュームアドレス20006は、割り当てられた仮想ボリュームの仮想ボリュームファイルが格納されている領域を示す値を格納する。
ストレージID20004は、ストレージシステムのIDを格納する。論理ボリュームID20005は論理ボリュームのIDを格納する。論理ボリュームアドレス20006は、ファイルの格納アドレスを格納する。ファイルが複数の領域に渡って格納されている場合、本値は、それぞれをカンマつなぎで列挙した形で示される。
これらの情報は、前述のとおり、VM構成情報収集プログラム15001がエージェント14012から収集する。
図21は、本実施例における物理サーバ情報15005の構成例を示した図である。
物理サーバID21001は、本計算機システムにおいて物理サーバを一意に識別するIDを格納する。以降のフィールドは、本値に示される物理サーバに関する情報を格納する。
I/O性能21002は、物理サーバ上のハイパバイザが仮想サーバに割り当て可能な物理的なデータI/Fにより処理可能なI/O性能の総和を格納する。
メモリ量21003は、物理サーバ上のハイパバイザが仮想サーバに割り当て可能なメモリの容量の総和を格納する。
ストレージID21004は、物理サーバ上のハイパバイザが仮想サーバに割り当てる仮想ボリュームの仮想ボリュームファイルを格納するストレージシステムのIDを格納する。
論理ボリュームID21005は、物理サーバ上のハイパバイザが仮想サーバに割り当てる仮想ボリュームの仮想ボリュームファイルを格納する論理ボリュームのIDを格納する。
これらの情報は、前述のとおり、VM構成情報収集プログラム15001がエージェント14012から収集する。
図22は、本実施例におけるVM移行性能情報15006の構成例を示した図である。
ソース物理サーバID22001は、本計算機システムにおいて物理サーバを一意に識別するIDを格納する。ターゲット物理サーバID22002は、本計算機システムにおいて物理サーバを一意に識別するIDを格納する。
速度22003は、ソース物理サーバID22001からターゲット物理サーバID22002へVMを移行する際に発生するデータ転送の速度を示す値を格納する。
これらの情報は、前述のとおり、VM構成情報収集プログラム15001がエージェント14012から収集する。
図23は、本実施例における構成構築プログラム4010がディザスタリカバリ構成を構築する際の処理の流れを示した図である。本処理では、ハイパバイザが管理する論理ボリュームに対してリモートコピーの構成が作成されている前提とする。
まず、構成構築プログラム4010は、入力装置を介してユーザより要件を受け付ける(ステップ23010)。要件の内容としては、(a)仮想サーバのIDと、(b)仮想ボリュームの容量と、(c)通常時要求性能と、(d)被災時要求性能と、(e)被災時性能劣化許容時間と、(f)通常運用時に仮想サーバが稼動するサイトのID、(g)通常時に仮想サーバが稼動する物理サーバのID、(h)被災時に仮想サーバが稼動する物理サーバのIDである。
ユーザからの入力を受け付けると、構成構築プログラム4010は、論理ボリュームの空き容量を確認する(ステップ23015)。構成構築プログラム4010は、物理サーバ情報15005と論理ボリューム情報4014から、(g)の通常時に使用する物理サーバが管理する論理ボリュームの中で、(b)の空き容量を満たす論理ボリュームを探索する。この論理ボリュームを第一の論理ボリュームと呼ぶ。また、第一の論理ボリュームを格納するストレージシステムを第一のストレージシステムと呼ぶ。
ステップ23015において、該当する論理ボリュームがない場合、構成構築プログラム4010はユーザに出力装置を介してエラーを通知して処理を終了する(ステップ23130)。
ステップ23015において、該当する論理ボリュームを発見した場合、(c)の性能を満たす物理ボリュームの残り容量が(b)の容量以上であるかを確認する(ステップ23020)。この確認では、発見した論理ボリュームを格納するストレージシステム内で(c)の性能を満たす物理ボリュームのプールに(b)の容量があるかを確認する。これは、物理ボリューム情報4015を参照することで可能である。
なお、本判定は、別の実施形態として、(b)の容量ではなく、仮想ボリューム割り当ての際に発生する書き込みにより割り当てられるページの分だけの空き容量があるかを確認する形式でもよい。
ステップ23020で(c)の性能を満たすプールの残り容量が(b)の容量以上である場合、ステップ23100に進む。構成構築プログラム4010は、第一の論理ボリュームを正論理ボリュームとするペアにおいて副論理ボリュームとなる論理ボリュームを特定する。この副論理論理ボリュームを格納する第二のストレージシステムにおいて、(d)の性能を満たし、(b)の容量以上の残り容量のある物理ボリュームがあるかを確認する(ステップ23100)。
なお、別の実施形態として、仮想サーバに割り当てを行った際に発生する書き込みにより割り当てられるページの分だけ空き容量があるかを確認してもよい。以降、副論理ボリュームを格納するストレージシステムを第二のストレージシステム、特定された論理ボリュームを第二の論理ボリュームと呼ぶ。
ステップ23100において、(d)の性能を満たし、(b)の空き容量があるプールが第二のストレージシステムに存在しない場合、構成構築プログラム4010はユーザにエラーを通知して(ステップ23130)処理を終了する。
ステップ23100において、(d)の性能を満たし、(b)の空き容量があるプールが第二のストレージシステムに存在する場合、構成構築プログラム4010は、第一の論理ボリュームに仮想ボリュームファイルを作成して、(a)の仮想サーバに仮想ボリュームを割り当てるように(g)上のハイパバイザに指示する。また、作成した仮想ボリュームファイルが格納される論理ページに(c)の性能を満たすプールから物理ページを割り与えるように、第一のストレージシステムの制御プログラム2032に指示する。また、第二の論理ボリュームの対応する論理ページに(d)の性能を満たすプールから物理ページを割り与えるように第二のストレージシステムの制御プログラム2032に指示する(ステップ23110)。
次に、構成構築プログラム4010は、(a)をVMID16001に、(c)を通常時要求性能5002に、(d)を被災時要求性能5003に、(e)を性能劣化許容時間5004に、(f)をサイトID5005に、(g)を通常時物理サーバID16002に、(h)を被災時物理サーバID16003に設定する設定する。また、構成構築プログラム4010は、設定した内容に応じてVM構成情報15004を更新する(ステップ23120)。そして構成構築プログラム4010は、処理を終了する。
ステップ23020で十分な空き容量が無かった場合、第一のストレージシステム内で、(d)の空き容量を持つプールを物理ボリューム情報4015から探索する(ステップ23030)。
ステップ23030において、該当するプールを発見できなかった場合、構成構築プログラム4010はユーザにエラーを通知して処理を終了する(ステップ23130)。
ステップ23030において、該当するプールを発見できた場合、ステップ23040に進む。なお、以降の説明では、ステップ23030において発見したプールを第一の代替プールと呼ぶ。
ステップ23040では、構成構築プログラム4010は、副論理ボリュームに(b)の容量分のページ割り当てていることと、第一の代替プールよりも性能がよいことと、(c)の性能に最も近いこととを条件に、第一のストレージシステムから他のプールを探索する(ステップ23040)。なお、副論理ボリュームに(b)の容量分のページを割り当てていることと、副論理ボリュームに割り当てられている該ページが(c)の性能を超える性能を提供することを条件に、第一のストレージシステムから他のプールを探索してもよい。
ステップ23040で該当するプールを発見できた場合、ステップ23050に進む。なお、以降の説明では、発見したプールを第二の代替プールと呼ぶ。ステップ23050では、構成構築プログラム4010は、第二の代替プールの物理ページを割り当てられている副論理ボリュームのデータを第一の代替プールへページ間データ移行し、第一の代替プールを副論理ボリュームに対応付け、第二の代替プールに出来た空領域に(a)の仮想ボリュームファイルを作成して正論理ボリュームに対応付けたことを想定し、この想定において図25に示される被災時に発生する処理の流れをシミュレーションする(ステップ23050)。
図25のシミュレーションにて、副論理ボリュームとして使用されている第一の代替プールに関してエラー通知23150が必要になる場合があるか否かを判断する。そして、エラー通知12090が必要になる場合には、被災時の性能回復の不可と判断する。また、エラー通知12090が必要ではなく、被災時の性能回復の可と判断された場合には、被災時性能要求を満たすために第一の代替プールのデータ移行に要する時間を算出する。算出された時間は、被災時性能劣化時間となる。被災時性能劣化時間は、第一の代替プールに格納されるデータサイズと、データ移行性能情報4016のデータ移行速度をもとに算出することが可能である。
また、被災時の性能回復するために、第一の代替プールと他のプールとスワップする場合には、第一の代替プールに格納されるデータサイズと、データ移行性能情報4016のデータ移行速度に加えて、さらに他のプールに格納されるデータサイズを用いて被災時性能劣化時間を算出する。具体的には、他のプールに格納されるデータを移行する時間と、第一の代替プールに格納されるデータを、他のプールに移行する時間との和が、被災時性能劣化時間である。
なお、本構成例では、図25で示す方法をボリューム入れ替えのアルゴリズムとして用いるが、他のアルゴリズムでボリューム入れ替えを行う場合は、それに応じた方法で性能劣化時間の算出する必要がある。
そして、第一の代替プールのうち、被災時の性能回復の可と判断され、性能劣化許容時間が被災時性能劣化時間を越えるプールを選択する。そして、選択されたプールを新たに第一の代替プールとする。
ステップ23040で該当するプールが発見できなかった場合、ステップ23050はスキップする。
次に、構成構築プログラム4010は、ステップ23060に進む。本処理はステップ9060と同じである。ただし、アプリケーションを仮想サーバと読み替える必要がある。
次に、構成構築プログラム4010は、ステップ23070に進む。本処理はステップ9070と同じである。ただし、アプリケーションを仮想サーバと読み替える必要がある。
ステップ23070の入力が構築中断を示す値である場合、環境構築を中断した旨をユーザに提示し(ステップ23130)、処理を終了する。
ステップ23070の入力が代替構成タイプ2を示す値である場合、構成構築プログラム4010は、第二の代替プールの物理ページを割り当てられている副論理ボリュームのデータを、第一の代替プールへページ間データ移行するように制御プログラム2032に指示する(ステップ23090)。これにより、(a)の仮想サーバ用の仮想ボリュームファイルの格納領域を、第二の代替プールに作成することができる。また、副論理ボリュームのデータを移行された第一の代替プールの物理ページを、副論理ボリュームに割り当てる。また、第二の代替プールにおいて仮想ボリュームファイルを格納する物理ページを正論理ボリュームに割り当てる。
ステップ23070の入力が代替構成タイプ1を示す値である場合、構成構築プログラム4010は、ステップ23090はスキップする。
次に、構成構築プログラム4010は、ステップ23100に進む。このステップは前述のとおりである。
次に、構成構築プログラム4010は、ステップ23110に進む。このステップは、前述の通りであるが、相違点のみ説明する。代替構成タイプ2を選択した場合、作成した仮想ボリュームファイルの格納領域には、ステップ23090で空き領域を作った第二の代替プールから物理ページを割り与えるように、第一のストレージシステムの制御プログラム2032に指示する。代替構成タイプ1を選択した場合、作成した仮想ボリュームが格納される領域には、第一の代替プールから物理ページを割り与えるように、第一のストレージシステムの制御プログラム2032に指示する。
次に、構成構築プログラム4010は、ステップ23120に進む。このステップは、前述のものとほぼ同じであるため、差分だけ示す。通常時要求性能5002には、第一の代替プールの性能が設定される。そして構成構築プログラム4010は、処理を終了する。
以上が、構成構築プログラム1251の処理の流れである。
図24は、本実施例において稼働状況監視プログラム4011が稼働中の仮想ボリュームへのアクセス状況を監視し、仮想ボリュームの性能が不十分である場合に、ユーザの指示に応じて仮想ボリュームに割り当てられた物理ページを他のプールの物理ページへの移行させる処理の流れを示した図である。
稼働状況監視プログラム4011は、デーモンプロセスとして計算機システム内で起動し続けている。そして、稼働状況監視プログラム4011は所定の時間待機する。なお、この所定の時間は、ユーザにより指定されても良いし、プログラム内にコーディングされていても良い。その後、図24の処理を行う。図24の処理終了後は、再び所定の時間帯記して、図24の処理を繰り返す。以下、図24の処理の説明を行う。
稼働状況監視プログラム4011は、計算機システム内の仮想サーバを列挙し、一つずつ順番に特定の仮想サーバを対象として、ステップ24020〜ステップ24120を繰り返す。以降、対象となる仮想サーバを対象仮想サーバと呼ぶ。
まず、稼働状況監視プログラム4011は、対象仮想サーバの仮想ボリュームへの単位時間あたりのアクセス量を取得する(ステップ24030)。この値は、ハイパバイザ14010から取得することができる。
次に、稼働状況監視プログラム4011は、取得した単位時間あたりのアクセス量が、仮想ボリュームに割り当てられた物理ページの性能を上回る可能性があるかを判定する(ステップ24040)。なお、仮想ボリュームに割り当てられた物理ページとは、仮想ボリュームファイルを格納する論理ボリュームに割り当てられた物理ページを意味する。本ステップでの判定では、ステップ24030にて取得した単位時間あたりのアクセス量と、物理ページの性能以下であって設定された一定の閾値とを比較し、取得した単位時間あたりのアクセス量が閾値を超えた場合に、上回る可能性があると判定しても良い。また、ステップ24030にて取得した値の履歴をとっておき、トレンド分析により性能を上回る可能性があると判定しても良い。
ステップ24040の判定の結果、上回る可能性がないと判定された場合、稼働状況監視プログラム4011は、ステップ24020に移行し、次の仮想サーバを対象とした処理に移行する。
ステップ24040の判定の結果、上回る可能性があると判定された場合、稼働状況監視プログラム4011は、対象仮想サーバの仮想ボリュームに割り当てられている物理ページの容量分の空き容量を持つプールを探索する(ステップ24050)。該当するプールが無い場合、稼働状況監視プログラム4011は、対象仮想サーバの仮想ボリュームの性能をアクセス量が上回る危険性があることをユーザに警告を通知した後(ステップ24130)、ステップ24020に移行し、次の仮想サーバを対象とした処理に移る。
ステップ24050の判定の結果、該当するプールを発見した場合、稼働状況監視プログラム4011はステップ24060へ移行する。なお、この発見したプールを第一の代替プールと呼ぶ。ステップ24060では、稼働状況監視プログラム4011は、対象仮想サーバの仮想ボリュームに割り当てられている物理ページより良い性能であること、他の副論理ボリュームに対して、対象仮想サーバの仮想ボリュームに割り当てられている物理ページの容量以上物理ページを割り当てていることを条件として、プールを検索する(ステップ24060)。
ステップ24060の結果、該当するプールが無い場合、稼働状況監視プログラム4011は、対象となっている仮想サーバの仮想ボリュームの性能をアクセス量が上回る危険性があることをユーザに警告を通知した後(ステップ24130)、ステップ24020に移行し、次の仮想サーバを対象にした処理に移る。
ステップ24060の結果、該当するプールを発見した場合、稼動状況監視プログラム1252は、ステップ24065に進む。なお、以降の説明では、この発見したプールを第二の代替プールと呼ぶ。ステップ24065では、第二の代替プールの性能に適した仮想データI/Fを対象仮想サーバに割り当てることができるかを判定する(ステップ24065)。
まず、対象仮想サーバへ割り当てられているデータI/Fの性能と、第二の代替プールの性能とを比較する。データI/Fの性能が第二の代替プールの性能以上である場合、稼動状況監視プログラム1252はステップ24070に進む。データI/Fの性能が第二の代替プールの性能を下回る場合、以下の処理を実行する。
VM性能情報15002から同一の物理サーバ上の他の仮想サーバを特定する。そして、対象仮想サーバ以外の仮想サーバの仮想データI/Fの性能の総和を、物理サーバのI/O性能21002から引き、対象仮想サーバに割り当てることのできるデータI/F性能(割り当て可能なデータI/F性能)を算出する。算出したデータI/F性能をもとに、対象仮想サーバが稼動する物理サーバ上で、第二の代替プールの性能に適した仮想データI/Fを作成可能か判定する。例えば、仮想データI/F性能と第二の代替プールの性能との差が閾値以内になるように、データI/F性能を割り当てることができるか否かで判断する。作成可能である場合は、仮想データI/F性能と第二の代替プールの性能との差が上記閾値以内となる仮想データI/Fの性能を算出し、稼動状況監視プログラム1252はステップ24070に進む。
作成不可である場合は、VM以降性能情報15006から仮想サーバが移行可能な物理サーバを探索する。仮想サーバが移行可能な物理サーバが存在する場合には、VM性能情報15002と、物理サーバのI/O性能21002から、割り当てることのできるデータI/F性能を算出する。そして、探索された物理サーバにおいて、第二の代替プールの性能に適した仮想データI/Fを作成可能か判定する。作成可能であるかの判断方法は、ステップ24065で説明した通りである。作成可能である場合は、探索された物理サーバから割り当てる仮想データI/F性能と第二の代替プールの性能との差が上記閾値以内となるように、仮想データI/Fの性能を算出し、稼動状況監視プログラム1252はステップ24070に進む。作成不可である場合は、稼働状況監視プログラム4011は、対象となっている仮想サーバの仮想ボリュームの性能をアクセス量が上回る危険性があることをユーザに警告を通知した後(ステップ24130)、ステップ24020に移行し、次の仮想サーバを対象にした処理に移る。
ステップ24070では、構成構築プログラム4010は、第二の代替プールの物理ページを割り当てられている副論理ボリュームのデータを第一の代替プールへページ間データ移行し、第一の代替プールに出来た空領域に(a)の仮想ボリュームファイルを作成したことを想定し、この想定において被災時に発生する処理の流れをシミュレーションする(ステップ24070)。なお、ステップ24065において、仮想サーバを移行させる必要があると判定された場合は、仮想サーバの移行も行われたことも想定に加える。これにより、被災時に要求性能を満たせるかと、被災時性能劣化時間を確認する。
なお、本シミュレーションの処理内容は、図25の説明で示す被災時の復旧処理方法に従う。なお、被災時性能劣化時間の算出方法に関しては、図23にて説明した通りである。被災時性能劣化時間を算出するためのパラメータとして、ページ間データ移行の処理時間が必要となるが、これは、まず、論理ボリュームアドレス20006と論理ボリューム構成情報15003から各仮想サーバの仮想ボリュームファイルに割り当てられているページの容量を取得し、これをデータコピー性能4016で割ることで算出可能である。また、同様に、仮想サーバの以降の処理時間も必要となるが、これは、まず、仮想サーバに割り当てられた割り当てメモリ量20002を、物理サーバ間のデータ転送速度である速度22003で割ることで算出可能である(ステップ24070)。
ステップ24070のシミュレーションの結果、被災時に性能回復が可能であるかを判定し(ステップ24075)、不可である場合、ユーザに警告を通知した後(ステップ24130)、ステップ24020に移行し、次の仮想サーバを対象とした処理移行する。
次に、稼働状況監視プログラム4011は、代替構成をユーザに提示する(ステップ24080)。ここで表示される代替構成のタイプは一つだけである。第二の代替プールを使用する副論理ボリュームのデータを第一の代替プールに移行し、対象仮想サーバの仮想ボリュームファイルを現在使用中のプールから第二の代替プールへ移行する構成である。ユーザは、この構成を選択するか、現在の構成を継続するかの二つの選択肢から処理を選ぶことができる。なお、本画面の構成は、選択肢が前述の二つに変わる以外は図10と同じであるため図示は省略する。
ステップ24080で表示された画面によりユーザの入力を受け付ける(ステップ24090)
ステップ24090でユーザが現在の構成を継続すること選択した場合、対象となっている仮想ボリュームの性能をアクセス量が上回る危険性があることをユーザに警告を通知した後(ステップ24130)、ステップ24020に移行し、次の正論理ボリュームの判定に移行する。
ステップ24090でユーザが代替構成に移行することを選択した場合、稼動状況監視プログラム4011は、第二の代替プールの副論理ボリュームを第一の代替プールへ移行し、対象仮想サーバの仮想ボリュームファイルを現在のプールから第二の代替プールへ移行するように制御プログラム2032に指示する。(ステップ24100)。また、ステップ24065において、仮想データI/Fの再割り当てが必要とされている場合は、ハイパバイザ14010に仮想データI/Fの再割り当てを実施するように指示する。また、同様に、仮想サーバを物理サーバ間で移行させる必要があるとされている場合は、仮想サーバの移行し、移行先の物理サーバにて仮想データI/Fの割り当てを行うようにハイパバイザ14010に指示する。
最後に働状況監視プログラム4011は、設定した内容に応じてVM性能情報15002、論理ボリューム構成情報15003、VM構成情報15004を更新する(ステップ24110)。そして構成構築プログラム4011は、ステップ24020に戻り、次の正論理ボリュームを対象に処理を続ける。
全仮想サーバに対して、ステップ24020からステップ24120までの処理が完了したら、働状況監視プログラム4011は、ステップ24010に戻る。
以上が、働状況監視プログラム4011の処理の流れである。なお、仮想データI/Fの性能が移行後の仮想ボリュームの性能に対して十分かという判断で、仮想サーバの移行の有無を判断したが、その他、CPUやメモリなどが十分であるかを考慮しても良い。
図25は、被災時復旧プログラム4012が、被災時に各仮想サーバが要求する性能を持つボリュームを割り当てなおす処理の流れを示した図である。
被災時復旧プログラム4012は、一方のサイトが被災した時に、被災していない側のサイトIDをパラメータとして起動される。被災時復旧プログラム4012は、起動すると、仮想サーバが仮想ボリュームに要求する性能に応じて、要求性能の高いもの順にアプリケーションのソートを行う(ステップ25010)。本ソートでは、パラメータとして入力されたサイトIDとサイトID5005を比較し、一致する仮想サーバは通常時要求性能5002を要求する性能とし、一致しない仮想サーバは、被災時要求性能5003を要求する性能としてソートを行う。パラメータとして入力されたサイトIDとサイトID5005とが一致するアプリケーションは、一方のサイトが被災する前から、被災していない側のサイトを正サイトとして利用していたアプリケーションである。パラメータとして入力されたサイトIDとサイトID5005とが一致しないアプリケーションは、一方のサイトが被災する前には、被災していない側のサイトを副サイトとして利用していたアプリケーションである。
その後、被災時復旧プログラム4012は、要求性能が高い順に一つずつ仮想サーバを対象として、ステップ25020〜ステップ25080までの処理を繰り返す。以降、対象となる仮想サーバを対象仮想サーバと呼ぶ。
まず、被災時復旧プログラム4012は、ステップ25010で用いた要求性能と、仮想サーバの仮想ボリュームファイルを格納する論理ボリュームに割り当てられた物理ページの性能を比較する(ステップ25020)。要求性能を満たしている場合は、被災時復旧プログラム4012は、ステップ25020に戻り、次の仮想サーバを対象に処理を続ける。要求性能を満たしていない場合は、要求性能を満たすプールを探索する(ステップ25040)。本探索処理では、要求性能を満たすこと、対象仮想サーバよりも要求性能が低い仮想サーバの仮想ボリュームファイルを格納する論理ボリュームに割り当てられた物理ページの総容量が対象仮想サーバの仮想ボリュームの容量より大きいこと、を条件とする。
ステップ25040の結果、該当するプールを発見できなかった場合は、ユーザにエラーを通知した後(ステップ25090)、異常終了する。
ステップ25040の結果、該当するプールを発見できた場合は、被災時復旧プログラム4012は、ステップ25050に進む。なお、以降、発見したプールを第一の代替プールと呼ぶ。ステップ25050では、被災時復旧プログラム4012は、第一の代替プール以外で対象仮想サーバの仮想ボリュームと同容量の空き容量をもつプールを探索する(ステップ25050)。探索の結果、該当するプールを発見できなかった場合は、ユーザにエラーを通知した後(ステップ25090)、異常終了する。
ステップ25050の結果、該当するプールを発見できた場合は、ステップ25060に進む。なお、以降、発見したプールを第二の代替プールと呼ぶ。ステップ25060では、被災時復旧プログラム4012は、第一の代替プールから対象仮想サーバよりも要求性能が低い仮想サーバの仮想ボリュームファイルのデータを第二の代替プールへ移行する指示を発行する。そして、対象仮想サーバの仮想ボリュームファイルのデータを現在のプールから第一の代替プールへ移行するように制御プログラム2032に指示を発行する(ステップ25060)。
また、対象仮想サーバが稼動している物理サーバが指定されたものであるかを確認し、異なる場合は、指定された物理サーバへ仮想サーバを移行する。なお、この確認は、起動パラメータとして与えられたサイトIDがサイトID5005と一致する場合は、通常時物理サーバID16002で示される物理サーバで稼動しているかを確認する。一致しない場合は、被災時物理サーバID16003で示される物理サーバで稼動しているかを確認する。また、新たに割り当てられた物理ページの性能に適した性能の仮想データI/Fを割り当てる。
最後に、被災時復旧プログラム4012は、設定した内容に応じてVM性能情報15002、論理ボリューム構成情報15003、VM構成情報15004を更新する(ステップ25070)。
以上が、被災時復旧プログラム4012の処理の流れである。
なお、本処理では、高性能なプールには、空き容量が無いことを想定しているが、ある場合には、高性能なプールの空き容量への仮想ボリュームの移行を行うようにすることが望ましい。以上が、第二の実施例の説明である。
本実施例によれば、仮想サーバ環境におけるActive−Activeのディザスタリカバリ構成において、被災時に性能劣化許容時間内で元の状態に戻せる場合、仮想サーバに仮想ボリュームの性能変更に合わせて仮想データI/Fを割り当てることで、仮想データI/Fがボトルネックとなり生かしきれていなかったボリュームの性能を生かすことができるようになり、ストレージシステム全体としての利用率を向上させることができる。
1103:ストレージシステムA、1203:ストレージシステムB、1101:ホスト計算機A、1202:ホスト計算機B、1201:ホスト計算機C、1102:ホスト計算機D、1500:管理計算機、1104:データネットワークA、1204:データネットワークB、1400:データネットワークC、1300:管理ネットワーク

Claims (15)

  1. 他のストレージシステムに接続するストレージシステムと、
    前記ストレージシステムを管理する管理計算機と、が含まれる計算機システムであって、
    前記ストレージシステムは、
    第一の正論理ボリュームと、複数の第一の副論理ボリュームと、バッファボリュームを含む複数の論理ボリュームに対応する複数の物理ボリュームと、
    前記複数の物理ボリュームへのデータの入出力処理を実行する第一のコントローラと、を含み、
    前記管理計算機は、
    前記複数の物理ボリュームの性能を示す物理ボリューム情報を格納するメモリと、
    第二のコントローラと、を含み、
    前記複数の第一の副論理ボリュームは、前記他のストレージシステムが提供する複数の第二の正論理ボリュームとコピーペアを形成し、前記第一の正論理ボリュームは、前記他のストレージシステムが提供する第二の副論理ボリュームとコピーペアを形成し、
    前記第二のコントローラは、前記第一の正論理ボリュームへのアクセス量が閾値を超える場合、前記メモリから読み出した前記物理ボリューム情報を参照することにより、前記複数の第一の副論理ボリュームに含まれ、前記第一の正論理ボリュームに対応付けられる第一の物理ボリュームより入出力性能が高い第二の物理ボリュームに対応付けられる副論理ボリュームを選択し、
    前記第二のコントローラは、データ移行時間が所定の時間以内であるかを確認し、前記移行時間が所定の時間内である場合、前記選択された副論理ボリュームに対応する前記第二の物理ボリュームに格納されているデータを、前記バッファボリュームに対応する第三の物理ボリュームに移行し、前記第一の正論理ボリュームに対応する前記第一の物理ボリュームに格納されているデータを、前記選択された副論理ボリュームに対応する前記第二の物理ボリュームに移行し、前記選択された副論理ボリュームに対応する前記第二の物理ボリュームを前記第一の正論理ボリュームに対応付ける、指示を前記ストレージシステムに発行する、ことを特徴とする計算機システム。
  2. 請求項1に記載の計算機システムであって、
    前記データ移行時間は、前記前記選択された副論理ボリュームに対応する前記第二の物理ボリュームに格納されているデータを、前記バッファボリュームに対応する前記第三の物理ボリュームに移行した場合に、前記バッファボリュームに対応する前記第三の物理ボリュームに格納されるデータを前記バッファボリュームに対応する前記第三の物理ボリュームよりも入出力性能が高い第四の物理ボリュームへ移行するために要する時間である、ことを特徴とする計算機システム。
  3. 請求項2に記載の計算機システムであって、
    前記メモリは、さらに、前記ストレージシステムにおいて前記複数の物理ボリュームに含まれる一方の物理ボリュームに格納されるデータを他方の物理ボリュームに移行するためのデータ移行速度を示すデータ移行性能情報を格納し、
    前記第二のコントローラは、前記データ移行時間を、前記データ移行情報を参照し、前記第二の物理ボリュームに格納されるデータのデータ量と、前記データ移行速度をもとに算出される、ことを特徴とする計算機システム。
  4. 請求項3に記載の計算機システムであって、
    前記第二のコントローラは、前記データ移行時間を、前記第二の物理ボリュームに格納されるデータの前記データ量と、前記データ移行速度とに加えて、さらに、前記第四の物理ボリュームに格納されるデータのデータ量をもとに算出する、ことを特徴とする計算機システム。
  5. 請求項4に記載の計算機システムであって、
    前記移行時間は、前記第二の物理ボリュームに格納されるデータの前記データ量と前記データ移行速度によって算出される第一の移行時間と、前記第四の物理ボリュームに格納されるデータの前記データ量と前記データ移行速度によって算出される第二の移行時間との和である、ことを特徴とする計算機システム。
  6. 請求項5に記載の計算機システムであって、さらに
    前記ストレージシステムと接続し、複数のアプリケーションを動作するホスト計算機を含み、
    各々の前記複数の論理ボリュームは各々の前記複数のアプリケーションに割り当てられることを特徴とする計算機システム。
  7. 請求項6に記載の計算機システムであって、
    前記メモリは、さらに、前記複数の第一の副論理ボリュームが割り当てられるアプリケーションが、前記他のストレージシステムの被災時に要求する被災時要求性能を示す性能情報を格納し、
    前記第四の物理ボリュームの入出力性能は、前記選択された副論理ボリュームに割り当てられるアプリケーションの被災時要求性能より高い、ことを特徴とする計算機システム。
  8. 請求項7に記載の計算機システムであって、
    前記所定の時間は、前記他のストレージシステムの被災時において、前記選択された副論理ボリュームに割り当てられるアプリケーションの前期被災時要求性能より入手力性能が低い物理ボリュームを、前記選択された副論理ボリュームに割り当てられることを許容する時間である、ことを特徴とする計算機システム。
  9. 請求項5に記載の計算機システムであって、さらに
    前記ストレージシステムと接続し、複数の仮想サーバが動作する物理サーバを含み、
    各々の前記複数の仮想計算機の仮想ボリュームファイルが、前記複数の論理ボリュームに格納されていることを特徴とする計算機システム。
  10. 請求項9に記載の計算機システムあって、
    前記物理サーバは、インタフェースを有し、
    前記メモリは、前記複数の仮想計算機に割り当てられる前記インタフェースの入出力性能を示す仮想計算機情報を格納し、
    前記第二のコントローラは、前記仮想計算機情報を参照し、前記第二の物理ボリュームの入出力性能と、前記正論理ボリュームに仮想ボリュームファイルを格納する第一の仮想計算機に割り当てられている前記インタフェースの入出力性能と、を比較し、第一の仮想計算機に割り当てられている前記インタフェースの入出力性能が前記第二の物理ボリュームの入出力性能より低い場合、前記第二の物理ボリュームを前記正論理ボリュームに対応付ける際に前記第一の仮想計算機に割り当てられている前記インタフェースの入出力性能を変更することを特徴とする計算機システム。
  11. 請求項10に記載の計算機システムであって、
    前記第一の仮想計算機に割り当てられている前記インタフェースの入出力性能を変更により、第一の仮想計算機に割り当てられている前記インタフェースの入出力性能を前記第二の物理ボリュームの入出力性能より高くすることができない場合、前記第一の仮想計算機を前記物理サーバとは別の物理サーバに移行させることを特徴とする計算機システム。
  12. 請求項11に記載の計算機システムであって、
    前記メモリは、さらに、前記選択された副論理ボリュームに仮想ボリュームファイルを格納する仮想計算機が、前記他のストレージシステムの被災時に要求する被災時要求性能を示す性能情報を格納し、
    前記第四の物理ボリュームの入出力性能は、前記第二の仮想計算機の前記被災時要求性能より高い、ことを特徴とする計算機システム。
  13. 請求項12に記載の計算機システムであって、
    前記所定の時間は、前記仮想計算機の要求する被災時要求性能より入出性能が低い物理ボリュームを前記選択された副論理ボリュームに割り当てられていることを許容する時間である、ことを特徴とする計算機システム。
  14. 第一の正論理ボリュームと、複数の第一の副論理ボリュームと、バッファボリュームを含む複数の論理ボリュームに対応する複数の物理ボリュームと、前記複数の物理ボリュームへのデータの入出力処理を実行する第一のコントローラと、により構成され、他のストレージシステムに接続するストレージシステムと、前記複数の物理ボリュームの性能を示す物理ボリューム情報を格納するメモリと、第二のコントローラと、により構成され前記ストレージシステムを管理する管理計算機と、が含まれる計算機システムにおける物理ボリューム割り当て方法であって、
    前記複数の第一の副論理ボリュームは、前記他のストレージシステムが提供する複数の第二の正論理ボリュームとコピーペアを形成し、
    前記第一の正論理ボリュームは、前記他のストレージシステムが提供する第二の副論理ボリュームとコピーペアを形成し、
    前記第二のコントローラは、前記第一の正論理ボリュームへのアクセス量が閾値を超える場合、前記メモリから読み出した前記物理ボリューム情報を参照することにより、前記複数の第一の副論理ボリュームに含まれ、前記第一の正論理ボリュームに対応付けられる第一の物理ボリュームより入出力性能が高い第二の物理ボリュームに対応付けられる副論理ボリュームを選択し、
    前記第二のコントローラは、データ移行時間が所定の時間以内であるかを確認し、前記移行時間が所定の時間内である場合、前記選択された副論理ボリュームに対応する前記第二の物理ボリュームに格納されているデータを、前記バッファボリュームに対応する第三の物理ボリュームに移行し、前記第一の正論理ボリュームに対応する前記第一の物理ボリュームに格納されているデータを、前記選択された副論理ボリュームに対応する前記第二の物理ボリュームに移行し、前記選択された副論理ボリュームに対応する前記第二の物理ボリュームを前記第一の正論理ボリュームに対応付ける、指示を前記ストレージシステムに発行する、ことを特徴とする物理ボリューム割り当て方法。
  15. 請求項14に記載の物理ボリューム割り当て方法であって、
    前記データ移行時間は、前記前記選択された副論理ボリュームに対応する前記第二の物理ボリュームに格納されているデータを、前記バッファボリュームに対応する前記第三の物理ボリュームに移行した場合に、前記バッファボリュームに対応する前記第三の物理ボリュームに格納されるデータを前記バッファボリュームに対応する前記第三の物理ボリュームよりも入出力性能が高い第四の物理ボリュームへ移行するために要する時間である、ことを特徴とする物理ボリューム割り当て方法。
JP2009225849A 2009-09-30 2009-09-30 ボリューム割り当てを管理する計算機システム及びボリューム割り当て管理方法 Expired - Fee Related JP5124551B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009225849A JP5124551B2 (ja) 2009-09-30 2009-09-30 ボリューム割り当てを管理する計算機システム及びボリューム割り当て管理方法
US12/625,006 US8402236B2 (en) 2009-09-30 2009-11-24 Computer system managing volume allocation and volume allocation management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009225849A JP5124551B2 (ja) 2009-09-30 2009-09-30 ボリューム割り当てを管理する計算機システム及びボリューム割り当て管理方法

Publications (2)

Publication Number Publication Date
JP2011076286A true JP2011076286A (ja) 2011-04-14
JP5124551B2 JP5124551B2 (ja) 2013-01-23

Family

ID=43781586

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009225849A Expired - Fee Related JP5124551B2 (ja) 2009-09-30 2009-09-30 ボリューム割り当てを管理する計算機システム及びボリューム割り当て管理方法

Country Status (2)

Country Link
US (1) US8402236B2 (ja)
JP (1) JP5124551B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013045444A (ja) * 2011-08-19 2013-03-04 Hitachi Ltd データセンタ内のリソースの使用効率を改善するための方法及び装置
JP2014049116A (ja) * 2012-08-31 2014-03-17 Hitachi Ltd 仮想ストレージシステムの管理方法およびリモートコピーシステム
JP2014093072A (ja) * 2012-10-31 2014-05-19 Samsung Sds Co Ltd ハイパーバイザベースのサーバ二重化システム、その方法およびサーバ二重化コンピュータプログラムが記録された記録媒体
WO2014132440A1 (ja) * 2013-03-01 2014-09-04 株式会社日立製作所 構成情報取得方法、及び管理計算機
WO2015029133A1 (ja) * 2013-08-27 2015-03-05 株式会社日立製作所 ストレージシステム及びストレージシステム管理方法
WO2016194096A1 (ja) * 2015-06-01 2016-12-08 株式会社日立製作所 計算機システム及び計算機システムの管理方法
JPWO2018051467A1 (ja) * 2016-09-15 2018-11-22 株式会社日立製作所 ストレージ管理サーバ、ストレージ管理サーバの制御方法及び計算機システム

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5227125B2 (ja) 2008-09-24 2013-07-03 株式会社日立製作所 ストレージシステム
US20120198063A1 (en) * 2009-10-09 2012-08-02 Nec Corporation Virtual server system, autonomous control server thereof, and data processing method and computer program thereof
KR20110097438A (ko) * 2010-02-25 2011-08-31 삼성전자주식회사 메모리 시스템, 그리고 그것의 동작 방법
JP5130313B2 (ja) * 2010-04-02 2013-01-30 株式会社日立製作所 管理システム及び計算機システムの管理方法
US8707300B2 (en) 2010-07-26 2014-04-22 Microsoft Corporation Workload interference estimation and performance optimization
US8850143B1 (en) * 2010-12-16 2014-09-30 Emc Corporation Point in time access in a replication environment with LUN resizing
US9003149B2 (en) 2011-05-26 2015-04-07 International Business Machines Corporation Transparent file system migration to a new physical location
WO2013051136A1 (ja) * 2011-10-06 2013-04-11 株式会社日立製作所 仮想サーバ処理制御方法、システムおよび仮想サーバ処理制御管理サーバ
WO2014115184A1 (en) * 2013-01-24 2014-07-31 Hitachi, Ltd. Storage system and control method for storage system
US9582219B2 (en) 2013-03-12 2017-02-28 Netapp, Inc. Technique for rapidly converting between storage representations in a virtualized computing environment
US20160004444A1 (en) * 2013-07-10 2016-01-07 Hitachi, Ltd. Method and apparatus for applying storage functionality to each subsidiary volume
US10216531B2 (en) 2014-05-12 2019-02-26 Netapp, Inc. Techniques for virtual machine shifting
US9841991B2 (en) * 2014-05-12 2017-12-12 Netapp, Inc. Techniques for virtual machine migration
US10956919B2 (en) * 2014-12-17 2021-03-23 International Business Machines Corporation Interactive visual storage capacity forecasting
US9817592B1 (en) 2016-04-27 2017-11-14 Netapp, Inc. Using an intermediate virtual disk format for virtual disk conversion
US11087042B1 (en) 2017-06-30 2021-08-10 Wells Fargo Bank, N.A. Generation of a simulation plan and performance of a simulation based on the plan
US11093170B2 (en) * 2019-04-02 2021-08-17 EMC IP Holding Company LLC Dataset splitting based on workload footprint analysis

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6170037B1 (en) * 1997-09-02 2001-01-02 Emc Corporation Method and apparatus for storing information among a plurality of disk drives
US20090228670A1 (en) * 2008-03-06 2009-09-10 Hitachi, Ltd. Backup Data Management System and Backup Data Management Method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3641872B2 (ja) * 1996-04-08 2005-04-27 株式会社日立製作所 記憶装置システム
JP2003162378A (ja) 2001-11-26 2003-06-06 Hitachi Ltd データ複写方法
JP4598817B2 (ja) 2007-12-18 2010-12-15 株式会社日立製作所 計算機システム及びデータ消失回避方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6170037B1 (en) * 1997-09-02 2001-01-02 Emc Corporation Method and apparatus for storing information among a plurality of disk drives
US20090228670A1 (en) * 2008-03-06 2009-09-10 Hitachi, Ltd. Backup Data Management System and Backup Data Management Method
JP2009211664A (ja) * 2008-03-06 2009-09-17 Hitachi Ltd バックアップデータ管理システム及びバックアップデータ管理方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013045444A (ja) * 2011-08-19 2013-03-04 Hitachi Ltd データセンタ内のリソースの使用効率を改善するための方法及び装置
JP2014049116A (ja) * 2012-08-31 2014-03-17 Hitachi Ltd 仮想ストレージシステムの管理方法およびリモートコピーシステム
JP2014093072A (ja) * 2012-10-31 2014-05-19 Samsung Sds Co Ltd ハイパーバイザベースのサーバ二重化システム、その方法およびサーバ二重化コンピュータプログラムが記録された記録媒体
WO2014132440A1 (ja) * 2013-03-01 2014-09-04 株式会社日立製作所 構成情報取得方法、及び管理計算機
US9648104B2 (en) 2013-03-01 2017-05-09 Hitachi, Ltd. Configuration information acquisition method and management computer
WO2015029133A1 (ja) * 2013-08-27 2015-03-05 株式会社日立製作所 ストレージシステム及びストレージシステム管理方法
US9075530B2 (en) 2013-08-27 2015-07-07 Hitachi, Ltd. Storage system and the storage system management method
WO2016194096A1 (ja) * 2015-06-01 2016-12-08 株式会社日立製作所 計算機システム及び計算機システムの管理方法
US10514846B2 (en) 2015-06-01 2019-12-24 Hitachi, Ltd. Computer system and management method for computer
JPWO2018051467A1 (ja) * 2016-09-15 2018-11-22 株式会社日立製作所 ストレージ管理サーバ、ストレージ管理サーバの制御方法及び計算機システム

Also Published As

Publication number Publication date
JP5124551B2 (ja) 2013-01-23
US20110078395A1 (en) 2011-03-31
US8402236B2 (en) 2013-03-19

Similar Documents

Publication Publication Date Title
JP5124551B2 (ja) ボリューム割り当てを管理する計算機システム及びボリューム割り当て管理方法
US11886294B2 (en) Distributed storage system
JP6791834B2 (ja) 記憶システム及び制御ソフトウェア配置方法
JP5158074B2 (ja) ストレージ管理プログラム、ストレージ管理方法、ストレージ管理装置およびストレージシステム
JP5142629B2 (ja) 仮想ボリュームのバックアップを行うストレージシステム及び方法
JP4890033B2 (ja) 記憶装置システム及び記憶制御方法
JP5685676B2 (ja) 計算機システム及びデータ管理方法
US8984221B2 (en) Method for assigning storage area and computer system using the same
US8131969B2 (en) Updating system configuration information
WO2017022002A1 (ja) ストレージ装置、ストレージシステム、ストレージシステムの制御方法
US6915403B2 (en) Apparatus and method for logical volume reallocation
US20100036896A1 (en) Computer System and Method of Managing Backup of Data
US20050154821A1 (en) Information processing system and management device
US20090292870A1 (en) Storage apparatus and control method thereof
JP5228466B2 (ja) バックアップ装置、バックアップ方法およびバックアッププログラム
WO2014155555A1 (ja) 管理システム及び管理プログラム
JP4748950B2 (ja) 記憶領域管理方法及びシステム
US20120260051A1 (en) Computer system, management system and data management method
US7849264B2 (en) Storage area management method for a storage system
JP2020154587A (ja) 計算機システム及びデータ管理方法
US7676644B2 (en) Data processing system, storage apparatus and management console
JP7057408B2 (ja) 記憶システム及びその制御方法
JP7113698B2 (ja) 情報システム
WO2018116392A1 (ja) 情報処理システム、及び、情報処理方法
JP2023094302A (ja) 情報処理システム及び構成管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120919

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121002

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121029

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151102

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151102

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees