(57)【要約】【課題】計算機システムの入出力処理の高性能化を図ることにある。【解決手段】ホスト計算機１２とネットワーク１７を介して接続されているストレージ装置１３に、少なくとも１個の論理ボリュームを設け、その論理ボリュームに論理ボリューム固有のパスであって、かつ第１および第２の２つの異なるパスが割り当てる。そして、ストレージ装置１２に、ホスト計算機１２からの第１のパスによるデータ入出力処理の要求を受け付けた場合、第１のパスにより特定される論理ボリュームに対するデータの入出力処理を行う手段と、ホスト計算機１２からの前記第２のパスによるデータ入出力処理の要求を受け付けた場合、受け付けた入出力処理に先立って所定の処理を行い、その後、第２のパスにより特定される論理ボリュームに対するデータの入出力処理を行う手段とを設ける。【選択図】図１
2005301880.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１台のホスト計算機と、前記ホスト計算機にネットワークを介して接続されている、少なくとも１台のストレージ装置とを有する計算機システムにおけるデータ入出力処理方法であって、
前記ストレージ装置は、少なくとも１個の論理ボリュームを有し、該論理ボリュームには、該論理ボリュームに対する固有のパスであって、かつ第１および第２の２つの異なるパスが割り当てられていて、
前記ホスト計算機は、
ストレージ装置に対して、前記第１および第２のパスのいずれか一方を用いて、前記論理ボリュームに対するデータ入出力処理を要求するステップを実行し、
前記ストレージ装置は、
前記第１のパスによるデータ入出力処理の要求を受け付けた場合、該第１のパスにより特定される論理ボリュームに対するデータ入出力処理を行うステップと、
前記第２のパスによるデータ入出力処理の要求を受け付けた場合、該受け付けたデータ入出力処理に先立って所定の処理を行い、その後、該第２のパスにより特定される論理ボリュームに対するデータ入出力処理を行うステップと、を実行すること
を特徴とする計算機システムにおけるデータ入出力処理方法。
【請求項２】
請求項1に記載の計算機システムにおけるデータ入出力方法であって、
前記ストレージ装置は、
前記論理ボリュームを正ボリュームとして、該正ボリュームに対する副ボリュームを生成し、該正ボリュームおよび副ボリュームをペアで管理するステップを有し、
前記所定の処理とは、前記正ボリュームおよび副ボリュームのペアを分割するペア分割処理であること
を特徴とする計算機システムにおけるデータ入出力方法。
【請求項３】
請求項２に記載の計算機システムにおけるデータ入出力方法であって、
前記ホスト計算機は、
ペア分割処理の要求を受け付けた場合、該ペア分割処理の要求を行う代わりに前記論理ボリュームに対するデータ入出力処理を要求する際に用いるパスを前記第２のパスに設定するステップを実行すること
を特徴とする計算機システムにおけるデータ入出力方法。
【請求項４】
請求項１〜３のいずれか一項に記載の計算機システムにおけるデータ入出力方法であって、
前記第１のパスおよび第２のパスは、少なくともＳＣＳＩのＬＵＮ（Logical Unit Number）を含む識別子であって、
前記第１のパスと第２のパスとは、前記ＬＵＮが異なること
を特徴とする計算機システムにおけるデータ入出力方法。
【請求項５】
請求項１〜３のいずれか一項に記載の計算機システムにおけるデータ入出力方法であって、
前記ホスト計算機は、インタフェースを有し、該インタフェースを介して前記ネットワークに接続されていて、
前記１のパスおよび第２のパスは、少なくとも、前記ホスト計算機が有するインタフェースに割り当てられたＰｏｒｔＩＤを含み、
前記第１のパスと第２のパスとは、前記ＰｏｒｔＩＤが異なること
を特徴とする計算機システムにおけるデータ入出力方法。
【請求項６】
請求項１〜３のいずれか一項に記載の計算機システムにおけるデータ入出力方法であって、
前記ストレージ装置は、インタフェースを有し、該インタフェースを介してネットワークに接続されていて、
前記１のパスおよび第２のパスは、少なくとも、前記ストレージ装置が有するインタフェースに割り当てられたＰｏｒｔＩＤを含み、
前記第１のパスと第２のパスとは、前記ＰｏｒｔＩＤが異なること
を特徴とする計算機システムにおけるデータ入出力方法。
【請求項７】
少なくとも１台のホスト計算機にネットワークを介して接続されているストレージ装置であって、
少なくとも１個の論理ボリュームを有し、該論理ボリュームには、該論理ボリュームに対する固有のパスであって、かつ第１および第２の２つの異なるパスが割り当てられていて、
前記ホスト計算機からの前記第１のパスによるデータ入出力処理の要求を受け付けた場合、第１のパスにより特定される論理ボリュームに対するデータ入出力処理を行う手段と、
前記ホスト計算機からの前記第２のパスによるデータ入出力処理の要求を受け付けた場合、該受け付けたデータ入出力処理に先立って所定の処理を行い、その後、該第２のパスにより特定される論理ボリュームに対するデータ入出力処理を行う手段とを有すること
を特徴とするストレージ装置。
【請求項８】
請求項７に記載のストレージ装置であって、
前記論理ボリュームを正ボリュームとして、該正ボリュームに対する副ボリュームを生成し、該正ボリュームおよび副ボリュームをペアで管理する手段を有し、
前記所定の処理とは、前記正ボリュームおよび副ボリュームのペアのペア分割処理であること
を特徴とするストレージ装置。
【請求項９】
少なくとも１台のストレージ装置にネットワークを介して接続されているホスト計算機であって、
前記ストレージ装置は、少なくとも１個の論理ボリュームを有し、該論理ボリュームには、該論理ボリュームに対する固有のパスであって、かつ第１および第２の２つの異なるパスが割り当てられていて、
前記ホスト計算機は、
前記ストレージ装置にデータ入出力処理を行わせる場合、前記第１のパスを用いてデータ入出力処理の要求を行い、前記ストレージ装置にデータ入出力処理に先立って所定の処理を行わせ、その後、データ入出力処理を行わせる場合、前記第２のパスを用いてデータ入出力処理の要求を行う手段を有すること
を特徴とするホスト計算機。
【請求項１０】
請求項９に記載のホスト計算機であって、
前記所定の処理とは、スナップショットのペア分割処理であること
を特徴とするホスト計算機。
【請求項１１】
請求項１０に記載のホスト計算機であって、
ペア分割処理の要求を受け付けた場合、該ペア分割処理の要求を行う代わりに前記論理ボリュームに対するデータ入出力処理を要求する際に用いるパスを前記第２のパスに設定する手段を有すること
を特徴とするホスト計算機。
【請求項１２】
少なくとも１台のホスト計算機と、前記ホスト計算機にネットワークを介して接続されている、少なくとも１台のストレージ装置とを有する計算機システムであって、
前記ストレージ装置は、少なくとも１個の論理ボリュームを有し、該論理ボリュームには、該論理ボリュームに対する固有のパスであって、かつ第１および第２の２つの異なるパスが割り当てられていて、
前記ホスト計算機は、
ストレージ装置に対して、前記第１および第２のパスのいずれか一方を用いて、前記論理ボリュームに対するデータ入出力処理を要求する手段を有し、
前記ストレージ装置は、
前記第１のパスによるデータ入出力処理の要求を受け付けた場合、該第１のパスにより特定される論理ボリュームに対するデータ入出力処理を行う手段と、
前記第２のパスによるデータ入出力処理の要求を受け付けた場合、該受け付けた入出力処理に先立って所定の処理を行い、その後、該第２のパスにより特定される論理ボリュームに対するデータ入出力処理を行う手段とを有すること
を特徴とする計算機システム。
【請求項１３】
請求項1２に記載の計算機システムであって、
前記ストレージ装置は、
前記論理ボリュームを正ボリュームとして、該正ボリュームに対する副ボリュームを生成し、正ボリュームおよび副ボリュームのペアで管理する手段を有し、
前記所定の処理とは、前記正ボリュームおよび副ボリュームのペアのペア分割処理であること
を特徴とする計算機システム。
【請求項１４】
請求項１３に記載の計算機システムであって、
前記ホスト計算機は、
ペア分割処理の要求を受け付けた場合、該ペア分割処理の要求を行う代わりに前記論理ボリュームに対するデータ入出力処理を要求する際に用いるパスを前記第２のパスに設定する手段を有すること
を特徴とする計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホスト計算機およびストレージ装置を有する計算機システムにおいて、ホスト計算機とストレージ装置との間で行うデータ入出力処理の技術に関する。
【背景技術】
【０００２】
大量の電子データを管理するシステムに、ディスクアレイ装置に代表されるストレージ装置とホスト計算機とを有する計算機システムがある。計算機システムでは、データ損失等に備え、ストレージ装置内の論理ボリューム（正ボリューム）に対して副ボリュームを定義し、正ボリュームと副ボリュームとをペアで管理する処理が行われている。
【０００３】
従来から、ホスト計算機およびストレージ装置を有する計算機システムにおいて、任意の時点において、定義した正ボリュームおよび副ボリュームのペアを分割するペア分割の技術が知られている（例えば、特許文献１）。このようにペア分割することにより、分割の時点での正ボリュームのコピーを副ボリュームとして得ることができる。また、分割した副ボリュームを使用することで、正ボリュームを利用しているアプリケーションプログラムを動作させたままでのバックアップ（オンラインバックアップ）を行うことができる。
【０００４】
【特許文献１】特開２００３−３１６５２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、計算機システムでは、ホスト計算機とストレージ装置との間で行うデータ入出力処理と、ストレージ装置内で行われる他の処理との間で処理の同期を取る（タイミングを合わせる）必要が生じる場合がある。例えば、同期を取る必要がある処理の代表的なものとして、上記のペア分割処理およびデータ入出力処理がある。ペア分割処理およびデータ入出力処理を、同期を取らずに行った場合、例えば、ペア分割の指示からペア分割の完了までの間に正ボリュームへのデータの書き込みを行った場合、正ボリュームに書き込んだデータが副ボリュームに反映されたか否かが不明となる。すなわち、ペア分割を要求した際の副ボリュームのデータをスナップショットとして取得したい場合であっても、副ボリュームのデータがペア分割を要求した際のデータから更新される場合がある。その結果、ペア分割処理により、スナップショットとして得られた副ボリュームをバックアップデータとして利用できなくなる。
【０００６】
上記特許文献１では、ペア分割の指示からペア分割の完了までの間は、ホスト計算機からの正ボリュームへの書き込みを抑止することで、分割処理およびデータ入出力処理の同期を取るようにしている。また、上記特許文献１に示された別の態様では、ペア分割の指示からペア分割の完了までの間において、正ボリュームにデータを書き込む処理を行う場合、書き込んだ内容を別のボリュームへ全て記憶するようにしている。
【０００７】
しかしながら、上記のホスト計算機からの正ボリュームへの書き込みを抑止する方法では、利用者は、ペア分割処理が終了するまでデータ入出力処理を待たされることとなる。利用者は、ストレージ装置からのペア分割処理完了の通知を受けてから、データ入出力処理を行うため、結果的に事務処理の生産性を低下させてしまう。また、上記書き込んだ内容を別のボリュームへ全て記憶する方法では、計算機システムのデータ入出力能力の低下を招いてしまう。
【０００８】
そこで、本発明の目的は、計算機システムのデータ入出力処理の高性能化を図ることにある。すなわち、データ入出力処理と同期を取る必要がある処理が発生した場合に、その同期を取る必要がある処理と入出力処理との同期を自動的に図ることにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、本発明の一態様は、少なくとも１台のホスト計算機と、前記ホスト計算機にネットワークを介して接続されている、少なくとも１台のストレージ装置とを有する計算機システムに適用される。
【００１０】
ここで、前記ストレージ装置は、少なくとも１個の論理ボリュームを有し、該論理ボリュームには、該論理ボリュームに対する固有のパスであって、かつ第１および第２の２つの異なるパスが割り当てられている。そして、前記ホスト計算機は、ストレージ装置に対して、前記第１および第２のパスのいずれか一方を用いて、前記論理ボリュームに対するデータ入出力処理を要求するステップを実行し、前記ストレージ装置は、前記第１のパスによるデータ入出力処理の要求を受け付けた場合、該第１のパスにより特定される論理ボリュームに対するデータ入出力処理を行うステップと、前記第２のパスによるデータ入出力処理の要求を受け付けた場合、該受け付けたデータ入出力処理に先立って所定の処理を行い、その後、該第２のパスにより特定される論理ボリュームに対するデータ入出力処理を行うステップと、を実行する。ここで所定の処理とは、データ入出力処理と同期を取る必要がある処理のことをいう。
【発明の効果】
【００１１】
このように本発明によれば、論理ボリュームに、第１および第２の２つの異なるパスが割り当てられている。そして、ストレージ装置は、第２のパスによるデータ入出力処理の要求を受け付けた場合、該受け付けたデータ入出力処理に先立って所定の処理を行い、その後、第２のパスにより特定される論理ボリュームに対するデータ入出力処理を行うようにしている。すなわち、本発明では、第２のパスを用いることで、データ入出力処理および所定処理（例えばペア分割処理）を同じタイミングでストレージ装置に要求できる。そのため、本発明では、利用者にデータ入出力処理を待たせることなく、データ入出力処理および所定の処理（例えばペア分割処理）を行うことができる。また、上記特許文献１のように、ペア分割の指示からペア分割の完了までの間において、正ボリュームにデータを書き込み、その書き込んだ内容を別のボリュームへ全て記憶する必要がない。そのため、本発明によれは、計算機システムのデータ入出力能力の低下を招くことがない。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態が適用された計算機システムを説明する。
〈第１実施形態〉
先ず、本発明の第１実施形態について説明する。
【００１３】
図１は、本発明の第１実施形態の計算機システムの全体構成を示す図である。
【００１４】
図示するように、第１実施形態の計算機システムは、少なくとも１台のホスト計算機１２、少なくとも１台のストレージ装置１３、ＬＡＮ（Local Area Network）１５、ＳＡＮ（Storage Area Network）リンク１７、管理サーバ１６、および管理コンソール１４を有する。ホスト計算機１２、ストレージ装置１３、管理コンソール１４、および管理サーバ１６は、ＬＡＮ１５を介して相互接続されている。また、ホスト計算機１２およびストレージ装置１３は、ＳＡＮリンク１７を介して相互接続されている。なお、ＳＡＮリンク１７は単一のリンクである必要は無く、例えば、ＦｉｂｒｅＣｈａｎｎｅｌ（ＦＣ）スイッチを介したＳＡＮであってもよい。
【００１５】
最初にホスト計算機１２の構成を説明する。ホスト計算機１２は、ストレージ装置１３に格納されたデータを使用する計算機である。ホスト計算機１２は、ＣＰＵ（中央演算装置）１２１、メモリ１２２、ＬＡＮインタフェース（ＬＡＮＩ／Ｆ）１５１、およびＳＡＮインタフェース（ＳＡＮＩ／Ｆ）１７１を有する。
【００１６】
メモリ１２２には、アプリケーションプログラム（以下「ＡＰ」という）１２４、制御プログラム１２５、パス管理プログラム１２６、オペレーティングシステム（以下「ＯＳ」という）１２７、およびパス管理テーブル１２８が格納されている。なお、これらのプログラム（ＡＰ１２４、制御プログラム１２５、およびＯＳ１２７）およびパス管理テーブル１２８については、後段で詳細に説明する。
【００１７】
ＣＰＵ１２１は、メモリ１２２に格納されている各プログラム（ＡＰ２４、制御プログラム、およびＯＳ１２７）を実行して、パス管理処理、ストレージ装置１３との間で行うデータ入出力処理等の各種処理を行う。ＬＡＮＩ／Ｆ１５１は、これを内蔵する機器がＬＡＮ１５に接続されているその他の機器と互いに通信するためのアダプタである。
【００１８】
ＳＡＮＩ／Ｆ１７１は、ホスト計算機１２がＳＡＮリンク１７を介してストレージ装置１３とデータを入出力するためのアダプタである。本実施形態では、ＳＡＮＩ／Ｆ１７１に、ＦｉｂｒｅＣｈａｎｎｅｌ（ＦＣ）のＨＢＡ（ホストバスアダプタ）を用いる場合を例に説明するが特にこれに限定するものではない。ホスト計算機１２とストレージ装置１３との間の接続には、ＳＣＳＩ、ｉＳＣＳＩ、ＩｎｆｉｎｉＢａｎｄなど、他のプロトコルを使用しても良い。ＳＡＮＩ／Ｆ１７１は、それぞれのプロトコルに対応したアダプタであればよい。
【００１９】
続いて、ストレージ装置１３の構成を説明する。ストレージ装置１３は、制御装置１３２及びハードディスクドライブ等のディスク装置１３３を有するストレージサブシステムである。
【００２０】
ストレージ装置１３は、少なくとも１つの論理ボリューム１３１を有する。論理ボリューム１３１は、ストレージ装置１３が有するディスク装置１３３の物理的な記憶領域から構成されている論理的な記憶領域であり、計算機システム内で固有の識別子（パス識別子）を持つ。論理ボリューム１３１は、ホスト計算機１２などストレージ装置１３に接続される装置からは、論理的に独立した１つのストレージ装置として認識される。そして、ホスト計算機１２は、パス識別子により特定する論理ボリューム１３１をアクセス対象としてデータ入出力処理の要求を発行する。
【００２１】
なお、本実施形態では、論理ボリューム１３１を特定するパス識別子に、ＦＣの「ＷＷＮ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｎａｍｅ）」または「ＰｏｒｔＩＤ」と、「論理ユニット番号（ＬＵＮ（Logical Unit Number））」との組を用いることとする。但し、パス識別子の具体的な構成については、これに限定されるものではない。ところで、後述する様に、本実施形態では１つの論理ボリュームに複数のパス識別子が対応付けられる。１つの論理ボリュームに対応付けられる複数のパス識別子は、「ＷＷＷ」または「ＰｏｒｔＩＤ」が共通で、「ＬＵＮ」が異なるように構成されていてもよい。また、「ＬＵＮ」が共通で、「ＷＷＷ」または「ＰｏｒｔＩＤ」が異なるように構成されていてもよい。
【００２２】
制御装置１３２は、ＳＡＮリンク１７を介してホスト計算機１２と行うデータ入出力処理を制御する。また、制御装置１３２は、ＬＡＮ１５を介して管理サーバ等のストレージ装置１３に接続されている装置との間でデータの授受を行う。制御装置１３２は、ＣＰＵ（中央演算装置）１３４、メモリ１３５、ＬＡＮＩ／Ｆ１５１、およびＳＡＮＩ／Ｆ１７２を有する。なお、制御装置１３２が有するＬＡＮＩ／Ｆ１５１は、上述したホスト計算機１２が有するものと同じである。
【００２３】
メモリ１３５には、ＩＯ処理プログラム１３６、構成制御プログラム１３７、パス識別子管理テーブル１３８、および論理ボリューム管理テーブル１３９が格納されている。なお、各プログラム（ＩＯ処理プログラム１３６および構成制御プログラム１３７）および各テーブル（パス識別子管理テーブル１３８および論理ボリューム管理テーブル１３９）については、後段で詳細に説明する。
【００２４】
ＣＰＵ１３４は、メモリ１３５に格納されている各プログラム（ＩＯ処理プログラム１３６および構成制御プログラム１３７）を実行して、ホスト計算機１２との間で行うデータ入出力処理等の各種処理を行う。
【００２５】
ＳＡＮＩ／Ｆ１７２は、ＳＡＮリンク１７を介してホスト計算機１２との間で行うデータ入出力処理を実行するためのアダプタである。ＳＡＮＩ／Ｆ１７２は、少なくとも1個のパス識別子に対する入出力要求を受付ける。また、１個のＳＡＮＩ／Ｆ１７２を経由して複数のパス識別子を1個の論理ボリュームに対して関連付けられる場合、ＳＡＮＩ／Ｆ１７２は、最少1個で良い。しかし、１個のＳＡＮＩ／Ｆ１７２が1個の論理ボリュームに対して1個のパス識別子しか関連付けられない場合は、複数のＳＡＮＩ／Ｆ１７２が必要になる。
【００２６】
続いて、管理サーバ１６の構成を説明する。管理サーバ１６は、ストレージ装置１３の設定変更など管理を行うための計算機である。管理サーバ１６は、ＣＰＵ（中央演算装置）１６１、メモリ１６２、およびＬＡＮＩ／Ｆ１５１を有している。なお、管理サーバ１６が有するＬＡＮＩ／Ｆ１５１は、上述したホスト計算機１２が有するものと同じである。
【００２７】
メモリ１６２には、管理プログラム１６３が格納されている。そして、ＣＰＵ１６１は、管理プログラム１６３を実行することで、ストレージ装置１３に各種の設定処理を実行させる。なお、ここでいう各種の設定処理には、論理ボリューム１３１を作成／削除する処理、論理ボリューム１３１とパス識別子との対応付ける処理、スナップショット作成における論理ボリュームのペアを定義／解除する処理、分割処理した論理ボリューム１３１のペアを再同期する処理等が含まれる。但し、本実施形態では、ペア定義されている論理ボリューム１３１のペア分割処理は、管理サーバ１６からの指示では行わない（ペア分割処理については後段で詳細に説明する）。なお、管理サーバ１６の機能は、ホスト計算機１２で実現しても良い。
【００２８】
続いて、管理コンソール１４の機能について説明する。管理コンソール１４は、システム管理者が管理サーバ１６およびホスト計算機１２を操作するための計算機であり、表示装置および入力装置が接続されている。管理コンソール１４は、管理サーバ１６とＬＡＮ１５を介して互いに通信することができる。また、管理コンソール１４は、ホスト計算機１２とＬＡＮ１５を介して通信することができる。また、管理コンソール１４は、ストレージ装置１３とＬＡＮ１５を介して互いに通信することができる。なお、管理コンソール１４の機能は管理サーバ１６やホスト計算機１２で実現しても良い。
【００２９】
次に、本実施形態の各プログラムの動作原理について説明する。
【００３０】
図２は、本実施形態の各プログラムの動作原理を示す概念図である。なお、図２は、ホスト計算機１２からストレージ装置１３への入出力処理要求およびペア分割処理の同期の契機、すなわちペア分割処理を受け付ける準備ができた状態を示していることとする。
【００３１】
また、ストレージ装置１３は、管理サーバ１６からの指示を受けて、論理ボリューム１３１ａおよび論理ボリューム１３１ｂを、それぞれ正ボリューム、副ボリュームとするスナップショットのペア定義がされているものとする。また、正ボリュームである論理ボリューム１３１ａには、２個のパス識別子１７６ａ、ｂが割り当てられているものとする。なお、図示する各テーブルのデータ構造は例示に過ぎない。
【００３２】
最初にホスト計算機１２が有する各プログラムおよびパス管理テーブル１２８について説明する。
【００３３】
ＡＰ１２４は、論理ボリューム１３１を使用してホスト計算機１２本来の機能を提供するためのプログラムである。ＡＰ１２５には、ＤＢＭＳ（DataBase Management System）やファイルサーバプログラムを用いることができる。
【００３４】
ＯＳ１２７は、ＣＰＵ１２１がＡＰ１２４を実行するために必要な環境を提供するためのプログラムである。例えば、ＯＳ１２７は、ＣＰＵ１２１がＡＰ１２４を実行する際に必用な論理ボリューム１３１に対応するデバイス名１７５ａを提供する。ＣＰＵ１２１は、ＡＰ１２４実行して、論理ボリューム１３１に対応づけられたＯＳが提供するデバイス名１７５ａを指定する。ＣＰＵは、後述するパス管理プログラムを実行して、デバイス名１７５ａを対応するパス識別子１７６に変換する。その後、ＣＰＵ１２１は、ＯＳ１２７を実行して、ＳＡＮＩ／Ｆ１７１を制御して、変換した識別子１７６が特定するストレージ装置１３の論理ボリューム１３１にアクセスしてデータ入出力処理を行う。
【００３５】
制御プログラム１２５は、ＡＰ１２４、ＯＳ１２７、およびパス管理プログラム１２６の実行を制御するためのプログラムである。
【００３６】
パス管理プログラム１２６は、一部ＯＳ１２７に組み込まれ、パス管理テーブル１２８に格納されたデータにしたがい、ＯＳ１２７が提供するデバイス名１７５ａからパス識別子１７６への変換処理を行うためのプログラムである。
【００３７】
パス管理テーブル１２８は、１個以上のエントリ１２８（ａ〜ｎ）を有し、１個のエントリ１２８（ａ〜ｎ）は、４個のデータ格納部を有する。例えば、エントリ１２８ａは、４個のデータ格納部１２８ａ１〜ａ４を有する。各エントリ１２８（ａ〜ｎ）は、同様のデータ構造を有する。なお、以下の説明ではエントリ１２８ａを例にして説明する。
【００３８】
エントリ１２８ａの最初のデータ格納部１２８ａ１には、１個の「デバイス名１７５ａ」が格納される。エントリ１２８ａの２番目のデータ格納部１２８ａ２には、データ格納部１２８ａ１に格納されたデバイス名に関連づけられた１個の「パス識別子１７６」が格納される。なお、この２番目のデータ格納部１２８ａ２には、データ格納部１２８ａ１に格納されたデバイス名１７５ａに現在対応させるための「パス識別子１７６」が格納される。
【００３９】
エントリ１２８ａの３番名のデータ格納部１２８ａ３には、データ格納部１２８ａ１に関連づけられた１個の「パス識別子１７６」或いは空を示す「ＮＵＬＬ値」が格納される。このデータ格納部１２８ａ３には、データ入出力処理に先立って、ペア分割処理をストレージ装置１３に実行させるためのパス識別子１７６が格納される。また、データ入出力処理に先立って、ペア分割処理をストレージ装置１３に実行させるためのパス識別子が設定されていない場合には、データ格納部１２８ａ３には、「ＮＵＬＬ値」が格納される。４番目のデータ格納部１２８ａ４には、データ格納部１２８ａ１に関連づけられた１個以上のパス識別子１７６を含むパス識別子リストが格納される。
【００４０】
ところで、1個のデバイス名１７５ａには、複数のパス識別子１７６ａ、１７６ｂを対応付けることができる。そして、1個のデバイス名１７５ａに複数のパス識別子１７６ａ、１７６ｂを対応付けておけば、ホスト計算機１２は、ＳＡＮリンク１７等の負荷の状況や他のプログラムの実行結果によって利用するパス識別子１７６を切り替えることができる。ここで、本実施形態のホスト計算機１２が行うパス管理テーブル１２８の設定処理および変更処理について説明する。
【００４１】
ホスト計算機１２は、管理者からの指示を受け付けて、エントリ１２８ａの４番目のデータ格納部１２８ａ４に、データ格納部ａ１に格納されたデバイス名１７５ａに対応させることが可能なパス識別子（図示する例では、１７６ａおよび１７６ｂ）を格納する。続いて、ホスト計算機１２は、管理者からの指示を受け付けて、デバイス名１７５ａに対応させるパス識別子１７６をエントリ１２８ａのデータ格納部１２８ａ２に格納する。図示する例では、データ格納部１２８ａ２には、「パス識別子１７６ａ」が格納されている。この場合、ホスト計算機１２は、ストレージ装置１３の論理ボリューム１３１にアクセスする際、ＯＳが提供するデバイス名１７５ａをパス識別子１７６ａに変換して、パス識別子１７６ａ宛のデータ入出力要求を行う。
【００４２】
次に、ホスト計算機１２が行う、「デバイス名１７５ａ」から変換する「パス識別子１７６」を変更する処理を説明する。ホスト計算機１２は、管理者からの指示を受け付けて、データ格納部１２８ａ４に格納されたパス識別子１７６の中から、データ格納部１２８ａ２に格納されているパス識別子１７６ａと別のパス識別子１７６を選択する（図示する例では「パス識別子１７６ｂ」）。ホスト計算機１２は、データ格納部１２８ａ２に格納されたデータを、上記選択したパス識別子に変更する。例えば、ホスト計算機１２が、エントリ１２８ａのデータ格納部１２８ａ２のデータを「パス識別子１７６ａ」から「パス識別子１７６ｂ」に変更したとする。その場合、ホスト計算機１２は、デバイス名１７５ａからパス識別子１７６ｂを特定することとなる。
【００４３】
なお、ホスト計算機１２が行う「デバイス名１７５ａ」から変換する「パス識別子１７６」を変更する処理は、ＣＰＵ１２１が制御プログラム１２５を実行することにより行われる（制御プログラム１２５により行われるパス識別子を変更する処理は後述する）。
【００４４】
また、パス管理テーブル１２８のデータ格納部１２８ａ２に、データ格納部１２８ａ３に格納されているパス識別子と同じパス識別子が格納されているとする。この場合、ホスト計算機１２は、デバイス名１７５ａから入出力処理に先立ってペア分割処理をストレージ装置１３に実行させるためのパス識別子を特定することとなる。
【００４５】
このように本実施形態では、ホスト計算機１２は、パス識別子１７６ｂ宛の入出力要求を発行することにより、データ入出力処所定およびペア分割処理を同じタイミングでストレージ装置１３に要求できる。
【００４６】
続いて、ストレージ装置１３が有する各プログラムおよび各テーブルについて説明する。
【００４７】
最初にパス識別子管理テーブル１３８および論理ボリューム管理テーブル１３９のデータ構造について説明する。なお、パス識別子管理テーブル１３８および論理ボリューム管理テーブル１３９へのデータの初期設定は、管理サーバ１６からの指示を受け付けて、ＣＰＵ１３４が構成制御プログラム１３７を実行することで行われる。
【００４８】
パス識別子管理テーブル１３８は、１個以上のエントリ１３８（ａ〜ｎ）を有し、さらに、１個のエントリ１３８（ａ〜ｎ）は、３個のデータ格納部を有する。図示する例では、エントリ１３８ａは、３個のデータ格納部１３８ａ１〜ａ３を有する。同様に、エントリ１３８ｂは、３個のデータ格納部１３８ｂ１〜ｂ３を有する。
【００４９】
そして、エントリ１３８（ａ〜ｎ）の１番目のデータ格納部には、１個のパス識別子１７６が格納される。エントリ１３８（ａ〜ｎ）の２番目のデータ格納部には、１番目のデータ格納部に格納されたパス識別子宛のデータ入出力要求を監視する必要があるか否かを判定するための監視フラグ（「０」または「１」のフラグ）が格納される。なお、本実施形態では、２番目のデータ格納部に監視フラグとして「０」が格納されている場合には、監視が不要であることを示し、「１」が格納されている場合には、監視が必要であることを示すものとする。エントリ１３８（ａ〜ｎ）の３番目のデータ格納部には、１番目のデータ格納部に格納されたパス識別子により特定される論理ボリューム１３１が格納される。
【００５０】
図示する例では、エントリ１３８ａの最初のデータ格納部１３８ａ１に「パス識別子１７６ａ」が格納されている。エントリ１３８ａの２番目のデータ格納部１３８ａ２に監視フラグ「０」が格納されている。また、エントリ１３８ａの３番目のデータ格納部１３８ａ３に「論理ボリューム１３１ａ」が格納されている。これは、「パス識別子１７６ａ」により特定される論理ボリュームは、「論理ボリューム１３１ａ」であることを示している。また、「パス識別子１７６ａ」宛のデータ入出力要求に対する監視が不要であることを示している。
【００５１】
また、図示するエントリ１３８ｂのデータ格納部１３８ｂ１〜１３８ｂ３には、それぞれ、「パス識別子１７６ｂ」、「１」、「論理ボリューム１３１ａ」が格納されている。これは、「パス識別子１７６ｂ」により特定される論理ボリュームは、「論理ボリューム１３１ａ」であることを示している。また、「パス識別子１７６ｂ」宛のデータ入出力要求に対する監視が必要であることを示している。
【００５２】
このように、パス識別子管理テーブル１３８を構成することで、ＣＰＵ１３４は、ＩＯ処理プログラム１３６を実行中に、エントリ１３８ｎの1番目のデータ格納部１３８ｎ１および３番目のデータ格納部１３８ｎ３を参照して、あるパス識別子１７６宛のデータ入出力要求がどの論理ボリューム１３１に対する入出力要求であるかを判別することができる。また、ＣＰＵ１３４は、前記エントリ１３８ｎの1番目のデータ格納部１３８ｎ１および２番目のデータ格納部１３８ｎ２を参照することにより、該パス識別子１７６宛のデータ入出力要求を監視する必要があるかどうかを判定することができる。
【００５３】
次に、論理ボリューム管理テーブル１３９のデータ構造を説明する。図示するように、論理ボリューム管理テーブル１３９は、１個以上のエントリ１３９ａを有し、さらに、１個のエントリ１３９ａは、４個のデータ格納部を有する。
【００５４】
エントリ１３９ｎの最初のデータ格納部１３９ｎ１には、１個の論理ボリューム１３１を示すデータが格納される。エントリ１３９ｎの２番目のデータ格納部１３９ｎ２は、データ格納部１３９ｎ１に格納された論理ボリューム宛ての入出力処理を保留させるか否かを示すフラグ（「０」または「１」のフラグ）が格納される。なお、本実施形態の説明では、データ格納部１３９ｎ２に「０」が格納されている場合、入出力処理の保留が不要であることを示し、「１」が格納されている場合、入出力処理を保留する必要があることを示すものとする。エントリ１３９ｎの３番目のデータ格納部１３９ｎ３には、データ格納部１３９ｎ１に格納された論理ボリュームのペア状態を示すフラグが格納される。のデータ格納部１３９ｎ３には、「０」、「１」、「２」の３種類のフラグのいずれかが格納される。そして、上記「０」、「１」、および「２」は、それぞれ「論理ボリューム１３１のペアが未定義の状態」、「論理ボリューム１３１のペアが定義されて分割されていない状態」、および「ペアが定義されて分割されている状態」を示すものとする。エントリ１３９ｎの４番目のデータ格納部１３９ｎ４には、副ボリュームを示すデータが格納される（ペアが定義されて無い場合には、「ＮＵＬＬ値」が格納される）。
【００５５】
図示する例では、エントリ１３９ａのデータ格納部１３９ａ１〜ａ４には、各々、「論理ボリューム１３１ａ」、「０」、「１」、および「論理ボリューム１３１ｂ」が格納されている。これは、論理ボリューム１３１ａ宛ての入出力要求を保留する必要が無いことを示している。また、論理ボリューム１３１ａには、論理ボリューム１３１ｂがペア定義されていて、ペア分割されていないことを示している。
【００５６】
ＣＰＵ１３４は、パス識別子管理テーブル１３９の該当するエントリ１３９ｎの２番目のデータ格納部１３９ｎ２を参照することで、論理ボリューム１３１宛の入出力要求を保留する必要があるかどうかを判定する。また、ＣＰＵ１３４は、パス識別子管理テーブル１３９の該当するエントリ１３９ｎの３番目のデータ格納部１３９ｎ３を参照することで、論理ボリュームのペア状態を判定する。
【００５７】
続いて、ストレージ装置１３が有する各プログラムを説明する。
【００５８】
ＩＯ処理プログラム１３６は、ホスト計算機１２からの入出力要求に従い、論理ボリューム１３１のデータを読み書きするためのプログラムである。ＣＰＵ１３４は、ＩＯ処理プログラムを実行することで、ホスト計算機１２からの入出力要求に従い、論理ボリューム１３１へのデータ入出力処理を行う。
【００５９】
また、ＩＯ処理プログラム１３６は、論理ボリューム１３１にペア定義がされている場合における副ボリュームへのコピー処理もＣＰＵ１３４に実行させる。具体的には、ホスト計算機１２からの書き込みの対象が正ボリューム１３１ａであった場合（論理ボリューム管理テーブル１３９中の該当するエントリ１３９ｎにおいて、４番目のデータ格納部１３９ｎ４に副ボリューム１３１ｂが定義されている場合）、副ボリューム１３１ｂへのコピー処理１３９もＩＯ処理プログラム１３６を実行することによりＣＰＵ１３４が行う。
【００６０】
構成制御プログラム１３７は、ＩＯ処理プログラム１３６の動作を制御するためのプログラムである。ＣＰＵ１３４は、構成制御プログラム１３７を実行することにより、前記管理サーバ１６からの指示を受けて、ストレージ装置１３に対する各種設定を行う。
【００６１】
例えば、ＣＰＵ１３４が、前記管理サーバ１６から、「論理ボリューム１３１ａおよび論理ボリューム１３１ｂの作成」、「論理ボリューム１３１ａへのパス識別子１７６ａの割り当て」、および「論理ボリューム１３１ａおよび論理ボリューム１３１ｂを、それぞれ正ボリューム、副ボリュームとするスナップショットのペア定義」の指示を受け取ったとする。この場合、ＣＰＵ１３４は、構成制御プログラム１３７を実行することで、受け付けた指示に従いペア定義処理を行う。
【００６２】
その後、ＣＰＵ１３４は、ペアを定義した後、正ボリューム１３１ａの交替パスとして別のパス識別子１７６ｂを割り当て、管理サーバ１６に返す。すなわち、ＣＰＵ１３４はパス識別子管理テーブル１３８に新しいエントリ（例えばエントリ１３８ｂ）を作成し、該当するエントリ（例えばエントリ１３８ｂ）の３個のデータ格納部（例えば、データ格納部１３８ｂ１〜１３８ｂ３）に、それぞれ、「パス識別子１７６ｂ」、「１」、および「論理ボリューム１３１ａ」を格納する。そして、ＣＰＵ１３４は、正ボリューム１３１ａの交替パスとして割り当てたパス識別子１７６ｂを、ＬＡＮ１５を介して管理サーバ１６に送信する。
【００６３】
管理サーバ１６は、ストレージ装置１３が送信したパス識別子１７６ｂをパス識別子１７６ａとともにホスト計算機１２に送信する。そして、ホスト計算機１２は、上記送信されたパス識別子１７６ｂおよびパス識別子１７６ａを受信し、パス管理テーブル１２８のデータを更新する。具体的には、ホスト計算機１２は、パス管理テーブル１２８のエントリ１２８ａの４番目のデータ格納部１２８ａ４に「パス識別子１７６ｂ」を追加して、３番目のデータ格納部１２８ａ３に「パス識別子１７６ｂ」を格納する。
【００６４】
続いて、ホスト計算機１２がストレージ装置１３に対して行う、データ入出力処理およびスナップショットのペア分割要求を行う際の処理について図２および図３を用いて説明する。
【００６５】
図３は、本実施形態のホスト計算機１２が行うデータ入出力処理およびスナップショットのペア分割要求を行う際の処理のフローチャートである。
【００６６】
なお、ここでは、ストレージ装置１２の論理ボリューム１３１ａにＯＳ１２７が提供するデバイス名１７５ａが対応していることとする。また、ストレージ装置１３では、論理ボリューム１３１ａ（正ボリューム）の副ボリュームとして論理ボリューム１３１ｂが定義されているものとする。
【００６７】
また、ホスト計算機１２が有するパス管理テーブル１２８は、図２に示す内容に設定されているものとする。すなわち、「デバイス名１７５ａ」に対して「パス識別子１７６ａ」が対応づけられている。また、データ入出力処理に先立って、ペア分割処理をストレージ装置１３に実行させるためのパス識別子１７６に「パス識別子１７６ｂ」が設定されている。
【００６８】
最初に、ホスト計算機１２がストレージ装置１３に対して行う、データ入出力処理について説明する。
【００６９】
さて、ホスト計算機１２の起動後、ＣＰＵ１２１は制御プログラム１２５により、デバイス名１７５ａ宛ての入出力要求の受付を行うようにＯＳ１２７を設定する(Ｓ１００)。
【００７０】
続いて、ＣＰＵ１２１は、ＡＰ１２４により、ユーザからのストレージ装置１３に対するデータの入出力処理の要求を受け付ける。ＣＰＵ１２１は、ＡＰ１２４により、ＯＳ１２７から提供されるデバイス名１７５ａを指定したデータ入出力処理の要求を稼働中のＯＳ１２７に対して要求する（Ｓ１０１）。
【００７１】
続いて、ＣＰＵ１２１は、ＯＳ１２７によりデバイス名１７５ａに対応するパス識別子１７６を取得するためにパス管理プログラム１２６を呼び出す（Ｓ１０２）。
【００７２】
ＣＰＵ１２１は、パス管理プログラム１２６により、デバイス名１７５ａを対応するパス識別子１７６に変換する。具体的には、ＣＰＵ１２１は、パス管理プログラムにより、パス管理テーブル１２８を検索して、デバイス名１７５ａが格納されているエントリ１２８ａを選択する。ＣＰＵ１２１は、パス管理プログラム１２６により、上記選択したエントリ１２８ａの２番目のデータ格納部１２８ａ２からパス識別子１７６ａを特定して、メモリ１２２の所定の領域に書き込んでＯＳ１２７の処理に移行する（１０３）。
【００７３】
ＣＰＵ１２１は、ＯＳ１２７により、メモリ１２２の所定の領域に書き込まれたパス識別子１７６ａを読み出し、パス識別子１７６ａ宛てのデータ入出力処理要求をＳＡＮＩ/Ｆ１７１を介して、ストレージ装置１３に出力する（Ｓ１０４）。なお、パス識別子１７６ａは、ストレージ装置１３に対してデータ入出力処理を要求する際に用いられるパス識別子である。パス識別子１７６ａ宛てのデータの入出力処理要求を受け付けたストレージ装置１３は、パス識別子１７６ａにより特定される論理ボリューム１３１ａに対するデータ入出力処理を行う。
【００７４】
例えば、受け付けたデータ入出力処理の要求がデータのリード処理の場合、ストレージ装置１３は、論理ボリューム１３１ａから読み出してリードデータをホスト計算機１２に送信する。また、例えば、受け付けたＩＯ処理要求がデータのライト処理の場合、ストレージ装置１３は、論理ボリューム１３１ａの所定領域にライトデータを格納する。また、ストレージ装置１３は、ライドデータを受け付けた場合（図示しないキャッシュにライトデータを格納した場合）、ライト処理の終了をホスト計算機１２に送信する。
【００７５】
ホスト計算機１２のＣＰＵ１２１は、ＯＳ１２７により、ストレージ装置１３から送信されるデータ入出力処理のデータを受け付け、受け付けたデータをＡＰ１２４に渡し、処理を終了する。
【００７６】
続いて、パス識別子１７６を変更する処理について説明する。
【００７７】
本実施形態のホスト計算機１２は、所定のタイミングでパス識別子１７６を変更する処理を開始する。なお、以下の説明では、パス識別子１７６を変更する処理を開始する所定のタイミングについて、定義した正ボリューム１３１ａに対する副ボリュームのデータをバックアップデータとして利用したい際、つまり、ペア分割を行いたいタイミングで、ぺア分割処理を行う代わりにパス識別子１７６変更処理を開始することとする。なお、ペア分割を行いたいタイミングについて、特に限定しないが、例えば、ホスト計算機１２が管理者からのペア分割指示を受け付けた場合をいう。また、例えば、ホスト計算機１２に、ペア分割処理を行いたいタイミングを予め定めておくようにしてもよい（例えば、所定時点の副ボリュームのデータをバックアップデータとして利用するように定めておく）。
【００７８】
まず、ＣＰＵ１２１は、ペア分割を行うタイミングで制御プログラム１２５を実行し、デバイス名１７５ａを指定していた入出力要求を行わないようにＯＳ１２７の設定を変更する（ステップ２００）。
【００７９】
続いて、ＣＰＵ１２１は、ＯＳ１２７により、ＯＳ上で管理するバッファ（図示しない）に論理ボリューム１３１ａ宛ての入出力処理のデータが格納されているか否かを判定する。ＣＰＵ１２１は、ＯＳ１２７により、バッファに論理ボリューム１３１ａへの入出力処理のためのデータが格納されている場合には、そのデータをバッファからフラッシュ（論理ボリューム１３１ａに書き出す）する（ステップ２０１）。
【００８０】
続いて、ＣＰＵ１２１は、制御プログラム１２５の処理へ戻り、パス管理プログラム１２６を呼び出す（ステップ２０２）。ＣＰＵ１２１は、パス管理プログラムを実行して、パス管理テーブル１２８のデバイス名１７５ａが格納されたエントリ１２８ａの２番目のデータ格納部１２８ａ２のパス識別子１７６を変更する。具体的には、ＣＰＵ１２１は、エントリ１２８ａの４番目のデータ格納部１２８ａ４のパス識別子郡１７６から、エントリ１２８ａの３番目のデータ格納部１２８ａ３に格納されているパス識別子１７６ｂと同じパス識別子１７６を選択する。ＣＰＵ１２１は、エントリ１２８ａの２番目のデータ格納部１２８ａ２に選択したパス識別子１７６ｂを格納する（ステップ２０３）。
【００８１】
その後、ＣＰＵ１２１は、制御プログラム１２５の処理へ戻り、ＡＰ１２４が論理ボリューム１３１ａへの入出力を再開するようにＯＳ１２７に対する設定を変更する（Ｓ２０４）。これ以降、ＡＰ１２４の処理に伴うデバイス名１７５ａへのデータ入出力処理は、パス識別子１７６ｂ宛に発行されることになる。
【００８２】
続いて、パス識別子１７６が変更された後のホスト計算機１２が実行する処理について説明する。
【００８３】
ＣＰＵ１２１は、上述したＳ１０１〜１０２と同様の処理を行い（Ｓ１１０〜１１１）、Ｓ１１２の処理に進む。
【００８４】
Ｓ１１２では、ＣＰＵ１２１は、Ｓ１０３と同様の処理を行う。但し、上記のＳ２０３において、ＣＰＵ１２１は、パス管理テーブル１２８の「デバイス名１７５ａ」が格納されているエントリ１２８ａのデータを変更している。すなわち、パス管理テーブル１２８の２番目のデータ格納部１２８ａ２に格納されているデータは、「パス識別子１７６ａ」から「パス識別子１７６ｂ」に変更されている。したがって、Ｓ１１２では、ＣＰＵ１２１は、「デバイス名１７５ａ」を「パス識別子１７６ｂ」に変換して、ＯＳ１２７の処理に移行することとなる。
【００８５】
Ｓ１１３では、ＣＰＵ１２１は、稼働中のＯＳ１２７により、「パス識別子１７６ｂ」宛てのＩＯ処理要求をＳＡＮＩ／Ｆ１７１を介して、ストレージ装置１３に出力する（Ｓ１１３）。なお、「パス識別子１７６ｂ」は、ＩＯ処理に先立って、論理ボリューム１３６のペア分割処理を行う要求に用いるためのパス識別子である。
【００８６】
そのため、「パス識別子１７６ｂ」宛てのＩＯ処理要求を受け付けたストレージ装置１３は、入出力処理に先立って、ペア分割処理を行い、その後、論理ボリューム１３４ａ宛てのＩＯ処理を行う。
【００８７】
このように、本実施形態によれば、ストレージ装置１３の１つの論理ボリューム１３１に対して、論理ボリューム１３１を特定するためのパス識別子を複数設けるようにしている。また、複数のパス識別子１７６の中の所定のパス識別子１７６を用いたデータ入出力要求については、データ入出力処理に先立って、ペア分割処理を行うように定めている。そして、本実施形態では、論理ボリューム１３１のペア分割を行いたい場合に、パス識別子を「データ入出力処理に先立って、ペア分割処理を行う」要求に用いるためのパス識別子に設定するようにしている。
【００８８】
したがって、本実施形態では、データ入出力処理およびペア分割処理を実行するタイミングを調整する手間を無くすことができる。
【００８９】
続いて、ストレージ装置１３が行う入出力処理およびペア分割処理を図２および図４を用いて説明する。
【００９０】
図４は、ストレージ装置１３が行う入出力処理およびペア分割処理のフローチャートである。なお、本フローの説明では、ストレージ装置１３が有する、パス識別子管理テーブル１３８および論理ボリューム管理テーブル１３９には、図２で例示したデータが設定されているものとする。
【００９１】
ＣＰＵ１３４は、ＩＯ処理プログラム１３６を実行して、まずＳＡＮＩ／Ｆ１７２介して、ホスト計算機１２からのデータ入出力処理の要求を受信する（Ｓ３００）。
【００９２】
つぎに、ＣＰＵ１３４は、ＩＯ処理プログラム１３６により、受信したデータ入出力処理の要求が、監視中のパス識別子１７６宛か否かの判定を行う（Ｓ３０１）。
【００９３】
具体的には、Ｓ３０１では、ＣＰＵ１３４は、ＩＯ処理プログラム１３６により、パス管理テーブル１３８を読み出して、受信したデータ入出力処理要求の宛先のパス識別子１７６が格納されているエントリ１３８（ａ〜ｎ）を特定する。ＣＰＵ１３４は、ＩＯ処理プログラム１３６により、特定したエントリ１３８（ａ〜ｎ）の２番目のデータ格納部のデータを参照する。そして、ＣＰＵ１３４は、特定したエントリ１３８（ａ〜ｎ）の２番目のデータ格納部に「１」が格納されている場合、受信したデータの入出力処理要求の宛先のパス識別子１７６が監視中のパス識別子であると判定してＳ３０２の処理に進む。一方、ＣＰＵ１３４は、特定したエントリ１３８（ａ〜ｎ）の２番目のデータ格納部に「０」が格納されている場合、受信したデータ入出力処理要求の宛先のパス識別子１７６を監視する必要がないと判定してＳ３０６の処理に進む。なお、本例では、ＣＰＵ１３４は、「パス識別子１７６ｂ」宛てのデータ入出力処理の要求を受け付けた場合に、Ｓ３０２の処理に進む。また、ＣＰＵ１３４は、「パス識別子１７６ａ」宛てのデータ入出力処理の要求を受け付けた場合に、Ｓ３０６の処理に進む。
【００９４】
Ｓ３０２では、ＣＰＵ１３４は、ＩＯ処理プログラム１３６により、パス識別子１７６ｂに対応する論理ボリューム１３１ａへの入出力要求を一時保留する処理を行う。具体的には、ＣＰＵ１３４は、ＩＯ処理プログラム１３６により、論理ボリューム管理テーブル１３９の対応するエントリ１３９ａの２番目のデータ格納部１３９ａ２に「１」を格納する。
【００９５】
その後、ＣＰＵ１３４は、構成制御プログラム１２５へ処理を移し、ペア分割処理を行い、論理ボリューム管理テーブル１３９の対応するエントリ１３９ａの３番目のデータ格納部１３９ａ３に「２」を格納する（Ｓ３０３）。
【００９６】
ＣＰＵ１３４は、ペア分割処理の完了後、ＩＯ処理プログラム１３６へ処理を移し、パス識別子１７６ｂの監視を解除する（Ｓ３０４）。すなわち、ＣＰＵ１３４は、ＩＯ処理プログラムにより、パス識別子管理テーブル１３８のパス識別子１７６ｂを格納しているエントリ１３８ｂのデータ格納部１３８ｂ２に「０」を格納する。
【００９７】
続いて、ＣＰＵ１３４は、ＩＯ処理プログラム１３６により、論理ボリューム１３１ａへのデータ入出力処理要求の一時保留を解除する（Ｓ３０５）。具体的には、ＣＰＵ１３４は、論理ボリューム管理テーブル１３９の対応するエントリ１３９ａの２番目のデータ格納部１３９ａ２に「０」を格納する。
【００９８】
その後、ＣＰＵ１３４は、稼働中のＩＯ処理プログラム１３６により、受け付けた入出力処理を行う(Ｓ３０６)。具体的には、ＣＰＵ１３４は、ＩＯ処理プログラム１３６により、入出力先のディスク装置１３３の特定とデータの読み書きを行う。
【００９９】
続いて、ＣＰＵ１３４は、稼働中のＩＯ処理プログラム１３６により、受け付けた入出力処理要求がデータの書込み要求であって、かつ該論理ボリューム１３１ａに副ボリューム１３１ｂがスナップショットのペアとして定義されているか否かを判定する。そして、ＣＰＵ１３４は、上記データ入出力処理の要求がデータの書込み要求であって、かつ該論理ボリューム１３１ａに副ボリューム１３１ｂがスナップショットのペアとして定義されている場合にＳ３０８に進み、それ以外は処理を終了する。
【０１００】
Ｓ３０８では、ＣＰＵ１３４は、稼働中のＩＯ処理プログラム１３６により、定義されたペアがペア分割されているか否かを判定する。ＣＰＵ１３４は、上記の判定によりペア分割されていると判定した場合にＳ３０９に進み、ペア分割されていないと判定した場合にＳ３１０に進む。具体的には、ＣＰＵ１３４は、論理ボリューム管理テーブル１３９の対応するエントリ１３９ａの３番目のデータ格納部１３９ａ３に「２」が格納されている場合に、定義されたペアが分割されていると判定する。一方、ＣＰＵ１３４は、上記対応するエントリ１３９ａの３番目のデータ格納部１３９ａ３に「１」が格納されている場合に、定義されたペアが分割されていないと判定する。
【０１０１】
Ｓ３０９では、ＣＰＵ１３４は、稼働中のＩＯ処理プログラム１３６により、差分蓄積を行い、処理を完了する。一方、Ｓ３１０では、ＣＰＵ１３４は、ＩＯ処理プログラム１３６により、副ボリューム１３１ｂへのコピーを行い、処理を完了する。
【０１０２】
なお、ステップ３０１において監視中のパス識別子１７６ｂ宛でない場合、上述したステップ３０６以降の処理を実行し、処理を完了する。
【０１０３】
以上に述べたように、本実施形態でホスト計算機１２は、論理ボリューム１３１ａへのパス切り替え、すなわちデータ入出力処理要求の宛先をパス識別子１７６ａからパス識別子１７６ｂに変更することで、ストレージ装置１３にペア分割の指示を出す。ストレージ装置１３では、パス識別子１７６ｂ宛のデータ入出力処理の要求を受け付けた場合、その入出力処理前にペア分割処理を行い、ペア分割処理の完了後に入出力処理を行う。このため、ペア分割処理前に、ペア分割指示後のデータ入出力処理の要求が正ボリューム１３１ａに対して処理されることが無い。すなわち、本実施形態では、ペア分割を行いたい際の副ボリュームのデータをバックアップデータとして取得することができる。したがって、本実施形態では、ホスト計算機１２は、ペア分割処理自体の完了待ち合わせを行う必要をなくすことができる。
【０１０４】
なお、ペア分割を戻して正ボリュームに蓄積された差分を副ボリュームに反映する操作（これをペア再同期化と呼ぶ）は、待ち合わせの必要がないため、従来通りの方法で良く、その処理内容はここでは特に説明しない。
【０１０５】
さらに、再同期化後のペア分割処理は、以下の処理を行うことで実現することができる。再同期化後のペア分割処理について図２を用いて説明する。
【０１０６】
具体的には、ＣＰＵ１２１は、パス管理プログラム１２６（ＣＰＵ１２１が制御プログラム１２５を実行して呼び出す）を実行して、パス管理テーブル１２８のデータを更新する。すなわち、ＣＰＵ１２１は、デバイス名１７５ａが格納されたエントリ１２８ａのデータ格納部１２８ａ４に格納されているパス識別子１７６群から、エントリ１２８ａのデータ格納部１２８ａ３に格納されているパス識別子１７６ｂ以外のパス識別子１７６を選択する（図２では、パス識別子１７６ａ）。ＣＰＵ１２１は、選択したパス識別子１７６をエントリ１２８ａの２番目データ格納部１２８ａ２に格納する。
【０１０７】
その後、ＣＰＵ１２１は、パス識別子１７６ｂ宛の入出力の完了を待ち（例えば、十分に長い時間待つ）、ストレージ装置１３の制御装置１３２に対し、パス識別子１７６ｂを監視対象にするよう依頼する。依頼を受けた制御装置１３２では、ＣＰＵ１３４が構成制御プログラム１３７を呼び出し、パス識別子管理テーブル１３８において該パス識別子１７６ｂに対応するエントリ１３８ｂの２番目のデータ格納部１３８ｂ２に「１」を格納する。
<第２実施形態>
次に、本発明の第２実施形態について説明する。
【０１０８】
第２実施形態は、第１実施形態と以下の処理が異なる以外は、同じである。具体的には、第２実施形態では、パス識別子１７２ｂはシステム管理者が指定し、管理サーバ１６のＣＰＵ１６１が管理プログラム１６３を実行する際に、ストレージ装置１３に対して指定する。
【０１０９】
ＣＰＵ１３４は、構成制御プログラム１３７を実行して、管理サーバ１６からパス識別子１７２ｂを受け取り、ペア定義をした後にパス識別子１７２ｂを論理ボリューム１３１ａに割当てる。
【０１１０】
このように、パス識別子１７２ｂをシステム管理者が指定することで、ＯＳ１２７の種類によってパス識別子１７２ｂを扱えない場合、例えばＬＵＮの上限値を超えてしまう場合などに対応することができる。
【０１１１】
なお、本発明は以上で説明した実施形態に限定されるものではなく、本発明の要旨の範囲内において種々の変形が可能である。例えば、本実施形態の説明では、ホスト計算機１２がパス識別子１７６ｂ宛てのデータ入出力要求をストレージ装置１３に行った場合に、ストレージ装置１３は、データ入出力処理に先立って、ペア分割処理を行うこととしているが、特にこれに限定されるものではない。データ入出力処理に先立って行う処理は、ストレージ装置１３内で行われる他の処理でもかまわない。
【０１１２】
また、本実施形態の説明では、データ入出力処理に先立って、ペア分割処理を行わせるためのパス識別子として１種類の「パス識別子１７６ｂ」を設定する場合を説明したが特にこれに限定するものではない。例えば、データ入出力処理と同期を取る必要があるストレージ装置内の処理が複数ある場合、データ入出力処理と同期を取る必要がある処理毎にパス識別子１７６を論理ボリューム１３１に割り当てるようにしてもよい。
【０１１３】
また、本実施形態の説明では、パス識別子１７６を変更するタイミングについて、分割処理を行いたいタイミングを例にしたが、特にこれに限定するものではない。例えば、管理者からの指示により、ホスト計算機１２のパス識別子１７６を変更するようにしてもよい。
【図面の簡単な説明】
【０１１４】
【図１】本発明の実施形態の計算機システムの全体構成を示す図である。
【図２】本実施形態の各プログラムの動作原理を示す概念図である。
【図３】本実施形態のホスト計算機が行う入出力処理要求処理およびスナップショットのペア分割要求を行う際の処理のフローチャートである。
【図４】本実施形態のストレージ装置が行う入出力処理およびペア分割処理のフローチャートである。
【符号の説明】
【０１１５】
１２…ホスト計算機、１３…ストレージ装置、１４…管理コンソール、１５…ＬＡＮ、１６…管理サーバ、１７…ＳＡＮリンク、１２１…ＣＰＵ、１２２…メモリ、１２４…ＡＰ、１２５…制御プログラム、１２６…パス管理プログラム、１２７…ＯＳ、１３１…論理デバイス、１３３…ディスク装置、１３４…ＣＰＵ、１３５…メモリ、１３６…ＩＯ処理プログラム、１３７…構成制御プログラム、１５１…ＬＡＮＩ/Ｆ、１６１…ＣＰＵ、１６２…メモリ、１６３…管理プログラム、１７１…ＳＡＮＩ/Ｆ、１７２…ＳＡＮＩ/Ｆ、１７６…パス識別子
【図１】
2005301880.tif 000003
【図２】
2005301880.tif 000004
【図３】
2005301880.tif 000005
【図４】
2005301880.tif 000006