(57)【特許請求の範囲】
【請求項１】
ストレージシステムにおける仮想マシン環境のクラスタシステムを提供するための方法であって、当該ストレージシステムは、複数のホストと、ファブリックネットワークと、ストレージアレイと、管理サーバとを有するものであり、
定義される第１のクラスタシステムに関する情報であって、当該第１のクラスタシステムが定義される際のスケールユニットを選択することを含む情報を入力することと、
選択された前記スケールユニットのためのリソース情報を含むインベントリデータベースを提供することと、
前記第１のクラスタシステムのために、前記リソース情報から選択されたホストの各々に、ｖＩＯ装置と、少なくとも一つの仮想コンピュータネットワークアドレスと、少なくとも一つの仮想ストレージネットワークアドレスとを割り当てる仮想Ｉ／Ｏ（「ｖＩＯ」）情報を提供することと、
前記ｖＩＯ情報を使用して前記選択されたスケールユニットの前記第１のクラスタシステムのための第１のクラスタ定義を作成することと
を含み、
前記インベントリデータベースのリソース情報は、少なくとも前記ホストの識別子、前記ストレージアレイの識別子、前記仮想コンピュータネットワークアドレス、前記仮想ストレージネットワークアドレスを含み、
前記少なくとも一つの仮想コンピュータネットワークアドレス、及び前記少なくとも一つの仮想ストレージネットワークアドレスは、前記インベントリデータベースのリソース情報から割り当てられる、ことを特徴とする、方法。
【請求項２】
前記仮想コンピュータネットワークアドレスが仮想ＬＡＮアドレスであり、前記仮想ストレージネットワークアドレスが仮想ＳＡＮアドレスであり、前記インベントリデータベースが前記管理サーバで提供される、請求項１に記載の方法。
【請求項３】
論理ネットワーク名及びＶＬＡＮ  ＩＤを含む仮想ＬＡＮ（「ＶＬＡＮ」）情報を提供することと、
ストレージアレイＩＤ、ポートＩＤ、及びボリュームＩＤを含むボリューム情報を提供することと
をさらに含む方法であって、
前記第１のクラスタ定義は、前記ｖＩＯ情報、前記ＶＬＡＮ情報、及び前記ボリューム情報を使用して作成され、
前記仮想ＬＡＮアドレスはメディアアクセス制御（ＭＡＣ）アドレスであり、前記仮想ＳＡＮアドレスはワールドワイドポート名（ＷＷＰＮ）である、請求項２に記載の方法。
【請求項４】
前記第１のクラスタシステムのためのポートプロファイルであって、前記ＭＡＣアドレスと前記ＶＬＡＮ  ＩＤの間のマッピング情報を有するポートプロファイルを生成することと、
前記第１のクラスタシステムのためのゾーニング情報を生成することと、
前記第１のクラスタシステムのための論理ユニット番号（ＬＵＮ）マスキングを生成することと
をさらに含む方法であって
前記第１のクラスタ定義は、前記ｖＩＯ情報、前記ＶＬＡＮ情報、前記ボリューム情報、前記ポートプロファイル、前記ゾーニング情報、及びＬＵＮマスキングを使用して作成される、請求項３に記載の方法。
【請求項５】
前記第１のクラスタ定義は、前記管理サーバに格納される、請求項１に記載の方法。
【請求項６】
前記管理サーバは、クラスタデータベースとインベントリデータベースとを含む、請求項５に記載の方法。
【請求項７】
前記仮想コンピュータネットワークアドレスは、仮想ＬＡＮアドレスであり、前記仮想ストレージネットワークアドレスは、仮想ＳＡＮアドレスであり、前記第１のクラスタ定義は、前記管理サーバに格納され、前記管理サーバは、その中に格納された複数のクラスタ定義を有するものであり、
前記管理サーバに格納された前記複数のクラスタ定義から第２のクラスタ定義を選択することと、
前記第２のクラスタ定義に追加すべきホストを選択することと、
前記追加ホスト選択ステップに基づいて前記ｖＩＯ情報を更新することと、
前記仮想ＬＡＮアドレス及び前記仮想ＳＡＮアドレスを、前記第２のクラスタ定義に追加されるように選択された前記ホストに割り当てることと、
前記第２のクラスタ定義に追加されるように選択された前記ホストを、第２のクラスタシステムに結合させることと
をさらに含む、請求項６に記載の方法。
【請求項８】
前記仮想コンピュータネットワークアドレスは、仮想ＬＡＮアドレスであり、前記仮想ストレージネットワークアドレスは、仮想ＳＡＮアドレスであり、
前記第１のクラスタ定義は、前記管理サーバに格納され、前記管理サーバは、その中に格納された複数のクラスタ定義を有するものであり、
前記管理サーバに格納された前記複数のクラスタ定義から第２のクラスタ定義を選択することと、
前記第２のクラスタ定義から削除されるホストを選択することと、
削除されるように選択された前記ホストを、前記第２のクラスタ定義から切り離すことと、
前記削除ホスト選択ステップに基づいて前記ｖＩＯ情報を更新することと
をさらに含む、請求項６に記載の方法。
【請求項９】
複数のホストと、ファブリックネットワークと、ストレージアレイとを有するストレージシステムの管理サーバであって、
当該管理サーバは、前記ストレージシステムの仮想マシン環境におけるクラスタシステムの提供のために構成されており、
データを処理するように構成されたプロセッサと、
情報を格納するように構成されたメモリと、
前記ファブリックネットワークを介して前記ストレージアレイと通信するために構成されたポートと、
定義される第１のクラスタシステムに関する情報であって、当該第１のクラスタシステムが定義される際のスケールユニットを選択することを含む情報を受信し、
選択された前記スケールユニットのためのリソース情報を含むインベントリデータベースにアクセスし、
前記第１のクラスタシステムのために、前記リソース情報から選択されたホストの各々に、ｖＩＯ装置と、少なくとも一つの仮想コンピュータネットワークアドレスと、少なくとも一つの仮想ストレージネットワークアドレスとを割り当てる仮想Ｉ／Ｏ（「ｖＩＯ」）情報を作成し、かつ
前記ｖＩＯ情報を使用して前記選択されたスケールユニットの前記第１のクラスタシステムのための第１のクラスタ定義を作成する
ために動作可能であるクラスタ管理モジュールと
を備え、
前記インベントリデータベースのリソース情報は、少なくとも前記ホストの識別子、前記ストレージアレイの識別子、前記仮想コンピュータネットワークアドレス、前記仮想ストレージネットワークアドレスを含み、
前記少なくとも一つの仮想コンピュータネットワークアドレス、及び前記少なくとも一つの仮想ストレージネットワークアドレスは、前記インベントリデータベースのリソース情報から割り当てられる、ことを特徴とする、管理サーバ。
【請求項１０】
前記仮想コンピュータネットワークアドレスが仮想ＬＡＮアドレスであり、前記仮想ストレージネットワークアドレスが仮想ＳＡＮアドレスであり、前記インベントリデータベースが前記管理サーバで提供される、請求項９に記載の管理サーバ。
【請求項１１】
前記クラスタ管理モジュールは、
論理ネットワーク名及びＶＬＡＮ  ＩＤを含む仮想ＬＡＮ（「ＶＬＡＮ」）情報を提供し、かつ
ストレージアレイＩＤ、ポートＩＤ、及びボリュームＩＤを含むボリューム情報を提供する
ためにさらに動作可能であって、
前記第１のクラスタ定義は、前記ｖＩＯ情報、前記ＶＬＡＮ情報、及び前記ボリューム情報を使用して作成され、
前記仮想ＬＡＮアドレスはメディアアクセス制御（ＭＡＣ）アドレスであり、前記仮想ＳＡＮアドレスはワールドワイドポート名（ＷＷＰＮ）である、請求項１０に記載の管理サーバ。
【請求項１２】
前記クラスタ管理モジュールは、
前記第１のクラスタシステムのためのポートプロファイルであって、前記ＭＡＣアドレスと前記ＶＬＡＮ  ＩＤとの間のマッピング情報を有するポートプロファイルを生成し、
前記第１のクラスタシステムのためのゾーニング情報を生成し、
前記第１のクラスタシステムのための論理ユニット番号（ＬＵＮ）マスキングを生成する
ためにさらに動作可能であって、
前記第１のクラスタ定義は、前記ｖＩＯ情報、前記ＶＬＡＮ情報、前記ボリューム情報、前記ポートプロファイル、前記ゾーニング情報、及びＬＵＮマスキングを使用して作成される、請求項１１に記載の管理サーバ。
【請求項１３】
前記サーバは、前記ストレージシステムで提供されるシステム管理サーバであり、クラスタデータベースとインベントリデータベースとを含む、請求項９に記載の管理サーバ。
【請求項１４】
前記仮想コンピュータネットワークアドレスは、メディアアクセス制御（ＭＡＣ）アドレスであり、前記仮想ストレージネットワークアドレスは、ワールドワイドポート名（ＷＷＰＮ）であり、
前記第１のクラスタ定義は、前記管理サーバに格納され、前記管理サーバは、その中に格納された複数のクラスタ定義を有するものであって、
前記クラスタ管理モジュールは、
管理者からの入力に基づいて前記管理サーバに格納された前記複数のクラスタ定義から第２のクラスタ定義を選択し、
前記管理者からの入力に基づいて前記第２のクラスタ定義に追加されるホストを選択し、
前記第２のクラスタ定義に追加されるように選択された前記ホストに基づいて前記ｖＩＯ情報を更新し、
前記仮想ＬＡＮアドレス及び前記仮想ＳＡＮアドレスを、前記第２のクラスタ定義に追加されるように選択された前記ホストに割り当て、かつ
前記第２のクラスタ定義に追加されるように選択された前記ホストを、第２のクラスタシステムに結合させる
ためにさらに動作可能である、請求項１３に記載の管理サーバ。
【請求項１５】
前記仮想コンピュータネットワークアドレスは、メディアアクセス制御（ＭＡＣ）アドレスであり、前記仮想ストレージネットワークアドレスは、ワールドワイドポート名（ＷＷＰＮ）であり、
前記第１のクラスタ定義は、前記管理サーバに格納され、前記管理サーバは、その中に格納された複数のクラスタ定義を有するものであり、
前記クラスタ管理モジュールは、
管理者からの入力に基づいて前記管理サーバに格納された前記複数のクラスタ定義から第２のクラスタ定義を選択し、
前記管理者からの入力に基づいて前記第２のクラスタ定義から削除されるホストを選択し、
削除されるように選択された前記ホストを、前記第２のクラスタ定義から切り離し、
前記第２のクラスタ定義から削除されるように選択された前記ホストに基づいて前記ｖＩＯ情報を更新する
ためにさらに動作可能である、請求項１３に記載のサーバ。
【請求項１６】
複数のハードディスクドライブを含むとともに、ファブリックネットワークを介してホストに結合されるストレージアレイと、
前記ストレージアレイを管理するように構成されるとともに、プロセッサ、メモリ、非一時的コンピュータ読取可能媒体、及びポートを有する管理サーバと
を備えるストレージシステムであって、
前記管理サーバは、前記ストレージシステムの仮想マシン環境でクラスタシステムを提供するために構成され、
前記非一時的コンピュータ読取可能媒体は、
定義される第１のクラスタシステムに関する情報であって、前記第１のクラスタシステムが定義される際のスケールユニットを選択することを含む情報を受信するためのコードと、
選択された前記スケールユニットのためのリソース情報を含むインベントリデータベースにアクセスするためのコードと、
前記第１のクラスタシステムのために、前記リソース情報から選択されたホストの各々に、ｖＩＯ装置と、少なくとも一つの仮想コンピュータネットワークアドレスと、少なくとも一つの仮想ストレージネットワークアドレスとを割り当てる、仮想Ｉ／Ｏ（「ｖＩＯ」）情報を作成するためのコードと、
前記ｖＩＯ情報を使用して前記選択されたスケールユニットの前記第１のクラスタシステムのための第１のクラスタ定義を作成するためのコードと
を含み、
前記インベントリデータベースのリソース情報は、少なくとも前記ホストの識別子、前記ストレージアレイの識別子、前記仮想コンピュータネットワークアドレス、前記仮想ストレージネットワークアドレスを含み、
前記少なくとも一つの仮想コンピュータネットワークアドレス、及び前記少なくとも一つの仮想ストレージネットワークアドレスは、前記インベントリデータベースのリソース情報から割り当てられる、ことを特徴とする、ストレージシステム。
【請求項１７】
前記管理サーバは、クラスタデータベースとインベントリデータベースとを含み、前記仮想コンピュータネットワークアドレスは、メディアアクセス制御（ＭＡＣ）アドレスであり、前記仮想ストレージネットワークアドレスは、ワールドワイドポート名（ＷＷＰＮ）である、請求項１６に記載のストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
０００１    本発明は、仮想マシン環境におけるクラスタシステムを含むストレージシステムに関し、特に仮想マシン環境におけるクラスタシステムのリソースプロビジョニング及び管理に関する。
【背景技術】
【０００２】
０００２    多くの企業は、近年、仮想マシン環境を取り入れてきた。仮想マシン環境を使用することによって、サーバなどの物理マシンを、より少ない数のマシンに統合し、そうすることによってハードウェアのコストを下げることが可能になる。企業は、実際の物理マシンよりも多くの仮想マシンを管理していることが多いと推測している人もいる。仮想化物理サーバ、すなわち、仮想マシン環境を実行する物理サーバの数は、今後さらに増えるものと予想される。仮想マシンの管理は物理マシンの管理よりも複雑になる傾向があるため、情報技術（ＩＴ）プラットフォーム管理のコストは、仮想マシン環境がさらに採用されることによって増加してきている。これは、最適で安定したユーザ体験を提供するために、協働する多数の構成要素を有するストレージシステムの場合に特に当てはまる。ストレージシステムは、通常、一つ以上のストレージアレイと、ストレージネットワーク及びＬＡＮを含むファブリックネットワークと、複数のホストとを含む。一般に使用されるストレージネットワークの一つのタイプは、ストレージエリアネットワーク（ＳＡＮ）である。
【０００３】
０００３    ストレージシステムにおける仮想マシン環境のクラスタを管理する従来の方法は、サーバ管理者、ネットワーク管理者、仮想マシン管理者、及びストレージ管理者などの多くのＩＴ管理者の間の複数の通信を必要とする。例えば、一つ以上のストレージボリューム（ＬＵ）を同じクラスタの物理サーバ内で共有しなければならない場合、サーバ管理者とネットワーク管理者は、どのマシンのどのＨＢＡ、どのストレージポートを使用するか、冗長なＩ／Ｏパス、ゾーニングなどのシステム属性を交換する必要がある。ネットワーク管理者とストレージ管理者は、特定のゾーンのためのシステム属性、例えば、ストレージポート、ＬＵＮ（ＬＵ番号）、ＷＷＰＮ（ワールドワイドポート名）、及び該当ゾーンと関連付けられる他の属性を交換する必要がある。サーバ管理者とストレージ管理者は、ＬＵＮマスキング、ＬＵＮ（ＬＵ番号）などの情報を互いにやりとりする必要がある。仮想マシン管理者は、どのＶＬＡＮ（仮想ＬＡＮ）がどの仮想マシンによって使用されるべきか、どのボリュームがどの仮想ディスクによって使用されるべきかなどについての情報を提供する必要がある。
【０００４】
０００４    ネットワーク管理者とストレージ管理者との間の通信は、仮想マシン環境のクラスタシステムを管理するために特に複雑で時間がかかる。サーバ又は仮想マシン管理者は、例えば、クラスタが作成され、ホストがクラスタに追加され、ホストがクラスタから削除され、クラスタのホストが交換されるなどする時に、ネットワーク管理者に対して、特定のポート上に一つ以上のＶＬＡＮを作成するように依頼する必要がある場合が多い。通常、これらのやりとりは、電子メールの送信又はスプレッドシートの交換によって行われる。このような「手動の」又は「非自動的な」方法は、大きな管理上の負担を追加することになり、よってコストを追加することとなる。
【０００５】
０００５    サーバ／仮想マシン管理者及びストレージ管理者は、同様の管理上の負担を経験する。サーバ又は仮想マシン管理者は、例えば、ストレージ管理者に対して、特定のストレージアレイ及びポート上に特定のクラスタのための一つ以上の論理ボリュームを作成するように依頼する必要がある。上記管理者は、特定のスイッチ上にゾーンを構成するために、イニシエータ（ホスト）及びターゲット（ストレージアレイ）のＷＷＰＮアドレスを必要とする。クラスタが作成され、ホストがクラスタに追加され、ホストがクラスタから削除され、クラスタのホストが交換されるなどする時に、上記手順が必要とされる場合が多い。これらのやりとりは、通常、電子メールによる要求の送信及びスプレッドシートの提供などによって行われる。様々なＩＴ管理者の間の、この複数の層の時間がかかる通信及び調整のために、仮想マシン環境（又は「仮想クラスタシステム」）におけるクラスタシステムの展開及び管理は、高い管理上のコスト及び負担をＩＴ管理者に課する。
【発明の概要】
【０００６】
０００６    本発明は、ストレージシステムにおける仮想マシン環境でクラスタシステムを提供及び管理することに関する。一実施形態では、仮想クラスタシステムの提供及び管理を簡素化するために、仮想ＬＡＮテーブル、ボリュームテーブル、仮想Ｉ／Ｏテーブルを有するクラスタ定義テーブル（「クラスタ定義」ともいう）が生成され、システム管理サーバに格納される。管理モジュールは、仮想クラスタシステムの提供及び管理を簡素化するために、クラスタ定義テーブルと組み合わせて使用される。
【０００７】
０００７    一実施形態では、スレージシステムにおける仮想マシン環境のクラスタシステムを提供するための方法が開示される。ストレージシステムは、複数のホストと、ファブリックネットワークと、ストレージアレイと、管理サーバとを有する。上記方法は、定義される第１のクラスタシステムに関する情報であって、第１のクラスタシステムが定義される際のスケールユニットを選択することを含む情報を入力することと、選択されたスケールユニットのためのリソース情報を含むインベントリデータベースを提供することと、第１のクラスタシステムのために選択されたホストの各々に、ｖＩＯ装置と、少なくとも一つの仮想コンピュータネットワークアドレスと、少なくとも一つの仮想ストレージネットワークアドレスとを割り当てる、仮想Ｉ／Ｏ（「ｖＩＯ」）テーブルを提供することと、ｖＩＯテーブルを使用して選択されたスケールユニットの第１のクラスタシステムのための第１のクラスタ定義を作成することとを含む。
【０００８】
０００８    他の実施形態では、複数のホストと、ファブリックネットワークと、ストレージアレイとを有するストレージシステムにおいて、管理サーバが提供される。管理サーバは、ストレージシステムの仮想マシン環境におけるクラスタシステムの提供のために構成される。管理サーバは、データを処理するために構成されたプロセッサと、情報を格納するために構成されたメモリと、ファブリックネットワークを介してストレージアレイと通信するように構成されたポートと、クラスタ管理モジュールとを備える。クラスタ管理モジュールは、定義される第１のクラスタシステムに関する情報であって、第１のクラスタシステムが定義される際のスケールユニットを選択することを含む情報を受信するために動作可能であり、選択されたスケールユニットのためのリソース情報を含むインベントリデータベースにアクセスするために動作可能であり、第１のクラスタシステムのために選択されたホストの各々に、ｖＩＯ装置と、少なくとも一つの仮想コンピュータネットワークアドレスと、少なくとも一つの仮想ストレージネットワークアドレスとを割り当てる、仮想Ｉ／Ｏ（「ｖＩＯ」）情報を作成するために動作可能であり、かつｖＩＯ情報を使用して選択されたスケールユニットの第１のクラスタシステムのための第１のクラスタ定義を作成するために動作可能である。
【図面の簡単な説明】
【０００９】
【図１】０００９    図１は、ストレージシステムを示す。
【図２】００１０    図２は、ホストを示す。
【図３】００１１    図３は、スイッチを示す。
【図４】００１２    図４は、ストレージアレイを示す。
【図５】００１３    図５は、ネットワーク管理サーバを示す。
【図６】００１４    図６は、システム管理サーバを示す。
【図７】００１５    図７は、クラスタデータベースを示す。
【図８Ａ】００１６    図８ａは、クラスタを定義するためのグラフィックユーザインタフェース（ＧＵＩ）を示す。
【図８Ｂ】００１６    図８ｂは、クラスタを定義するためのグラフィックユーザインタフェース（ＧＵＩ）を示す。
【図９】００１７    図９は、クラスタ用のＶＬＡＮテーブルを示す。
【図１０】００１８    図１０は、クラスタ用のボリュームテーブルを示す。
【図１１】００１９    図１１は、クラスタ用の仮想Ｉ／Ｏ（ｖＩＯ）テーブルを示す。
【図１２Ａ】００２０    図１２ａは、クラスタ用のポートプロファイルを示す。
【図１２Ｂ】００２０    図１２ｂは、クラスタ用のポートプロファイルを示す。
【図１２Ｃ】００２０    図１２ｃは、クラスタ用のポートプロファイルを示す。
【図１３】００２１    図１３は、クラスタ用のゾーニングテーブルを示す。
【図１４】００２２    図１４は、クラスタ用のＬＵＮマスキングテーブルを示す。
【図１５】００２３    図１５は、クラスタを定義するためのプロセスを示す。
【図１６】００２４    図１６は、クラスタ定義テーブルを作成し、スイッチを構成し、ストレージアレイを構成した後のストレージシステムのスケールユニットを示す。
【図１７】００２５    図１７は、ホストをクラスタに追加するためのＧＵＩを示す。
【図１８】００２６    図１８は、ＧＵＩを使用して選択されるホストにｖＩＯ装置を割り当てた後のスケールユニットを示す。
【図１９】００２７    図１９は、クラスタからホストを解放するために使用されるＧＵＩを示す。
【図２０】００２８    図２０は、ｖＩＯアドレス（ＭＡＣアドレス及びＷＷＰＮ）がホストから到着した後のストレージシステムのスケールユニットを示す。
【図２１】００２９    図２１は、クラスタからホストを追加又は削除するためのプロセスを示す。
【図２２】００３０    図２２は、システム管理サーバ及びネットワーク管理サーバによって管理される例示的なスケールユニットを示す。
【図２３】００３１    図２３は、スケールユニット及びその構成要素を記述する例示的なインベントリデータベースを示す。
【図２４Ａ】００３２    図２４ａは、ホストテーブル、ストレージアレイテーブル、ＶＬＡＮ  ＩＤテーブル、ＩＰアドレステーブル、ＭＡＣアドレステーブル、及びＷＷＰＮアドレステーブルを示す。
【図２４Ｂ】００３２    図２４ｂは、ホストテーブル、ストレージアレイテーブル、ＶＬＡＮ  ＩＤテーブル、ＩＰアドレステーブル、ＭＡＣアドレステーブル、及びＷＷＰＮアドレステーブルを示す。
【図２４Ｃ】００３２    図２４ｃは、ホストテーブル、ストレージアレイテーブル、ＶＬＡＮ  ＩＤテーブル、ＩＰアドレステーブル、ＭＡＣアドレステーブル、及びＷＷＰＮアドレステーブルを示す。
【図２４Ｄ】００３２    図２４ｄは、ホストテーブル、ストレージアレイテーブル、ＶＬＡＮ  ＩＤテーブル、ＩＰアドレステーブル、ＭＡＣアドレステーブル、及びＷＷＰＮアドレステーブルを示す。
【図２４Ｅ】００３２    図２４ｅは、ホストテーブル、ストレージアレイテーブル、ＶＬＡＮ  ＩＤテーブル、ＩＰアドレステーブル、ＭＡＣアドレステーブル、及びＷＷＰＮアドレステーブルを示す。
【図２４Ｆ】００３２    図２４ｆは、ホストテーブル、ストレージアレイテーブル、ＶＬＡＮ  ＩＤテーブル、ＩＰアドレステーブル、ＭＡＣアドレステーブル、及びＷＷＰＮアドレステーブルを示す。
【発明を実施するための形態】
【００１０】
００３３    諸実施形態は、ストレージシステムにおける仮想マシン環境のクラスタシステムに関し、特に、仮想マシン環境のクラスタの提供及び管理の簡素化に関する。諸実施形態は、クラスタシステムを提供するために、様々なＩＴ管理者の間で（例えば、サーバ／仮想マシン管理者とネットワーク管理者の間、サーバ／仮想マシン管理者とストレージ管理者の間、又はネットワーク管理者とストレージ管理者の間）行われる時間のかかる通信プロセスを簡素化する。
【００１１】
００３４    一実施形態では、ストレージシステムの管理サーバは、クラスタ定義テーブル（「クラスタ定義」ともいう）を含む。クラスタ定義は、仮想ＬＡＮテーブルと、ボリュームテーブルと、仮想Ｉ／Ｏ装置テーブル（又はｖＩＯテーブル）とを含む。クラスタ定義は、スケールユニットのインベントリデータベースを使用して作成される。管理サーバはまた、クラスタデータベースとクラスタ管理モジュールとを含む。
【００１２】
００３５    一実施形態では、管理者（例えばサーバ又は仮想マシン管理者）は、他の管理者が利用可能となる一つ以上のクラスタ定義テーブルを作成する。モジュールは、管理者がクラスタ定義テーブルにアクセスすることを可能にするためにグラフィックユーザインタフェースを提供する。クラスタ定義テーブル及びモジュールは、実装における管理サーバに格納される。ストレージ管理者は、クラスタ定義テーブルに基づいてストレージアレイを構成し得る。ネットワーク管理者は、クラスタ定義テーブルに基づいてスイッチ（ＬＡＮ及びＳＡＮ）を構成し得る。サーバ管理者は、クラスタ定義テーブルに従ってクラスタを作成し、ホストをクラスタに追加し、クラスタからホストを削除し、又はクラスタのホストを変更するために、一つ以上のホストを選択し得る。
【００１３】
００３６    図１は、ストレージシステム９０を示す。ストレージシステム９０は、ホスト１００と、スイッチ２００と、ストレージアレイ３００と、システム管理サーバ４００と、ネットワーク管理サーバ５００とを含む。当業者には明らかなように、ストレージシステム９０は、通常、複数のホスト１００−１、１００−２、１００−３、１００−４と、複数のファブリックスイッチ２００−１、２００−２、２００−３とを含む。しかし、説明を容易にするために、ホスト及びスイッチは、本明細書では単数の用語で言及され得る。
【００１４】
００３７    図２は、ホスト１００を示す。ホスト１００は、これを介してユーザがストレージアレイ３００にアクセスできるサーバである。ホスト１００は、ＣＰＵ１００ａと、メモリ（例えば、ランダムアクセスメモリ（ＲＡＭ））１００ｂと、ポート１００ｃとを含む。ポート１００ｃは、例えばイーサネット（登録商標）又はファイバチャネルＨＢＡ（ホストバスアダプタ）などのネットワークインタフェースであり、ファブリックネットワーク６００に接続される。ホスト１００は、ポート１００ｃを介して他のホスト又はストレージアレイ３００と通信する。通常、ホスト１００は、ホストの構成要素を構成するために、オペレーティングシステム１１０と、ハイパーバイザ（又は仮想マシンマネージャ）１１１と、管理モジュール１１２とを含む。ハイパーバイザ１１１は、仮想マシン環境を実行するためのミドルウェアである。当業者には明らかなように、管理モジュール１１２を含む本明細書で説明されるモジュールは、ソフトウェア又はハードウェアによって実施され得る。各ホストは、仮想Ｉ／Ｏ装置（又はｖＩＯ）を割り当てられる。例えば、図１のストレージシステム９０において、ホスト１００−１はｖＩＯ−Ａ１を割り当てられ、ホスト１００−２はｖＩＯ−Ａ２を割り当てられ、ホスト１００−３はｖＩＯ−Ｂ１を割り当てられ、ホスト１００−４はｖＩＯ−Ｂ２を割り当てられる。
【００１５】
００３８    図３は、スイッチ２００を示す。スイッチ２００は、ホスト１００とストレージアレイ３００の間のＬＡＮ（ローカルエリアネットワーク）及び／又はＳＡＮ（ストレージエリアネットワーク）接続を提供するファブリックネットワーク６００の一部として提供される。またファブリックネットワーク６００は、ＥＳＣＯＮ、ＳＣＳＩ、ＷＡＮ、又はその組み合わせを備え得る。スイッチ２００は、ＣＰＵ２００ａ、ＲＡＭ２００ｂ、フレームフォワーディングモジュール２００ｃ、及び複数のポート２００ｄ、２００ｅ、２００ｆ、２００ｇを含む。フレームフォワーディングモジュール２００ｃは、ポート２００ｄ、２００ｅ、２００ｆ、２００ｇから／にイーサネット（登録商標）／ファイバチャネルフレームを送受信する。スイッチ２００はまた、オペレーティングシステム２１０と、スイッチ２００の特定の機能を制御するための管理モジュール２１１と、どのフレームがどのポートに転送されるべきかを決定するためにフレームフォワーディングモジュール２００ｃによって使用されるフレームフォワーディングテーブル２１２と、クラスタネットワーク構成のためのポートプロファイルテーブル２１３（後述する）とを有する。当業者には明らかなように、本明細書で説明されるモジュールは、ソフトウェア又はハードウェアによって実施され得る。
【００１６】
００３９    図４は、ストレージアレイ３００を示す。ストレージアレイ３００は、論理ストレージボリュームを提供するために使用される物理ストレージディスク（又はハードディスク又は光ディスク）を有する一つ以上のディスクシステムを含み得る。ストレージアレイ３００は、論理ストレージボリュームを提供するために、ＣＰＵ３００ａと、ＲＡＭ３００ｂと、ポート３００ｃと、ＲＡＩＤ（Redundant Array of Independent Disks）コントローラ３００ｄとを含む。論理ストレージボリューム又は論理ユニット（ＬＵ）は、ＲＡＩＤコントローラによって管理される一つ以上のストレージディスクにマッピングされる。
【００１７】
００４０    ストレージアレイ３００はまた、オペレーティングシステム３１０と、ファイバチャネル、ＦＣｏＥ（Fibre Channel over Ethernet（登録商標））、ｉＳＣＳＩ（インターネットＳＣＳI）などのストレージＩ／Ｏプロトコルを使用してホスト１００から／へのＳＣＳＩリード及びライトコマンドを処理するためのＩ／Ｏコントローラ３１１とを有する。ＬＵＮマスキングモジュール３１２は、ホスト１００にＬＵアクセス制御を提供する。ＬＵアクセス制御は、実装に従ったアクセス開始ホスト１００のＷＷＰＮアドレスを使用して実行される。管理モジュール３１３は、ストレージアレイ３００のシステム管理機能を提供する。
【００１８】
００４１    図５は、ネットワーク管理サーバ５００を示す。ネットワーク管理サーバ５００は、ＣＰＵ５００ａと、ＲＡＭ５００ｂと、ポート５００ｃとを含む。ネットワーク管理サーバ５００はまた、管理モジュール２１１及びポート５００ｃを介してスイッチ２００を制御するために、オペレーティングシステム５１０とスイッチ管理モジュール５１１とを含む。
【００１９】
００４２    図６は、システム管理サーバ４００を示す。システム管理サーバ４００は、ストレージアレイ３００とホスト１００とを含むストレージシステムを管理する。実装では、システム管理サーバ４００はまた、ネットワーク管理サーバ５００でファブリックネットワーク６０００を管理する。システム管理サーバ４００は、ＣＰＵ４００ａと、ＲＡＭ４００ｂと、ポート４００ｃとを含む。
【００２０】
００４３    システム管理サーバ４００はまた、オペレーティングシステム４１０と、管理モジュール１１２を介してホスト１００上のハイパーバイザ１１１を制御するためのハイパーバイザ管理モジュール４１１と、管理モジュール１１２及びポート４００ｃを介してホスト１００を制御するためのホスト管理モジュール４１２と、管理モジュール３１３及びポート４００ｃを介してストレージアレイ３００を制御するためのストレージアレイ管理モジュール４１３とを含む。
【００２１】
００４４    本実施形態では、システム管理サーバ４００は、ストレージシステムにおける仮想クラスタの提供及び管理を簡素化するために使用される。システム管理サーバ４００は、クラスタデータベース４１４と、インベントリデータベース４１５と、クラスタ管理モジュール４１６とを含む。他の実施形態では、クラスタデータベース４１４、インベントリデータベース４１５、及びクラスタ管理モジュール４１６は、別の位置、例えばネットワーク管理サーバ５００で提供される。さらに別の実施形態では、クラスタデータベース４１４、インベントリデータベース４１５、及びクラスタ管理モジュール４１６は、ストレージシステム９０の異なる位置に分散される。
【００２２】
００４５    図７は、クラスタデータベース４１４を示す。クラスタデータベース４１４は、ストレージシステム９０で提供されたクラスタ用の複数のクラスタ定義テーブル７０２、７０４、及び７０６（クラスタＡ、クラスタＢなど）を含む。本実施形態では、クラスタ用のクラスタ定義テーブルは、サーバ又は仮想マシン管理者によって作成され、システム管理サーバに格納される。ストレージ管理者は、クラスタ定義テーブルに基づいてストレージアレイを構成し得る。ネットワーク管理者は、クラスタ定義テーブルに基づいてスイッチ（ＬＡＮ及びＳＡＮ）を構成し得る。サーバ管理者は、クラスタ定義テーブルに従ってクラスタを作成し、クラスタにホストを追加し、クラスタからホストを削除し、又はクラスタのホストを変更するために一つ以上のホストを選択し得る。
【００２３】
００４６    各クラスタ定義テーブルは、ＶＬＡＮテーブル４１４ａ、ボリュームテーブル４１４ｂ、及びｖＩＯ（又は仮想インタフェースデバイス）テーブル４１４ｃを含む。ＶＬＡＮテーブル４１４ａは、クラスタによって使用される一つ以上のＶＬＡＮ  ＩＤを列記する。ボリュームテーブル４１４ｂは、クラスタによって使用される一つ以上の論理ボリュームを列記する。ｖＩＯテーブル４１４ｃは、相互に割り当てられる仮想Ｉ／Ｏ装置及びホストを列記する。クラスタ定義テーブルについては、図９〜図１４を使用して後でより詳細に説明する。
【００２４】
００４７    図８は、クラスタを定義するためのグラフィックユーザインタフェース（ＧＵＩ）８００を示す。一実施形態では、システム管理サーバ４００のクラスタ管理モジュール４１６は、ＧＵＩ８００を提供する。管理者は、ストレージシステム９０のためのクラスタ定義テーブルを作成するためにＧＵＩ８００を使用する。スケールユニット（ＳＫＵ）は、ＳＫＵセレクタ８０２を使用して選択される。一実施形態では、複数のＳＫＵが予め定義され、管理者は、それらから望ましいＳＫＵを選択することができる。クラスタ名は、クラスタ入力セクション８０４を使用して入力される。一実施形態では、ＧＵＩ８００は、そこから選択する一つ以上の予め定義されたクラスタ名を提供し得る。クラスタ用のホスト最大数及びストレージアレイポート最大数は、セクション８０６及び８０８を使用して入力される。クラスタ用のストレージ容量は、セクション８１０を使用して定義される。一実施形態では、クラスタ管理モジュール４１６は、インベントリデータベース４１５をチェックすることによって、セクション８０６〜８１０を使用して割り当てられた数字が許容できるか否かをチェックするために使用される。
【００２５】
００４８    スケールユニットＳＫＵは、ホストと、スイッチと、ストレージアレイとを含む構成要素のグループである。図２２は、システム管理サーバ４００及びネットワーク管理サーバ５００によって管理される例示的なＳＫＵ−０１及びＳＫＵ−０２を示す。ＳＫＵ−０１は、複数のホストと、複数のスイッチと、少なくとも一つのストレージアレイとを含む。ＳＫＵ−０１は、ホスティングサービス、データセンタなどの物理リソース専用のために構成され得る。スケールユニットのための一つ以上のクラスタは、スケールユニット内の構成要素を使用して定義される。
【００２６】
００４９    図２３は、例えばＳＫＵ−０１及びＳＫＵ−０２などのＳＫＵと、その構成要素とを説明する例示的なインベントリデータベース４１５を示す。ＳＫＵ−０１定義２３０２は、ホストテーブル４１５ａと、ストレージアレイテーブル４１５ｂと、ＶＬＡＮ  ＩＤテーブル４１５ｃとを含む。これらの識別子は、同じＳＫＵ内では重複することができない。ＳＫＵ−０１定義２３０２はまた、ＩＰアドレステーブル４１５ｄと、ＭＡＣアドレステーブル４１５ｅと、ＷＷＰＮアドレステーブル４１５ｆとを含む。ＳＫＵ−０２定義２３０４は同様に、ホストテーブル、ストレージアレイテーブル、ＶＬＡＮ  ＩＤテーブル、ＩＰアドレステーブル、ＭＡＣアドレステーブル、及びＷＷＰＮアドレステーブルを含む。
【００２７】
００５０    ホストテーブル４１５ａは、ＳＫＵ及びそのステータス（すなわち、それらが特定のクラスタに割り当てられているか否か）のために利用可能なホストを列記する（図２４ａ）。ストレージアレイテーブル４１５ｂは、利用可能なストレージアレイ、ストレージボリューム、及び各ストレージボリュームのステータスを列記する（図２４ｂ）。ＶＬＡＮ  ＩＤテーブル４１５ｃは、ＶＬＡＮ  ＩＤ及びそのステータスを列記する（図２４ｃ）。各ＶＬＡＮは、特定のクラスタに割り当てら得る。ＩＰアドレステーブル４１５ｄは、ＶＬＡＮ  ＩＤ、ネットワークアドレス、ＩＰアドレス、及び各ＩＰアドレスのステータスを列記する（図２４ｄ）。ＭＡＣアドレステーブル４１５ｅは、ＭＡＣアドレス及び各ＭＡＣアドレスのステータスを列記する（図２４ｅ）。ＷＷＰＮアドレステーブル４１５ｆは、ＷＷＰＮ及び各ＷＷＰＮのステータスを列記する（図２４ｆ）。これらのテーブルを使用して、インベントリデータベース４１５は、そのスケールユニットのためのクラスタ定義テーブルを生成できる所定のスケールユニットのために利用可能なリソースを定義する。
【００２８】
００５１    図８ｂによると、クラスタを定義するためのＧＵＩ８１２は、クラスタ管理モジュール４１６によって提供される。ＧＵＩ８１２は、例えば、サーバ又は仮想マシン管理者によって論理ネットワーク（ＬＮ）を定義するために使用される。ＬＮは、クラスタ内のホストによって使用される仮想構成要素である。例えば、仮想マシン環境のクラスタは、仮想マシン移行、クラスタ管理（ハートビート）などのためのいくつかの専用論理ネットワークを必要とする。各ＬＮは、ＶＬＡＮ（ＶＬＡＮ  ＩＤ）を使用して表現され、同じクラスタ内のすべてのホストは、同じＬＮを有する必要がある。ＧＵＩ８１２では、これらのＬＮは、（１）管理ＬＡＮ用のＭＧＭＴ、（２）クラスタハートビート用のＣＬＵＳＴＥＲ、及び（３）仮想マシン移行用のＭＩＧＲＡＴＩＯＮと、定義されている。一実施形態では、ＧＵＩ８１２を使用するクラスタ定義ステップは、自動化され得るものであり、例えば、クラスタ管理モジュール４１６は、クラスタのために必要なＬＮの数と種類を予め定義し得る。
【００２９】
００５２    サーバ又は仮想マシン管理者が図８のＧＵＩを介してクラスタを定義するために必要な情報を入力した後で、クラスタ管理モジュール４１６は、クラスタを作成するための属性テーブルを作成する。属性テーブルは、ＶＬＡＮテーブル、ボリュームテーブル、ｖＩＯテーブル、ポートプロファイル、ゾーニングテーブル、及びＬＵＮマスキングテーブルを含む。
【００３０】
００５３    図９は、クラスタＡ用のＶＬＡＮテーブル（又はＶＬＡＮ情報）９０２を示す。論理ネットワークＬＮが提供される（例えば、管理者によって入力される）と、クラスタ管理モジュール４１６は、ＳＫＵ−０１用のインベントリデータベース４１５のＶＬＡＮ  ＩＤテーブル４１５ｃに基づいて各ＬＮにＶＬＡＮ  ＩＤを割り当てる。各ＬＮには、固有のＶＬＡＮ  ＩＤが提供される。論理ネットワークＭＧＭＴは、ＶＬＡＮ  ＩＤ「１０」を割り当てられ、論理ネットワークＣＬＵＳＴＥＲは、ＶＬＡＮ  ＩＤ「１１」を割り当てられ、論理ネットワークＭＩＧＲＡＴＩＯＮは、ＶＬＡＮ  ＩＤ「１２」を割り当てられる。インベントリデータベース４１５のＶＬＡＮテーブル９０２は、ＳＫＵ−０１のために使用できるＶＬＡＮ  ＩＤリストを保持する。特定のＶＬＡＮ  ＩＤが所定のＬＮによって消費された時、そのＶＬＡＮ  ＩＤが、ＶＬＡＮ  ＩＤがＬＮから解放された後であっても、使用することはできない。本実施形態では、ＶＬＡＮテーブル９０２は、仮想マシンのＬＡＮに提供するために使用される他の種類のＬＮ（例えば、ＤＭＺ０１、ＤＭＺ０２、Ｉｎｔ−ＬＡＮ０１）を含む。これらのＬＮにも、専用のＶＬＡＮ  ＩＤが割り当てられる。
【００３１】
００５４    図１０は、クラスタＡ用のボリュームテーブル１０００を示す。ボリュームテーブル１０００は、アレイＩＤ１０１２、ポートＩＤ１０１４、ボリュームＩＤ１０１６、ストレージ容量１０１８、及びボリュームが存在するプール１０２０を含む。管理者がストレージアレイポート及びストレージ容量を提供した後で、クラスタ管理モジュール４１６は、インベントリデータベース４１５にアクセスすることによって、ストレージアレイ３００からリソースを予約する。クラスタ管理モジュール４１６が十分なリソースを見つけると、その特定のクラスタ用のボリュームテーブル１０００を作成する。これらの属性は、ストレージアレイを構成するために後で使用される。
【００３２】
００５５    図１１は、クラスタＡ用の仮想Ｉ／Ｏ（ｖＩＯ）テーブル１１００を示す。各ホストのためのストレージシステム９０のリソースへのアクセスは、ｖＩＯテーブル（又はｖＩＯ情報）１１００を使用して制御される。管理者がクラスタ用のホスト最大数を入力すると、クラスタ管理モジュール４１６は、ホスト最大数と同じ数のｖＩＯを定義する。ｖＩＯテーブル１１００は、ｖＩＯ  ＩＤ１１０２、仮想ＬＡＮアドレス１１０４、仮想ＳＡＮアドレス１１０６、及びステータスセクション１１０８を含む。本実施形態では、ｖＩＯテーブル１１００は、仮想マシン環境でクラスタを提供するための仮想ＬＡＮアドレス及び仮想ＳＡＮアドレスを含む。
【００３３】
００５６    仮想ＳＡＮアドレスを使用する一つの利点は、簡素化されたフェイルオーバーの手順である。例えば、ストレージアレイ３００又はそのポートに故障が起こった場合、仮想ＳＡＮアドレス（ＷＷＰＮ）が割り当てられたｖＩＯ装置は、仮想ＳＡＮアドレスを別のストレージポートに移行するだけで、別のストレージポートにフェイルオーバーすることができる。従って、既存のクラスタ定義テーブルは、最小限の管理負荷で使用することができる。
【００３４】
００５７    図１１によると、各ｖＩＯは、ＬＮの数と同じ数のＬＡＮアクセス用の仮想ＭＡＣアドレスと、ＳＡＮアクセス用の少なくとも一つの仮想ＷＷＰＮアドレスとを有する。ｖＩＯテーブルのためのＭＡＣアドレス及びＷＷＰＮアドレスは、インベントリデータベース４１５から消費される。ステータスセクション１１０８は、ｖＩＯがいずれかのホストに割り当てられているか否かを示す。ＣＬＵＳ−Ａ０１、ＣＬＵＳ−Ａ０２、ＣＬＵＳ−Ａ０３、ＣＬＵＳ−Ａ０４はそれぞれ、ホスト１００−１、ホスト１００−２、ホスト１００−４、ホスト１００−５に割り当てられる。ＣＬＵＳ−Ａ０５〜ＣＬＵＳ−Ａ０８は割り当てられておらず、後でクラスタに追加されるホストへの割り当てのために利用可能である。
【００３５】
００５８    図１２ａは、クラスタＡ用のポートプロファイル１２００を示す。ポートプロファイル１２００は、例えばＬＡＮファブリック６００ａのために提供されるスイッチなどのスイッチを構成するために使用される。ポートプロファイル１２００は、一つ以上のＶＬＡＮ  ＩＤと、一つ以上のＭＡＣアドレスとを含む。ポートプロファイル１２００は、論理ネットワークＭＧＭＴと関連付けられる。ポートプロファイル１２００に従って、エンドノード（ホスト１００など）がＭＡＣアドレス（例えば「１２−３４−５６−７８−９ａ−ｂｃ」）を有するフレームを送信する時に、このフレームは、特定のＶＬＡＮ  ＩＤ（「１０」）を有するフレームとして扱われる。クラスタＡはｖＩＯ  ＣＬＵＳ−Ａ０１〜ＣＬＵＳ−Ａ０８を有するので（図１１を参照）、各ポートプロファイルは、ｖＩＯのＭＡＣアドレスを有する。
【００３６】
００５９    図１２ｂは、論理ネットワークＣＬＵＳＴＥＲと関連付けられたポートプロファイル１２０２を示す。図１２ｃは、論理ネットワークＭＩＧＲＡＴＩＯＮと関連付けられたポートプロファイル１２０４を示す。一実施形態では、ＥＶＢ  ＶＤＰ（Edge Virtual Bridging、Virtual Station Interface Discovery and Configuration Protocol）又はＭＡＣベースのＶＬＡＮが、類似の機能を実行するために使用され得る。実装される技術は、ＳＫＵのスイッチによってサポートされる技術に応じて異なり得る。
【００３７】
００６０    図１３は、クラスタＡ用のゾーニングテーブル１３００を示す。ゾーニングテーブル１３００は、ファイバチャネルゾーニングのセットアップのためのスイッチを構成するために使用される。ゾーニングは、要求イニシエータのＷＷＰＮ及びターゲットのＷＷＰＮに基づいてアクセスを制限する。クラスタ管理モジュール４１６は、ボリュームテーブル１０００及びｖＩＯテーブル１１００を参照することによってクラスタＡ用のゾーニングテーブル１３００を作成する。ゾーニングテーブル１３００は、ターゲット（ストレージアレイ）のＷＷＰＮ及びイニシエータ（ホスト）のＷＷＰＮを含む。ターゲットのＷＷＰＮは、ボリュームテーブル１０００から取得され得るものであり、イニシエータのＷＷＰＮは、ＶＩＦテーブル１１００から取得され得る。ゾーニングテーブル１３００は、物理アドレス及び仮想アドレスを含み得る。
【００３８】
００６１    図１４は、クラスタＡ用のＬＵＮマスキングテーブル１４００を示す。ＬＵＮマスキング１４００とは、特定のＬＵのストレージＩ／Ｏアクセスを認定済のイニシエータのみに限定するためのストレージアレイ３００の特徴である。ＬＵＮマスキングテーブル１４００は、実装に従った仮想又は物理アドレスであり得るポートＩＤを含む。ＬＵＮマスキングテーブル１４００はまた、イニシエータＩＤ及びボリュームＩＤを含む。一般的に、ＬＵＮマスキングテーブルは、特定のストレージボリュームへのアクセス権限を判断するために、要求イニシエータのアドレスを使用する。
【００３９】
００６２    ＬＵＮマスキングテーブル１４００は、ゾーニング機構に追加のセキュリティを提供する。ＬＵＮマスキングは、イニシエータが特定のストレージアレイポートのためにどのＬＵを見ることができるかを制御する。ゾーニングだけが使用される場合、未認定のイニシエータは、ターゲットポート上のすべてのＬＵを見ることができるが、そこに格納されたデータに実際にアクセスすることはできない。未認定のイニシエータが制限されたターゲットポート上のＬＵを見ることは一般に望ましくない。クラスタＡ用のＬＵＮマスキングテーブル１４００は、ボリュームテーブル１０００及びｖＩＯテーブル１１００を使用して生成され得る。
【００４０】
００６３    管理者によって開始された他のクラスタ定義（例えばクラスタＢ又はクラスタＣ）のために、クラスタ管理モジュール４１６は、ＶＬＡＮテーブル、ボリュームテーブル、ＶＩＦテーブル、ポートプロファイル、ゾーニングテーブル、及びＬＵＮマスキングテーブルを作成する。
【００４１】
００６４    図１５は、クラスタを定義するためのプロセス１５００を示す。プロセス１５００は、図７〜図１４と関連して上述したクラスタ定義プロセスを要約する。
【００４２】
００６５    ステップ１５０２では、クラスタ管理モジュール４１６によって提供されたＧＵＩ（例えばＧＵＩ８００）は、スケールユニットＳＫＵ−０１を選択するために使用される。ＳＫＵ−０１内で定義されるクラスタの名前が入力される。クラスタ用のホスト最大数及びストレージアレイポート最大数が入力される。クラスタ用のストレージ容量が設定される。一つ以上の論理ネットワークＬＮが定義される。
【００４３】
００６６    定義されるクラスタの望ましい数が入力されると、クラスタ管理モジュール４１６は、処理のためにそれらのうちの一つを選択する（ステップ１５０４）。ＶＬＡＮテーブルが、選択されたクラスタのために作成される（ステップ１５０６）。各論理ネットワークＬＮのために、クラスタ管理モジュール４１６は、ＳＫＵ−０１のインベントリデータベース４１５を使用してＶＬＡＮ  ＩＤを割り当てる。ＶＬＡＮテーブル９０２は、ステップ１５０６によって作成された例示的なＶＬＡＮテーブルである。クラスタ用のボリュームテーブルは、インベントリデータベース４１５を使用して作成される（ステップ１５０８）。ストレージアレイポート及びストレージ容量に関する情報が提供されると、クラスタ管理モジュール４１６は、ボリュームテーブルを作成するためにインベントリデータベース４１５にアクセスすることによってストレージアレイからリソースを予約する。ボリュームテーブルは、アレイＩＤ、ポートＩＤ、ボリュームＩＤ、ストレージ容量、及びプール情報を含む。
【００４４】
００６７    クラスタ用のｖＩＯテーブルが作成される（ステップ１５１０）。管理者がクラスタ用のホスト最大数を設定する場合、クラスタ管理モジュール４１６は、ホスト最大数と同じ数のｖＩＯを定義する。ｖＩＯテーブルは、ｖＩＯ ＩＤ、仮想ＬＡＮアドレス、仮想ＳＡＮアドレス、及びステータスセクションを含む。ｖＩＯテーブルのためのＭＡＣアドレス及びＷＷＰＮアドレスは、インベントリデータベース４１５から消費される。
【００４５】
００６８    スイッチを構成するために使用されるポートプロファイルがクラスタのために作成される（ステップ１５１２）。ポートプロファイルは、一つ以上のＶＬＡＮ  ＩＤと、一つ以上のＭＡＣアドレスとを含む。クラスタ用のゾーニングテーブルが作成される（ステップ１５１４）。ゾーニングは、イニシエータ及びターゲットのＷＷＰＮに基づいてアクセスを制限する。ゾーニングテーブルは、ターゲット（又はストレージアレイ）のＷＷＰＮと、イニシエータ（ホスト）のＷＷＰＮとを含む。ＬＵＮマスキングテーブルがクラスタのために作成される（ステップ１５１６）。ＬＵＮマスキングは、特定のＬＵのアクセスを制御するために、例えば、イニシエータがストレージアレイポートのためにどの論理ネットワークＬＮを見ることができるかを制限するために使用される。
【００４６】
００６９    プロセス１５００は、定義される追加のクラスタが存在するか否かを判断する（ステップ１５１８）。存在する場合は、プロセス１５００は、ステップ１５０４に戻って、定義される次のクラスタを選択し、ステップ１５０６〜１５１６を続ける。それ以上定義されるクラスタがなくなると、プロセス１５００は終了する。
【００４７】
００７０   望ましいクラスタ定義テーブルが作成されると（例えば、ＶＬＡＮテーブル、ボリュームテーブル、ＶＩＦテーブル、ポートプロファイル、ゾーニングテーブル、及びＬＵＮマスキングテーブルを作成することによって）、ストレージアレイ及びスイッチを構成し、かつクラスタを作成するために、上記テーブルは使用され得る。例えば、ストレージ管理者などの管理者は、各クラスタ用のボリュームテーブル１０００及びＬＵＮマスキング１４００を使用してストレージアレイ３００を設定し得る。あるいは、ボリュームテーブル１０００及びＬＵＮマスキング１４００を使用してストレージアレイ３００をセットアップするために、ストレージアレイ管理モジュール４１３を使用してもよい。
【００４８】
００７１    ネットワーク管理者などの管理者は、ポートプロファイル１２００を使用することによって、ＬＡＮファブリック６００ａと関連付けられたスイッチ２００を構成し得る。あるいは、スイッチ管理モジュール５１１も、ポートプロファイル１２００を使用することによって、ＬＡＮファブリック６００ａのスイッチ２００を構成し得る。同様に、ネットワーク管理者は、ゾーニングテーブル１３００を使用することによって、ＳＡＮファブリック６００ｂと関連付けられたスイッチ２００を構成し得る。あるいは、スイッチ管理モジュール５１１は、ゾーニングテーブル１３００を使用してスイッチを構成し得る。
【００４９】
００７２    ストレージアレイ３００及びスイッチが構成されると、ストレージシステム９０にクラスタを作成することができる。クラスタを作成するために、管理者は、クラスタのためにホストを選択する。ホストを選択した後で、クラスタ管理モジュール４１６は、ｖＩＯ装置をホストに割り当てる。クラスタ管理モジュール４１６は、ｖＩＯのＭＡＣアドレスをホストのＬＡＮポートに割り当て、ｖＩＯのＷＷＰＮアドレスをホストのＳＡＮポートに割り当てる。さらに、クラスタ管理モジュール４１６は、ＩＰアドレスをホストのＬＡＮポート（ＭＡＣアドレス用）に割り当て得る。ＩＰアドレスは、インベントリデータベース４１５から消費されるか、又はＤＨＣＰによって割り当てられ得る。
【００５０】
００７３    図１６は、クラスタ定義テーブルを作成し、スイッチを構成し、かつストレージアレイを構成した後のストレージシステム９０のスケールユニットＳＫＵ−０１を示す。ストレージシステム９０は、ポートプロファイルを使用して定義されたＬＡＮファブリック６００ａと、ゾーニングテーブルを使用して定義されたＳＡＮファブリック６００ｂとを含むファブリックネットワーク６００を含む。複数のホスト１００（又はサーバ）が、ＬＡＮファブリック６００ａとＳＡＮファブリック６００ｂの間に論理的に提供される。複数の論理ストレージボリュームを有するストレージアレイ３００は、ＳＡＮファブリック６００ｂに結合される。
【００５１】
００７４    図１７は、クラスタにホストを追加するためのＧＵＩ１７００を示す。クラスタセレクタ１７０２を使用して、望ましいクラスタ（例えばクラスタＡ）が選択される。ＧＵＩ１７００は、管理者がクラスタＡ用の望ましいホストを選択できるように、クラスタＡのために利用可能なホストを列記する。ＧＵＩ１７００は、インベントリデータベース４１５を使用してクラスタＡのために利用可能なホストを取り込む。ホストは、望ましいホストの隣のボックスをチェックすることによって選択される。ホスト１００−０１、１００−０２、１００−０４、１００−０５が、ＧＵＩ１７００のクラスタＡに結合されるために選択される。ホストが選択され、かつクラスタによって消費されると、そのホストは利用可能できなくなり、その後はＧＵＩ１７００には現れない。但し、そのホストがクラスタから解放された場合を除く。ＳＫＵでは、各ホストは相互に接続することができ、各ホストは、実装において同じストレージアレイに接続することができる。
【００５２】
００７５    ＭＡＣアドレス及びＷＷＰＮアドレスなどの仮想アドレスでは、クラスタのために選択されたホストは、同じＶＬＡＮ接続を有することができ、かつ仮想マシン環境（又は仮想クラスタ）のためのクラスタシステムを作成するために同じボリュームに接続し得る。この場合、クラスタ管理モジュール４１６は、ｖＩＯテーブル１１００に示されるように、ホスト１００−１、１００−２、１００−３、１００−４にｖＩＯアドレスを割り当てる。ＣＬＵＳ−Ａ０１、Ａ０２、Ａ０３、Ａ０４とペアになるホスト１００−１、１００−２、１００−３、１００−４の各々に、三つの仮想ＭＡＣアドレスと一つの仮想ＷＷＰＮとが割り当てられる。これらのホストは、ＶＬＡＮ  ＩＤ１０、１１、１２にアクセスし、かつストレージアレイ３００上のボリュームＩＤ０００１、０００２、０００３にアクセスし得る。その後、これらのホストは、クラスタ構成のための準備が整う。さらに、ホストをリブートした後でｖＩＯを再割り当てするために、ｖＩＯテーブル１１００のステータス情報を使用し得る。
【００５３】
００７６    図１８は、ＧＵＩ１７００を使用して選択されるホストにｖＩＯ装置を割り当てた後のスケールユニットＳＫＵ−０１を示す。ＧＵＩ１７００を使用してホストが選択されると、クラスタ管理モジュール４１６は、未使用のｖＩＯを選択し、それらを選択されたホストに割り当てる。例えば、ホスト１００−１、１００−２、１００−４、１００−５には、仮想ＬＡＮアドレス（ＭＡＣアドレス）及び仮想ＳＡＮアドレス（ＷＷＰＮ）が割り当てられる。選択されていないホスト１００−３及び１００−６には、いずれのｖＩＯ装置も割り当てられない。仮想ＳＡＮアドレス（例えば、１０−００−００−ｃｂ−１２−３４−５ａ）は、ストレージアレイ３００のポートに割り当てられる。クラスタ管理モジュール４１６は、ｖＩＯの割り当ての後で、ｖＩＯテーブル１１００のステータスセクション１１０８を更新する。
【００５４】
００７７    図１９は、クラスタからホストを解放するために使用されるＧＵＩ１９００を示す。管理者は、ホストの解放を開始するためにホスト１００−４の隣のボックスのチェックを外すことによって、クラスタＡからホスト１００−４を解放することができる。クラスタ管理モジュール４１６は、図２０に示されるホストからｖＩＯアドレス（ＭＡＣアドレス及びＷＷＰＮ）を削除し、クラスタ用のｖＩＯテーブル１１００のステータスセクション１１０８を更新する。解放されたホスト１００−４を、後で別のクラスタに再割り当てすることができる。
【００５５】
００７８    図２１は、クラスタからホストを追加又は削除するためのプロセス２１００を示す。ステップ２１０２では、ＧＵＩ（例えばＧＵＩ１７００）は、クラスタを選択するために開始される。クラスタが選択されると、クラスタのために利用可能なホストは、ＧＵＩによって表示される。表示されるホストは、クラスタに割り当てられたホストと、クラスタに自由に割り当てることができるホストとを含む。
【００５６】
００７９    ステップ２１０４では、管理者は、フリーホストの隣のボックスにチェックを入れることによってクラスタにホストを追加するか、又は割り当てられたホストの隣のボックスのチェックを外すことによってクラスタからホストを削除し得る。表示されたホストの隣のチェックされたマークと、ｖＩＯテーブル１１００のステータスセクション１１０８との比較が行われる。ＧＵＩでチェックされたマークとステータスセクション１１０８との間に違いがあるか否かを判断する（ステップ２１０６）。違いがない場合は、プロセス２１００は終了する。
【００５７】
００８０   違いが見つかった場合、ホストは、この違いに応じて追加又は削除される。その違いが、一つ以上の追加のホストがＧＵＩ１７００でチェックされていることである場合は、プロセス２１００は、ステップ２１０８に進み、ホストを追加する。ｖＩＯ情報がｖＩＯテーブル１１００から取得され、ステータスセクション１１０８が更新される。ｖＩＯテーブル１１００から取得された仮想ＭＡＣアドレスが、選択されたホストに割り当てられる（ステップ２１１０）。ｖＩＯテーブル１１００から取得された仮想ＷＷＰＮアドレスは、選択されたホストに割り当てられる（ステップ２１１２）。その後、選択されたホストは、クラスタに結合される（ステップ２１１４）。
【００５８】
００８１    違いが、一つ以上の事前に割り当てられたホストのチェックがＧＵＩ１７００で外されたことである場合は、プロセス２１００は、ステップ２１１６に進み、クラスタからホストを切り離す。ｖＩＯテーブル１１００のステータスセクション１１０８は、ホストの切り離しを示すために更新される（ステップ２１１８）。
【００５９】
００８２    図２４ａ〜図２４ｆは、インベントリデータベース４１５内のホスト、ストレージアレイ、ＶＬＡＮ  ＩＤ、ＩＰアドレス、ＭＡＣアドレス、及びＷＷＰＮアドレステーブルの例を示す。クラスタ管理モジュール４１６は、各リソースのステータスを管理する。未使用のリソースは、クラスタに割り当てることができる。
【００６０】
００８３    以上が、本発明の好適な実施形態についての説明である。当然のことながら、添付の請求項によって定義される本発明の範囲から逸することなしに、変更及び修正を行うことができる。
【図１】
0005860320.tif 000002
【図２】
0005860320.tif 000003
【図３】
0005860320.tif 000004
【図４】
0005860320.tif 000005
【図５】
0005860320.tif 000006
【図６】
0005860320.tif 000007
【図７】
0005860320.tif 000008
【図８Ａ】
0005860320.tif 000009
【図８Ｂ】
0005860320.tif 000010
【図９】
0005860320.tif 000011
【図１０】
0005860320.tif 000012
【図１１】
0005860320.tif 000013
【図１２Ａ】
0005860320.tif 000014
【図１２Ｂ】
0005860320.tif 000015
【図１２Ｃ】
0005860320.tif 000016
【図１３】
0005860320.tif 000017
【図１４】
0005860320.tif 000018
【図１５】
0005860320.tif 000019
【図１６】
0005860320.tif 000020
【図１７】
0005860320.tif 000021
【図１８】
0005860320.tif 000022
【図１９】
0005860320.tif 000023
【図２０】
0005860320.tif 000024
【図２１】
0005860320.tif 000025
【図２２】
0005860320.tif 000026
【図２３】
0005860320.tif 000027
【図２４Ａ】
0005860320.tif 000028
【図２４Ｂ】
0005860320.tif 000029
【図２４Ｃ】
0005860320.tif 000030
【図２４Ｄ】
0005860320.tif 000031
【図２４Ｅ】
0005860320.tif 000032
【図２４Ｆ】
0005860320.tif 000033