以下に本発明の実施の形態を図面に基づいて説明する。
なお、本発明の実施の形態におけるディスクサブシステムは、前述した特許文献1に記載されているようなコピー機能を有する。すなわち、ホスト計算機等から主ボリューム(複製元のボリューム)にデータの更新指示があった場合、その更新指示と同期をとって連続的に副ボリューム(複製先のボリューム)にコピーする。これを同期転送のリモートコピーと呼ぶ。また、ホスト計算機等から主ボリュームにデータの更新指示があった場合、その更新指示とは無関係に不定期に副ボリュームにコピーする。これを非同期転送のリモートコピーと呼ぶ。
また、このコピー機能は、特許文献3に記載されているように、ペアの状態を管理し、ペアの操作を指示するコマンドを有する。なお、本発明の実施の形態では、ペア未形成をSimplex、二重化過渡中をDuplex−Pending、二重化中をDuplex、中断中をSuspendedとも表記する。
図1は、本発明の実施の形態の計算機システムのブロック図である。
この計算機システムは、一つのホスト計算機100及び二つのデータセンタ(主データセンタ200及び副データセンタ300)によって構成されている。
ホスト計算機100は、主データセンタ200のディスク制御装置220と接続されている。また、主データセンタ200のディスク制御装置220は、副データセンタ300のディスク制御装置320と接続されている。
ホスト計算機100は、主データセンタ200のデータの読み書きやディスク装置270の状態の設定を要求する。
主データセンタ200のディスク制御装置220は、ホスト計算機100の要求に従って、ディスク装置270のデータを読み書きや状態の設定を実行する。
ホスト計算機100は、CPU110、主記憶装置120及びインターフェース(I/F)130によって構成される。また、ホスト計算機100にはホスト計算機サービスプロセッサ(SVP)140が接続される。
CPU110は、ホスト計算機100における処理装置である。すなわち、主記憶装置120に格納されているOSやプログラム等を読み込んで実行し、そのOSやプログラムに規定された処理を実行する。
主記憶装置120は、DRAM等のメモリ装置によって構成される。この主記憶装置120には、OS121、データ多重化構成情報122及びコピー管理プログラム123が格納される。
OS121は、ホスト計算機100のオペレーティングシステムである。OS121がCPU121によって実行されることで、ホスト計算機100の基本的な動作をする。
データ多重化構成情報122は、コピーの対象となるストレージシステムに設定されるコピーグループの情報が格納される。
コピーグループとは、複数のコピーペアをまとめたものである。コピーペアとは、ペアに設定された一組の論理ボリュームに同一のデータを格納する構成である。
例えば、主データセンタ200のディスク装置270の論理ボリュームと、副データセンタ300のディスク装置270の論理ボリュームとでコピーペアを設定する。この場合、ホスト計算機100から主データセンタ200のディスク装置270の当該論理ボリュームに発行されたデータ書き込み要求は、コピーペアが設定された副データセンタ300のディスク装置370の論理ボリュームにも処理される。結果として、コピーペアの設定された主データセンタ200及び副データセンタ300に同一のデータが格納される。このように、物理的に異なる複数のデータセンタにおいてデータを冗長に格納することによって、システムの信頼性を高めることができる。
また、一般的に、計算機システムにおける業務プログラムは、1ボリューム分のデータ容量を越えるデータ量を扱う必要性や、アクセスを並行して実行するといった観点から、複数の論理ボリュームに対してアクセスすることが多い。そのため、コピー機能で複製を作成する場合でも、それら複数のボリュームを一つのグループとして処理する。また、個々のボリュームに対応するペアを、一つのグループとして設定又は操作する。本発明の実施の形態では、このペアのグループを「コピーグループ」と呼ぶ。
データ多重化構成情報122は、コピーグループ定義情報1221を含んで構成される。このコピーグループ定義情報1221は、どのコピーペアがどのコピーグループに属するかの情報が格納される。
コピー管理プログラム123は、主データセンタ及び副データセンタに設定されたコピーグループ及びそれらに対するコピー操作を管理するプログラムであり、CPU120に読み込まれて実行される。
I/F130は、主データセンタ200のディスク制御装置220とデータを送受信するインターフェースである。
ホスト計算機SVP140は、管理者等の指示よって、ホスト計算機100にメンテナンス等の指示を入力する入出力用の制御端末である。
主データセンタ200は、ストレージシステム210及びディスク装置SVP280によって構成される。
ストレージシステム210は、ディスク制御装置220及びディスク装置270によって構成される。
ディスク制御装置220は、CPU230、制御メモリ240、I/F250及びI/F260によって構成される。また、ディスク制御装置220にはディスク装置270が接続される。
CPU230は、ディスク制御装置220における処理装置である。
制御メモリ240は、DRAM等のメモリで構成される。制御メモリ240には、コピー処理部241及びアクセス制御リスト(ACL)242が格納される。また、制御メモリ240には、ディスク制御装置220に接続されたディスク装置270の状態に関する情報(例えば論理ボリュームやコピーペアの状態等)が格納される。
コピー処理部241は、ディスク装置270のコピー処理を実行するプログラムであり、CPU230に読み込まれて実行される。
アクセス制御リスト(ACL)242は、ディスク装置270の論理ボリュームの属性に関する設定が格納される。
ディスク装置270は、一つ以上のディスクドライブから構成される。これらのディスクドライブは、RAID構成によって一つ以上の論理的な領域(論理ボリューム)が構成される。なお、図1では、二つの論理ボリュームが示されているが、二つ以上の論理ボリュームが設定されていてもよい。なお、ディスクドライブの構成は、RAID構成には限られない。
本実施形態では、主データセンタ200のディスク装置270及び副データセンタ300のディスク装置370は、それぞれに論理ボリュームが設定される。そして、この主データセンタ200の論理ボリューム及び副データセンタ300の論理ボリューム間でコピーペアが設定される場合を説明する。
ディスク装置SVP280は、管理者等の指示よって、ディスク装置270にメンテナンス等の指示を入力する入出力用の制御端末である。
副データセンタ300は、ストレージシステム310及びディスク装置SVP380によって構成される。これらの構成は、主データセンタ200と同様である。すなわち、ストレージシステム310は、ディスク制御装置320及びディスク装置370によって構成され、ディスク装置370には論理ボリュームが設定される。また、ディスク制御装置320は、CPU330、制御メモリ340、I/F350及びI/F360によって構成される。また、制御メモリ240には、コピー処理部341及びACL342が格納される。
次にコピーペアの処理について説明する。
コピーペアの設定は、ホスト計算機100又はディスク装置SVP280から設定する。コピーペアの処理には、例えば、論理ボリューム間で新たなコピーペアを設定するコピーペア生成、設定されたコピーペアを削除し論理ボリュームのペア関係を解除するコピーペア削除、設定されたコピー処理を中断するコピーペア中断、中断されたコピー処理を再開するコピーペア再開等がある。
ホスト計算機100は、コピーペアの設定のために、主データセンタ200のディスク制御装置220に、コマンドデータ400を送信する。
このコマンドデータ400は、コマンドパラメタ410と、ACL指定パラメタ420とを含む。
コマンドパラメタ410は、コマンドの内容、主ボリューム、副ボリュームの指定、コピー種別(同期、非同期等)を指示する情報が格納される。コマンドの内容は、前述したように、コピーペア生成、コピーペア削除、コピーペア中断、コピーペア再開等が指定される。
アクセス制御リスト(ACL)指定パラメタ420は、対象の論理ボリュームについて、書き込み禁止、読み込み禁止、次のコピー相手、次のペア相手等を指定する情報が格納される。
ディスク制御装置220は、受信したコマンドデータ400を解析して、当該コマンドデータ400に指示された内容に従って、コピーペアを設定する。
より具体的には、ホスト計算機100のコピー管理プログラム123が、コマンドデータ400を生成する。そして、I/F130を介して、生成したコマンドデータ400をディスク制御装置220に送信する。
ディスク制御装置220は、I/F250を介してコマンドデータ400を受信する。受信したコマンドデータ400は、コピー処理部241によって内容が解析される。そして、解析された内容に従ってコピー処理を実行する。
また、コピー処理部241は、コマンドデータ400によって指示されたコピーペアの相手となる副データセンタ300のディスク制御装置320に送信するコマンドデータ400を生成する。そして、生成したコマンドデータ400を、I/F250を介してディスク制御装置320に送信する。
副データセンタ300のディスク制御装置320は、I/F350を介してコマンドデータ400を受信する。受信したコマンドデータ400は、コピー処理部341によって内容が解析される。そして、解析された内容に従って、自ディスク制御装置320に接続されているディスク装置370に、I/F360を介してペアの設定を実行する。
また、ACLチェック/設定部3412は、ACL指定パラメタ420の内容に基づいて、ACL342を設定する。
このような処理によって、正データセンタ及び副データセンタの論理ボリュームのコピーペアの設定ができる。
図2は、制御メモリ240に格納されるコピー処理部241のブロック図である。
コピー処理部241は、コマンド受信部2411、ACLチェック/設定部2412及びコマンド処理部2413を含む。
コマンド受信部2411は、ディスク制御装置220が受信したコマンドデータの内容を解析する。そして解析の結果、必要に応じてコマンドパラメタ410の内容又はACL指定パラメタの内容を、ACLチェック/設定部2412及びコマンド処理部2413に送る。
ACLチェック/設定部2412は、ACL指定パラメタ420の内容に従って、ディスク装置270の論理ボリュームにACL242を設定する。また、このACL242に設定された内容と相違するコマンドを拒否する処理をする。
コマンド処理部2413は、コマンドパラメタ410の内容に従ってコピー処理を実行する。
なお、副データセンタ300のディスク制御装置320のコピー処理部341も、同様の構成である。
図3は、コマンドデータ400に含まれるコマンドパラメタ410の一例のブロック図である。
コマンドパラメタ410は、コマンド内容4101、P−VOL4102、S−VOL4103を含む。
コマンド内容4101は、コマンドデータ400の指示するコマンドの内容が格納される。P−VOL4102は、コピーペアの主側の論理ボリュームの識別子が格納される。S−VOL4103は、コピーペアの副側の論理ボリュームの識別子が格納される。
図3の例では、「ペア削除」コマンドが指示されている。そしてこのコピーペア削除の指示対象は、主側の論理ボリュームが、ディスク制御装置220「A」のボリューム「00」であり、副側の論理ボリュームが、ディスク制御装置220「B」のボリューム「00」のコピーペアであることが指示されている。
このコマンドデータ400を受け取ったディスク制御装置220「A」は、このコマンドパラメタ410の指示に従って、主側である論理ボリューム「00」と、副側であるディスク制御装置220「B」のボリューム「00」とのコピーペアを削除する。
図4は、コマンドデータ400に含まれるACL指定パラメタ420の一例のブロック図である。
ACL指定パラメタ420は、ペアに含まれる論理ボリュームに設定されるACLを指定するための情報であり、必要に応じてコマンドデータ400に付加される。
ACL指定パラメタ420は、主側論理ボリュームに対する指示(P−VOL対象指示4201、Simplex時のReadプロテクト4202、Simplex時のWriteプロテクト4203、次のコピー種別4204、次のペア相手4205)、及び、副側論理ボリュームに対する指示(S−VOL対象指示4206、Simplex時のReadプロテクト4207、Simplex時のWriteプロテクト4208、次のコピー種別4209、次のペア相手4210)を含む。また、必要に応じて、主側又は副側の論理ボリュームに設定条件4211を含む。
P−VOL対象指示4201は、主側の論理ボリュームに、当該ACL指定パラメタを適用するか否かの情報である。
Simplex時のReadプロテクト4202は、コマンド実行によりSimplex状態になった論理ボリュームに、Readプロテクト、すなわち読み込み禁止を設定するか否かの情報である。
なお、Simplex状態とは、論理ボリュームにコピーペアが設定されていない単独状態を示す。
Simplex時のWriteプロテクト4203は、コマンド実行によりSimplex状態になった論理ボリュームに、Writeプロテクト、すなわち書き込み禁止を設定するか否かの情報である。
次のコピー種別4204は、Simplex状態から新たにコピーペアを生成する場合に、その新たなコピー処理の種別の情報である。
次のペア相手4205は、Simplex状態から新たにコピーペアを生成する場合に、その新たなコピーペアの相手となる論理ボリュームの識別子である。
設定条件4211は、コマンドデータ400によるディスク制御装置220への指示が成功した場合にのみ、ACL242の指定を有効にする指示である。
ACL指定パラメタ420は、ホスト計算機100が、論理ボリュームのコピーペアを削除する指示を送信するときに、コマンドデータ400に含められる。
論理ボリュームがSimplex状態のときは、その論理ボリュームに要求されたアクセスが実行される可能性がある。そのため、元々コピーされ、同一のデータが格納された論理ボリュームが、ペア削除コマンド等によってSimplex状態になったときは、外乱(想定外のデータの書き込みや想定外の論理ボリュームとのペアの生成)を受ける可能性がある。
このことを防ぐために、ホスト計算機100は、コピーペアの削除を指示するコマンドパラメタ410と、ACL指定パラメタ420とを、コマンドデータ400によって送信する。このACL指定パラメタ420によって、Simplex状態の論理ボリュームに対する制限を指示する。
ディスク制御装置220は、受信したコマンドデータ400に含まれるコマンドパラメタ410の内容に従って、コピーペアを削除する。
このとき、ディスク制御装置220は、ACL指定パラメタ420の内容に従って、ペアが削除されSimplex状態の各論理ボリュームの制限の内容であるACL242を設定する。
ACLチェック/設定部2412は、I/F250を介して受信した他のコマンド(論理ボリュームへの読み込み、書き込み、ペアの生成等)の実行の可否を、ACL242を参照して決定する。ACL242に制限が設定されている場合、例えば、書き込み禁止が設定されている場合は、当該論理ボリュームへの書き込みは実行しないことを決定する。
なお、このACLチェック/設定部2412よる論理ボリュームのへの制限を、以降は「ガード」と呼ぶ。
図5は、ACL242のブロック図である。
ACL242は、ディスク装置270に設定された論理ボリューム毎に設定され、制御メモリ240に格納される。
ACL242は、ディスク制御装置220のディスク装置270に設定された論理ボリューム毎に、その属性を設定する。
図5の例では、論理ボリューム「00」は、ガード有無2422が「有効」に設定されている。すなわち、論理ボリューム「00」のガードが設定されていることが示されている。このガードの内容は、Simplex時のReadプロテクト2423が「なし」に、Simplex時のWriteプロテクト2424が「あり」に設定されている。また、次のコピー種別2425が「非同期コピー(S)」に、次のペア相手2426がディスク制御装置「B」の論理ボリューム「00」に、それぞれ設定されている。
また、論理ボリューム「01」は、ガード有無2428が「無効」に設定されている。すなわち、この論理ボリューム「01」には、ガードが設定されていないことが示されている。
図6は、コピーグループ定義情報1221のブロック図である。
コピーグループ定義情報1221は、コピーグループ毎に、コピーグループ番号12211、コピー種別識別子12212、関連有無フラグ12214、及び、一つ以上のペア情報(12215、12216・・・)を含む。
コピーグループ番号12211は、当該コピーグループの識別子である。
コピー種別識別子12212は、当該コピーグループのコピー種別(同期、非同期等)の識別子である。
関連有無フラグ12214は、当該コピーグループに設定されている論理ボリュームに、さらに別のコピーグループが設定されているか否かの情報である。例えば、当該コピーグループのペア情報に含まれる副ボリュームが、他のコピーグループ定義情報の主ボリュームになっている場合は、この関連有無フラグ12214に「1」が設定される。当該コピーグループのペア情報に含まれる主ボリューム及び副ボリュームが、いずれのコピーグループ定義情報にも含まれない場合は「0」が設定される。
ペア情報12215は、コピーグループに設定されているコピーペアの識別子である。ペア情報12215は一つであってもよいし、図6の例のように複数設定されていてもよい。
なお、このコピーグループ定義情報1221は、予め管理者等によって設定され、ホスト計算機100の主記憶装置120に格納される。また、コマンドデータ400の生成時に、コピーグループ定義情報1221を作成してもよい。
図7は、ペア情報12215のブロック図である。
ペア情報12215は、当該コピーペアがどの論理ボリュームによって構成されているかの情報である。
ペア情報12215は、P−VOL番号122151、P−VOL装置番号122152、S−VOL番号122153、及び、S−VOL装置番号122154を含む。
P−VOL番号122151は、コピーペアの主側の論理ボリュームの識別子である。P−VOL装置番号122152は、コピーペアの主側のディスク制御装置の識別子である。
S−VOL番号122153は、コピーペアの副側の論理ボリュームの識別子である。S−VOL装置番号122154は、コピーペアの副側のディスク制御装置の識別子である。
このペア情報12215は、予め管理者等によって設定され、ホスト計算機の主記憶装置120に格納される。
図8は、コピー処理の制御コマンド作成に用いる指示パラメタ150のデータ構成である。指示パラメタは、ユーザーの指示によって、入力装置やホスト計算機SVP140を介してホスト計算機100に入力される。
コマンド内容15001は、ディスク制御装置に指示するコピー処理の種別を示したものである。コマンド内容15001には、例えば、「ペア削除」や「ペア生成」などのペア制御指示コマンドが指示される。
P−VOLパラメタ15002は、コマンド内容15001のコマンド実行後に、P−VOLに対して指定する要求の内容である。具体的には、Readプロテクト、Writeプロテクト、又はその両方を要求するか否かを指定する。なお、Readプロテクトとは、ボリューム内容の読み出しを拒否することを示す。また、Writeプロテクトとは、ボリュームへの書き込みを拒否することを示す。指示パラメタ150は、「Readプロテクトあり」「Writeプロテクトあり」「Read・Writeプロテクト両方あり」のいずれかを指示する。
S−VOLパラメタ15003は、コマンド内容15001のコマンド実行後に、S−VOLに対して指定する要求の内容である。具体的には、Readプロテクト、Writeプロテクト、又はその両方を要求するか否かを指定する。指示方法はP−VOLパラメタ15002と同様である。
次コピー指示15004は、コマンド内容15001のコマンド実行後に、P−VOL又はS−VOLに設定する次のコピー種別を指定する。対象となるペアのボリュームと、次のコピー種別と、対象となるペアのボリュームが次のペアでP−VOLもしくはS−VOLのいずれになるかを指示する。図の例では、「Sが非同期コピー(P)」である。これは、コマンド実行対象のペアのS−VOLが受け付ける次のコピー種別は非同期コピーであり、その非同期コピーのP−VOLである、というペア指示が許可される指示を示す。
なお、この次コピー指示15004の内容は、「S(P)」のようにコピー種別を省略して、現在のS−VOLが次回はP−VOLに設定する指示、「Pが非同期コピー、Sが非同期コピー」のように、次のP−VOL及びS−VOLを省略して、P−VOL及びS−VOLが、次は非同期コピーとしてペア指示される指示としてもよい。
次グループ情報15005は、コマンド内容15001のコマンド実行後に、P−VOL又はS−VOLに設定する次のペアの相手情報を割り出すためのコピーグループ定義情報を指示する。次のペアの相手を指定する必要がない場合は、NULL等の記号を格納して内容を省略指示可能である。なお、この次グループ情報15005から求めたコピー種別を、次のコピー種別としてもよい。
次に、本発明の計算機システムの具体的な処理を説明する。
図9A乃至図9Cは、論理ボリュームのコピーペアの設定の説明図である。
これらの図は、主データセンタ200のストレージシステム210及び副データセンタ300のストレージシステム310に設定されている論理ボリューム00及び論理ボリューム01のコピーペアの設定の遷移を示す。
図9Aに示す計算機システムでは、ストレージシステム210の論理ボリューム00を主側とし、ストレージシステム310の論理ボリューム00を副側とした同期コピーペアが設定されている。また、ストレージシステム210の論理ボリューム01及びストレージシステム310の論理ボリューム01は、コピーペアが設定されていない状態である。なお、ここでは説明の簡略化のために、コピーグループは一つのコピーペアのみを含む。コピーグループに二つ以上のコピーペアが含まれていても、処理の手順は同じである。
ここでは主データセンタ200から副データセンタ300の向きにコピーされているペアを、ホスト計算機システム100のメンテナンスや障害時のフェイルオーバ等のために、一旦コピーの向きを逆向きに変更し、副データセンタをコピー元として運用し、かつ、性能上等の理由から逆向きにコピーしている間は同期コピーを非同期コピーに変更して運用するケースについて説明をする。
手順は、コピーペアを一旦削除し、コピーペアの向き(正側と副側)が逆で、かつ、コピー種別が非同期のペアを生成する。
ホスト計算機100は、まず、コピーペアの削除を指示するためにコマンドデータ400を生成し、送信する。
このコマンドデータ400には、コピーペアの削除を指示するコマンドパラメタ410と、Simplex時のガードを指示するACL指定パラメタ420が含まれる。
このコマンドパラメタ410は、次のような内容となる。すなわち、コマンド内容4101は「ペア削除」が、P−VOL4102はストレージシステム210の論理ボリューム00が、S−VOL4103はストレージシステム310の論理ボリューム00が、それぞれ格納される。
また、ACL指定パラメタ420は、次のような内容となる。すなわち、P−VOL対象指示4201及びS−VOL対象指示4206は、いずれも「有効」が格納される。そのため、正側及び副側の論理ボリュームは、ACLによるガード機能が指示される。その内容は、いずれの論理ボリュームにおいて、Simplex時のReadプロテクトは「なし」、Simplex時のWriteプロテクトは「あり」に設定される。これによって、Simplex状態となった各論理ボリュームは、読み出しは可能であるが書き込みは不可能となる。
また、次のコピー種別4204が「非同期コピー(S)」に、次のペア相手4205はストレージシステム310の論理ボリューム00と設定される。これによって、正側の論理ボリューム、すなわち、ストレージシステム210の論理ボリューム00は、次のコピーペアは、自身が(S)すなわち副側となり、コピー種別が「非同期」であり、そのコピーペアの相手は、ストレージシステム310の論理ボリューム00に設定される。ディスク制御装置320は、それ以外のコピーペアの生成要求を拒否する。
同様に、副側のボリューム、すなわち、ストレージシステム310の論理ボリューム00は、次のコピーペアは、自身が(P)すなわち正側となり、コピー種別が「非同期」であり、そのコピーペアの相手は、ストレージシステム210の論理ボリューム00に設定される。ディスク制御装置320は、それ以外のコピーペアの生成要求を拒否する。
このACL設定パラメタ420の内容に従って、ACL242が設定される。ディスク制御装置320は、ACL242に設定された以外の指示を拒否する。
図9Bは、コピーペアが削除されたときの各ディスク装置270の状態を示す。
ストレージシステム210の論理ボリューム00及びストレージシステム310の論理ボリューム00は、コピーペアが削除され、Simplex状態となる。
また、前述したACL指定パラメタ420に従って、ストレージシステム210及びストレージシステム310のACL242が設定される。設定されたACL242によって、ストレージシステム210の論理ボリューム00及びストレージシステム310の論理ボリューム00がガードされた状態となる。
次に、新たなコピーペアを生成する。
ホスト計算機100は、ペア生成を指示するためにコマンドデータ400を生成し、送信する。なお、主データセンタ200に接続されたホスト計算機100がコマンドデータ400を送信してもよいし、他のデータセンタ(例えば副データセンタ300)に接続されたホスト計算機が送信してもよい。また、ストレージシステム310のディスク装置SVP380から設定してもよい。
このコマンドデータ400は、コマンド生成を指示するコマンドパラメタ410が含まれる。
このコマンドパラメタ410は、コマンド内容4101には「ペア生成」が、P−VOL4102にはストレージシステム310の論理ボリューム00が、S−VOL4103にはストレージシステム210の論理ボリューム00が、それぞれ格納される。
このコマンドデータ400を受け取ったディスク制御装置220は、コマンドパラメタ410の指示に従って、論理ボリュームのペアを生成する。
このとき、ACLチェック/設定部2412は、コマンドパラメタ410の指示と、ACL242の設定とを比較して、論理ボリュームのペア生成の可否を決定する。すなわち、ACLチェック/設定部2412は、コマンドパラメタ410の指示が、ACL242に設定された次のコピー種別2425及び次のペア相手2426と相違ないかを判定する。判定の結果、相違ない場合は、ACLチェック/設定部2412は、当該ペア生成を許可する。ACLチェック/設定部2412は、相違がある場合は、当該ペアの生成を拒否する。
図9Cは、新たなペアが生成されたときの各ディスク装置の状態を示す。
新たなコピーペアの生成の結果、ストレージシステム310の論理ボリューム00を主側とし、ストレージシステム210の論理ボリューム00を副側とした非同期コピーペアが設定される。
このようにすることによって、Simplex状態の論理ボリュームを、外乱(予定外のデータの書き込みや、予定外の論理ボリュームとのペア生成)を防ぐことができる。
次に、ホスト計算機100のコマンドデータ400の生成を説明する。
図10は、ホスト計算機100の、コピーペアの削除を指示するコマンドデータ400生成のフローチャートである。
このペア削除指示処理は、コピー管理プログラム123によって実行される。
なお、ペアの生成やペアの削除は、メンテナンスや障害時のフェイルオーバ等において、一連の処理として実行される。この一連の処理を実行するためのプログラムやスクリプト等がCPU110によって実行され、コピーペア削除の指示が必要となったときに、本フローチャートが実行される。その際、管理者等によって、ペア削除コマンドの実行に必要な実行対象コピーグループ指定や、ガードをするか否かを示す指示パラメタ150が入力される。
まず、コピーペアの削除を指示する対象のコピーグループ定義を、データ多重化構成情報122のコピーグループ定義情報1221から読み込む(S1001)。このコピーグループ定義情報1221から、対象のコピーペアを構成するディスク制御装置220の識別子と論理ボリュームの識別子を取得する。
次に、コピーペアが削除された後のSimplex状態の論理ボリュームに、Readプロテクト又はWriteプロテクトの少なくとも一方が要求されているか否かを判定する(S1002)。前述したように、ペアの削除はスクリプト等によって一連の処理の一部として実行される。このスクリプトから、以降予定されている処理(例えばSimplex状態のガードや新たなコピーペア生成)の情報である指示パラメタ150を取得して、設定する。
指示パラメタ150のP−VOLパラメタ15002又はS−VOLパラメタ15003からReadプロテクト又はWriteプロテクトの少なくとも一つが要求されていると判定した場合は、ACL指定パラメタ420の該当する論理ボリュームにプロテクトの指定を設定する(S1003)。
例えば、論理ボリュームにWriteプロテクトを設定する場合は、ACL指定パラメタ420のSimplex時のWriteプロテクト4203を「あり」に設定する。
Readプロテクト及びWriteプロテクトのいずれも要求されていないと判定した場合は、ステップS1003を実行することなくステップS1004に移行する。
ステップS1004では、指示パラメタ150の次コピー指示15004から、次のコピー種別の指定要求があるか否かを判定する。
次のコピー種別指定の要求があると判定した場合は、ACL指定パラメタ420の該当する論理ボリュームに当該コピー種別を設定する(S1005)。例えば、次のコピー種別が、当該論理ボリュームを主側とする非同期コピーである場合は、コピー種別4204に「非同期コピー(P)」を設定する。
次のコピー種別指定の要求がないと判定した場合は、ステップS1005を実行することなくステップS1006に移行する。
ステップS1006では、指示パラメタ150の次グループ情報15005から、次のコピー相手指定の要求があるか否かを判定する。次のコピー相手は、主側の論理ボリュームと副側の論理ボリュームそれぞれについて、要求があるか否かを判定する。
次のコピー相手指定の要求があると判定した場合は、まず、当該論理ボリュームに指定されたコピー相手に関するコピーグループ情報をデータ多重化構成情報122のコピーグループ定義情報1221から読み込む(S1007)。例えば、指示パラメタ150の次グループ情報15005に「1」という記述があった場合は、コピーグループ番号12211が「1」であるコピーグループ定義情報1221を読み込む。
次に、読み込んだコピーグループ定義情報1221から、次のコピーの相手の情報、すなわち、ディスク制御装置の識別子や論理ボリュームの識別子を取得する(S1008)。
次に、取得した情報を、ACL指定パラメタ420の該当する論理ボリュームに次のコピー相手を設定する(S1009)。例えば、主側の論理ボリューム(P−VOL)の次のコピー相手が、ディスク制御装置220「B」の論理ボリューム「00」である場合は、次のペア相手4205に『ディスク制御装置「B」、論理ボリューム「00」』を設定する。
このフローチャートの処理によって、コマンドデータ400のACL指定パラメタ420が生成される。
次に、コマンドデータ400を受信したディスク制御装置220の処理を説明する。
図11は、コマンドデータ400を受信したときのACLチェック/設定部2412の処理のフローチャートである。
この処理はACLチェック/設定部2412によって実行される。
前述したように、ホスト計算機100から送信されたコマンドデータ400は、ディスク制御装置220のI/F250を介して、コピー処理部241に送られる。
コピー処理部241のコマンド受信部2411は、受信したコマンドデータ400を解析する。そして、コマンドデータ400に含まれるコマンドパラメタ410及びACL指定パラメタ420の内容をACLチェック/設定部2412に送る。ACLチェック/設定部2412は、このコマンドパラメタ410及びACL指定パラメタ420の内容を取得して、以降の処理を実行する。
まず、コマンドパラメタ410のコマンド内容4101を参照して、指示されたコマンドが「ペア生成」であるか否かを判定する(S2001)。
ペア生成であると判定した場合は、コマンドパラメタ410に指定されている情報のうち、自ディスク制御装置220の論理ボリュームの識別子を取得する。そして、当該論理ボリュームに関するACL242の内容を取得する(S2002)。
ペア生成でないと判定した場合は、ステップS2002乃至ステップS2004を実行することなくステップS2005に移行する。
次に、コマンドパラメタ410の指示が、当該論理ボリュームに関するACL242に設定された条件を満たしているか否かを判定する(S2003)。すなわち、コマンドパラメタ410の指示するコピーペアの種別及びコピー相手が、ACL242に設定された次のコピー種別2425及び次のペア相手2426と相違ないか否かを判定する。
コマンドパラメタ410の指示内容が、取得したACL242に設定された条件を満たしていないと判定した場合は、処理を終了する。このとき、制御メモリ240にコマンドがエラーとなった旨を登録する。
コマンドパラメタ410の指示内容が、取得したACL242に設定された条件を満たしていると判定した場合は、ステップS2004に移行する。
ステップS2004では、まず、ACL242の当該論理ボリュームに関する内容を削除する。
次に、コマンドデータ400のACL指定パラメタ420に、自ディスク制御装置220の論理ボリュームへの指示が有効と設定されているか否かを判定する(S2005)。
自ディスク制御装置220の論理ボリュームへの指示が有効に設定されていると判定した場合は、ACL242の当該論理ボリュームの項目に、ACL指定パラメタ420の指示内容を設定する(S2006)。
自ディスク制御装置220の論理ボリュームへの指示が有効に設定されていないと判定した場合は、ステップS2006を実行することなくステップS2007に移行する。
ステップS2007では、コマンドデータ400のコマンドパラメタ410の内容をコマンド処理部2413に送る。コマンド処理部2413は、当該コマンドパラメタ410の内容に基づいて、コマンド処理を実行する。
このコマンド処理によって、コマンドパラメタ410の指示(例えばペア生成、ペア削除)が実行される。
このコマンド処理の終了後、本フローチャートは終了する。
以上のフローチャートの処理によって、要求されたコマンドを処理し、ACL242を設定する。例えば論理ボリュームのペア生成が要求された場合は、設定されたACL242の内容を満たしている場合のみ、ペア生成要求を実行することを決定する。
図12は、図11のステップS2007のコマンド処理のフローチャートである。
この処理はコマンド処理部2413によって実行される。
まず、受け取ったコマンドパラメタ410の内容を参照し、コマンドの種別を判定する(S3001)。
コマンドの種別がペア削除であると判定した場合は、ステップS3002に移行する。コマンドの種別がペア削除以外のコマンドであった場合は、ステップS3010に移行する。
ステップS3010では、コマンドパラメタ410の指示に従ったコマンド処理を実行する。例えば、コピーペア生成の指示である場合は、指示された主側の論理ボリューム及び副側の論理ボリュームに関するステータスをコピーペアに変更する。このステータスは制御メモリ240に設定する。
ステップS3002では、コマンドパラメタ410の内容を取得する。
次に、自ディスク制御装置220が、コピー処理の制御元であるか否かを判定する(S3003)。
コピー処理の制御元とは、複数のディスク制御装置によって構成される計算機システムにおいて、コピーペア処理の主体となる装置である。
ホスト計算機100は、コマンドデータ400を、直接接続されている主データセンタ200のディスク制御装置220に送信する。ディスク制御装置220は、自身がコピー処理の制御元に設定されている場合は、受け取ったコマンドデータ400を処理する。一方、主データセンタ200のディスク制御装置220がコピー処理の制御元に設定されていない場合は、受け取ったコマンドデータ400のコマンドの内容を、コピー処理の制御元に設定されているディスク制御装置(例えば、副データセンタ300のディスク制御装置320)に転送する。そして当該ディスク制御装置320が、受け取ったコマンド内容に従って、ステップS3004以降の処理をする。
自ディスク制御装置220がコピー処理の制御元であると判定した場合は、ステップS3004に移行する。自ディスク制御装置220がコピー処理の制御元ではないと判定した場合は、ステップS3011に移行する。
ステップS3011では、コマンドパラメタ410の内容を、コピー処理制御元に設定されているディスク制御装置220に、I/F250を介して送信する。そして、処理を終了して図11のフローチャートに戻る。
ステップS3004では、取得したコマンドの内容から、コマンドで指示された自ディスク制御装置220の論理ボリュームの識別子を取得する。そして、当該論理ボリュームの状態をチェックする。具体的には、当該論理ボリュームが、コマンドパラメタ410の指示されたものと同じコピーペア状態であるかを判定する。また、当該コピーペアは削除可能であるかを判定する。
次に、コマンドで指示されたペア相手のディスク制御装置320の論理ボリュームの識別子を取得する。そして、当該論理ボリュームの状態をチェックする(S3005)。具体的には、I/F250を介して当該ディスク制御装置320に論理ボリュームの状態を問い合わせるコマンドを送信する。このコマンドの応答結果から、当該論理ボリュームが、コマンドパラメタ410の指示されたものと同じコピーペア状態であるかを判定する。また、当該コピーペアは削除可能であるかを判定する。
次に、コマンドで指示されたペアが削除可能であるか否かを判定する(S3006)。具体的には、ステップS3004及びステップS3005のチェック結果から、コマンドパラメタ410の指示内容と同じコピーペアが設定されており、かつ、当該ペアは削除可能であるか否かを判定する。
ペアが削除可能であると判定した場合は、ステップS3007に移行する。ペアが削除不可能であると判定した場合は、ステップS3012に移行する。
ステップS3012では、コマンド失敗を制御メモリ240に設定して、処理を終了し、図11のフローチャートに戻る。
ステップS3007では、図13で説明するペア削除ジョブを起動する。このペア削除ジョブによって、ペアの削除が実行される。
次に、ペア削除ジョブの起動が成功したか否かを判定する(S3008)。
ペア削除ジョブの起動に成功したと判定した場合は、ステップS3009に移行し、コマンド成功を制御メモリ240に設定して、処理を終了し、図11のフローチャートに復帰する。
ペア削除ジョブの起動に失敗したと判定した場合は、ステップS3012に移行し、コマンド失敗を制御メモリ240に設定して、処理を終了して図11のフローチャートに復帰する。
以上のフローチャートの処理によって、コマンドパラメタ410の指示が実行される。
図13は、図12のステップS3007のペア削除ジョブのフローチャートである。
このフローチャートは、図12のコマンド処理のサブルーチンとして、コマンド処理部2413によって実行される。
ペア削除ジョブが起動されると、まず、処理対象のコピーペアのコピーデータの生成を停止する(S4001)。
ペア削除ジョブが起動された時点では、ホスト計算機100からのI/O要求に従って、コピーデータの生成、すなわち、主側の論理ボリュームから副側の論理ボリュームへのコピーデータが送信されている。そこで、このI/O要求の受付を停止し、コピーデータの送信を停止する。
次に、主側論理ボリュームの未反映のコピーデータを副側の論理ボリュームに送信して、コピーデータを反映させる(S4002)。この処理は、特に非同期コピーペアの場合、コピーデータの送信を停止した時点で、副側ボリュームに未反映のコピーデータが主側ボリュームに残っている、そこで、この未反映のコピーデータを副側のボリュームに全て反映させる。
次に、コピーペアの各論理ボリュームのステータスを、Simplexに変更する(S4003)。この処理によって、コピーペアが削除され、各論理ボリュームがSimplex状態となる。このステータスは制御メモリ240に設定する。
次に、前記ステップS4001乃至ステップS4003の処理が正常に終了し、コピーデータの反映及びSimplex状態の変更が正常に完了したかを判定する(S4004)。
処理が正常に終了したと判定した場合は、処理を終了して、図12のフローチャートに復帰する。
処理が正常に終了していないと判定した場合は、ACL指定パラメタ420の設定条件4211を参照する。設定条件4211に、「コマンド成功」が設定されている場合は、当該設定条件に対応する論理ボリュームの、ACL242の該当する項目を無効にする(S4005)。
設定条件4211が「コマンド成功」に設定されている場合は、コマンドが成功した場合のみ、ACL242の設定を有効とする指示である。そのため、コマンドが失敗した場合は、図11のステップS2006において設定された当該論理ボリュームのACL242の設定を、無効にする。
このステップS4005の処理は、例えばペア削除の指示が失敗したにもかかわらずACL242によるガードを有効に設定してしまうと、論理ボリュームのアクセス設定に不整合が発生する。このことを防ぐために、コマンドが失敗した場合には、その論理ボリュームへのACL242によるガードを無効にする。またこのとき、コマンド失敗を制御メモリに設定する。
このステップS4005の処理が終了すると、図12のフローチャートに復帰する。
以上のフローチャートの処理によって、コピーペアの削除が実行される。
以上のように、本発明の実施の形態の計算機システムでは、ホスト計算機100は、コピーペア削除の指示を発行する際に、Simplex状態の論理ボリュームの状態及び次のコピーペアの情報を指定する。この指定によって、論理ボリュームのガードが有効となる。このガードによって、コピーペアが削除されたSimplex状態の各論理ボリュームへの外乱(例えば、想定外のデータの書き込みや想定外の論理ボリュームへのペアの生成)を防ぐことができ、計算機システムのデータの一致性を保つことができ、計算機システムの信頼性を高めることができる。
また、コピーペア削除時に同時にACL240を送信するので、コピーペアの制御とSimplex状態の論理ボリュームのガード制御とを一括して管理できる。そのため、設定ミスによって不用意なアクセスがなされるといった設定のすり抜けを防止することができる。
なお、本実施形態では、ペア削除のコマンドを契機として、ガードの内容を指示したが、コピーペアの削除指示に限らない。例えば、コピーペアの生成、コピーペアの中断、コピーペア再開等のコマンド指示時に、以降予定されるコピーペア削除要求によるSimplex状態のガードの内容を指示してもよい。
また、コピー削除のときに、論理ボリュームをSimplex状態としたが、副側の論理ボリュームを解除しない状態としてもよい。副側の論理ボリュームは主側の論理ボリュームからのコピーデータのみを受け付けるので、主側論理ボリュームのみ解除された状態は他のコマンドを受け付けない、すなわちガード状態となる。
また、本実施形態では、次のコピー種別及び次のコピー相手をガードとして設定し、この条件に合致するコマンドをガード解除の契機とした。これに対して、コマンドに識別子を設定し、ACL指定パラメタ420がその識別子を指定して、ACL242にその識別子を設定する。そして、識別子と合致するコマンドが指定されたときにのみそのコマンドを実行するようにしてもよい。
次の本発明の実施の形態の変形例について説明する。
図14A乃至図14Cは、論理ボリュームのコピーペアの設定の変形例の説明図である。
これらの図は、主データセンタ200のストレージシステム210のディスク装置270及び副データセンタ300のストレージシステム310のディスク装置370それぞれに設定されている論理ボリュームJNR0、JNR1、P及びSのコピーペアの設定の遷移を示す。
ここでは、ジャーナルと呼ばれるボリュームを用いた非同期リモートコピー(本実施形態では非同期タイプ1と呼ぶ)と、ジャーナルを用いない非同期リモートコピー(本実施形態では非同期タイプ2と呼ぶ)の2つのリモートコピー機能を有する計算機システムにおいて、非同期タイプ1のリモートコピーのペアを運用する場合の適用ケースを説明する。詳しくは、ジャーナルの論理ボリュームのメンテナンスを実施する場合を説明する。
図14Aにおいて、ストレージシステム210の論理ボリュームPを主側とし、ストレージシステム310の論理ボリュームSを副側とした非同期タイプ1の非同期コピーペアが設定されている。
また、この非同期リモートコピーは、ストレージシステム210の論理ボリュームJNR0及びストレージシステム310の論理ボリュームJNR1を、リモートコピー制御のために利用している。
ストレージシステム210のディスク制御装置220は、論理ボリュームPに格納されるリモートコピーの対象となるデータが更新されるときに、その更新に基づいてジャーナルを作成する。作成されたジャーナルは論理ボリュームJNR0に格納する。この論理ボリュームJNR0のジャーナルは非同期コピー機能によって副データセンタの論理ボリュームJNR1にコピーされる。ストレージシステム310のディスク制御装置320は、論理ボリュームJNR1コピーされたジャーナルのデータを、論理ボリューム「S」に反映する。その結果、主データセンタ200の論理ボリューム「P」のデータの更新が、副データセンタ300の論理ボリューム「S」に反映される。
ここで、ジャーナルを格納する論理ボリュームJNR0をメンテナンスする場合について説明する。メンテナンスとは、例えば、論理ボリュームの容量を変更したり、別の論理ボリュームに変更する場合である。
ここではまず、論理ボリュームJNR0とJNR1を用いるように設定されたコピーペアを一旦削除する。
ホスト計算機100は、まず、ペア削除を指示するためにコマンドデータ400を生成し、送信する。
このコマンドデータ400には、ペア削除を指示するコマンドパラメタ410と、Simplex時のガード及び次のコピーペアの情報を指示するACL指定パラメタ420が含まれる。
このコマンドパラメタ410は、コマンド内容4101は「ペア削除」が、P−VOL4102はストレージシステム210の論理ボリュームPが、S−VOL4103はストレージシステム310の論理ボリュームSが、それぞれ格納される。
また、ACL指定パラメタ420は、P−VOL対象指示4201は「有効」が、S−VOL対象指示4206は「有効」が、格納される。そのため、主側及び副側の論理ボリュームに、ガード機能が指示される。その内容は、Simplex時のReadプロテクトは「なし」、Simplex時のWriteプロテクトは「あり」に設定される。これによって、Simplex状態となった各論理ボリュームは、読み出しは可能であるが書き込みは不可能となる。
また、P−VOLの次のコピー種別4204が「非同期コピータイプ2(P)」に、P−VOLの次のペア相手4205がストレージシステム310の論理ボリュームSに、S−VOLの次のコピー種別4209が「非同期コピータイプ2(S)」に、S−VOLの次のペア相手4210がストレージシステム210の論理ボリュームPに、それぞれ設定される。
このACL設定パラメタ420の内容に従って、ACL242及びACL342が設定される。ACL242及びACL342に設定された以外の指示(例えば論理ボリュームSへのペア削除中のデータの書き込み)は不可能となる。
次に、ホスト計算機100は、論理ボリュームPとSとで非同期タイプ2のコピーペアを生成するために、ペア生成を指示するためにコマンドデータ400を生成し、送信する。
このコマンドデータ400には、非同期タイプ2のコピーペア生成を指示するコマンドパラメタ410が含まれる。
図14Bは、非同期タイプ1のコピーペアが削除され、非同期タイプ2のコピーペアが生成されたときの計算機システムの状態を示す。
論理ボリュームJNR0及び論理ボリュームJNR1は、ペアが削除され、未使用の状態になっている。
また、論理ボリュームP及び論理ボリュームSは、非同期タイプ2の同期コピーペアが設定されている。
この状態で、論理ボリュームJNR0のメンテナンスを実施する。
メンテナンス終了後、元のペア状態に戻すため、非同期タイプ2のペアを削除し、非同期タイプ1のペアを生成する。
ホスト計算機100は、まず、非同期タイプ2のペア削除を指示するためにコマンドデータ400を生成し、送信する。
このコマンドデータ400には、ペア削除を指示するコマンドパラメタ410と、Simplex時のガード及び次のコピーペアの情報を指示するACL指定パラメタ420が含まれる。
このコマンドパラメタ410は、コマンド内容4101は「ペア削除」が、P−VOL4102はストレージシステム210の論理ボリュームPが、S−VOL4103はストレージシステム310の論理ボリュームSが、それぞれ格納される。
また、ACL指定パラメタ420は、P−VOL対象指示4201は「有効」が、S−VOL対象指示4206は「有効」が、格納される。そのため、主側及び副側の論理ボリュームに、ガード機能が指示される。その内容は、Simplex時のReadプロテクトは「なし」、Simplex時のWriteプロテクトは「あり」に設定される。これによって、Simplex状態となった各論理ボリュームは、読み出しは可能であるが書き込みは不可能となる。
また、P−VOLの次のコピー種別4204が「非同期コピータイプ1(P)」に、P−VOLの次のペア相手4205はストレージシステム310の論理ボリュームSと、S−VOLの次のコピー種別4209が「非同期コピータイプ1(S)」に、S−VOLの次のペア相手4210はストレージシステム210の論理ボリュームPにそれぞれ設定される。
このACL設定パラメタ420の内容に従って、ACL242及びACL342が設定される。ACL242及びACL342に設定された以外の指示(例えば論理ボリュームSへのペア削除中のデータの書き込み)は不可能となる。
次に、ホスト計算機100は、論理ボリュームPとSとでJNL0及びJNL1を用いる非同期タイプ1のコピーペアを生成するために、ペア生成を指示するためにコマンドデータ400を生成し、送信する。
このコマンドデータ400には、非同期タイプ1のコピーペア生成を指示するコマンドパラメタ410が含まれる。
図14Cは、非同期タイプ2のコピーペアが削除され、非同期タイプ1のコピーペアが生成されたときの計算機システムの状態を示す。
この結果、図14Aと同様のコピーペアが復元される。そして、ジャーナルによるリモートコピーを再開できる
このようにすることによって、ジャーナルを用いた非同期リモートコピーが設定されている計算機システムにおいて、ジャーナルの論理ボリュームといったハードウェア資源に対するメンテナンスを実施することができる。このメンテナンスの期間中に、別のコピー機能を用いて引き続きコピーすることによって、計算機システムのデータの一致性を保ち、計算機システムの信頼性を高めることができる。また、その別のコピー機能への引継ぎを確実に実施することができ、さらに計算機システムの信頼性を高めることができる。
次に、別の変形例について説明する。
これまでは、二つのデータセンタ(主データセンタ200及び副データセンタ300)によって構成された計算機システム(図1参照)の論理ボリュームのコピーペアの設定について説明した。しかし、本発明は、二つのデータセンタのみではなく、それ以上のデータセンタによって構成された計算機システムでも適用できる。
以下に説明する変形例では、三つのデータセンタによって構成された計算機システムの例について説明する。ここでは、計算機システムの一部に障害が発生し、障害の復帰(フェイルオーバ)のために、計算機システムに設定されているコピーペアの設定を変更する場合について説明する。
図15Aは、三つのデータセンタによるカスケード構成の計算機システムのブロック図である。
主データセンタ200のストレージシステム210のディスク装置270の論理ボリューム01と、副データセンタ300のストレージシステム310のディスク装置370の論理ボリューム11とで、同期コピーペアが設定されている。また、副データセンタ300のストレージシステム310のディスク装置370の論理ボリューム11と、副データセンタ500のストレージシステム510のディスク装置570の論理ボリューム21とで、非同期コピーペアが設定されている。なお、このようにコピーペアが連鎖した構成をカスケード構成と呼ぶ。
なお、ストレージシステム210、ストレージシステム310及びストレージシステム510の構成は同一である。
ここで、主データセンタ200に接続されたホスト計算機100のみに障害が発生した場合を説明する。
ホスト計算機100のみに障害が発生したときは、ホスト計算機に接続されている主データセンタ200のディスク装置270は稼働可能である。そこで、この計算機システムのフェイルオーバのために、次のようにコピーペアの設定を変更する。
(1)主データセンタ200のディスク装置270の論理ボリューム01と副データセンタ300のディスク装置370の論理ボリューム11とで設定された同期コピーペアを削除する。
(2)副データセンタ300のディスク装置370の論理ボリューム11と、副データセンタ500のディスク装置570の論理ボリューム21とで設定された非同期コピーペアを削除する。
(3)副データセンタ500のディスク装置570の論理ボリューム21と、主データセンタ200のディスク装置270の論理ボリューム01とで、新たに非同期コピーペアを生成する。
なお、これらの指示の発行は、副データセンタ300、副データセンタ500又はそれ以外に接続されているホスト計算機100が、被災した主データセンタ200のホスト計算機100−1に代わって実行する。
まず、(1)の処理のため、ホスト計算機100は、コマンドデータ400を副データセンタ300のディスク制御装置220に送信する。このコマンドデータ400には、ペア削除を指示するコマンドパラメタ410と、Simplex時のガード状態及び次のコピーペアの内容を指示するACL指定パラメタ420が含まれる。
このときのACL指定パラメタ420は、次のような内容となる。
P−VOL対象指示4201に「有効」が格納される。これによって、正側の論理ボリューム、すなわち論理ボリューム01に、ガードの設定が指示される。このガードの内容は、Simplex時のReadプロテクト4202は「なし」、Simplex時のWriteプロテクト4203は「あり」に設定される。これによって、Simplex状態となった論理ボリューム01は、読み出しは可能であるが書き込みは不可能となる。
また、次のコピー種別4204は「非同期コピー(S)」に、次のペア相手4205はストレージシステム510の論理ボリューム21に設定される。これによって、論理ボリューム01の次のコピーペアは、自身が(S)、すなわち「副側」となり、コピー種別が「非同期」であり、そのコピーペアの相手は、ストレージシステム510の論理ボリューム21と設定される。
このACL指定パラメタ420からACL242が設定され、論理ボリューム01にガードが設定される。
次に、(2)の処理のために、ホスト計算機100は、コマンドデータ400を副データセンタ300のディスク制御装置320に送信する。このコマンドデータ400には、ペア削除を指示するコマンドパラメタ410と、Simplex時のガード状態及び次のコピーペアの内容を指示するACL指定パラメタ420が含まれる。
このときのACL指定パラメタ420は、次のような内容となる。
S−VOL対象指示4201に「有効」が格納される。これによって、副側の論理ボリューム、すなわち論理ボリューム21に、ガードの設定が指示される。このガードの内容は、Simplex時のReadプロテクト4202は「なし」、Simplex時のWriteプロテクト4203は「あり」に設定される。これによって、Simplex状態となった論理ボリューム01は、読み出しは可能であるが書き込みは不可能となる。
また、次のコピー種別4204は「非同期コピー(P)」に、次のペア相手4205はストレージシステム210の論理ボリューム01に設定される。これによって、論理ボリューム21の次のコピーペアは、自身が(P)、すなわち「主側」となり、コピー種別が「非同期」であり、そのコピーペアの相手は、ストレージシステム210の論理ボリューム01と設定される。
このACL指定パラメタ420からACL242が設定され、論理ボリューム21にガードが設定される。
この、(1)及び(2)の処理によって、障害発生からフェイルオーバ完了までの不安定なボリュームのペア状態をガードできる。
次に、(3)の処理のために、ホスト計算機100は、コマンドデータ400を副データセンタ300のディスク制御装置320に送信する。このコマンドデータ400には、ペア生成を指示するコマンドパラメタ410が含まれる。
このときのコマンドパラメタ410の内容は、次のような内容となる。すなわち、コマンド内容4101に「ペア生成」が、P−VOL4102にディスク制御装置520に接続されたディスク装置570の論理ボリューム21が、S−VOL4103にディスク制御装置220に接続されたディスク装置270の論理ボリューム01が、それぞれ格納される。
この(1)(2)及び(3)の処理の結果、計算機システムは、図15Bのような構成となる。すなわち、副データセンタ500のディスク装置570の論理ボリューム21と、主データセンタ200のディスク装置270の論理ボリューム01とで、非同期コピーペアが設定される。これによって、非同期コピーで保存されていた副データセンタ500の論理ボリューム21の内容を用いて、主データセンタ200の論理ボリューム01の内容を復旧する。
このようにして、主データセンタ200に接続されているホスト計算機100に障害が発生した場合にフェイルオーバが実行できる。
なお、ホスト計算機100は、(2)の処理の実行するときに、データ多重化構成情報122のコピーグループ定義情報1221を参照する。ここで、本変形例では、データ多重化構成情報122に、さらにコピーグループ関連定義情報1222を含める。
図16は、本変形例のデータ多重化構成情報122のブロック図であり、図17は、コピーグループ関連定義情報1222のブロック図である。
このコピーグループ関連定義情報1222は、あるコピーグループ(第1コピーグループ)と関連している別のコピーグループ(第2コピーグループ)の識別子を格納する。このコピーグループ関連定義情報1222は、管理者によって予め設定され、データ多重化構成情報122に格納される
(2)の処理において、ホスト計算機100は、ペア削除のコマンドデータ400を生成する際に、ペア削除の処理対象であるコピーグループ定義情報1221の中の、関連有無フラグ12214を参照する。ここでフラグが「1」である場合は、このコピーグループに関連している別のコピーグループがあるため、コピーグループ関連定義情報1222を参照する、そして、削除を要求する論理ボリューム11と論理ボリューム21とで設定されたコピーグループに関連したコピーグループがあるか否かを判断する。関連したコピーグループがあると判定した場合、すなわち、論理ボリューム11と論理ボリューム21とのコピーグループが格納されている場合は、その情報を取得し、取得した情報を用いて(3)の処理を実行する。
より具体的には、図10で前述したペア削除指示処理のステップS1007において、コピーグループ定義情報1221を読み込む。このときにコピーグループ関連定義情報1222が設定されていれば、それを読み込む。そして、読み込んだコピーグループ関連定義情報1222の内容を、(3)の処理に用いるために、主記憶装置120に格納する。
そして、(2)の処理完了後に、主記憶装置120に格納したコピーグループ関連定義情報1222を用いて、(3)の処理、すなわちコマンドデータ400を生成する。
コピーグループ関連定義情報1222を設定しておくことで、ホスト計算機100は、フェイルオーバ時等、コピーペアの削除と生成が一連の処理となっている場合に、次のコピーペアの情報を的確に知ることができ、処理速度が向上できる。
なお、さらに別のデータセンタのディスク装置670の論理ボリューム41を用意し、この論理ボリューム41とで新たなペアを設定してもよい。
具体的には、副データセンタ500のディスク装置570の論理ボリューム21と、ディスク装置570の論理ボリューム41とで、同期コピーペアを設定する。また、ディスク装置570の論理ボリューム41と、ディスク装置270の論理ボリューム01とで、非同期コピーペアを設定する。
このようにコピーペアの設定を変更することで、元のカスケード構成を保ったままフェイルオーバができる。
図18は、図15Aで前述した三つのデータセンタによるカスケード構成に、障害が発生したさらに別の変形例を説明する。
図18は、ホスト計算機100−1及び主データセンタ200全体に障害が発生した場合である。
主データセンタ200全体に障害が発生したときは、ホスト計算機100及び主データセンタ200のディスク装置270は稼働不可能となる。そこで、この計算機システムのフェイルオーバのために、次のようにコピーペアの設定を変更する。
(1)主データセンタ200のディスク装置270の論理ボリューム01と副データセンタ300のディスク装置370の論理ボリューム11とで設定された同期コピーペアを削除する。
(2)副データセンタ300のディスク装置370の論理ボリューム11と、副データセンタ500のディスク装置570の論理ボリューム21とで設定された非同期コピーペアを削除する。
(3)副データセンタ500のディスク装置570の論理ボリューム21と、副データセンタ300のディスク装置370の論理ボリューム11とで、新たに同期コピーペアを生成する。
なお、これらの指示の発行は、副データセンタ300、副データセンタ500又はそれ以外に接続されているホスト計算機100が、被災したホスト計算機100−1に代わって実行する。
まず、(1)の処理のため、ホスト計算機100は、コマンドデータ400を副データセンタ300のディスク制御装置220に送信する。このコマンドデータ400には、ペア削除を指示するコマンドパラメタ410が含まれる。
次に、(2)の処理のために、ホスト計算機100は、コマンドデータ400を副データセンタ300のディスク制御装置320に送信する。このコマンドデータ400には、ペア削除を指示するコマンドパラメタ410と、Simplex時のガード状態及び次のコピーペアの内容を指示するACL指定パラメタ420が含まれる。
このときのACL指定パラメタ420は、次のような内容となる。
P−VOL対象指示4201に「有効」を格納する。これによって、正側の論理ボリューム、すなわち論理ボリューム11に、ガードの設定が指示される。このガードの内容は、Simplex時のReadプロテクト4202は「なし」、Simplex時のWriteプロテクト4203は「あり」に設定される。これによって、Simplex状態となった論理ボリューム01は、読み出しは可能であるが書き込みは不可能となる。
また、次のコピー種別4204は「同期コピー(S)」に設定され、次のペア相手4205はディスク制御装置520に接続されたディスク装置570の論理ボリューム21に設定される。これによって、論理ボリューム11の次のコピーペアは、自身が(S)、すなわち「副側」となり、コピー種別が「同期」であり、そのコピーペアの相手は、ディスク制御装置520に接続されたディスク装置570の論理ボリューム21と設定される。
また、S−VOL対象指示4201に「有効」を格納する。これによって、副側の論理ボリューム、すなわち論理ボリューム21に、ガードの設定が指示される。このガードの内容は、Simplex時のReadプロテクト4202は「なし」、Simplex時のWriteプロテクト4203は「あり」に設定される。これによって、Simplex状態となった論理ボリューム01は、読み出しは可能であるが書き込みは不可能となる。
また、次のコピー種別4204は「同期コピー(P)」に、次のペア相手4205はディスク制御装置320に接続されたディスク装置370の論理ボリューム11に設定される。これによって、論理ボリューム21の次のコピーペアは、自身が(P)、すなわち「主側」となり、コピー種別が「同期」であり、そのコピーペアの相手は、ディスク制御装置320に接続されたディスク装置370の論理ボリューム11と設定される。
このACL指定パラメタ420からACL242が設定され、論理ボリューム11及び21にガードが設定される。
この、(1)及び(2)の処理によって、障害発生からフェイルオーバ完了までの不安定なデータをガードできる。
次に、(3)の処理のために、ホスト計算機100は、コマンドデータ400を副データセンタ300のディスク制御装置220に送信する。このコマンドデータ400には、ペア生成を指示するコマンドパラメタ410が含まれる。
ホスト計算機100は、このコマンドデータ400の生成に必要な情報を、前述したコピーグループ関連定義情報1222から知ることができる。
このときのコマンドパラメタ410の内容は、次のような内容となる。すなわち、コマンド内容4101に「同期ペア生成」が、P−VOL4102にディスク制御装置520に接続されたディスク装置570の論理ボリューム21が、S−VOL4103にディスク制御装置320に接続されたディスク装置370の論理ボリューム11が、それぞれ格納される。
この(1)(2)及び(3)の処理の結果、計算機システムは、図18のような構成となる。すなわち、副データセンタ500のディスク装置570の論理ボリューム21と、主データセンタ200のディスク装置370の論理ボリューム11とで、同期コピーペアが設定される。これによって、非同期コピーで保存されていた副データセンタ500の論理ボリューム21の内容を用いて、同期コピーで保存されていた副データセンタ300の論理ボリューム11の内容を復旧する。
このようにして、主データセンタ200及びホスト計算機100に障害が発生した場合にフェイルオーバが実行できる。
図19A及び図19Bは、三つのデータセンタによるマルチターゲット構成の計算機システムのさらに別の変形例のブロック図である。
主データセンタ200のストレージシステム210のディスク装置270の論理ボリューム01と、副データセンタ300のストレージシステム310のディスク装置370の論理ボリューム11とで、同期コピーペアが設定されている。また、主データセンタのストレージシステム210のディスク装置270の論理ボリューム01と、副データセンタ500のストレージシステム510のディスク装置570の論理ボリューム21とで、非同期コピーペアが設定されている。なお、このように一つのデータセンタから異なる複数のコピーペアを設定した構成をマルチターゲット構成と呼ぶ。
ここで、主データセンタ200に接続されたホスト計算機100−1のみに障害が発生した場合を説明する。
ホスト計算機100−1のみに障害が発生したときは、ホスト計算機に接続されている主データセンタ200のディスク装置270は稼働可能である。そこで、この計算機システムのフェイルオーバのために、次のようにコピーペアの設定を変更する。
(1)主データセンタ200のディスク装置270の論理ボリューム01と副データセンタ300のディスク装置370の論理ボリューム11とで設定された同期コピーペアをサスペンド(中断)する。
(2)(1)で中断したコピーペアを逆方向にリシンク(ペア回復指示)させる。すなわち、主データセンタ200のディスク装置270の論理ボリューム01を副側とし、副データセンタ300のディスク装置370の論理ボリューム11を副側とした同期コピーペアとする。
(3)主データセンタ200のディスク装置270の論理ボリューム01と、副データセンタ500のディスク装置570の論理ボリューム21とで設定された非同期コピーペアを削除する。
(4)副データセンタ300のディスク装置370の論理ボリューム11と、副データセンタ500のディスク装置570の論理ボリューム21とで、新たに非同期コピーペアを生成する。
なお、これらの指示の発行は、副データセンタ300、副データセンタ500又はそれ以外に接続されているホスト計算機100が、被災したホスト計算機100−1に代わって実行する。
まず、(1)の処理のため、ホスト計算機100は、コマンドデータ400を副データセンタ300のディスク制御装置320に送信する。このコマンドデータ400には、コピーペアのサスペンドを指示するコマンドパラメタ410が含まれる。
次に、(2)の処理のために、ホスト計算機100は、コマンドデータ400を副データセンタ300のディスク制御装置320に送信する。このコマンドデータ400には、サスペンドされたコピーペアの正側の論理ボリュームと副側の論理ボリュームとを変更するコマンド、及び、コピーペアのリシンクを指示するコマンドパラメタ410が含まれる
ホスト計算機100は、このコマンドデータ400の生成に必要な情報を、前述したコピーグループ関連定義情報1222から知ることができる。
次に、(3)の処理のために、ホスト計算機100は、コマンドデータ400を副データセンタ300のディスク制御装置320に送信する。このコマンドデータ400には、ペア削除を指示するコマンドパラメタ410と、Simplex時のガード状態及び次のコピーペアの内容を指示するACL指定パラメタ420が含まれる。
このときのACL指定パラメタ420は、次のような内容となる。
S−VOL対象指示4201に「有効」が格納される。これによって、副側の論理ボリューム、すなわち論理ボリューム21に、ガードの設定が指示される。このガードの内容は、Simplex時のReadプロテクト4202は「なし」、Simplex時のWriteプロテクト4203は「あり」に設定される。これによって、Simplex状態となった論理ボリューム01は、読み出しは可能であるが書き込みは不可能となる。
また、次のコピー種別4204は「非同期コピー(S)」に、次のペア相手4205はディスク制御装置320に接続されたディスク装置370の論理ボリューム11に設定される。これによって、論理ボリューム21の次のコピーペアは、自身が(S)、すなわち「副側」となり、コピー種別が「非同期」であり、そのコピーペアの相手は、ディスク制御装置320に接続されたディスク装置370の論理ボリューム11と設定される。
このACL指定パラメタ420からACL242が設定され、論理ボリューム21にガードが設定される。
この(3)の処理によって、障害発生からフェイルオーバ完了までの不安定なボリュームのペア状態をガードできる。
次に、(4)の処理のために、ホスト計算機100は、コマンドデータ400を副データセンタ300のディスク制御装置320に送信する。このコマンドデータ400には、ペア生成を指示するコマンドパラメタ410が含まれる。
ホスト計算機100は、このコマンドデータ400の生成に必要な情報を、前述したコピーグループ関連定義情報1222から知ることができる。
この(1)、(2)、(3)及び(4)の処理の結果、計算機システムは、図19Bのような構成となる。すなわち、副データセンタ300のディスク装置370の論理ボリューム11と、主データセンタ200のディスク装置270の論理ボリューム01とで、同期コピーペアが設定される。また、副データセンタ300のディスク装置370の論理ボリューム11と、副データセンタ500のディスク装置570の論理ボリューム21とで、非同期コピーペアが設定される。これによって、同期コピーで保存されていた副データセンタ300の論理ボリューム11の内容を用いて、主データセンタ200の論理ボリューム01の内容、及び、副データセンタ500の論理ボリューム21の内容を復旧する。
このようにして、主データセンタ200に接続されているホスト計算機100−1に障害が発生した場合に、元のマルチターゲット構成を保ったまま、フェイルオーバが実行される。
図20は、図19Aで前述した三つのデータセンタによるマルチターゲット構成に、障害が発生したさらに別の変形例を説明する。
図20は、ホスト計算機100及び主データセンタ200全体に障害が発生した場合である。
主データセンタ200全体に障害が発生したときは、ホスト計算機100−1及び主データセンタ200のディスク装置270は稼働不可能となる。
そこで、この計算機システムのフェイルオーバのために、次のようにコピーペアの設定を変更する。
(1)主データセンタ200のディスク装置270の論理ボリューム01と副データセンタ300のディスク装置370の論理ボリューム11とで設定された同期コピーペアを削除する。
(2)主データセンタ200のディスク装置270の論理ボリューム01と、副データセンタ500のディスク装置570の論理ボリューム21とで設定された非同期コピーペアを削除する。
(3)副データセンタ300又は副データセンタ500のいずれのデータセンタの論理ボリュームに保存されたデータを用いて、計算機システムを運用するかを決定する。
(4)(3)で決定したデータセンタの論理ボリュームを主側とし、他方の論理ボリュームを副側として、新たに非同期コピーペアを生成する。
なお、これらの指示の発行は、副データセンタ300、副データセンタ500又はそれ以外に接続されているホスト計算機が、被災したホスト計算機100に代わって実行する。
まず、(1)の処理のために、ホスト計算機100は、コマンドデータ400を副データセンタ300のディスク制御装置320に送信する。このコマンドデータ400には、ペア削除を指示するコマンドパラメタ410と、Simplex時のガード状態及び次のコピーペアの内容を指示するACL指定パラメタ420が含まれる。
このときのACL指定パラメタ420は、次のような内容となる。
S−VOL対象指示4201に「有効」を格納する。これによって、副側の論理ボリューム、すなわち論理ボリューム11に、ガードの設定が指示される。このガードの内容は、Simplex時のReadプロテクト4202は「なし」、Simplex時のWriteプロテクト4203は「あり」に設定される。これによって、Simplex状態となった論理ボリューム11は、読み出しは可能であるが書き込みは不可能となる。
また、次のコピー種別4204は「非同期コピー(両方)」に設定し、次のペア相手4205は設定しない。これによって、論理ボリューム11の次のコピーペアは、自身が主側は又副側で、コピー種別が「同期」と設定される。
このACL指定パラメタ420からACL242が設定され、論理ボリューム11にガードが設定される。
次に、(2)の処理のために、ホスト計算機100は、コマンドデータ400を副データセンタ300のディスク制御装置320に送信する。このコマンドデータ400には、ペア削除を指示するコマンドパラメタ410と、Simplex時のガード状態及び次のコピーペアの内容を指示するACL指定パラメタ420が含まれる。
このときのACL指定パラメタ420は、次のような内容となる。
S−VOL対象指示4201に「有効」を格納する。これによって、副側の論理ボリューム、すなわち論理ボリューム21に、ガードの設定が指示される。このガードの内容は、Simplex時のReadプロテクト4202は「なし」、Simplex時のWriteプロテクト4203は「あり」に設定される。これによって、Simplex状態となった論理ボリューム21は、読み出しは可能であるが書き込みは不可能となる。
また、次のコピー種別4204は「非同期コピー(両方)」に設定し、次のペア相手4205は設定しない。これによって、論理ボリューム21の次のコピーペアは、自身が主側は又副側で、コピー種別が「同期」と設定される。
このACL指定パラメタ420からACL242が設定され、論理ボリューム21にガードが設定される。
この、(1)及び(2)の処理によって、障害発生からフェイルオーバ完了までの不安定なボリュームのペア状態をガードできる。
次に、(3)の処理を実行する。すなわち、副データセンタ300又は副データセンタ500のいずれのデータセンタの論理ボリュームに保存されたデータを用いて、計算機システムを運用するかを決定する。この決定は、障害の起こった状況を管理者が判断して決定してもよいし、予め運用を行うデータセンタを決定しておいてもよい。
次に、(4)の処理のために、ホスト計算機100は、コマンドデータ400を副データセンタ300のディスク制御装置320に送信する。このコマンドデータ400には、ペア生成を指示するコマンドパラメタ410が含まれる。
ホスト計算機100は、このコマンドデータ400の生成に必要な情報を、前述したコピーグループ関連定義情報1222から知ることができる。
このときのコマンドパラメタ410の内容は、次のような内容となる。すなわち、コマンド内容4101に「非同期ペア生成」が、P−VOL4102に(3)で決定した主側のディスク制御装置の論理ボリュームの番号が、S−VOL4103に(3)で決定した副側のディスク制御装置の論理ボリュームの番号が、それぞれ格納される。
この(1)、(2)、(3)及び(4)の処理の結果、計算機システムは、図20のような構成となる。すなわち、副データセンタ300のディスク装置370の論理ボリューム11と、副データセンタ500のディスク装置570の論理ボリューム21とで、(3)で決定したデータセンタを主側とした非同期コピーペアが設定される。これによって、非同期コピーで保存されていた副データセンタ500の論理ボリューム21の内容を用いて、副データセンタ300の論理ボリューム11の内容を復旧する。又は、同期コピーで保存されていた副データセンタ300の論理ボリューム11の内容を用いて、副データセンタ500の論理ボリューム21の内容を復旧する。
このようにして、主データセンタ200及びホスト計算機100−1に障害が発生した場合にフェイルオーバが実行できる。
以上、いくつかの変形例を説明したが、本発明の効果は、論理ボリュームによって構成されたコピーペアを削除し、論理ボリュームがSimplex状態となったときに、当該論理ボリュームにガードを設定し、当該論理ボリュームを外乱から保護することで、データの一致性が保たれ、計算機システムの信頼性を高めることができる。また、ディザスタリカバリシステムとしての可用性を向上させる。