(57)【特許請求の範囲】
【請求項１】
ストレージ装置と、前記ストレージ装置が提供するボリュームにアクセスするホスト計算機と、管理計算機と、を含む計算機システムであって、
前記ホスト計算機は、制御プログラムと、前記制御プログラム上で動作するゲストＯＳと、を実行し、
前記ゲストＯＳは、前記ストレージ装置から割り当てられている一つ又は複数のボリュームにアクセスし、
前記ストレージ装置は、前記ゲストＯＳに割り当てられている前記一つ又は複数のボリュームのコピー処理を実行し、
前記ホスト計算機及び前記管理計算機の一方の計算機は、前記ストレージ装置によるコピー処理を制御するコピー制御プログラムを実行し、
前記ゲストＯＳに割り当てられているボリュームの属性は、前記ゲストＯＳが所有権を維持し前記ゲストＯＳへの割り当てが稼働中に変更不可な第１属性と、前記ゲストＯＳへの割り当てが稼働中に変更可である第２属性と、を含み、
前記一方の計算機は、前記ゲストＯＳに割り当てられているボリュームのコピー制御コマンドを受信し、前記コピー制御プログラムに従って、所定のタイミングにおいて、前記ゲストＯＳに割り当てられている一つ又は複数のボリュームにおいて前記第２属性を有するボリュームの少なくとも一部を示す第１の情報を、前記制御プログラムから選択し、
前記一方の計算機は、前記コピー制御プログラムに従って、前記第１の情報と、前記所定のタイミングよりも前において前記ゲストＯＳに割り当てられていた一つ又は複数のボリュームにおける前記第２属性を有するボリュームの少なくとも一部を示す第２の情報と、を比較して、ボリュームの過不足の有無及びボリューム・ラベルの相違の有無の少なくとも一つをチェックし、前記受信したコピー制御コマンドがコピー・ペアの作成であり、かつ前記少なくとも一つのチェック結果が有である場合、前記コピー・ペアの作成のコピー制御コマンドを前記ストレージ装置に発行することなく、エラー処理を行う、計算機システム。
【請求項２】
前記一方の計算機は、前記コピー制御コマンドの前記受信に応答して前記第１の情報を取得する、
請求項１に記載の計算機システム。
【請求項３】
前記一方の計算機は、前記コピー制御コマンドが前記チェックを指示する場合に、前記チェックを行う、
請求項２に記載の計算機システム。
【請求項４】
前記ゲストＯＳに割り当てられている全ボリュームから構成され、前記ストレージ装置のコピー処理の単位であるコピー・グループが定義されており、
前記第２の情報は、前記コピー・グループの情報である、
請求項３に記載の計算機システム。
【請求項５】
前記ゲストＯＳに割り当てられている全てのボリュームから構成され、前記一方の計算機によって一つの操作対象として扱われるコピー・グループが定義されており、
前記第２の情報は、前記コピー・グループの情報であり、
前記一方の計算機は、前記コピー・グループのために前記ストレージ装置にコピー制御コマンドを発行する場合、前記コピー・グループに含まれ前記第１の情報に含まれてないボリュームを対象から除外する、
請求項４に記載の計算機システム。
【請求項６】
制御プログラムと前記制御プログラム上で動作するゲストＯＳとを実行するホスト計算機と、前記ゲストＯＳに一つ又は複数のボリュームを提供し前記一つ又は複数のボリュームのコピー処理を実行するストレージ装置と、管理計算機と、を含む計算機システムにおいて、前記ストレージ装置のボリュームを管理する方法であって、
前記ホスト計算機及び前記管理計算機の一方の計算機は、前記ストレージ装置によるコピー処理を制御するコピー制御プログラムを実行し、
前記ゲストＯＳに割り当てられているボリュームの属性は、前記ゲストＯＳが所有権を維持し前記ゲストＯＳへの割り当てが稼働中に変更不可な第１属性と、前記ゲストＯＳへの割り当てが稼働中に変更可である第２属性と、を含み、
前記一方の計算機は、前記ゲストＯＳに割り当てられているボリュームのコピー制御コマンドを受信し、前記コピー制御プログラムに従って、所定のタイミングにおいて、前記ゲストＯＳに割り当てられている一つ又は複数のボリュームにおける前記第２属性を有するボリュームの少なくとも一部を示す第１の情報を、前記制御プログラムから選択し、
前記一方の計算機は、前記コピー制御プログラムに従って、前記第１の情報と、前記所定のタイミングよりも前において前記ゲストＯＳに割り当てられていた一つ又は複数のボリュームにおける前記第２属性を有するボリュームの少なくとも一部を示す第２の情報と、を比較して、ボリュームの過不足の有無及びボリューム・ラベルの相違の有無の少なくとも一つをチェックし、
前記一方の計算機は、前記受信したコピー制御コマンドがコピー・ペアの作成であり、かつ前記少なくとも一つのチェック結果が有である場合、前記コピー・ペアの作成のコピー制御コマンドを前記ストレージ装置に発行することなく、エラー処理を行う、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は計算機システム、ストレージ・ボリューム管理方法及びストレージ装置のコピー処理を制御するプログラムに関し、特に、計算機システムにおけるコピー制御技術に関する。
【背景技術】
【０００２】
社会基盤を担う公共又は企業の基盤システムにおいて、高い可用性が求められている。そのため、データ・ストレージ市場では、大量のデータを格納したストレージ装置が災害等で破壊されてもデータを喪失しない、いわゆるディザスタ・リカバリ・システムが要求されている。
【０００３】
このような市場の要求に応える技術の一つとして、リモートコピー技術を利用してデータをバックアップする計算機システムが提供されている。この計算機システムは、十分に離れた二つの地点に設置されたストレージ装置に、同一のデータを格納する。一方のストレージ装置のデータが更新されると、その更新は、リモートコピーによってもう一方のストレージ装置に同期的もしくは非同期的に反映される。このため、二つのストレージ装置のデータの同一性が確保される。
【０００４】
さらにデータの安全性を高めるため、相互に十分に離れた三つの地点にストレージ装置を設置する計算機システムが特許文献１に開示されている。この計算機システムでは、通常の業務に使用される第１のストレージ装置と遠隔地の第２のストレージ装置との間のデータの同一性は、同期リモートコピーによって確保される。一方、第１のストレージ装置と遠隔地の第３のストレージ装置との間のデータの同一性は、非同期リモートコピーによって確保される。
【０００５】
また、ＣＰＵ、メモリ・デバイス、ストレージ装置などの計算機資源を有効に活用するための技術として、システム仮想化技術が非特許文献１及び非特許文献２に開示されている。この技術は、一台の物理的な計算機上で、複数の仮想計算機（ゲストとも呼ばれる）を作成し、一台の物理的な計算機があたかも複数台の計算機であるかのように処理を行うことができる。この技術は、余剰の計算機資源を有効活用する目的や、一台の高性能な計算機の上に数百台のゲストを集約するサーバ・コンソリデーション目的に活用されている。
【０００６】
仮想計算機はソフトウェアにより実現されるサーバ環境であって、その上で一つのＯＳが動き、アプリケーションを動作させることができる。従って、データ保護を行う場合は、データの整合性をとる範囲が、一つの仮想計算機が使用しているボリュームを包含していることが期待される。すなわち、システム仮想化プログラムがその仮想計算機に割り当てているボリューム群を、他の仮想計算機に割り当てられているボリューム群と分けて識別し、そのボリューム群のリモートコピーを行うことが望ましい。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−１２２５０９号公報
【非特許文献】
【０００８】
【非特許文献１】IBM Redbook「Introduction to the New Mainframe: z/VM Basics」（IBM文書番号SG24-7316-00、2007年11月）
【非特許文献２】IBM マニュアル「z/VM CP Programming Services version 6 release 1」（IBM文書番号SC24-6179-00、2009年）
【発明の概要】
【発明が解決しようとする課題】
【０００９】
リモートコピーは、特定のボリュームのデータを他の特定ボリュームにコピーする技術である。従って、従来技術に述べたようなシステム仮想化技術により、一台の物理的な計算機に接続されたストレージ・リソースを、複数の仮想計算機の間で分配して使用させる場合には、ボリュームと仮想計算機との対応関係が再配分により運用中に変化し得る。
【００１０】
そのため、対応関係の変化を無視してコピー処理を続行すると、適切なコピー運用が阻害される。また、複数の仮想計算機にストレージ・サブシステム内のボリュームが割り当てられている場合、同様の問題は、このストレージ・サブシステム内におけるコピーにおいても発生する。
【課題を解決するための手段】
【００１１】
本発明の一実施形態の計算機システムは、ストレージ装置と、前記ストレージ装置が提供するボリュームにアクセスするホスト計算機と、管理計算機とを含む。前記ホスト計算機は、制御プログラムと、前記制御プログラム上で動作するゲストＯＳと、を実行する。前記ゲストＯＳは、前記ストレージ装置から割り当てられている一つ又は複数のボリュームにアクセスする。前記ストレージ装置は、前記ゲストＯＳに割り当てられている前記一つ又は複数のボリュームのコピー処理を実行する。前記ゲストＯＳに割り当てられているボリュームの属性は、前記ゲストＯＳが所有権を維持し前記ゲストＯＳへの割り当てが稼働中に変更不可な第１属性と、前記ゲストＯＳへの割り当てが稼働中に変更可である第２属性と、を含む。前記ホスト計算機及び前記管理計算機の一方の計算機は、前記ストレージ装置によるコピー処理を制御するコピー制御プログラムを実行する。前記一方の計算機は、前記ゲストＯＳに割り当てられているボリュームのコピー制御コマンドを受信し、前記コピー制御プログラムに従って、所定のタイミングにおいて、前記ゲストＯＳに割り当てられている一つ又は複数のボリュームにおける前記第２属性を有するボリュームの少なくとも一部を示す第１の情報を、前記制御プログラムから選択する。前記一方の計算機は、前記コピー制御プログラムに従って、前記第１の情報と、前記所定のタイミングよりも前において前記ゲストＯＳに割り当てられていた一つ又は複数のボリュームにおける前記第２属性を有するボリュームの少なくとも一部を示す第２の情報と、を比較してボリュームの過不足の有無及びボリューム・ラベルの相違の有無の少なくとも一つをチェックし、前記受信したコピー制御コマンドがコピー・ペアの作成であり、かつ前記少なくとも一つのチェック結果が有である場合、前記コピー・ペアの作成のコピー制御コマンドを前記ストレージ装置に発行することなく、エラー処理を行う。
【発明の効果】
【００１２】
本発明の一実施形態によれば、仮想計算機が稼動する計算機システムにおいて、仮想計算機とボリュームとの対応関係がシステム運用中に変化する場合でも、適切なコピー運用を実現することができる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態において、計算機システムの構成を示す図である。
【図２】第１の実施形態において、ストレージ装置の構成を示す図である。
【図３】第１の実施形態において、コピー制御情報の構成を示す図である。
【図４】第１の実施形態において、コピー・グループ情報の構成を示す図である。
【図５】第１の実施形態において、ストレージ構成情報の構成を示す図である。
【図６】第１の実施形態において、ゲスト情報の構成を示す図である。
【図７Ａ】第１の実施形態において、ＶＭ制御プログラムが提供するＡＰＩの説明図である。
【図７Ｂ】第１の実施形態において、ＶＭ制御プログラムが提供するＡＰＩの説明図である。
【図８】第１の実施形態において、コピー制御プログラムが、ストレージ構成情報及びゲスト情報を生成する処理を示したフローチャートである。
【図９】第１の実施形態において、ゲスト情報の属性を管理者が変更する場合のＧＵＩを示す図である。
【図１０】第１の実施形態において、コマンド・ライン・インターフェースの説明図である。
【図１１】第１の実施形態において、コピー制御プログラムによる構成のチェック及びコマンド発行処理を示したフローチャートである。
【図１２】第２の実施形態において、コピー制御プログラムによる構成のチェック及びコマンド発行処理を示したフローチャートである。
【発明を実施するための形態】
【００１４】
以下において、本発明の実施の形態を説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。又、各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略されている。
【００１５】
第１の実施形態．
本発明の第１の実施形態を、図１〜図１１を用いて説明する。本実施形態は、ストレージ装置によるボリューム・コピー処理の制御に特徴を有している。ストレージ装置は、ホスト計算機上で動作している仮想計算機にボリュームを提供する。コピー制御プログラムは、仮想計算機に割り当てられているボリュームのコピー制御において、その割り当ての変更をチェックする。
【００１６】
これにより、仮想計算機が稼動する計算機システムにおいて、仮想計算機とボリュームとの対応関係がシステム運用中に変化する場合でも、適切なコピー運用を実現することができる。本実施形態において、計算機からの入出力制御及びストレージ装置内でのボリュームに基づく記憶領域使用方法は、従来の技術と同様である。
【００１７】
＜システム構成＞
最初に、本実施形態のシステム構成を説明する。図１は、本実施形態の計算機システムの構成を模式的に示している。本システムは、ホスト計算機１０と、ホスト計算機１０がアクセスするストレージ装置２００と、を含む。ホスト計算機１０とストレージ装置２００とは、データ・ネットワーク１０９により接続されている。本システムは管理計算機１０６を含み、ホスト計算機１００、ストレージ装置２００及び管理計算機１０６は、管理ネットワーク１１０で接続されている。
【００１８】
ホスト計算機１０にはホスト計算機入出力デバイス１０３が付属しており、主にシステム運用を管理するためにホスト計算機１０での設定に使用される。同様に、管理計算機１０６には管理計算機入出力デバイス（図示せず）が付属しており、主に運用を管理するために、管理計算機での設定に使用される。管理計算機１０６とホスト計算機１００とは、一つの計算機によって実現されてもよい。
【００１９】
入出力デバイスの典型的な例は、ディスプレイ、キーボード及びポインタ・デバイスであるが、管理計算機１０６及びホスト計算機１００は、これらと異なる入出力デバイスを備えていてもよい。例えば、それらは、シリアルインターフェースあるいはイーサーネット・インターフェースを備え、そのインターフェースに表示用計算機が接続される。表示用計算機は、ディスプレイ、キーボード及びポインタ・デバイスのような入出力デバイスを備える。ユーザは、表示用計算機を介して、管理計算機１０６又はホスト計算機１００にアクセスする。
【００２０】
説明の明確化のため、本構成は一台のストレージ装置２００及び一台のホスト計算機１００を有するが、本発明は複数のストレージ装置及び複数のホスト計算機を有する計算機システムに適用することができる。本構成例の管理システムは、管理計算機１０６で構成されているが、管理システムは複数の計算機で構成してもよい。複数の計算機の一つは表示用計算機であってもよく、管理処理の高速化や高信頼化のために、複数の計算機が管理計算機１０６と同等の処理を実現してもよい。
【００２１】
データ・ネットワーク１０９は、データ通信用のネットワークであって、本構成においては、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）である。データ・ネットワーク１０９は、データ通信用のネットワークであればＳＡＮ以外のネットワークでもよく、例えばＩＰネットワークでもよい。
【００２２】
管理ネットワーク１１０は、データ通信用のネットワークであって、本構成においては、ＩＰネットワークである。なお、管理ネットワーク１１０は、データ通信用のネットワークであればＩＰネットワーク以外のネットワークでもよく、例えばＳＡＮでもよい。データ・ネットワーク１０９及び管理ネットワーク１１０は、同一のネットワークであってもよい。
【００２３】
ストレージ装置２００は、データを格納する領域であるボリュームを提供する。図１の構成例においては、４つのボリューム２３１Ａ〜２３１Ｄが例示されている。ボリューム２３１Ａ〜２３１Ｄは、ホスト計算機１００から書き込まれたデータを格納する。本構成例において、コピーは二つのボリューム間で行われる。例えば、ストレージ装置２００が、ボリューム２３１Ａからボリューム２３１Ｂにコピーを行う場合、ボリューム２３１Ａへの書き込みデータが、ボリューム２３１Ｂに反映される。
【００２４】
二つのボリュームは、コピー・ペアを構成できる。コピー・ペアは、コピー元のボリュームと、当該複製元のボリュームに記憶されたデータの複製を格納するコピー先のボリュームとから構成される。本明細書においては、コピー元のボリュームをプライマリボリュームと呼び、コピー先のボリュームをセカンダリボリュームと呼ぶ。一つのプライマリボリュームが複数のセカンダリボリュームにコピーされてもよい。
【００２５】
図１の構成例においては、一つストレージ装置２００内にコピー・ペアを構成する二つのボリュームが存在している。これとは異なり、ペアを構成するボリュームが、それぞれ、異なるストレージ装置に存在していてもよい。ディザスタ・リカバリのためのボリューム・コピーは、典型的には、遠隔地の二つのストレージ装置間において実行される。
【００２６】
ボリューム間で実行されるコピー処理は、同期でも非同期でもよい。また、ストレージ装置内でも、複数のストレージ装置の間で跨ってコピーが行われてもよい。同期コピー処理は、セカンダリボリュームへの書き込みが処理の完了後（典型的にはキャッシュへの書き込み後）にホスト計算機１００にＩ／Ｏ成功を通知する。非同期コピー処理は、プライマリボリュームへの書き込みが処理の完了後にＩ／Ｏ成功を通知する。また、３以上のボリューム間のコピーに本実施形態のコピー制御を適用してもよい。図１はストレージ装置２００のボリューム２３１Ａ〜２３１Ｄのみを示している。ストレージ装置２００の詳細は後述する。
【００２７】
図１に示すように、ホスト計算機１００は、ＣＰＵ１０１、メモリ１０２、キーボードやマウスやディスプレイ等の入出力デバイス１０３、ストレージＩ／Ｆ１０４、管理Ｉ／Ｆ１０５を備え、各々が接続されている。ストレージＩ／Ｆ１０４は、ホスト計算機１００をデータ・ネットワーク１０９に接続するネットワーク・インターフェースである。ストレージＩ／Ｆ１０４は、データ・ネットワーク１０９を介してストレージ装置２００とデータ及び制御命令を送受信する。
【００２８】
管理Ｉ／Ｆ１０５は、ホスト計算機１００を管理ネットワーク１１０に接続するネットワーク・インターフェースである。管理Ｉ／Ｆ１０５は、管理ネットワーク１１０を介してストレージ装置２００及び管理計算機とデータ及び制御命令を送受信する。
【００２９】
メモリ１０２は、仮想計算機（ＶＭ）情報３０１Ａ〜３０１Ｃ、ゲストＯＳ３０２Ａ、３０２Ｂ、コピー制御プログラム４００、ＶＭ制御プログラム１０７、入出力デバイス構成情報１０８及びコピー制御情報５００を格納する。ＶＭ情報３０１Ａ〜３０１Ｃは、それぞれ、ホスト計算機１００（ＶＭ制御プログラム１０７）上で動作する仮想計算機の管理情報を含む。
【００３０】
ゲストＯＳ３０２Ａ、３０２Ｂは、それぞれ、異なる仮想計算機で動作するオペレーティングシステムである。これらは、仮想計算機上のＯＳ環境情報を含む。ゲストＯＳ３０２Ａ、３０２Ｂの仮想計算機は、それぞれ、ＶＭ情報３０１Ａ、３０１Ｂの仮想計算機と同一である。
【００３１】
ゲストＯＳ３０２Ａ、３０２Ｂは、ストレージ装置２００へのデータの書き込み及び読み出しにおいて、ＶＭ制御プログラム１０７の機能を利用する。ゲストＯＳ３０２Ａ、３０２Ｂは、ＶＭ制御プログラム１０７に要求を出すことにより、ボリューム２３１Ａ〜２３１Ｄにデータを読み書きする。図１の構成例は、二つのゲストＯＳ３０２Ａ、３０２Ｂ及び三つの仮想計算機のＶＭ情報３０１Ａ〜３０１Ｃを有するが、これらの数は異なる他の数でもよい。
【００３２】
ＶＭ制御プログラム１０７は、仮想化システム全体を管理する制御プログラムである。ＶＭ制御プログラム１０７は、各仮想計算機のＶＭ情報を作成し、そして削除する。ＶＭ制御プログラム１０７は、ゲストＯＳからの要求に従い、入出力の対象となるデバイスを入出力デバイス構成情報１０８から特定し、ストレージ装置２００とのデータの入力／出力を行う機能をその一部として有する。更に、各仮想計算機を動作させるためのＶＭ情報及びゲストＯＳの対に対して、計算機システムの実リソースを割り当てる機能を有する。
【００３３】
コピー制御プログラム４００は、一つの仮想計算機上のプログラムとして動作する。コピー制御プログラム４００は、コピー運用の手順に従ってコピー制御を行う。また、コピー制御のため、ストレージ・マイクロプログラム２２６（図２を参照）に対して、コピー制御コマンドを送信する。ストレージ・マイクロプログラム２２６は、この要求に応答して、ペア作成や状態情報の取得などの処理を実行する。コピー制御情報５００は、コピー制御プログラム４００がコピー制御を行うための情報を含む。コピー制御処理の詳細は、後述する。
【００３４】
ゲストＯＳ３０２Ａ、３０２Ｂ、コピー制御プログラム４００及びＶＭ制御プログラム１０７は、ＣＰＵ１０１によって実行される。ＣＰＵ１０１は、メモリ１０２上のプログラムに含まれる命令を取得し、その命令に応じた動作を行う。ＣＰＵ１０１は、プログラムの命令に従って、メモリ１０２上のデータを取得し、演算結果のデータをメモリ１０２に格納する。
【００３５】
図１の構成においてメモリ１０２に格納されているプログラム及び情報の少なくとも一部は、異なる記憶デバイスに格納されていてもよい。例えば、ホスト計算機１００は磁気ディスクやフラッシュ・メモリといった外部記憶デバイスを有し、それらに上記プログラム及び情報の一部を格納してもよい。本実施形態において、ＣＰＵ１０１が取り扱うデータ（プログラムを含む）を格納するデータ記憶領域は、どのような構成を有していても良い。管理計算機１０６のハードウェア構成は、ホスト計算機１００と同様でよい。管理計算機１０６がデータ・ネットワーク１０９に接続してない本構成例においては、ストレージＩ／Ｆは不要である。
【００３６】
図２は、ストレージ装置２００の構成を模式的に示すブロック図である。ストレージ装置２００は、ディスク装置２１０及びディスク・コントローラ２２０を備える。ディスク装置２１０は、ホスト計算機１００に書き込み要求されたデータを格納する。ディスク・コントローラ２２０は、ストレージ装置２００の処理を制御する。
【００３７】
ディスク装置２１０は、複数のボリュームを備える。図２は、三つのボリューム２３１Ａ〜２３１Ｃを例示している。ボリュームの数はシステム構成に依存する。ボリュームは記憶領域であって、一つもしくは複数の記憶デバイスの物理記憶領域を含む。典型的には、ボリュームは、ハードディスク・ドライブやフラッシュ・ドライブなどの記憶デバイスの物理記憶領域又は論理記憶領域（Ｌｏｇｉｃａｌ  Ｄｅｖｉｃｅ）に対応付けられている。ストレージ装置２００は、仮想ボリュームを使用してもよい。本実施形態は、いずれの種類のボリュームを使用してもよい。
【００３８】
ディスク・コントローラ２２０は、ホストＩ／Ｆ２２１、管理Ｉ／Ｆ２２２、ディスクＩ／Ｆ２２３、メモリ２２４及びＣＰＵ２２５を備える。メモリ２２４は、ストレージ・マイクロプログラム２２６及びコピー・ペア情報２２７を格納している。メモリ２２４及びＣＰＵ２２５に対しては、ホスト計算機１００のＣＰＵ１０１及びメモリ１０２の説明と同様の説明が適用できる。
【００３９】
ストレージ・マイクロプログラム２２６は、ＣＰＵ２２５によって実行される。ＣＰＵ２２５において動作するストレージ・マイクロプログラム２２６は、設定されている制御情報に従って、コピー・ペア間のコピー処理を実行する。ストレージ・マイクロプログラム２２６は、さらに、ホスト計算機１００からの要求に応じて、コピー・ペアの制御処理を行う。
【００４０】
ストレージ・マイクロプログラム２２６によるコピー制御において実行される処理例は、作成処理、一時停止処理、リシンク処理、ペア削除処理及び状態取得処理である。ホスト計算機１００は、上記処理のいずれかを、ストレージ・マイクロプログラム２２６に要求することができる。これらはコピー制御における処理の例であって、ストレージ装置２００は、これらと異なる処理を行ってもよい。
【００４１】
コピー・ペアの作成処理において、ストレージ・マイクロプログラム２２６は、コピー・ペアを新たに作成する。一時停止処理は、プライマリボリュームからセカンダリボリュームへのデータ・コピーを一時停止する。一時停止処理の指示を受けると、ストレージ・マイクロプログラム２２６は、その後、プライマリボリュームのデータ変更を、セカンダリボリュームに反映しない。一例において、ストレージ・マイクロプログラム２２６は、プライマリボリュームの最新の更新をセカンダリボリュームにコピーした後に、二つのボリューム間のデータ・コピーを停止する。
【００４２】
リシンク処理は、プライマリボリュームとセカンダリボリュームを同期させ、プライマリボリュームのデータとセカンダリボリュームのデータとを一致させる処理を示す。リシンク処理の一例において、ストレージ・マイクロプログラム２２６は、二つのボリューム・データを一致させた後、それらの間のコピー処理を再開する。ペア削除処理は、作成処理で作成したペアを解除する。
【００４３】
状態取得処理の要求を受けると、ストレージ・マイクロプログラム２２６は、コピー・ペアの状態情報をホスト計算機１００に送る。ストレージ装置２００に備わるボリュームのうち、コピー・ペアを構成するボリュームの状態情報は、コピー・ペア情報２２７に含まれている。
【００４４】
コピー・ペアの状態の例は、プライマリボリュームの更新がセカンダリボリュームに反映されるコピー・ペア状態、コピー処理が一時停止されている一時停止状態、通信障害等でコピーができないエラー状態、ペアが設定されていない単独状態などである。ストレージ・マイクロプログラム２２６は、作成処理、リシンク処理及び停止処理を実行すると、コピー・ペア情報テーブル２２７を更新する。また、それらの処理結果としてのコピー・ペア状態の情報を、ホスト計算機１００に送ってもよい。
【００４５】
上記構成例においては、ストレージ・マイクロプログラム２２６及びコピー・ペア情報２２７は、ディスク・コントローラ２２０のメモリ２２４に格納されているが、他の記憶デバイスに格納されていてもよい。例えば、ストレージ・マイクロプログラム２２６及びコピー・ペア情報２２７は、ディスク・コントローラ２２０に接続されるフラッシュ・メモリに格納されてもよいし、ディスク装置２１０に備わるボリュームに格納されてもよい。ＣＰＵ２２５が使用するデータ（プログラムを含む）を格納する記憶領域は、どのような構成を有していてもよい。
【００４６】
ホストＩ／Ｆ２２１は、ストレージ装置２００をデータ・ネットワーク１０９に接続するネットワーク・インターフェースである。ホストＩ／Ｆ２２１は、データ・ネットワーク１０９を介してホスト計算機１００とデータ及び制御命令を送受信する。
【００４７】
管理Ｉ／Ｆ２２２は、ストレージ装置２００を管理ネットワーク１１０に接続するネットワーク・インターフェースである。管理Ｉ／Ｆ２２２は、管理ネットワーク１１０を介してホスト計算機１００及び管理計算機１０６とデータ及び制御命令を送受信する。ディスクＩ／Ｆ２２３は、ディスク・コントローラ２２０をディスク装置２１０に接続するインターフェースである。
【００４８】
＜コピー制御情報＞
以下において、本実施形態のコピー制御を具体的に説明する。図３は、図１におけるコピー制御情報５００の構成を示している。コピー制御プログラム４００は、コピー制御情報５００を使用してコピー制御を実行する。
【００４９】
本実施形態において、データ記憶領域に格納される情報（例えばコピー制御情報５００）はデータ構造に依存せず、どのようなデータ構造で表現されていてもよい。例えば、テーブル、リスト、データ・ベースあるいはキューから適切に選択したデータ構造体が、情報を格納することができる。
【００５０】
図３に示すように、コピー制御情報５００は、コピー・グループ情報５１０、ペア状態情報５２０、ストレージ構成情報５３０及びゲスト情報５４０を含む。コピー・グループ情報５１０の詳細は、図４を参照して後に説明する。ストレージ構成情報５３０の詳細は、図５を参照して後に説明する。ゲスト情報５４０の詳細は、図６を参照して後に説明する。
【００５１】
コピー制御プログラム４００がストレージ装置２００に発行したペア状態取得コマンドの結果得られた状態情報は、ペア状態情報５２０に含まれる。そのため、ペア状態情報５２０は、ストレージ装置２００が格納しているコピー・ペア情報２２７が有するコピー・ペア各々のコピー・ペア状態の情報を含む。コピー制御プログラム４００は、コピー・ペア情報２２７を参照して、ユーザにコピー・ペアの状態を提示し、また、コピー・ペアの状態に応じてコピー制御を実行する。
【００５２】
図４は、図３におけるコピー・グループ情報５１０の構成例を示している。コピー・グループ情報５１０はコピー・グループに関する情報であって、具体的には、コピー・グループを構成するプライマリボリューム及びそれらとペアを構成するセカンダリボリュームの情報である。ユーザは、入出力装置１０３もしくは管理計算機１０６を介して、この情報を設定する。
【００５３】
ストレージ装置２００のコピー機能は、グループ化機能を含む。例えば、非同期コピー処理において、ストレージ装置２００は、対象のグループからプライマリボリュームを順次選択し、選択したプライマリボリュームのコピー処理（プライマリボリュームにおける更新のセカンダリボリュームへの反映処理）を行う。ストレージ装置２００は、このグループに含まれるボリュームへの書き込み順序でセカンダリボリュームへデータをコピーするなど、整合性を保つためのコピーを行う。
【００５４】
コピー・グループは、好ましくは、同一の仮想計算機に割り当てられている全てのプライマリボリュームで構成される。ストレージ装置２００は、コピー・グループ毎に、コピー処理を実行する。これにより、効率的なコピー制御を行うことができると共に、コピー・グループ内のデータ整合性を確実に維持することができる。コピー・グループに含まれるプライマリボリュームは、一つでもよい。
【００５５】
図４に示すように、コピー・グループ情報５１０は、グループ識別子５１１、コピー種別５１２、プライマリボリューム識別子５１３及びセカンダリボリューム識別子５１４を含む。図４の例は三つのコピー・グループＧ１〜Ｇ３を示し、グループＧ１の各項目に、参照符号が例示的に示されている。
【００５６】
グループ識別子５１１は、コピー・グループを特定する。コピー種別５１２は、同期コピーや非同期コピーなど、コピー方法の種別を特定する。プライマリボリューム識別子５１３及びセカンダリボリューム識別子５１４は、それぞれ、コピー・ペアを構成する二つのボリュームを特定する。ボリューム識別子は、対象となるストレージ装置及びそのストレージ装置内のいずれのボリュームかを特定する。
【００５７】
図４に示す例において、三つのコピー・グループＧ１〜Ｇ３が存在している。例えば、コピー・グループＧ１のペアは、二つである。一つのペアは、ボリューム識別子Ａ０００１のプライマリボリューム及びボリューム識別子Ｂ０００１のセカンダリボリュームで構成されている。他の一つのペアは、ボリューム識別子Ａ０００２のプライマリボリューム及びボリューム識別子Ｂ０００２のセカンダリボリュームで構成されている。
【００５８】
図５は、図３におけるストレージ構成情報５３０の構成例を示している。ストレージ構成情報５３０は、ストレージ装置（ディスク・サブシステム）内のボリューム情報である。具体的には、ストレージ構成情報５３０は、ディスク・サブシステム番号５３１、ボリューム番号５３２、ボリューム識別子５３３、ボリューム・ラベル５３４を含む。図５は、二つのストレージ装置（ディスク・サブシステム）の構成情報を例示している。ストレージ構成情報５３０、これらを互いに対応付ける。図１は一つのストレージ装置２００を例示しているが、本実施形態の計算機システムは、いくつのストレージ装置を有していてもよい。
【００５９】
ディスク・サブシステム番号５３１は、ストレージ装置の識別子である。ボリューム番号５３２は、そのストレージ装置内でボリュームを特定する情報である。ボリューム識別子５３３は、コピー・グループ情報５１０におけるボリューム識別子と同じである。
【００６０】
ボリューム・ラベル５３４は、ユーザが指定するボリューム特定のための識別子である。ボリューム識別子及びボリューム・ラベルは入出力装置構成情報１０８に含まれている。ホスト計算機１００は、ストレージ構成情報５３０により、特定のボリュームの、ボリューム識別子、ボリューム・ラベル、ストレージ装置及びボリューム番号を知ることができる。
【００６１】
図６は、図３におけるゲスト情報５４０の構成例を示している。図６は、一つのゲストの情報を例示している。図１に示すように、複数のゲスト（仮想計算機）が動作している構成においては、複数のゲストの情報が含まれる。ゲスト情報５４０は、ゲスト番号５４１、ボリューム識別子５４２、ボリューム・ラベル５４３及び属性５４４を含む。
【００６２】
ゲスト番号５４１は、ゲストである仮想計算機を識別する情報である。ボリューム識別子５４２、ボリューム・ラベル５４３及び属性５４４の組は、対応するゲスト番号５４１の仮想計算機に割り当てられているボリュームの情報である。ゲスト情報５４０は、各ゲストに割り当てられているボリュームそれぞれのボリューム識別子、ボリューム・ラベル及び属性を示す。
【００６３】
ボリューム識別子５４２は、コピー・グループ情報５１０及びストレージ構成情報５３０におけるボリューム識別子と同じである。ボリューム・ラベル５４３は、ストレージ構成情報５３０におけるボリューム・ラベルと同じである。属性５４４は、対応するボリュームのゲストへの割り当てが、システム運用中に変更されうるか否かを示す情報である。属性情報の詳細は後述する。
【００６４】
＜コピー制御情報作成処理＞
以下において、コピー制御プログラム４００が使用するコピー制御情報５００の作成（取得）処理について説明する。コピー制御情報５００は、システム構築フェイズあるいはシステム管理フェイズにおいて作成される。特定の情報は、システム運用フェイズにおいて更新してもよい。この処理は、ＶＭ制御プログラム１０７のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を利用する。そこで、このＡＰＩについて、まず、説明を行う。
【００６５】
図７Ａ及び図７Ｂは、ＶＭ制御プログラム１０７がユーザもしくはプログラムに提供するＡＰＩの説明図である。ＶＭ制御プログラム１０７は、コピー制御プログラム４００からの入力に従って入出力装置構成情報１０８及びＶＭ情報３０１を参照し、必要な情報を取得する。さらに、取得した情報をコピー制御プログラム４００に渡す。
【００６６】
ＡＰＩへの入力は、図７Ａに示すように、コマンド７０１、対象ボリューム識別子７０２、対象ゲスト番号７０３のフィールドを含む。本例において、コマンド７０１は、ボリューム情報を取得する命令である。対象ゲスト７０３は、ボリューム情報の取得対象のゲストを示す。対象ボリューム識別子７０２は、対象ゲスト７０３に割り当てられているボリュームの内、情報取得を要求する対象のボリュームを特定する識別子である。
【００６７】
入力に対応する出力は、図７Ｂに示すように、ボリューム・ラベル７０４、属性フラグ７０５を含む。ボリューム・ラベル７０４は、入力が指定したボリューム識別子に付与されているボリューム・ラベルを示す。属性フラグ７０５は、入力で指定したボリュームの、ゲスト番号が示す仮想計算機への割り当て方法を示す。
【００６８】
具体的には、本実施形態において、ボリュームは二つの属性の一方を有する。一つの属性は「所有」であり、他の属性は「一時」である。属性フラグ７０５は、「所有」もしくは「一時」（所有／一時）を示す。
【００６９】
所有属性のボリュームが割り当てられている仮想計算機（ゲスト）は、そのボリュームの所有権を維持する。仮想計算機が稼動している間、そのボリュームのその仮想計算機への割り当ての変更は禁止されており、その対応関係は変更されることがない。一時属性のボリュームの仮想計算機への割り当ては、仮想計算機が稼動している間において、ユーザの指示に応じて解除され得る。ユーザ（計算機システム）は、特定の仮想計算機への割り当てを解除したボリュームを、他のボリュームに割り当てることができる。このように、一時属性のボリュームの所有権は、仮想計算機が稼動している間に変更され得る。
【００７０】
以下において、コピー制御プログラム４００が、そのコピー制御処理において使用する、コピー制御情報５００の作成処理（取得処理）を、具体的に説明する。コピー制御プログラム４００は、コピー制御におけるボリューム割り当て変更チェックにおいて、コピー・グループ情報５１０、ストレージ構成情報５３０及びゲスト情報５４０を参照する。以下においては、これらの情報の作成を具体的に説明する。
【００７１】
図４を参照して説明したように、コピー・グループ情報５１０は、入出力装置１０３又は管理計算機１０６を介して、ユーザにより設定される（ユーザ作成のプログラムによる設定を含む）。そこで、以下において、図５に示すストレージ構成情報５３０及び図６に示すゲスト情報５４０の作成処理について具体的に説明する。
【００７２】
図８は、コピー制御プログラム４００による、ストレージ構成情報５３０及びゲスト情報５４０の作成処理を示すフローチャートである。コピー制御プログラム４００は、この処理において、図７に示すＡＰＩを利用する。
【００７３】
コピー制御プログラム４００は、ＶＭ制御プログラム１０７が提供するＡＰＩを用いて、ゲスト番号（仮想計算機の番号）の一覧を取得する（Ｓ８０１）。ＶＭ制御プログラム１０７は、ＶＭ情報３０１Ａ〜ＶＭ情報３０１Ｃを参照して、この一覧を作成することができる。
【００７４】
その後、ステップ８０１で取得した一覧の各ゲスト番号で特定される仮想計算機の情報を取得する。具体的には、コピー制御プログラム４００は、各ゲスト番号について、ステップ８０３及びステップ８０４の情報取得処理が完了したか否かを判定する（Ｓ８０２）。ステップ８０２での判定が真であった場合、コピー制御プログラム４００は、処理を終了する。
【００７５】
ステップ８０２での判定が偽であった場合、一つの仮想計算機についてボリュームの情報を取得すべく処理を続ける。ステップ８０３において、コピー制御プログラム４００は、仮想計算機に割り当てられたボリュームの情報を取得し、ゲスト情報５４０を作成する。
【００７６】
具体的には、まず、図７で示したＡＰＩにおいて一つのゲスト番号と、管理対象に含めたいボリューム識別子がとり得る全ての値を指定する。その結果、コピー制御プログラム４００は、指定した仮想計算機に割り当てられている、指定した管理対象に含めたいボリュームの情報を取得する。
【００７７】
コピー制御プログラム４００は、取得したボリューム識別子７０２を、ボリューム識別子５４２のエントリ（ボリューム識別子を表すデータ）として、対応するゲスト番号５４１のゲスト情報５４０に追加する。同様に、取得したボリューム・ラベル７０４を、ボリューム・ラベル５４３のエントリとして、属性フラグ７０５を属性５４４のエントリとして、ゲスト情報５４０に追加する。
【００７８】
次に、ステップ８０４において、コピー制御プログラム４００は、対象の仮想計算機に割り当てられたボリュームに対応するストレージ装置（ディスク・サブシステム）の情報を、ストレージ装置から取得し、ストレージ構成情報５３０を作成する。計算機システムが複数のストレージ装置を含む場合、コピー制御プログラム４００は、各ストレージ装置に情報取得のコマンドを発行する。
【００７９】
ストレージ装置２００から情報を取得する処理を具体的に説明する。コピー制御プログラム４００は、ステップ８０３で取得したゲスト情報５４０に含まれるボリューム識別子５４２の各エントリを指定して、ストレージ装置２００に情報取得コマンドを発行する。
【００８０】
コピー制御プログラム４００は、ストレージ装置２００から、それが備えるボリュームの情報を得る。ストレージ装置２００のディスク・サブシステム番号を、ストレージ構成情報５３０のディスク・サブシステム番号５３１のエントリとして追加する。さらに、ストレージ装置２００からその情報を得ることができたボリューム識別子５４２のエントリと、対応するボリューム番号５３２のエントリ及びボリューム・ラベル５４３のエントリを追加する。
【００８１】
コピー制御プログラム４００は、ステップ８０３、８０４の工程を、ステップ８０１で取得した全てのゲスト番号について実行する（Ｓ８０２〜Ｓ８０４）。全てのゲスト番号についてステップ８０３、８０４の工程が終了すると、ストレージ構成情報５３０及びゲスト情報５４０の作成処理は終了する。
【００８２】
図７Ｂを参照して説明したように、ボリュームの属性は、仮想計算機とボリュームとの間の関係を規定するものであるため、計算機システムの目的に応じて、ユーザ（あるいはユーザが作成したプログラム）が、各ボリュームの属性を設定することができることが好ましい。図９は、ゲスト情報５４０の属性５４４を、管理計算機１０６における入出力デバイスを使用したユーザ入力により変更するための、グラフィカルユーザ・インターフェース（ＧＵＩ）の例である。
【００８３】
ユーザ（管理者）は、図９に示すＧＵＩを介して、ボリュームの属性を設定することができる。具体的には、ユーザは、その属性を変更したいボリュームを仮想計算機のゲスト番号及びボリューム識別子又はボリューム・ラベルで特定し、対応する新設定入力の欄に新たな属性を入力する。設定更新実行ボタンをクリックすると、新たな属性が該当ボリュームに反映される。
【００８４】
＜コピー制御処理＞
以下において、コピー制御プログラム４００によるコピー制御情報５００を使用したコピー制御処理の流れを説明する。コピー制御プログラム４００は、ユーザ（プログラムを含む）からのコピー制御コマンドを受け、そのコマンドに応じたコピー制御処理を実行する。
【００８５】
図１０は、コピー制御プログラム４００が、ユーザ（入出力デバイスを介した入力もしくはスクリプト・プログラム）に提供するコマンド・ライン・インターフェースの説明図である。コマンド・ライン・インターフェースは、コマンド１００１、対象１００２、オプション１００３のフィールドを含む。
【００８６】
コマンド１００１のフィールドには、ペア作成や状態取得などのコピー制御コマンドが記述される。図１０の例においては、ペア作成、一時停止、リシンク又は状態取得のコマンドが記述される。対象１００２のフィールドには、コマンドの対象となるグループやペアが記述される。図１０の例においては三つのグループＧ１〜Ｇ３のいずれかが記述される。
【００８７】
オプション１００３のフィールドには、コマンドに必要なオプションがあれば、それが記述される。図１０の例におけるオプション・フィールド１００３は、一時属性のボリュームの存在をチェックすることを指示している。フィールド内の括弧内の数字は、ゲスト番号を示している。これらのコマンドやパラメータは、図１０が示す構成以外にも、ストレージ装置２００のコピー機能に従い、様々な形態がありうる。
【００８８】
次に、コピー制御プログラム４００によるストレージ装置２００へのコマンド発行処理の流れを説明する。以下の処理において、仮想計算機（ゲスト）に割り当てられているプライマリボリュームと対応するセカンダリボリュームが、一つのコピー・グループを構成しているものとする。
【００８９】
図１１は、上記コマンド発行処理の流れを示すフローチャートである。コピー制御プログラム４００は、一時停止や状態取得など、コピー制御に関する指示を受け取る（Ｓ１１０１）。受け取ったコマンド・ライン入力に、オプション「一時属性ボリューム・チェック」が記載されているか否かを判定する（Ｓ１１０２）。ステップ１１０２での判定が真である場合、コピー制御プログラム４００は、以下の処理を行う。指定されているコピー・グループを対象に、一時属性ボリュームのチェックを行う（Ｓ１１０３）。
【００９０】
具体的には、コピー制御プログラム４００は、オプションで「一時属性ボリューム・チェック」と共に指定されたゲスト番号のゲスト情報５４０を再取得する。コピー制御プログラム４００は、図８を参照して説明した処理に従って、ゲスト情報５４０を再取得（再作成）することができる。
【００９１】
コピー制御プログラム４００は、新たに取得したゲスト情報５４０と、コマンドで指定されているコピー・グループのコピー・グループ情報５１０とを比較する。具体的には、ゲスト情報５４０に含まれる一時属性のボリュームの識別子のリストと、コピー・グループ情報５１０に記載された一時属性のプライマリボリュームの識別子のリストを比較する。
【００９２】
また、コピー制御プログラム４００は、さらに、新たに取得したゲスト情報５４０とストレージ構成情報５３０とを比較する。具体的には、ゲスト情報５４０とストレージ構成情報５３０との間において、一時属性のボリュームの識別子に対応付けられているボリューム・ラベルを比較する。
【００９３】
次に、コピー制御プログラム４００は、ステップ１１０３でのチェックの結果、新たに作成したゲスト情報が示す現状と、予め作成してあるコピー制御情報５００における定義との間に、不一致が存在するか否かを判定する（Ｓ１１０４）。
【００９４】
具体的には、コピー制御プログラム４００は、二つのリストに掲載されているプライマリボリューム識別子が異なる場合、対象としている仮想計算機の現在のボリューム割り当ては、コピー制御情報５００に登録されている過去の構成と異なる（一致しない）と判定する（Ｓ１１０４におけるＴ）。
【００９５】
あるいは、ボリューム・ラベルが異なる場合、コピー制御プログラム４００は、対象としている仮想計算機の現在のボリューム割り当ては、コピー制御情報５００に登録されている過去の構成と異なる（一致しない）と判定する（Ｓ１１０４におけるＴ）。プライマリボリューム識別子及びボリューム・ラベルが一致する場合、現在の構成と設定定義が一致すると判定する（Ｓ１１０４におけるＦ）。
【００９６】
ステップ１１０４での判定結果が真である場合、コピー制御プログラム４００は、以下の処理を行う。指定されているコマンドが、コピー・ボリューム・ペアの作成であるか否かを判定する（Ｓ１１０５）。ステップ１１０５での判定結果が真である場合、エラー処理を実行し、コピー制御コマンド発行処理を終了する（Ｓ１１０６）。エラー処理においてなされるコマンド実行中止の通知は、ワーニングに相当する。
【００９７】
ステップ１１０５での判定が偽であった場合、コピー制御プログラム４００は、不一致があったことを示すワーニングを出力し（Ｓ１１０７）、ステップ１１０８に進み処理を継続する。ステップ１１０２での判定が偽であった場合、ステップ１１０４での判定が偽であった場合若しくはステップ１１０７の処理の終了後、コピー制御プログラム４００は、受理したコマンドに従ってストレージ装置２００にコマンドを発行し（Ｓ１１０８）、処理を終了する。ゲスト情報５４０が一時属性のボリュームを含まない場合、ステップ１１０４での判定は偽である。
【００９８】
以上のように、本実施形態は、仮想計算機とボリュームの対応関係の変化をチェックする。このため、ボリュームと仮想計算機との対応関係が再配分により運用中に変化している計算機システムにおいて、適切なコピー運用を実現することができる。又、多数の仮想計算機が動作する仮想化環境においてボリューム・コピーによりデータ保護を行う場合、仮想計算機間のボリューム割り当ての変更がありうるボリュームを含んだコピー運用を実現できる。
【００９９】
本実施形態は、図１１を参照して説明したように、コピー制御コマンド（のオプション）において、対象のボリュームが割り当てられている仮想計算機について、割り当てボリュームをチェック指示する。このため、全てのボリュームについて仮想計算機との対応関係（割り当て）をチェックする必要がなく、処理量を低減することができる。また、コピー制御コマンドが対象とするボリュームの仮想計算機についてチェック処理を行うため、適切にチェック対象のボリューム（仮想計算機）を選択することができる。
【０１００】
計算機システムの運用において、ボリュームが、内容確認のため、仮想計算機に一時的に割り当てられることがある。オペレータ（ユーザ）は、仮想計算機に割り当てたボリュームを、その後、すぐに他の仮想計算機に割り当てる。本実施形態において、ユーザは、コピー制御コマンドにおいてボリューム割り当てのチェックを指示することができるので、上記のようなオペレータ操作の途中状態を検知することを避け、定常状態に至った対応関係をチェックすることができる。
【０１０１】
このように、ボリューム割り当てチェックを、コピー制御コマンドで指示することができることが好ましいが、コピー制御プログラム４００は、コピー制御コマンドとは異なるイベントを契機として又は予め設定されている時刻に全て又は一部のボリュームについて割り当て関係のチェックを実行してもよい。このような構成においても、ボリューム割り当てチェックを行うときに、新たなゲスト情報（仮想計算機へ割り当てられているボリュームの情報）を取得することが好ましい。
【０１０２】
本実施形態は、ボリュームに対して仮想計算機に対する割り当ての属性（「所有」及び「一時」）を付与する。これにより、必要なボリュームの仮想計算機への割り当てを固定することができるので、ボリューム・データが意図せず失われることを効果的に防ぐことができる。また、図１１を参照して説明したように、本実施形態は一時属性のボリュームについてのみチェックを行うので、ボリューム割り当てチェックの処理量を低減することができる。
【０１０３】
計算機システムは、ボリュームに異なる属性を付与することなく、全てを同一属性のボリュームとして取り扱ってもよい。全てのボリュームの割り当て先仮想計算機が、システム稼働中に変化しうる。コピー制御プログラム４００は、仮想計算機の割り当てられている全てのボリュームをチェックする。また、計算機システムは、ボリュームに３以上の異なる属性を付与してもよい。
【０１０４】
図１１を参照して説明した処理は、ボリューム・リストの不一致（割り当てられているボリュームの相違）及びボリューム・ラベルの不一致をチェックする。データ保護の点から、このように、少なくともこれら二つの点のチェックを行うことが好ましいが、これらの一方のみ、あるいはこれらと異なる点をチェックして、コピー制御を行ってもよい。
【０１０５】
上述のように、本実施形態は、その好ましい構成において、仮想計算機に割り当てられている全てのボリュームからなる一つのグループを定義し、そのグループを一つのまとまりとしてコピー処理を実行する。これにより、仮想計算機のボリュームにおいて、データ整合性を維持すると共にコピー運用の利便性を高めることができる。
【０１０６】
本実施形態はコピー・グループのボリューム割り当てをチェックするので、割り当て解除されたボリュームの不必要なコピーや、割り当て解除されたボリュームを原因とするコピー処理の中断を避けることができる。また、新たに割り当てられたボリュームのコピーを適切に行うことができる。
【０１０７】
このように、仮想計算機に割り当てられたボリュームでコピー・グループを構成することが好ましいが、本発明を、他の構成に適用することができる。例えば、仮想計算機に割り当てられたボリュームとコピー・グループのボリュームとが一致しなくともよい。若しくは、計算機システムは、コピー・ブループを使用しなくともよい。
【０１０８】
これらの構成においてコピー・グループ情報５１０を利用することができない。コピー制御プログラム４００は、例えば、過去のゲスト情報と新たに生成したゲスト情報とを比較することで、仮想計算機へのボリューム割り当ての変化を検出することができる。
【０１０９】
上記構成のように、コピー制御プログラム４００は、仮想計算機に割り当てられているボリュームにおいて、一時属性ボリュームの全てをチェックすることが好ましい。これにより、処理量の低減とボリューム割り当て変更チェックによるデータ保護とを適切に両立させることができる。特に、コピー制御コマンドがコピー・グループを指定している場合には、全ての一時属性ボリュームがコピー対象であるので、それらをチェックすることが重要である。
【０１１０】
コピー制御プログラム４００は、仮想計算機に割り当てられている一時属性ボリュームの、一部についてのみ割り当て変更チェックを行ってもよい。具体的には、コピー制御コマンドが、コピー・グループ内の一部のペアを指定している場合、そのペアについてのみ割り当て変更のチェックを行ってもよい。これとは逆に、コピー制御コマンドが指定してない他の一時属性ボリュームを、割り当て変更チェックの対象に含めることができる。
【０１１１】
図１１に示すように、計算機システムは、仮想計算機へのボリューム割り当てに変更があると、ワーニングを出力することが好ましい。これにより、ユーザはボリューム割り当て変更を知ることができ、それに対して適切な対応を行うことができる。ワーニングの方法及び内容は設計に依存する。ワーニングの方法は任意であるが、好ましくは、ワーニングは、割り当てに変更があったボリュームを提示する。
【０１１２】
図１１に示すように、本実施形態において、コピー制御プログラム４００は、コピー制御コマンドがコピー・ペア生成であり、仮想計算機へのボリューム割り当てに変更が存在していると、そのコマンドをストレージ装置２００に発行することなく処理を終了する。新たなコピー・ペアの作成により、セカンダリボリュームにおける意図しないデータ破損を防ぐことができる。
【０１１３】
図１１に示す処理は、コピー・ペア生成以外のコマンドを発行する。しかし、コピー・ペア生成以外の一部又は全てのコマンドの発行を中止してもよい。設計上許容されるのであれば、コピー制御プログラム４００は、コピー・ペア作成コマンドを発行してもよい。
【０１１４】
本実施形態においては、ホスト計算機１００がコピー制御コマンドをコピー制御プログラム４００に発行するが、管理計算機１０６がそれを行ってもよい。コピー制御プログラム４００は、ホスト計算機１００ではなく、管理計算機１０６において動作してもよい。以上、本実施形態について加えた説明は、下記の他の実施形態にも適用できる。
【０１１５】
第２の実施形態．
第１の実施形態は、コピー・グループ単位のコピー処理において、ストレージ装置２００のコピー機能が有するグループ化機能を利用している。ホスト計算機１００は、ストレージ装置２００にコピー・グループを構成するボリューム・ペアを登録し、ストレージ装置２０００は、登録されているコピー・グループのボリュームをまとめて、コピー処理を実行する。
【０１１６】
本実施形態は、ストレージ装置２００によるコピー・ペア単位でのコピー機能を利用する。コピー制御プログラム４００は、一つもしくは複数のコピー・ペアからなるコピー・グループを定義し、コピー・グループを一つの操作対象として扱う。本実施形態の構成は、図１２のフローチャートが示す処理以外は、第１の実施の形態と同様である。
【０１１７】
図１２は、本実施形態において、コピー制御プログラム４００のコマンド発行処理を示すフローチャートである。コピー制御プログラム４００は、一時停止やペア状態取得など、コピー制御に関する指示を受け取る（ステップＳ１２０１）。次に、受け取ったコマンド・ライン入力に、オプション「一時属性ボリューム・チェック」が記載されているか否かを判定する（ステップＳ１２０２）。
【０１１８】
ステップＳ１２０２での判定が真である場合、コピー制御プログラム４００は、以下の処理を行う。指定されているコピー・グループを対象として、一時属性ボリュームのチェックを行う（ステップ１２０３）。具体的には、オプションで「一時属性ボリューム・チェック」と共に指定されているゲスト番号のゲスト情報５４０を再取得し、そこで得られたボリューム識別子のリストと、コピー制御コマンドで指定されたコピー・グループ番号に対応するコピー・グループ情報５１０に記載されたプライマリボリューム識別子のリストを比較する。
【０１１９】
コピー制御プログラム４００は、Ｓ１２０３でのチェックの結果、コピー・グループ情報５１０の定義と再取得したゲスト情報５４０が示す現在の状態との間に、一時属性ボリュームの不一致があるか否かを判定する（ステップ１２０４）。ステップ１２０４での判定が真であった場合、以下の処理を行う。
【０１２０】
コピー制御プログラム４００は、指定されているコマンドが、コピー・ペアの作成か否かを判定する（Ｓ１２０５）。ステップ１２０５での判定が真である場合、エラー処理を行い（Ｓ１２０６）、コピー制御コマンド発行処理を終了する。ステップＳ１２０５での判定が偽である場合、不一致があることを示すワーニングを出力し（Ｓ１２０７）、ステップＳ１２０８に進む。
【０１２１】
ステップ１２０８において、コピー制御プログラム４００は、ステップ１２０３でのチェックで、コピー・グループ情報５１０に記載されたプライマリボリューム識別子のリストが、再取得したゲスト情報５４０に記載されたボリューム識別子のリストと異なるボリューム識別子を含むか否かを判定する。
【０１２２】
ステップ１２０８での判定が真である場合、他のゲストに割り当てられているボリュームを操作してしまう可能性があるため、再取得したゲスト情報５４０に含まれるボリューム識別子についてのみ、ストレージ装置２００にコピー制御コマンドを発行する（Ｓ１２０９）。
【０１２３】
ステップ１２０２での判定が偽であった場合、ステップ１２０４での判定が偽であった場合又はステップ１２０８での判定が偽であった場合、コピー制御プログラム４００は、要求通り、コピー・グループの全てのボリュームに対するコピー制御コマンドをストレージ装置２００に発行し（Ｓ１２１０）、処理を終了する。
【０１２４】
本実施形態は、コピー・ペアの作成以外にも、コピー・グループ情報に記載した定義の範囲が、対応する仮想計算機に割り当てられているボリュームの範囲より多くのボリュームを含む場合に、その挙動を変える。これにより、コピー・ペアが二つのコピー・グループに含まれている場合、片方のコピー・グループで作成したペアを、もう片方のコピー・グループの操作で停止させるといった、コピー運用阻害を防ぐ。
【０１２５】
以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。
【０１２６】
例えば、上記実施形態において、システム仮想化技術の実現形態として、ハイパーバイザであるＶＭ制御プログラム上で、複数のゲストである仮想計算機が生成される構成を説明した。これと異なり、計算機システムは、通常のＯＳの上で仮想化プログラムを動作させ、その仮想化プログラム上に複数のゲストである仮想計算機を生成するように構成されていてもよい。本発明は、メインフレーム・システム及びオープン・システムのいずれの計算機システムにも適用することができる。
【０１２７】
プログラムはプロセッサ（例えばＣＰＵ）によって実行されることで、定められた処理をメモリ及び通信ポート（通信制御デバイス）を用いながら行う。従って、上記実施形態においてプログラムを主語とする説明は、プロセッサを主語とした説明でもよい。あるいは、プログラムが実行する処理は、そのプログラムが動作する計算機又は情報処理装置が行う処理である。例えば、コピー制御プログラムは、コピー制御を行うコピー・コントローラであり、そのコピー制御プログラムに従って動作するＣＰＵ及び計算機もコピー・コントローラである。
【０１２８】
プログラムの一部又は全部は、専用ハードウェアによって実現されてもよい。プログラムは、プログラム配布サーバや、計算機読み取り可能媒体によって各計算機にインストールすることができ、各計算機の不揮発性外部記憶装置に格納することができる。
【符号の説明】
【０１２９】
１００  ホスト計算機、１０１  ＣＰＵ、１０２  メモリ
１０３  ホスト計算機入出力デバイス、１０４  ストレージＩ／Ｆ、１０５  管理Ｉ／Ｆ
１０７  ＶＭ制御プログラム、１０８  入出力デバイス構成情報
１０９  データ・ネットワーク、１１０  管理ネットワーク、２００  ストレージ装置
２１０  ディスク装置、２２０  ディスク・コントローラ
２２０  ディスク・コントローラ、２２１  ホストＩ／Ｆ、２２２  管理Ｉ／Ｆ
２２３  ディスクＩ／Ｆ、２２４  メモリ、２２５  ＣＰＵ
２２６  ストレージ・マイクロプログラム、２２７  コピー・ペア情報
２３１Ａ〜２３１Ｄ  ボリューム、３０２Ａ、３０２Ｂ  ゲストＯＳ
３０１Ａ〜３０１Ｃ  ＶＭ情報、４００  コピー制御プログラム
５００  コピー制御情報、５１０  コピー・グループ情報、５２０  ペア状態情報
５３０  ストレージ構成情報、５４０  ゲスト情報
【図１】
0005470594.tif 000002
【図２】
0005470594.tif 000003
【図３】
0005470594.tif 000004
【図４】
0005470594.tif 000005
【図５】
0005470594.tif 000006
【図６】
0005470594.tif 000007
【図７Ａ】
0005470594.tif 000008
【図７Ｂ】
0005470594.tif 000009
【図８】
0005470594.tif 000010
【図９】
0005470594.tif 000011
【図１０】
0005470594.tif 000012
【図１１】
0005470594.tif 000013
【図１２】
0005470594.tif 000014