(57)【特許請求の範囲】
【請求項１】
第１のホスト計算機と、
第２のホスト計算機と、
前記第１のホスト計算機及び前記第２のホスト計算機に接続される管理計算機と、
前記第１のホスト計算機、前記第２のホスト計算機及び前記管理計算機とそれぞれ接続され、データを読み書きするための論理ユニットを管理する記憶装置と
を備え、
前記記憶装置は、前記第１のホスト計算機から前記論理ユニットへのアクセスを許可して前記第２のホスト計算機から前記論理ユニットへのアクセスを禁止することを示すセキュリティ情報を保持し、当該セキュリティ情報に従って、前記論理ユニットを前記第１のホスト計算機へアクセス可能に提供すると共に、当該論理ユニットに対する前記第２のホスト計算機からアクセスを制限し、
前記第１のホスト計算機及び前記第２のホスト計算機は、前記第１のホスト計算機に障害が発生した場合に互いに通信を行って前記第１のホスト計算機の前記論理ユニットへのアクセス権を前記第２のホスト計算機が獲得する決定をし、当該決定をもとに前記管理計算機に対して前記論理ユニットへの前記アクセス権の設定変更の通知を発行し、
前記管理計算機は、前記第１のホスト計算機又は前記第２のホスト計算機から与えられた当該通知の受領に応じて、前記第１のホスト計算機から前記論理ユニットへのアクセスを禁止して前記第２のホスト計算機から前記論理ユニットへのアクセスを許可する要求を前記記憶装置に発行し、
前記記憶装置は、当該要求の受信に応じて、前記第１のホスト計算機から前記論理ユニットへのアクセスを禁止して前記第２のホスト計算機から前記論理ユニットへのアクセスを許可することを示すように前記セキュリティ情報を変更し、変更した前記セキュリティ情報に従って、前記論理ユニットに対する前記第１のホスト計算機からのアクセスを制限すると共に、当該論理ユニットを前記第２のホスト計算機へアクセス可能に提供する
ことを特徴とする計算機システム。
【請求項２】
前記管理計算機は、前記記憶装置に対応させて、前記第１のホスト計算機から前記論理ユニットへのアクセスを許可して前記第２のホスト計算機から前記論理ユニットへのアクセスを禁止することを示すストレージ構成管理情報を保持する
ことを特徴とする請求項１に記載の計算機システム。
【請求項３】
前記管理計算機が保持する前記ストレージ構成管理情報と、前記記憶装置が保持する前記セキュリティ情報とが同期する
ことを特徴とする請求項２に記載の計算機システム。
【請求項４】
前記セキュリティ情報は、前記論理ユニットの識別情報と、前記論理ユニットに割り当てられた前記第１のホスト計算機及び前記第２のホスト計算機の識別情報と、前記第１のホスト計算機の前記論理ユニットに対するアクセス権限を表す第１のアクセス権限情報及び前記第２のホスト計算機の前記論理ユニットに対するアクセス権限を表す第２のアクセス権限情報とを含む
ことを特徴とする請求項１に記載の計算機システム。
【請求項５】
前記記憶装置は、さらに前記第１のホスト計算機及び前記第２のホスト計算機に接続する複数のインターフェースを備え、
前記セキュリティ情報は、前記論理ユニットに対応するインターフェースの識別情報を含む
ことを特徴とする請求項４に記載の計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はストレージエリアネットワークに関し、特にストレージエリアネットワークのデータのセキュリティに関する。
【背景技術】
【０００２】
ストレージエリアネットワーク（ＳＡＮ）は現在全世界に展開され、コンピュータ環境にストレージ設備を提供している。ストレージを大規模な設備に組み込むことにより、より効率的な運用と管理が容易になり、きわめて信頼度の高いバックアップと冗長度のあるシステムを提供することが可能となり、システム障害あるいは自然災害によるデータの喪失が顕著に抑制される。このような記憶装置の利点により全世界に記憶装置の使用が劇的に増加した。
【０００３】
ストレージエリアネットワークは、データが別々のプロセッサーの制御下に別々の場所から確実に再生され保存されるように、別々の多くのホストシステムからアクセス可能に設計されている。これらの保存と再生は、多くの場合インターネットなどの公衆ネットワーク上で行われる。
【０００４】
ストレージシステムへのアクセスをより効率的に可能とするため、通常ストレージシステムは別々のプロセッサーあるいは他のストレージを必要とするリソースに割り当てられた小部分に構成される。例えば、従来のストレージシステムでは多数のハードディスクドライブを有しており、各ハードディスクドライブ自体が何ギガバイトもの容量を有している。ストレージリソースを小部分に分ける１つの方法は、固有の論理ユニット番号を割り当てられた論理ユニット（LU）を生成することである。各LU自体が数値アドレスで構成されており、これにより大容量ストレージシステムはアクセスするホストコンピュータには多くの小ストレージユニットに見え、より効率的な運用が可能となる。
【０００５】
ストレージシステムの特定の部分にアクセスすることを“許可された”特定のホストのみが特定のLUにアクセス可能とするために、通常LUはホストに割り当てられる。ストレージシステムへのアクセスを制御するソフトウェアが前もって決められたホストからのアクセスのみを許可するので、これによりセキュリティが強化される。指定されたLUに対していくつのホストからのアクセスを許可するかは基本的には任意であるが、従来は指定されたLUに対して指定された時間にアクセス権限を持つホストは１つのみである。この方式では、LUのデータは既に指定されたホスト以外のホストあるいはサーバーからアクセスされることがなく、ゆえにデータのセキュリティが強化される。
【０００６】
ＳＡＮ自体が通常１つあるいはそれ以上のディスクアレイ装置からなっており、例えば選択されたＲＡＩＤプロトコルの下で、ファイバーチャネルスィッチネットワーク装置あるいは他の公知の手段でストレージエリアネットワークに接続された複数のホスト装置での構成となっている。アーキテクチャの中で、ホストコンピュータはクラスタ管理ソフトウェアを走らせ、お互いに協議して、どのホストがどのストレージの部分すなわちLUを“所有するか”を決定する。公知の“フェイルオーバー”機能によりＳＡＮのクラスタ型アーキテクチャの可用性が高度なものとなる。フェイルオーバー状態では、障害が発生しても、１つのノード上で走っていたオペレーションをノードのクラスタ内の他の１つまたは複数のノードに移行することにより、システムのユーザーからは比較的見えにくいものとなっている。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ホストとＳＡＮはクラスタ環境に設定されており、そこでは指定されたＳＡＮに対して２つ以上のホストがアクセス権を持っている。ホストは通常はコンピュータであり、例えばアプリケーションサーバーあるいはデータベースサーバーである。従来のクラスタソフトウェアでは、ストレージの一部分、例えばLU番号はクラスタ内の全ホストノードからのＩ／Ｏアクセスを許すように設定されていなければならないという制約をもっている。例えば、ホストノードAがアプリケーションＸを実行しており、それらが同じクラスタにあるとして、もしホストＡが障害となったときアプリケーションXのタスクは他のホストBに引き継がれるのが望ましい。このとき、アプリケーションに対するLUのセキュリティはホストＡとＢの両方からのＩ／Ｏアクセスを許すように設定されていなければならない。しかしながら、この種のマルチアクセスがシステム起動時のセットアッププログラムで定常的に設定されているのであるなら、データへの誤アクセスによるデータ破壊の原因となりうるものである。
【課題を解決するための手段】
【０００８】
本発明は、LUのセキュリティを動的に変更可能とすることにより、そのストレージの特定の部分に、障害発生前にはアクセスできなかった別のホストが障害発生後にアクセス可能とすることにより、前記環境における改善されたセキュリティの方法及びシステムを提供するものである。
【発明の効果】
【０００９】
本発明によるシステムは、クラスタシステムに設定されたホストノードに特に適用可能である。この種のシステムの初期化時に、ホストコンピュータは協議して、LU（あるいはボリューム、あるいは他の単位）ベースに分割されたデータストレージリソースへのアクセス権を獲得する。各LUは通常、ホストからのＩ／Ｏアクセスを、ホストに割り当てられたWWN、ポートＩＤなどのＩＤに基づいて許可し拒否するように設定される。初期セキュリティ設定では、１つのLUは１つのホストからのアクセスのみ許可するように設定されている。
【００１０】
本発明では、プライマリホストグループ（特定のLUに割り当てられている）に問題が発生すると、別のホストグループがプロセスの実行を引き継いでシステム動作を続ける。この時、ホスト上で走っているクラスタ管理ソフトウェアが権限の変更を検出し、ストレージ装置にLUに対する権限が変わったことを通知する。ストレージ装置のLUセキュリティ機能は、新しいホストからのＩ／Ｏアクセスを許可するようにセキュリティ構成を動的に変更する。この結果として、本発明によりセキュリティの改善が提供される。アプリケーションを実行するクラスタ内のセカンダリホストは、通常プライマリホストの障害などの結果によりLUにアクセスする権限を獲得するまでは、当該LUにアクセスすることが許されない。このような運用により、LUレベルのデータ破壊は大幅に減少し、許可されていないアプリケーションからのデータへのアクセスは基本的に防止される。
【００１１】
第一のホストコンピュータ、第二のホストコンピュータおよびストレージを有し、第一のホストによるストレージへのアクセスを許可し第二のホストによるストレージへのアクセスを拒否することによりストレージの少なくとも一部に対するアクセスが管理されるシステムにおける１つの実施例において、ストレージへのアクセス権限を変更する方法が、ホスト間の協議についてセキュリティシステムに報告するステップとその部分へのアクセスを協議においてアクセス権を獲得したホストに制限するステップを含んでいる。
【発明を実施するための最良の形態】
【００１２】
図１はストレージエリアネットワークの代表的なシステム構成を示すブロック図である。図示するように、システム全体では、第一のホスト装置１０８Aと第二のホスト装置１０８Bを有している。これらホスト装置は通常公知の設計のコンピュータあるいはアプリケーションサーバーである。ホスト装置は、例えばRAIDプロトコルに則して構成されたディスクアレイによって通常成る、ストレージシステム１０９と接続されている。ディスクアレイ１０９は通常多数のディスクドライブ１０６を有しており、このうち１つを図示している。ディスク１０６は、２つのボリューム１０５Aと１０５Bを有する構成となっている。
【００１３】
ホスト１０８とストレージシステム１０９は、互いにデータ交換をするのに適した手段により結合されている。図１にはデータリンク１１０が示されている。データリンク１１０は、例えばファイバーチャネルネットワーク、ローカルエリアネットワーク、インターネット、プライベートなネットワーク、ネットワークスィッチ装置あるいはその他の接続手段など、適当であればどのような形式でもとることができる。
【００１４】
代表的なストレージシステム１０９は、１０５A、１０５Bのような多数のストレージボリュームを備えている。ストレージボリューム１０５自体あるいはその部分までもが、自身を識別し、及び／またはストレージボリュームに記憶しストレージボリュームから再生する情報をアドレス指定するためのアドレス情報を提供するために、LU番号（LUN）あるいは他の識別コードを与えられている。ストレージシステム１０９およびホスト１０８はそれぞれネットワークに対するインタフェースを提供するインタフェース１０７を有している。インタフェース１０７は、従来はホストバスアダプター（HBA）、ギガビットイーサネットカード、（イーサネットは登録商標です）あるいは他の公知のインタフェースを用いて備えられている。特定のどのインタフェースを選択するにしても、基本的には選択は結合するデータリンク１１０の構成にかかっている。
【００１５】
各々のホストは、ホスト上で動作するクラスタ管理ソフトウェア１０２を有している。各ホストのクラスタ管理ソフトウェアは、他のホストの同様なソフトウェアと接続している。例えば図１に示すように、ホスト装置１０８A上で動作しているクラスタ管理ソフトウェア１０２Aは、ホスト装置１０８B上で動作しているクラスタ管理ソフトウェア１０２Bと接続し通信する。クラスタ管理ソフトウェアは他のホスト上の対応するソフトウェアと通信して、特定のホストのストレージボリューム１０５に対する所有権を決定する。各ストレージボリューム１０５は、ボリュームに対する所有権を有する１つ以上のコンピュータからアクセスすることができる。システムの初期設定中に、ホストはLUNを受信し、独立にあるいはシステムオペレータの支援により各ホストとどのLUNが連携するかを決定する。この決定後、ボリュームセキュリティ管理ソフトウェア１０１は、ストレージ装置１０９に対して、指定されたボリューム１０５に対する前記ホストからのＩ／Ｏアクセスを許可するよう要求する。一旦システムが適切に初期設定されると、ストレージシステム１０９のセキュリティ管理プログラム１０３がストレージボリューム１０５へのアクセスを管理する。セキュリティ管理プログラムはセキュリティ構成情報１０４を後で使用するために保護領域内に保存する。
【００１６】
図１に示すシステムは多くの場合“インバンド”制御システムと呼ばれる。図２は“アウトオブバンド”制御システムと呼ばれる、別の制御システムを示す。図２のストレージシステム１０９は図１に示すものと同じである。しかしながら、対照的に、図２に示すシステムの機能構造では、ボリュームセキュリティ管理の責任をストレージマネジャ１１２に負わせている。ストレージマネジャ１１２はホストの各々と接続して、ボリュームセキュリティ管理ソフトウェア１０１の責任を負っている。本ソフトウェアは、図１のシステム構成で備えているボリュームセキュリティ管理ソフトウェア１０１と同じ機能を提供する。ストレージマネジャ１１２上で走っているボリュームセキュリティ管理ソフトウェア１０１は、ボリュームセキュリティの管理を調整する。ボリュームセキュリティ管理ソフトウェア１０１はまたストレージシステムを監視し、ストレージシステムの構成に関する情報などをローカルストレージ１１１に保存する。
【００１７】
図３はストレージ構成情報１１１（図２に示す）のデータ構造を示すテーブルである。ストレージの様々な部分へのアクセスがどのように制御されるかがテーブルに示されている。一例を示すための図３では、“ボリュームID”の列にボリューム２、３および４が示されている。各ボリュームは、活性化されるように１つ以上のポートに割り当てられている。テーブルに示すように、ボリューム２および３はポート０に割り当てられており、ボリューム４はポート１に割り当てられている。図３のストレージIDはストレージ識別パラメータである。本パラメータは通常、通し番号、ノードワールドワイドネーム（WWN）、あるいはメーカーの固有識別番号でストレージ資産を識別する。ノードワールドワイドネーム（WWN）はディスクアレイ装置１０９に割り当てられた固有の固定のアドレスである。図３において、ストレージIDは“アレイ＃０”と示されており、ストレージ製品と対応付けられた第一のディスクアレイを示す。インタフェース識別番号（ポート０またはポート１）は、指定のネットワークインタフェースに対応付けられた固有の識別を示す。あるいは、ポートWWN、または各ポートに割り当てられたポートＩＤを用いてこの情報を提供することも可能である。ポートＷＷＮは各ポートに割り当てられた固定の固有のアドレスである。ポートＩＤは各ネットワークインタフェースハードウェアに割り当てられた固有の識別子である。インタフェース１０７がイーサネットカードであるならば、ＩＰアドレスあるいはＭＡＣアドレスもまた使うことができる。
【００１８】
ホスト識別（図３の“ホストＩＤ”）は特定の指定されたボリューム（テーブルの行）へのアクセスが許可されたあるいは制限されたホストを指定する識別子を表す。LUNセキュリティ機能は、ホストのノードＷＷＮ、ＨＢＡのポートＷＷＮ、あるいはホストに設置されたネットワークカードのＭＡＣアドレスを使用して、識別パラメータを提供する。この動作を説明するために、図３では仮想的な例を示しており、アレイ０のポート０のボリューム３はホスト８及び９からアクセス可能であり、ホスト１２からはアクセスできないことになっている。
【００１９】
図４はディスクアレイユニット１０９で見られるセキュリティ構成情報１０４のデータ構造の例を示すテーブルである。図４に示すように、このデータ構造はマネジャユニット１１２のストレージ構成情報１１１と同期し対応している。同じく図示されているように、ストレージＩＤは、ストレージユニット自体に保持されているので（図３に示すように）必要とされない。
【００２０】
図５は本発明の動作法の好適なる実施例を示すフローチャートである。図５に示す図は、ホスト内で発生する動作（図の左側）とディスクアレイ側で発生する動作（図の右側）の２つの部分に分割されている。プロセスはホスト内のステップ５０１で開始し、クラスタ管理ソフトウェアは協議してディスクリソースに対する所有権すなわち管理について決定する。図１に示すように、本ステップは、ホスト１０８Ａのソフトウェア１０２Ａがホスト１０８Ｂのソフトウェア１０２Ｂと協議して実行する。これらの協議では通常、公知であるＳＣＳＩ−３のパーシスタントリザーブアルゴリズムあるいはＳＣＳＩ−２のチャレンジ／ディフェンスプロトコルを使用する。プロセスの結論として、ホストコンピュータはディスクアレイ中の特定のＬＵＮ（またはボリューム）へのアクセス権を獲得することになる。
【００２１】
図５のステップ５０２にて、協議の結論が出て、クラスタ管理ソフトウェア１０２からボリュームセキュリティ管理ソフトウェア１０１に協議の結果を通知することが示されている。ボリュームセキュリティ管理ソフトウェア１０１は、図１と２に関連して説明したように、ホスト（図１）の各々かあるいはマネジャ（図２）のどちらかに常駐する。
【００２２】
図６にクラスタ管理ソフトウェア１０２がボリュームセキュリティ管理ソフトウェア１０１へ送った権限変更メッセージを示す。図６に示すように、仮想的なメッセージでは、ボリューム番号２がホスト番号８に取得され、ボリューム番号３はホスト番号８からは失われたことを示している。
【００２３】
図５に示すプロセスに戻って、メッセージを送った後、ボリュームセキュリティ管理ソフトウェア１０１は、ステップ５０３でディスクアレイ１０９にボリュームセキュリティ構成の変更を要求する。これは、ボリュームセキュリティ管理ソフトウェア１０１がディスクアレイ１０９中にあるセキュリティ管理プログラム１０３に要求メッセージを送ることで行われる。このメッセージはLUN（またはボリューム）セキュリティ構成の変更を要求する。
【００２４】
図７にボリュームセキュリティ管理ソフトウェア１０１がセキュリティ管理プログラム１０３へ送る代表的なメッセージを示す。図７に示すように、アクセス管理状態変更メッセージが送られ、ホスト番号８がボリューム番号２へのアクセスを許可され、ボリューム番号３へはアクセス許可されなくなったことを示す。
【００２５】
再び図５に戻る。セキュリティ管理プログラム１０３は図７のメッセージを受信すると、図５のステップ５０４を実行する。この時、セキュリティ管理プログラム１０３は、ＬＵセキュリティ設定を再構成してセキュリティ構成情報１０４を更新する。その結果がセキュリティ構成情報テーブル（図４に示す）に新たに入力され、ボリューム番号２とホスト番号８の状態は“拒否”から“許可”に変わる。同様に、ボリューム番号３とホスト番号８の状態は“許可”から“拒否”に変わる。
【００２６】
ステップ５０４のディスクアレイ装置の動作に続いて、ホスト装置はステップ５０５を実行する。このステップでは、クラスタ管理ソフトウェアがディスクリソースの管理を維持し、矛盾が発生しないようチェックする。通常これは“ハートビート”通信プロトコルを用いて実行される。図５のステップ５０６に示すように、ハートビートが失われた場合、あるいは矛盾が検出された場合、クラスタ管理ソフトウェア１０２はシステムをリセットし、ディスクリソースをホストに配分するための協議プロセスを再スタートする。
【００２７】
以上は本発明の好適なる実施例の説明である。説明した特定の実施例から離れて、なおかつ本発明の範囲内に留まることが可能なことは容易に理解されるべきである。例えば、ストレージ装置のセキュリティを、LUあるいはボリューム以外に基づいて、代わりにアドレスあるいは他の指定法を用いて構築することが可能である。本発明の範囲は付随する請求項にて規定される。
【図面の簡単な説明】
【００２８】
【図１】図１は、インバンドシステムでの実施例を図示するブロック図である。
【図２】図２は、アウトオブバンドシステムでの実施例を図示するブロック図である。
【図３】図３はストレージ構成情報のデータ構造の例を示す。
【図４】図４はセキュリティ構成情報のデータ構造の例を示す。
【図５】図５は本発明の方法の１つの実施例のフローチャート図である。
【図６】図６は権限変更メッセージを示すテーブルである。
【図７】図７はアクセス制御状態変更メッセージを示すテーブルである。
【符号の説明】
【００２９】
１０８Ａ    ホスト装置
１０２Ａ    クラスタ管理ソフトウェア
１０１Ａ    ボリュームセキュリティ管理ソフトウェア
１０７Ａ    インタフェース
１０８Ｂ    ホスト装置
１０２Ｂ    クラスタ管理ソフトウェア
１０１Ｂ    ボリュームセキュリティ管理ソフトウェア
１０７Ｂ    インタフェース
１１０      データリンク
１０７Ｃ  １０７Ｄ    インタフェース
１０３      セキュリティ管理プログラム
１０４      セキュリティ構成情報
１０５Ａ  １０５Ｂ    ボリュームディスクアレイ装置
【図１】
0004856864.tif 000002
【図２】
0004856864.tif 000003
【図３】
0004856864.tif 000004
【図４】
0004856864.tif 000005
【図５】
0004856864.tif 000006
【図６】
0004856864.tif 000007
【図７】
0004856864.tif 000008