(58)【調査した分野】(Int.Cl.,DB名)
前記(3)において、前記第2ストレージシステムは、前記第2記憶領域が最新のデータでないために、前記第2記憶領域をライト先とするライトリクエストを失敗としたことを示す所定のエラー応答を、前記第2ホストシステムに送信し、
前記(4)において、前記第2ホストシステムは、前記所定のエラー応答を受信した場合に、前記第3パスを使用して、ライトリクエストを前記第1ストレージシステムに送信する、
請求項1記載の情報システム。
前記(4)の後において、前記第1及び第2ストレージシステムが、前記第1遠隔データミラーリング処理を実行し、前記第2ストレージシステムが、前記第2記憶領域をライト先とするライトリクエストを失敗とする制御を終了するように制御変更する、
請求項3記載の情報システム。
第1記憶領域を提供する第1ストレージシステムと、前記第1記憶領域とペアを構成する第2記憶領域を提供する第2ストレージシステムとに接続される通信インタフェースデバイスと、
前記第1記憶領域に繋がる第1パスに関する情報と第2記憶領域に繋がる第2パスに関する情報とを記憶した記憶デバイスと、
前記通信インタフェースデバイス及び前記記憶デバイスに接続されたプロセッサと
を有し、
前記プロセッサが、
前記第2記憶領域をライト先としたライトリクエストを送信し、
前記第2ストレージシステムが前記第1ストレージシステムから遠隔データミラーリング処理の停止通知を受信したことにより前記第2記憶領域をライト先とするライトリクエストが失敗となる制御を行うように制御変更されていたために、前記送信したライトリクエストが失敗した場合、前記第2パスよりも優先度が低い状態に設定されている前記第1パスを使用して、前記第1記憶領域をライト先とするライトリクエストを前記第1ストレージシステムに送信する、
ホストシステム。
1つの計算機である、又は、前記第1及び前記第2ストレージシステムのうち前記第1ストレージシステムのみにアクセス可能な第1計算機と、前記第1及び前記第2ストレージシステムのうち前記第2ストレージシステムのみにアクセス可能な第2計算機とにより構成されたクラスタシステムである、
請求項9記載のホストシステム。
第1記憶領域を提供する第1ストレージシステムと、前記第1記憶領域とペアを構成する第2記憶領域を提供する第2ストレージシステムと、前記第1及び第2ストレージシステムに接続されライトリクエストを送信する第1及び第2ホストシステムとを有する情報システムでのアクセス制御方法において、
(A)正常な状態である第1システム状態では、
前記第1及び第2ストレージシステムが、前記第1記憶領域をソースとし前記第2記憶領域をターゲットとした第1遠隔データミラーリング処理を実行し、
前記第1ホストシステムと前記第1記憶領域とを結ぶ第1パスの状態は、前記第1ホストシステムと前記第2記憶領域とを結ぶ第2パスよりも前記第1パスの優先度が高いことを意味する状態であり、
前記第2ホストシステムと前記第1記憶領域とを結ぶ第3パスの状態は、前記第2ホストシステムと前記第2記憶領域とを結ぶ第4パスよりも前記第3パスの優先度が高いことを意味する状態であり、
(B)前記第1ストレージシステムが前記第1又は第2ホストシステムから受信したライトリクエストに従う処理に前記第1システム状態において失敗した場合になる状態である第2システム状態では、
前記第1及び第3パスのそれぞれの状態は、そのパスを使用してライトリクエストを送信することを禁止することを意味する状態であり、
前記第1及び第2ストレージシステムが、前記第1遠隔データミラーリング処理を停止し、
(C)前記第1及び第2ホストシステムから前記第1ストレージシステムへライトリクエストを送信してもよい状況に前記第2システム状態において復旧したことを意味する第3システム状態では、
前記第1及び第2ストレージシステムが、前記第2記憶領域をソースとし前記第1記憶領域をターゲットとした第2遠隔データミラーリング処理を実行し、
前記第1パスの状態は、前記第2パスよりも前記第1パスの優先度が低いことを意味する状態であり、
前記第3パスの状態は、前記第4パスよりも前記第3パスの優先度が低いことを意味する状態であり、
(D)前記第3システム状態において前記第1パスの優先度が前記第2パスより優先度が高いことを意味する状態に遷移した場合、
(1)前記第1ホストシステムは、ライトリクエストを前記第1パスを使用して前記第1ストレージシステムに送信し、
(2)前記第1ストレージシステムは、前記第1ホストシステムからのライトリクエストを受信し、前記受信したライトリクエストに従うライト先である前記第1記憶領域が前記第2遠隔データミラーリング処理についてのターゲットであることを検知し、前記第2遠隔データミラーリング処理の停止通知を前記第2ストレージシステムに送信し、且つ、前記受信したライトリクエストの処理を実行し、
(3)前記第2ストレージシステムは、前記停止通知を受信し、前記第2記憶領域をライト先とするライトリクエストが失敗するように制御変更し、
(4)前記第2ホストシステムは、前記第4パスを使用して前記第2記憶領域をライト先とするライトリクエストを前記第2ストレージシステムへ送信し、そのライトリクエストが失敗した場合に、前記第4パスよりも優先度の低いことを意味する状態である前記第3パスを使用して、ライトリクエストを送信する、
アクセス制御方法。
前記(3)において、前記第2ストレージシステムは、前記第2記憶領域が最新のデータでないために、前記第2記憶領域をライト先とするライトリクエストを失敗としたことを示す所定のエラー応答を、前記第2ホストシステムに送信し、
前記(4)において、前記第2ホストシステムは、前記所定のエラー応答を受信した場合に、前記第3パスを使用して、ライトリクエストを前記第1ストレージシステムに送信する、
請求項13記載のアクセス制御方法。
【発明を実施するための形態】
【0012】
一実施例を、図面を参照して説明する。
【0013】
なお、以下の説明では「aaaテーブル」等の表現にて本発明の情報を説明する場合があるが、これら情報は、テーブル等のデータ構造以外で表現されていてもよい。データ構造に依存しないことを示すために「aaaテーブル」等について「aaa情報」と呼ぶことができる。
【0014】
また、以下の説明では、対象を識別するための情報として、ID(識別子)又は番号が用いられるが、それらに代えて他種の識別情報が用いられてもよい。
【0015】
また、以下の説明では、プログラムを主語として処理を説明する場合があるが、プログラムは、プロセッサ(例えばCPU(Central Processing Unit))によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)及び/又は通信インターフェースを用いながら行うため、処理の主語がプロセッサ、そのプロセッサを有する計算機とされてもよい。また、プロセッサが行う処理の一部又は全部を行うハードウェア回路を含んでもよい。コンピュータプログラムは、プログラムソースから装置にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバ、又は、計算機が読み取り可能な記憶メディアであってもよい。
【0016】
また、以下の説明における用語の意味は、下記の通りである。すなわち、「VOL」は、論理ボリュームの略であり、論理的な記憶デバイスである。VOLは、実体的なVOL(RVOL)であってもよいし、仮想的なVOL(VVOL)であってもよい。また、VOLは、そのVOLを提供するストレージシステムに接続されている外部の装置(例えばサーバ装置)に提供されるオンラインVOLと、外部の装置には提供されない(外部の装置からは認識されない)オフラインVOLとがあってよい。「RVOL」は、そのRVOLを有するストレージシステムが有する物理的な記憶資源(例えば、複数のPDEVで構成されたRAID(Redundant Array of Independent (or Inexpensive) Disks)グループ)に基づくVOLである。
【0017】
図1は、実施例に係る情報システムの構成図である。
【0018】
情報システムは、ホストシステムの一例としてのホスト計算機(以下、ホストという)100と、管理計算機200と、第1ストレージシステムの一例としての正ストレージシステム300と、第2ストレージシステムの一例としての副ストレージシステム400とを有する。本実施例では、情報システムは、複数のホスト100を有する。ホスト100と、管理計算機200と、正ストレージシステム300とは、管理用ネットワーク10を介して接続されている。ホスト100と、正ストレージシステム300と、副ストレージシステム400とは、ストレージエリアネットワーク(SAN)20を介して接続されている。正ストレージシステム300と、副ストレージシステム400とは、広域ネットワーク30を介して接続されている。広域ネットワーク30は、例えば、TCP/IPネットワークであってもよく、ファイバーチャネルによるネットワークであってもよい。管理計算機200は、入力デバイス等を有しており、情報システムの管理者による指示により、正ストレージシステム300、副ストレージシステム400に対する各種設定、指示等を行うことができる。
【0019】
図2は、正ストレージシステム300の構成図である。
【0020】
正ストレージシステム300は、CPU310と、メモリ320と、SANポート330と、LANポート340と、LANポート350と、第1記憶領域の一例であるPVOL(正VOL)360とを有する。CPU310と、メモリ320と、SANポート330と、LANポート340と、LANポート350と、PVOL360とは、内部バスを介して通信可能に接続されている。
【0021】
CPU310は、メモリ320に格納された各種プログラムを実行することにより、各種処理を実行する。メモリ320は、各種プログラムや、各種情報を記憶する。本実施例では、メモリ320は、ストレージ制御プログラム321、VOL管理テーブル322、及びペア管理テーブル323を記憶する。ストレージ制御プログラム321は、ホスト100からのライトリクエストに従い、データをPVOL360に書き込む。また、ストレージ制御プログラム321は、PVOL360に書き込んだデータを、後述するSVOL(副ボリューム)440にコピーする遠隔データミラーリング処理を制御する。また、ストレージ制御プログラム321は、SVOL440に書き込まれたデータを、PVOL360にコピーする遠隔データミラーリング処理を制御する。ストレージ制御プログラム321による遠隔データミラーリング処理の実行及び停止や、遠隔データミラーリング処理におけるコピーの方向については、管理計算機200を使用して、管理者が手動で設定することができる。
【0022】
SANポート330は、ストレージエリアネットワーク20を介して正ストレージシステム300を他の装置(例えば、ホスト100)に接続するためのインタフェースデバイスである。LANポート340は、管理用ネットワーク10を介して正ストレージシステム300を他の装置(例えば、管理計算機200)に接続するためのインタフェースデバイスである。LANポート350は、広域ネットワーク30を介して正ストレージシステム300を他の装置(例えば、副ストレージシステム400)に接続するためのインタフェースデバイスである。
【0023】
PVOL360は、例えば、HDD(Hard Disk Drive)等の記憶デバイスの記憶領域により構成されるボリュームであり、ホスト100のアプリケーションプログラム(APともいう)121に使用されるデータ(例えば、生成されたデータ)が格納される。
【0024】
図3は、副ストレージシステム400の構成図である。
【0025】
副ストレージシステム400は、CPU410と、メモリ420と、LANポート430と、第2記憶領域の一例であるSVOL(副VOL)440と、SANポート450とを有する。CPU410と、メモリ420と、LANポート430と、SANポート450と、SVOL440とは、内部バスを介して通信可能に接続されている。
【0026】
CPU410は、メモリ420に格納された各種プログラムを実行することにより、各種処理を実行する。メモリ420は、各種プログラムや、各種情報を記憶する。本実施例では、メモリ420は、ストレージ制御プログラム421、VOL管理テーブル422、及びペア管理テーブル423を記憶する。ストレージ制御プログラム421は、PVOL360のデータを、SVOL440にコピーする遠隔データミラーリング処理を制御する。また、ストレージ制御プログラム421は、SVOL440のデータを、PVOL360にコピーする遠隔データミラーリング処理、すなわち逆方向のコピーを制御する。ストレージ制御プログラム421による遠隔データミラーリング処理の実行及び停止や、遠隔データミラーリング処理におけるコピーの方向については、管理計算機200を使用して、管理者が手動で設定することができる。VOL管理テーブル422及びペア管理テーブル423は、正ストレージシステム300のVOL管理テーブル322及びペア管理テーブル323の構成と同様である。
【0027】
LANポート430は、広域ネットワーク30を介して副ストレージシステム400を他の装置(例えば、正ストレージシステム300)に接続するためのインタフェースデバイスである。SANポート450は、ストレージエリアネットワーク20を介して副ストレージシステム400を他の装置(例えば、ホスト100)に接続するためのインタフェースデバイスである。
【0028】
SVOL440は、例えば、HDD等の記憶デバイスの記憶領域により構成されるボリュームであり、正常時には、PVOL360と同一のデータを管理するため、すなわち、PVOL360のデータのコピーを格納するために用いられ、PVOL360への障害発生時には、PVOL360の代わりに用いられる。
【0029】
図4は、ホスト100の構成図である。
【0030】
ホスト100は、CPU110と、メモリ120と、SANポート130と、LANポート140と、入力デバイス150と、表示デバイス160とを有する。CPU110と、メモリ120と、SANポート130と、LANポート140と、入力デバイス150と、表示デバイス160とは、内部バスを介して通信可能に接続されている。
【0031】
CPU110は、メモリ120に格納された各種プログラムを実行することにより、各種処理を実行する。メモリ120は、各種プログラムや、各種情報を記憶する。本実施例では、メモリ120は、AP121と、仮想化レイヤ122と、OS(Operating system)123と、パス管理プログラム124と、パス管理テーブル125と、デバイスファイル管理テーブル126とを記憶する。
【0032】
仮想化レイヤ122は、ハイパバイザを含んでよい。仮想化レイヤ122は、ホスト100内に仮想マシンを構築したり、ホスト100内の仮想マシンを他のホスト100に移動したりする処理を実行する。仮想マシンの実行イメージ又は使用データは、例えば、正ストレージシステム300のPVOL360に格納されることがある。仮想化レイヤ122は、仮想マシンを他のホスト100の仮想化レイヤ122に渡すことにより、仮想マシンを他のホスト100に移動させることができる。このような場合には、仮想マシンの移動先の別のホスト100が正ストレージシステム300のPVOL360にアクセスすることとなる。このため、複数のホスト100から正ストレージシステム300の同一のPVOL360を対象とするI/Oリクエストが送信されることが起こり得る。
【0033】
OS123は、ホスト100上で他のプログラムを動作可能にするための基本プログラムである。パス管理プログラム124は、正ストレージシステム300又は副ストレージシステム400に格納されているVOLにアクセスする際に利用するパスを管理するプログラムである。
【0034】
SANポート130は、ストレージエリアネットワーク20を介してホスト100を他の装置(例えば、正ストレージシステム300、副ストレージシステム400)に接続するためのインタフェースデバイスである。LANポート140は、管理用ネットワーク10を介してホスト100を他の装置(例えば、管理計算機200、正ストレージシステム300等)に接続するためのインタフェースデバイスである。
【0035】
入力デバイス150は、例えば、キーボード、マウス等の入力装置であり、ホスト100のユーザからの各種入力を受け付ける。表示デバイス160は、例えば、液晶ディスプレイ等の表示装置であり、各種情報を表示する。
【0036】
図5は、VOL管理テーブル322の一例の構成図である。
【0037】
VOL管理テーブル322は、VOL毎に、Port#322a、V#322b、R#322c、容量322d、及び属性322eを有するレコードを有する。
【0038】
Port#322aは、VOLが関連付けられているポート(ストレージシステムのポート)のポート番号(#)を表す。V#322bは、VOLの仮想番号を表す。VOL仮想番号は、グローバルな番号であり、ホスト100に通知される後述の仮想情報に含まれる番号である。R#322cは、VOLの実番号を表す。VOL実番号は、ホスト100には通知される後述の物理情報に含まれる番号である。容量322dは、VOLの容量を表す。属性322eは、VOLの属性を表す。VOLの属性は、例えば、PVOLとSVOLとを1つのVOLとしてホスト100に提供するグローバル構成であるか、又は、PVOLとSVOLとを別々のVOLとしてホスト100に提供するローカル構成であるか、RVOLの基となっているRAIDグループを示す対応RG情報(RAIDレベル、PDEV(物理デバイス)の数、PDEVの種類、PDEVの番号等)等である。
【0039】
図6は、ペア管理テーブル323の一例の構成図である。
【0040】
ペア管理テーブル323は、コピーペア毎に、R#323a、VOLステータス323b、相手ストレージ#323c、相手R#323d、コピーステータス323e、及びコピー方向323fを有するレコードを管理する。
【0041】
R#323aは、コピーペアを構成する自VOL(このテーブル323を有するストレージシステム内のVOL)の実番号を表す。VOLステータス323bには、自VOLがPVOLであるのかSVOLであるのかを表す。相手ストレージ#323cは、自VOLとコピーペアを構成する相手VOLを有するストレージシステムのストレージ#を表す。相手R#323dは、相手VOLの実番号を表す。コピーステータス323eは、コピーステータス(コピーペアのステータス)を表す。コピーステータスとしては、PVOLとSVOLとのデータが一致していることを示す「PAIR」、VOL間のコピーを実行中であることを示す「COPY」、一方のVOLにデータが入っても他方のVOLが更新されない状態を示す「サスペンド」がある。コピー方向323fは、コピーペアにおけるコピー方向を表す。コピー方向としては、PVOLをソースとしSVOLをターゲットとする順方向(Normal)と、SVOLをソースとしPVOLをターゲットとする逆方向(Reverse)とがある。
【0042】
図7は、仮想デバイスファイル及び物理デバイスファイルの管理を説明する図である。
【0043】
PVOL360とSVOL440とを1つのVOLとして管理する場合においては、PVOLに対応する物理デバイスファイル501と、SVOLに対応する物理デバイスファイル502とを、PVOLとSVOLとを仮想化した1つのVOLに対応する仮想デバイスファイル500に対応付けて管理する。この場合、ホスト100のAP121は、仮想デバイスファイル500を指定してアクセスを行う。一方、パス管理プログラム124は、AP121から指定された仮想デバイスファイル500に対応する物理デバイスファイル501及び502を、デバイスファイル管理テーブル126を参照して認識し、パス管理テーブル125を参照し、いずれかの物理デバイスファイルに対応するパスをパスステータスに基づいて選択し、そのパスによりアクセスを行う。
【0044】
図8は、デバイスファイル管理テーブル126の一例の構成図である。
【0045】
デバイスファイル管理テーブル126は、仮想デバイスファイル毎に、仮想デバイスファイル126a、物理デバイスファイル1 126b、及び物理デバイスファイル2 126cを有するレコードを管理する。
【0046】
仮想デバイスファイル126aは、仮想デバイスファイルのファイル名(仮想デバイスファイル名)を表す。物理デバイスファイル1 126bには、仮想デバイスファイルに対応しPVOLのマウント先の物理デバイスファイルのファイル名を表す。物理デバイスファイル2 126cには、仮想デバイスファイルに対応しSVOLのマウント先の物理デバイスファイルのファイル名を表す。
【0047】
図9は、パス管理テーブル125の一例の構成図である。
【0048】
パス管理テーブル125は、パス毎に、ID125a、機種125b、仮想情報125c、物理情報125d、パスステータス125e、PVOL障害125f、及び物理デバイスファイル125gを有するレコードを管理する。仮想情報125cは、ストレージS/N125h、Port#125i、及びLDEV ID125jを含む。物理情報125dは、ストレージS/N125k、Port#125l、及びLDEV ID125mを含む。
【0049】
ID125aは、パスに割り当てられたIDである。機種125bは、ストレージシステムの機種名を表す。ストレージS/N125hは、ストレージシステムのS/N(シリアル番号)である。Port#125iは、ストレージシステムのPortの番号である。LDEV ID125jは、パスに関連付けられたVOLの仮想番号(V#)である。仮想情報125c中の各情報要素は、グローバル構成のVOLについてのグローバルな情報であり、ストレージシステムから提供される。
【0050】
ストレージS/N125kは、ストレージシステムのS/N(シリアル番号)である。Port#125lは、ストレージシステムのPortの番号である。LDEV ID125mは、パスに関連付けられたVOLの実番号(R#)である。物理情報125d中の各情報要素は、ストレージシステムが有するVOLがSVOLであり且つそのSVOLがグローバル構成の要素である場合に、そのストレージシステムから提供される。
【0051】
パスステータス125eは、パスのステータスを表す。パスステータスとしては、オンライン、オンラインスタンバイ、オンライン(S)、オンライン(D)、オフライン(E)がある。オンライン(第1優先状態)は、最も優先度が高い状態であり、優先して使用されるパスであることを意味する。オンラインスタンバイ(第2優先状態)は、アクセス先のVOLに関連付けられたパスの中にオンラインのパスがない場合に使用されるパスであることを意味する。オンライン(S)は、ユーザの操作によりオンラインに戻し得るパスであることを意味する。オンライン(D)(第3優先状態)は、後述するように、所定のエラー応答を受けた場合に使用可能となるパスであることを意味する。オフライン(E)(使用禁止状態)は、使用が禁止されているパスであることを意味する。
【0052】
PVOL障害125fは、パスが関連付けられているPVOLに障害が発生しているか否かを表す。PVOL障害125fは、PVOLに障害が発生した場合にパス管理プログラム124によりPVOLに障害が発生していることを示す情報に更新される。物理デバイスファイル125gは、パスが関連付けられているVOLに対応する物理デバイスファイルのファイル名を表す。
【0053】
次に、本実施例で行われる処理を、
図10〜
図12及び
図15〜
図19を参照して説明する。以下の説明において、ストレージ#1は、正ストレージシステム300であり、ストレージ#2は、副ストレージシステム400であり、ホスト#1及び#2は、それぞれホスト100であり、AP#11、#21、#22及び#31は、それぞれAP121であり、仮想化レイヤ#1及び#2は、それぞれ仮想化レイヤ122であり、OS#1及び#2は、それぞれOS123であり、パス管理#1及び#2は、それぞれパス管理プログラム124である。また、以下の説明では、ホスト#1とR#11のVOL(PVOL)とを結ぶパスを「第1パス」と言い、ホスト#1とR#12のVOL(SVOL)とを結ぶパスを「第2パス」と言う。同様に、ホスト#2とPVOLとを結ぶパスを「第3パス」と言い、ホスト#2とSVOLとを結ぶパスを「第4パス」と言う。また、後述するように、
図13及び
図14は、実施例の比較例の説明のために参照する図である。比較例の説明においても、実施例に係る構成要素との対応関係を分かり易くするために、便宜的に、上述した番号(
図10〜
図12及び
図15〜
図19に示した番号)と同じ番号を使用する。なお、比較例は、問題点を説明するために使用する例であり、本実施例を構成する要素でなくてよい。
【0054】
図10の例によれば、ホスト#1において、仮想化レイヤ#1により1つの仮想マシンが実行され、その仮想マシンでは、OS#1上でAP#11が実行される。、また、ホスト#2において、仮想化レイヤ#2により2つの仮想マシンが実行され、1つの仮想マシンでは、OS#2上でAP#21及び#22が実行され、もう1つの仮想マシンでは、OS#3上でAP#31が実行される。
図10に示すように、正常状態(第1システム状態)となる前には、パス管理#1及び#2は、それぞれ、ストレージ#1及び#2からパス管理テーブル125の設定に必要な情報を取得する。グローバル構成のPVOLを管理するストレージ#1は、PVOLについて仮想情報をパス管理#1及びパス管理#2に送信する。
【0055】
一方、グローバル構成のSVOLを管理するストレージ#2は、ストレージ#1から仮想情報を取得し、その仮想情報と、物理情報とを、パス管理#1及び#2に送信する。
【0056】
パス管理#1及び#2は、ストレージ#1及び#2から受けた情報をパス管理テーブル125に登録する。パス管理#1及び#2は、それぞれ、仮想情報が設定されているが物理情報が設定されていないレコードに対応するパスは、PVOLに関連付けられているパスであると認識でき、仮想情報及び物理情報が設定されているレコードに対応するパスは、SVOLに関連付けられているパスであると認識できる。また、パス管理#1及び#2は、それぞれ、設定されている仮想情報が同一であるレコードに対応するVOLは、仮想的に管理する1つのVOLとして認識できる。
【0057】
図10では、PVOLとSVOLがコピーペア(VOLペア)を構成し、これらPVOL及びSVOLは、V#01により識別される1つのVOLとして仮想的に管理されることとなる。また、ストレージ#1及び#2により、PVOLからSVOLへの順コピー(第1遠隔データミラーリング処理)が実行されるようになっている。
【0058】
ホスト#1では、第1パスの状態は、オンライン(実線)であり、第2パスの状態は、オンラインスタンバイ(破線)である。したがって、パス管理#1は、AP#11がV#01のVOLをライト先とするライトリクエストを発行した場合には、第1パス(オンラインのパス)を使用してライトリクエストを送信する。
【0059】
ホスト#2では、第3パスの状態は、オンラインであり、第4パスの状態は、オンラインスタンバイである。したがって、パス管理#2は、AP#21、AP#22、又はAP#31がV#01のVOLをライト先とするライトリクエストを発行した場合には、第3パス(オンラインのパス)を使用してライトリクエストを送信する。
【0060】
図11に示すように、情報システムの状態が、情報システムに障害(例えば、ストレージ#1の障害)が発生してPVOLにアクセスできなくなった状態(第2システム状態)であるとする。
【0061】
この状態においては、ホスト#1は、第1パス(オンラインのパス)を使用してライトリクエストを送信してもライト処理を完了することはできないので、フェイルオーバーを実行する。具体的には、パス管理#1は、V#01のVOLに対する第1パスの状態を、オフライン(E)(細かい破線且つ禁止マーク)に変更し、V#01のVOLをライト先とするライトリクエストを送信するのに使用されるパスを、第2パス(オンラインスタンバイのパス)に切り替える。これにより、AP#11は、ストレージ#2のSVOLを使用して業務を継続できる。
【0062】
同様に、パス管理#2も、V#01のVOLに対する第3パスの状態を、オフライン(E)に変更し、V#01のVOLをライト先とするライトリクエストを送信するのに使用されるパスを、第4パス(オンラインスタンバイのパス)に切り替える。これにより、ホスト#2のAPは、ストレージ#2のSVOLを使用して業務を継続できる。
【0063】
図12に示すように、
図11に示したような障害発生後に障害箇所(例えば、ストレージ#1)の障害を回復する(
図12(1))ことにより、ストレージ#1がホストからのPVOLへのライトリクエストを受け付け可能な状態(第3システム状態)となる。この場合、ストレージ#1及び#2は、逆コピー(コピー方向が逆方向である遠隔データミラーリング処理)の実行を開始する(
図12(2))。なお、ストレージ#1及び#2による逆コピーは、ストレージ#1が逆コピー指示を受けることにより実行が開始される。これにより、障害が発生した後に、ホスト#1及び#2に使用されているSVOLのデータをPVOLにコピーすることができる。逆コピー指示は、ホスト#1、#2又は管理計算機200より送信されてよい。
【0064】
パス管理#1は、所定のコマンド(例えば、パスが正常か否かを検出する目的のダミーコマンド)を第1パスを使用して発行することにより第1パスが使用可能になったことを検出すると、第1パスの状態をオンライン(S)(一点鎖線且つ禁止マーク)に変更する(
図12(3))。同様に、パス管理#2は、所定のコマンドを第3パスを使用して発行することにより第3パスが使用可能になったことを検出すると、第3パスの状態をオンライン(S)に変更する(
図12(3))。
【0065】
ここで、
図13に示すように、
図12に示す状態となった以降において、パス管理#1が、自動的に(又は、ホスト#1のユーザ或いは管理計算機200からの指示により)、第1パスの状態をオンライン(S)からオンラインに変更したとする(
図13(1))。その後、パス管理#1は、PVOLがライト先となるライトリクエストを、第1パスを使用して送信することとなる。ストレージ#1がそのライトリクエストをホスト#1から受信すると(
図13(2))、ストレージ#1のストレージ制御プログラム321がストレージ#2に対して、PVOLに対するライトが発生した旨を通知し、通知を受けたストレージ#2がSVOLを閉塞する(
図13(3))。
【0066】
このため、ホスト#2は、第4パスを使用してSVOLにアクセスすることができなくなる。この際、第3パスの状態は、オンライン(S)であるので、ホスト#2は、管理者による関与なくして第3パスを使用することが好ましくない。この結果、ホスト#2のAPは、業務を停止しなくてはならなくなる。
【0067】
このような問題を回避するための方法として、
図14に示すように、ホスト#2で動作するすべての仮想マシンをホスト#1に移動する方法が考えられる。しかし、そうすると、ホスト#1の負荷が高くなる。
【0068】
このような問題を解決するべく、本実施例では以下の処理が行われる。
【0069】
すなわち、
図15に示すように、まず、パス管理#1及び#2が、オンライン(S)のパスの状態を、オンライン(S)からオンライン(D)(二点鎖線及び禁止マーク)に変更する。
【0070】
次に、
図16に示すように、パス管理#1が、自動的に(又は、ホスト#1のユーザ或いは管理計算機200からの指示により)、第1パスの状態をオンライン(D)からオンラインに変更する(
図16(1))。すると、パス管理#1は、PVOLをライト先とするライトリクエストを第1パスを使用して送信することとなる。
【0071】
その後、ストレージ#1がホスト#1からPVOLをライト先とするライトリクエストを受信すると(
図16(2))、ストレージ#1のストレージ制御プログラム321が、そのライトリクエストに従いPVOLに対するライト処理を実行するとともに、逆コピーが実行されないようストレージ#2にエラー通知を送信する。なお、コピーのターゲットとなっているPVOLをライト先とするライトリクエストであるか否かは、ペア管理テーブル323から特定できる。エラー通知を受信したストレージ#2は、SVOLをライト先とするライトリクエストを受け付けないようSVOLについてデータコピー不可と制御する。なお、PVOLとSVOLに差分があると、SVOLからデータが読み出されることが好ましくないケースも考えられ、故に、ストレージ#2は、SVOLについて、ライトリクエストに加えて、SVOLをリード元とするリードリクエストも受け付けないように制御してよい。
【0072】
その後、
図17に示すように、ストレージ#2が、SVOLをライト先とするライトリクエストをホスト#2から受信すると(
図17(1))、ストレージ#2のストレージ制御プログラム421は、SVOLをライト先とするライトリクエストを受け付けないように制御しているので、ホスト#2に対して、所定のエラー応答を返す(
図17(2))。ホスト#2が所定のエラー応答を受けると、パス管理#2は、第4パスの状態をオンライン(E)(細い破線及び禁止マーク)に変更する。
【0073】
また、
図18に示すように、パス管理#2は、第3パスの状態を、オンライン(D)からオンラインに変更し(
図18(1))、ライト先をPVOLとしたライトリクエストを、第3パスを使用して送信する(
図18(2))。これにより、ホスト#2は、第4パスについて所定のエラー応答を受けた場合に第3パスを使用してPVOLにアクセスすることが可能となる。なお、ホスト#2以外にも、SVOL(R#12のVOL)に繋がるパスを管理し使用できるようになっているホストが存在しているとしても、そのようなホストがホスト#2と同様な処理を行うことにより、PVOLにアクセスすることが可能となる。つまり、ホストの数が多くても、スケーラブルに情報システムの障害を回復することができる。
【0074】
さて、
図18に示した状態の後、ストレージ#1及び#2は、順コピー指示を受けて、順コピーを再開する。この結果、ストレージ#2は、SVOLについてのデータコピー不可の状態を解消する。これにより、情報システムは、
図10に示す正常状態(第1システム状態)に戻ることとなる。従って、以降において、再びストレージ#1のPVOLにアクセスできない障害が発生してもフェイルオーバーすることができる。
【0075】
以上が、実施例の説明である。上述した実施例を変形例が考えられる。以下、変形例を適宜実施例と比較しながら説明する(特に、パスの状態、ミラーリングの状態、及びミラーリング(コピー)の向きを中心に説明する)。
【0077】
図21〜
図27においては、
図20に示すように、それぞれの矩形がホスト#1及びホスト#2を示し、それぞれのディスク記号がストレージ#1及びストレージ#2を示し、これら構成の間のパスをそのパスの状態に応じた態様で表記する。ここで、ストレージ#1に繋がるパスは、ストレージ#1のPVOLへのパスを示し、ストレージ#2に繋がるパスは、PVOLとコピーペアであるSVOLへのパスを示している。なお、これらPVOL及びSVOLは、ホスト#1及びホスト#2のAPには、1つのVOLとして認識されている。パスの状態としては、「オンライン」に対応する第1優先状態については、3本の線で示し、「オンラインスタンバイ」に対応する第2優先状態については、2本の線で示し、「オンライン(D)」に対応する第3優先状態については、1本の線で示し、「オフライン(E)」に対応する使用禁止状態については、線なしとしている。
【0078】
また、遠隔データミラーリング処理については、データがコピーされる方向を矢印で示すとともに、遠隔データミラーリング処理が停止しているのか、継続して実行されているのかを矢印の色で示す。具体的には、白矢印は、遠隔データミラーリング処理が停止していることを示し、黒矢印は、遠隔データミラーリング処理が継続して実行されていることを示す。
【0079】
図21に示すように、情報システムが正常状態(第1システム状態)である場合には、第1パスが第1優先状態であり、第2パスが第2優先状態である。このように、第1パスは、第2パスよりも優先度の高い状態となっている。これは、仮にこれらパスの優先度を同じにしてしまうと、SVOLをライト先としたライトリクエストが発行されPVOLに無いデータがSVOLに書き込まれることになるが、このような状態が生じることを防ぐためである。なお、本実施例では、正常状態に限らず、第1パスと第2パスの優先度は、常に同じにならないように設定される。また、第3パスが第1優先状態であり第4パスが第2優先状態である。なお、本実施例では、正常状態に限らず、第3パスと第4パスとの優先度は、常に同じにならないように設定される。
【0080】
正常状態においては、ストレージ#1及び#2により、PVOLからSVOLへの遠隔データミラーリング処理である順コピーが実行される。
【0081】
ホストからPVOLにアクセスできなくなるという障害の原因としては、
図22Aに示すように、ホストとPVOLとを結ぶパスに障害が発生したこと、
図22Bに示すように、ストレージ#1に障害が発生したこと、或いは、
図22Cに示すように、ストレージ#1とストレージ#2との間のパスに障害が発生したこと、があり得る。
【0082】
障害が発生した場合には、ホスト#1のパス管理プログラム124により、第1パスの状態が使用禁止状態になり、ホスト#2のパス管理プログラム124により、第2パスの状態が使用禁止状態になる。また、順コピーが停止される。
【0083】
ストレージ#1のPVOLへのアクセスができなくなる障害が回復されるまでの間は、ホスト#1からのライトリクエストは、第2優先状態である第2パスを使用して送信され、ホスト#2からのライトリクエストは、第2優先状態である第4パスを使用して送信される。
【0084】
PVOLへのアクセスができなくなる障害の回復直後の状態(第3システム状態)では、
図23に示すように、実施例では、第1パスの状態が第3優先状態にされ、第2パスが第2優先状態にされる。これにより、ホスト#1からのライトリクエストは、第2優先状態である第2パスを使用して送信される。また、第3パスの状態が第3優先状態にされ、第4パスが第2優先状態とされている。これにより、ホスト#2からのライトリクエストは、第2優先状態である第4パスを使用して送信される。また、SVOLからPVOLへの遠隔データミラーリング処理である逆コピーが開始される。
【0085】
なお、本実施例では、第3優先状態を用いるようにしているが、変形例に示すように、第3優先状態を用いないでもよい。すなわち、ホスト#1のパス管理プログラム124が、第1パスの状態を第2優先状態とし、第2パスの状態を第1優先状態としてもよい。また、ホスト#2のパス管理プログラム124が、第3パスの状態を第2優先状態とし、第4パスの状態を第1優先状態としてもよい。
【0086】
なお、本実施例のように、第3優先状態を用いるようにすると、第1パス及び第3パスの状態を、情報システムが正常状態である場合の第2優先状態と異なる状態であることを明確に管理することができ、例えば、パスの状態をホスト100の表示デバイス160に表示させることにより、ホスト100のユーザに対してパスの状態を認識させることができる。
【0087】
情報システムの障害の回復後において、
図24に示すように、第1パスを第4パスよりも優先度を高く変更したとする。具体的には、ホスト#1のパス管理プログラム124は、第1パスの状態を第3優先状態から第1優先状態に変更する。これにより、ホスト#1からのライトリクエストは、第1優先状態である第1パスを使用して送信される。
【0088】
一方、変形例では、ホスト#1のパス管理プログラム124は、第1パスの状態を第2優先状態から第1優先状態に変更し、第2パスの状態を第1優先状態から第2優先状態に変更する。これにより、ホスト#1からのライトリクエストは、第1優先状態である第1パスを使用して送信される。
【0089】
図25に示すように、実施例では、逆コピーのターゲットであるPVOLをライト先としたライトアクセスをストレージ#1が受信すると、ストレージ#1は、ストレージ#2に対してエラー通知を送信する。ストレージ#2は、エラー通知を受信すると、逆コピーを停止するとともに、SVOLをライト先としたライトリクエストを受信した場合には、所定のエラー応答を、そのライトリクエストの送信元に返すようになる。
【0090】
変形例でも、逆コピーのターゲットであるPVOLをライト先としたライトアクセスをストレージ#1が受信すると、実施例と同様の処理が行われる。
【0091】
図26に示すように、実施例では、ストレージ#2が、ホスト#2からSVOLをライト先とするライトリクエストを第4パスを介して受信すると、ホスト#2に対して、所定のエラー応答を返す。ホスト#2は、所定のエラー応答を受信すると、第4パスの状態を使用禁止状態に変更し、第3パスの状態を第3優先状態から第1優先状態に変更し、第3パスを使用して、所定のエラー応答に対応したライトリクエスト(失敗したライトリクエスト)に従うライト対象データと同じデータをライト対象としPVOLをライト先とするライトリクエストを送信する。これにより、ホスト#2が送信したライトリクエストに対応する処理がストレージ#1で実行されることとなる。なお、
図26には、ホスト#1以外に同一のVOLを用いるホストとして、ホスト#2のみが示されているが、ホスト#2以外にも同一のVOLを使用するホストが存在する場合には、そのホストにおいてもホスト#2と同様な処理が行われる。従って、ホスト#1以外のホストが複数存在する場合であっても、上記と同様な処理により、それらホストとストレージ#1とのそれぞれのパスの状態が第1優先状態にされて、それらパスによりライトリクエストがストレージ#1に送信されることとなる。この結果、複数のホストにおけるAPによる業務が継続して実行されることとなる。
【0092】
一方、変形例では、ストレージ#2がホスト#2からSVOLをライト先とするライトリクエストを受信すると、ホスト#2に対して、所定のエラー応答を返す。ホスト#2は、所定のエラー応答を受信すると、第4パスの状態を使用禁止状態に変更するとともに、第2優先状態である第3パスを使用して、所定のエラー応答に対応したライトリクエスト(失敗したライトリクエスト)に従うライト対象データと同じデータをライト対象としPVOLをライト先とするライトリクエストを送信する。これにより、ホスト#2が送信したライトリクエストに対応する処理がストレージ#1で実行されることとなる。
【0093】
図27に示すように、実施例では、ストレージ#1及び#2により、PVOLからSVOLへ順コピーが開始される。この結果、情報システムの状態は、
図21に示した正常状態に回復する。
【0094】
一方、変形例でも、ストレージ#1及び#2により、PVOLからSVOLへの順コピーが開始される。また、ホスト#2のパス管理プログラム124は、第3パスの状態を第1優先状態にするとともに、第4パスの状態を第2優先状態に設定する。これにより、情報システムの状態が、
図21に示した正常状態に回復する。
【0095】
図28は、一変形例に係る情報システムの構成図である。
【0096】
実施例では、ホストシステムを一台のホスト計算機とした例を示していたが、ホストシステムを
図28に示す構成としてもよい。すなわち、ホスト#1が、ホスト#11及び#12で構成されたクラスタシステムでもよい。ホスト#11は、ストレージ#1の属する第1地域に存在し、ストレージ#1及び#2のうちストレージ#1のみに通信可能に接続された計算機である。ホスト#12は、ストレージ#2の属する第2地域に存在し、ストレージ#1及び#2のうちストレージ#2のみに通信可能に接続された計算機である。また、ホスト#2が、ホスト#21及び#22で構成されたクラスタシステムでもよい。ホスト#21は、ストレージ#1の属する第1地域に存在し、ストレージ#1及び#2のうちストレージ#1のみに通信可能に接続された計算機である。ホスト#22は、ストレージ#2の属する第2地域に存在し、ストレージ#1及び#2のうちストレージ#2のみに通信可能に接続された計算機である。
【0097】
以上、実施例及び幾つかの変形例を説明したが、本発明は、これらの実施例及び変形例に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、所定のエラー応答をホスト#2が受信したときに上記処理を実行するかしないかを、所定のルール(例えば予めユーザによりされた設定)に従って決定するようにしてもよい。また、所定のエラー応答をホスト#2が受信したときに、ホスト#2のパス管理プログラムが、ホスト#2の表示デバイス160に、第3パスをオンラインに変更してよいかをユーザが判断するための情報を表示するようにし、ユーザの判断を受け付けるようにしてもよい。