説明

クラスタ化コンピューティングシステムにおける互換性エンフォースメント

【課題】クラスタ化コンピューティングシステムにおける互換性エンフォースメントを提供する。
【解決手段】
本発明に係るコンピューティングシステムは、少なくとも2つの計算ノードを備え、前記計算ノードの少なくとも1つは、コンピューティングクラスタに関連した互換性オペレーションを管理するクラスタモジュール(410)と、前記少なくとも2つの計算ノードに関連した互換性オペレーションを管理するノードモジュール(430)と、1つ又は複数の外部サーバと共に互換性オペレーションを管理する管理モジュール(450)とを備える。前記クラスタモジュール(410)は、前記少なくとも2つの計算ノードをクラスタ化コンピューティングシステム内に集約するクラスタ作成モジュール(412)をさらに備える。

【発明の詳細な説明】
【技術分野】
【0001】
この出願は、電子コンピューティングに関し、より詳細には、クラスタ化コンピューティングシステムにおける互換性エンフォースメント(compatibility enforcement)に関する。
【背景技術】
【0002】
「クラスタ化コンピューティングシステム」という用語は、単一システムとして機能するような見かけを提供するように協調する一群の疎 結合コンピューティングデバイスから形成されたコンピューティングシステムを指す。クラスタリング技術によって、ユーザは、基本ビルディングブロックを使用してさまざまなコンピューティングシステム構成を構築することが可能になり、保守ルーチン又は更新ルーチンの一部としてクラスタ化システムの構成又はコンポーネントを変更することが可能になる。例として、個別のストレージコンポーネントのクラスタから大容量ストレージシステムを構築することができる。同様に、個別のコンピューティングコンポーネントのクラスタからグリッドコンピュータを構築することができる。
【0003】
クラスタリング技術を使用して開発されたコンピューティングシステム及び製品は、特定の技術的な問題を提起する。技術的な問題には、クラスタ化デバイス上で動作するハードウェア、ソフトウェア、及びファームウェアの間の互換性を確実にすること、並びに、個々のコンピューティングデバイスに関連したライセンス条項及びクラスタ構成に関連したライセンス条項の順守を確実にすることが含まれる。
【発明の開示】
【課題を解決するための手段】
【0004】
一実施の形態では、クラスタ化コンピューティングシステムを作成する方法は、コンピューティングクラスタのライセンス情報を、計算ノードに関連したメモリモジュールに記憶することであって、ライセンス情報は、クラスタの特徴を識別するバンドルタイプのパラメータ、及び、計算ノードの特徴を識別する1つ又は複数のノードライセンスパラメータを含む、記憶すること、第1の計算ノードにおいてコンピューティングクラスタを初期化すること、1つ又は複数の利用可能な計算ノードをコンピューティングクラスタに追加すること、並びに、コンピューティングクラスタが、バンドルタイプのパラメータに関連したルールに準拠した複数のノードを含む場合に、コンピューティングクラスタをアクティブ化すること、を含む。
【発明を実施するための最良の形態】
【0005】
本明細書では、クラスタ化コンピューティングシステムにおける互換性エンフォースメントのための例示のシステム及び方法を説明する。本明細書で説明する特定の方法は、コンピュータ可読媒体上の論理命令及び関連データとして具体化することができる。論理命令は、1つ又は複数のプロセッサ上で実行されると、説明する方法を実施する専用マシンとしてプロセッサ(複数可)をプログラミングする。プロセッサ(複数可)は、本明細書で列挙する方法を実行する論理命令によって構成されると、説明する方法を実行するための構造を構成することができる。
【0006】
実施の形態では、本明細書で説明する主題は、たとえば、ストレージエリアネットワーク(SAN)等のシステムレベルのデータストレージを提供するストレージアーキテクチャにおいて実施することができる。
【0007】
本明細書で説明する実施態様では、ストレージを利用するコンピューティングシステムは、ホストと呼ばれる。たとえば、ホストは、大きなデータベースを処理するスーパーコンピュータ、トランザクションレコードを保持するトランザクション処理サーバ等とすることができる。或いは、ホストは、企業向けのストレージサービスを提供するローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)上のファイルサーバとすることもできる。
【0008】
ダイレクトアタッチドストレージのソリューションでは、ホストは、複数の直接接続されたディスクドライブを管理するように構成された1つ又は複数のディスクコントローラ又はRAIDコントローラを含む場合がある。一方、SANでは、ホストが、高速接続技術、たとえば、この特定の例ではファイバチャネル(FC)ファブリック等、に従ってSANに接続する。
【0009】
仮想化SANアーキテクチャは、1つ又は複数のストレージセルを備えることができる。ここで、各ストレージセルは、ディスクグループと呼ばれる一群のストレージデバイスを備える。各ストレージセルは、ディスクグループに結合された並列ストレージコントローラを備える。これらストレージコントローラは、ファイバチャネル調停ループ接続を使用するか、又は、ファイバチャネルファブリック等のネットワークを通じて、ストレージデバイスに結合することができる。また、ストレージ容量を使用するコンピュータへのそのストレージ容量の提供を管理することを可能にするために、ストレージコントローラは、ポイントツーポイント接続を通じて互いに結合することもできる。
【0010】
本明細書で説明するネットワークアーキテクチャは、たとえばプライベートSANを使用するエンタープライズコンピューティングシステム等の分散コンピューティング環境を表す。しかしながら、このネットワークアーキテクチャは、特定のアプリケーションのニーズを満たすように容易にスケールアップ又はスケールダウンすることができる。
【0011】
図1は、ストレージネットワークを利用するネットワーク接続コンピューティングシステム100の一実施の形態の概略図である。一実施の形態では、ストレージプール110は、Lubbers他の公開された米国特許出願公開第2003/0079102号又はVoigt他の米国特許出願第2005/0172073号に記載されているような仮想化ストレージプールとして実施することができる。
【0012】
複数の論理ディスク(論理ユニット、LU、又は時にLUNとも呼ばれる)112a、112bをストレージプール110内にアロケートすることができる。各LUN112a、112bは、連続範囲の論理アドレスを備える。この論理アドレスは、ホストデバイスによって使用される接続プロトコルからの要求を一意に識別されたLUN112a、112bにマッピングすることによって、ホストデバイス120、122、124、及び128がアドレス指定できるものである。サーバ128等のホストは、他のコンピューティングシステム若しくはコンピューティングデバイス又は他のデータ処理システム若しくはデータ処理デバイスにサービスを提供することができる。たとえば、クライアントコンピュータ126は、サーバ128等のホストを介してストレージプール110にアクセスすることができる。サーバ128は、クライアント126にファイルサービスを提供することができ、トランザクション処理サービス、電子メールサービス等の他のサービスを提供することができる。したがって、クライアントデバイス126は、ホスト128によって消費されるストレージを直接使用する場合もあるし、使用しない場合もある。
【0013】
ホストとしての機能を果たすこともできる無線デバイス120やコンピュータ122、124等のデバイスは、LUN112a、112bに直接論理結合することができる。ホスト120〜128を複数のLUN112a、112bに結合することができ、複数のホスト間でLUN112a、112bを共有することができる。図1に示すデバイスのそれぞれは、メモリ、マスストレージ、及び、ネットワーク接続を管理するのに十分な一定のデータ処理能力を含むことができる。
【0014】
LUN112a、112b等のLUNは、信頼性のあるストレージの基本ユニットである1つ又は複数の冗長ストア(RStore)を備える。RStoreは、関連した冗長特性を有する順序付けられた一組の物理ストレージセグメント(PSEG)を備え、単一の冗長ストアセット(RSS)内に完全に含まれる。従来のストレージシステムとの類推から、PSEGは、ディスクドライブに類似し、各RSSは、複数のドライブを備えるRAIDストレージセットに類似している。
【0015】
特定のLUNを実施するPSEGを任意の個数の物理ストレージディスクにわたって分散させることができる。その上、特定のLUN112が表す物理ストレージ容量は、変化する容量、信頼性、及び可用性の特徴を提供するさまざまなストレージタイプを実施するように構成することができる。たとえば、いくつかのLUNは、ストライピング、ミラーリング、及び/又はパリティ保護がなされたストレージを表すことができる。他のLUNは、ストライピングも冗長性もパリティ保護もなしに構成されるストレージ容量を表すことができる。
【0016】
SANマネージャアプライアンス109は、管理論理ディスクセット(MLD)111に結合されている。MLD111は、LUN112a、112b、論理デバイスアロケーションドメイン(LDAD)103a、103bを作成するのに使用される論理構造体、及び、システムによって使用される他の論理構造体を記述するメタデータコンテナである。ストレージプール110において利用可能な物理ストレージ容量の一部は、クォーラム空間113として予約され、LDAD103a、103bにアロケートすることができず、したがって、LUN112a、112bを実施するのに使用することができない。一特定の例では、ストレージプール110に加わっている各物理ディスクは、クォーラム空間113として指定できる、予約された量の容量(たとえば、最初の「n」個の物理セクタ)を有する。MLD111は、複数の物理ドライブのこのクォーラム空間においてミラーリングされ、したがって、ドライブが故障した場合であってもMLD111にアクセスすることができる。一特定の例では、少なくとも1つの物理ドライブが、(「クォーラムドライブ」として指定された)MLD111のコピーを含む各LDAD103a、103bに関連付けられる。SAN管理アプライアンス109は、LDAD103a、103b及びLUN112a、112bの名前文字列並びにオブジェクト生成日付のタイムスタンプ等の情報を関連付けることを所望する場合がある。この振る舞いを容易にするために、管理エージェントは、MLD111を使用して、この情報をメタデータとして記憶する。
【0017】
クォーラム空間113は、たとえば、物理ストアID(各物理ドライブの一意のID)、バージョン制御情報、タイプ(クォーラム/非クォーラム)、RSS ID(このディスクがどのRSSに属するかを識別する)、RSSオフセット(RSSにおけるこのディスクの相対位置を識別する)、ストレージセルID(このディスクがどのストレージセルに属するかを識別する)、PSEGサイズを含む情報に加えて、ディスクがクォーラムディスクかどうかを示す状態情報を記憶するのに使用することができる。また、このメタデータPSEGは、物理ストア全体のPSEGフリーリストを、たいてい(probably)アロケーションビットマップの形で含む。加えて、クォーラム空間113は、物理ディスク上のあらゆるPSEGのPSEGアロケーションレコード(PSAR)も含む。PSARは、PSARシグネチャ、メタデータバージョン、PSAR使用法、及びこのPSEGが属するRSDの表示を含む。
【0018】
CSLD114は、論理ドライブを備える別のタイプのメタデータコンテナである。この論理ドライブは、アドレス空間から各LDAD103a、103b内にアロケートされるが、LUN112a、112bと異なり、複数のLDAD103a、103bにまたがる場合がある。好ましくは、各LDAD103a、103bは、CSLD114にアロケートされた空間を含む。CSLD114は、主論理ディスクメタデータコンテナ(PLDMC)を含めて、所与のLDAD103の論理構造を記述するメタデータを保持する。このPLDMCは、LDAD103a、103b内で実施された各LUN112a、112bにより使用されるあらゆるRStoreを記述する記述子(RSDMと呼ぶ)のアレイを含む。CSLD114は、ディスクの作成、レベリング、RSS融合、RSS分割、再生等のタスクに定期的に使用されるメタデータを実施する。このメタデータは、各物理ディスクについて、その物理ディスクが、「正常(Normal)」(すなわち、予想されたように動作する)、「欠落(Missing)」(すなわち、利用不能)、「結合(Merging)」(すなわち、再現したが、使用前に正規化しなければならない欠落したドライブ)、「交換(Replace)」(すなわち、ドライブは除去用にマーキングされ、データは分散スペアにコピーしなければならない)、及び「再生(Regen)」(すなわち、ドライブは利用不能であり、そのデータを分散スペアに再生することを必要とする)のいずれであるかを示す状態情報を含む。
【0019】
CSLD114の論理ディスクディレクトリ(LDDIR)データ構造体は、あらゆるLDAD103a、103bにおけるすべてのLUN112a、112bのディレクトリである。論理ディスクディレクトリ構造体(LDDS)のエントリーは、そのLUN112の主論理ディスクメタデータコンテナ(PLDMC)のロケーションを示すRSDの一般固有識別子(UUID;Universally unique ID)を含む。RSDは、対応するLUN112a、112bのベースRSDM又はエントリーポイントへのポインタである。このように、特定のLUN112a、112bに特有のメタデータは、その特定のLUN112a、112bのベースRSDMを見つけるためにLDDIR内にインデックスすることによってアクセスすることができる。PLDMC内のメタデータ(たとえば、本明細書で説明するマッピング構造体)をメモリ内にロードして、特定のLUN112a、112bを実現することができる。
【0020】
したがって、図1に示すストレージプールは、回復に使用できる複数の形態のメタデータを実施する。CSLD114は、ディスクの作成、レベリング、RSS融合、RSS分割、再生等のタスクに定期的に使用されるメタデータを実施する。各ディスクの既知のロケーションに保持されたPSARメタデータは、メモリ内にマッピングされないより基本的な形のメタデータを含むが、必要な時に、システムのすべてのメタデータを再生するためにその既知のロケーションからアクセスすることができる。
【0021】
図1に示すデバイスのそれぞれは、メモリ、マスストレージ、及び、ネットワーク接続を管理するのに十分な一定のデータ処理能力を含むことができる。本発明によるコンピュータプログラムデバイスは、図1に示すさまざまなデバイスのメモリに実施され、図1に示すデバイスのデータ処理能力によって可能にされる。
【0022】
図2は、図1に示すネットワーク等のストレージネットワークを実施するのに使用できるストレージネットワーク200の物理エレメントの概略図である。ストレージネットワーク200は、複数のクラスタ230、240、250を備える。これらの複数のクラスタ230、240、250は、1つ又は複数の通信結合されたストレージノードとして実施することができる。したがって、クラスタ230はストレージノード232、234、236を含む。クラスタ240はノード242、244、246を含む。クラスタ250はノード252、254、256を含む。各ノードは、たとえば、ストレージデバイスのアレイ等、1つ又は複数のストレージデバイスを含むことができる。例示のストレージデバイスには、米国カリフォルニア州パロアルトのHewlett-Packard社から市販されているSTORAGEWORKSラインのストレージデバイスが含まれる。
【0023】
ネットワーク200は、さらに、通信ネットワーク220を介してクラスタ230、240、250に結合された1つ又は複数のホストコンピュータ210を含むことができる。通信ネットワーク220は、たとえば、ファイバチャネル(FC)スイッチングファブリック等のプライベート専用ネットワークとして実施することができる。或いは、通信ネットワーク220の一部を、たとえば、インターネット小型コンピュータシリアルインターフェース(iSCSI)プロトコル等の適した通信プロトコルに従った公衆通信ネットワークを使用して実施することもできる。
【0024】
1つ又は複数のクライアントコンピュータ212は、ホスト210を通じてストレージクラスタ230、240、250により提供される資源にアクセスすることができる。動作時において、1つ又は複数のクライアントコンピュータ212は、1つ又は複数のストレージクラスタ230、240、250によって提供される資源の要求をホストコンピュータ210に対して生成する。ホストコンピュータ210は、要求された資源(複数可)の資源要求をクラスタ230、240、250の1つ又は複数に対して生成する。クラスタ230、240、250の1つ又は複数は、この資源要求を処理し、要求された資源(複数可)をホスト210に返す。ホスト210は、次に、要求された資源をクライアントコンピュータ(複数可)212へ転送する。
【0025】
ストレージネットワーク200は、さらに、ストレージネットワーク200のコンポーネントに関する互換性情報を保持する互換性サーバ214を備えることができる。互換性情報は、たとえば、ファームウェアバージョン及び/又は改訂に関する情報並びにライセンス情報を含むことができる。
【0026】
図3は、クラスタ230、240、250等のクラスタで使用できるストレージノード300の一例示の実施態様の概略図である。図3を参照すると、一実施の形態では、各ストレージノード300は、1つ又は複数のネットワークストレージコントローラ(NSC)310を含む。NSC310は、ディスクアレイコントローラ又はストレージコントローラとも呼ばれ、1つ又は複数のディスクドライブ340、342のオペレーション、並びに、1つ又は複数のディスクドライブ340、342へのデータの転送及び1つ又は複数のディスクドライブ340、342からのデータの転送を管理する。NSC310は、マイクロプロセッサ316及びメモリ318を有するプラグインカードとして実施することができる。各NSC310は、ホスト210等のホストへのインターフェース、すなわち、スイッチングファブリック等の通信ネットワークを通じたインターフェースを提供する1つ又は複数のホストアダプタポート312、314を含む。ファイバチャネルの実施態様では、ホストアダプタポート312、314は、FC N_Portとして実施することができる。各ホストアダプタポート312、314は、ログイン及びスイッチングファブリックとのインターフェースを管理し、ログインプロセスにおいてファブリックに一意のポートIDを割り当てられる。
【0027】
一例示の実施態様では、NSC310は、さらに、1つ又は複数のファイバチャネル調停ループ(FCAL)ポート320、322、324、326を含む。FCALポート320、322、324、326は、複数のストレージデバイス(たとえばディスクドライブのアレイ340、342)とのFCAL通信接続を実施する。この図示した実施態様は、ディスクドライブのアレイ340、342とのFCAL接続を実施するが、ディスクドライブのアレイ340、342との通信接続は、他の通信プロトコルを使用して実施できることが理解されよう。たとえば、FCAL構成ではなく、FCスイッチングファブリック又は小型コンピュータシリアルインターフェース(SCSI)接続を使用してもよい。
【0028】
実施の形態では、図1〜図3に示すクラスタ化ストレージデバイス等のクラスタ化コンピューティングシステムを、システムのコンポーネント間の互換性エンフォースメントを実施するように適合させることができる。本明細書で使用される場合、互換性エンフォースメントには、ハードウェア、ソフトウェア、ファームウェア、及び/又はライセンス要件の間の互換性が含まれ得る。一実施の形態では、クラスタ化コンピューティングシステムは、コンポーネントレベル及びシステムレベルの双方のライセンス順守を確実にするライセンス方式を実施する。このライセンス方式は、多層(又はバンドル化)ライセンスプログラムを実施してもよい。ライセンス方式の第1の部分は、クラスタの許容可能なサイズの範囲を定義する。一実施の形態では、クラスタは、複数のサイズの範囲に分類することができる。これらのサイズの範囲は、本明細書ではバンドルタイプと呼ばれる。代替的な実施の形態では、クラスタは、たとえば、アレイ機能バンドル、テープ機能バンドル、コンピューティング機能バンドル、変換機能バンドル等の1つ又は複数の追加パラメータによってバンドルタイプに分類することができる。たとえば、バンドルは、販売数バンドル(sales bundle)を指す場合がある。バンドルは、特定の市場又は機能に合った一組のノードタイプ若しくはグリッドタイプ又は一群のノードタイプ若しくはグリッドタイプとして販売することができる。たとえば、或る製品カテゴリーは、たとえばアレイ/LUN目的等の単一の目的を受け持っていた1つ又は複数のバンドルサイズを含むことができる。バンドルは、たとえば、使用権、最大ノードカウント及び最小ノードカウント、特定のアレイタイプ機能ブランド等の標準グリッドパラメータと共に、特定の同種の目的を有することができる。他のバンドルは、たとえば目的又は機能といった上記で列挙したものの範囲内で異なる特徴を有することができる。バンドルは、1つのバンドル内に多目的ノード又は複数の異なる単一目的のノードを有することができる。ライセンス方式の第2の部分は、定義されている個数のノードがクラスタに加わった時に、クラスタがライセンス及びバンドルタイプをそれらノードに恒久的に関連付けることを可能にする。
【0029】
図4は、一実施の形態によるクラスタ化コンピューティングシステムにおける互換性エンフォースメントの論理アーキテクチャの概略図である。一実施の形態では、クラスタ化コンピューティングシステムは、図2のクラスタ230、240、250のストレージノードの1つ又は複数に対応することができる。ストレージノード400の論理モジュールは、ソフトウェア又はファームウェアとして具体化する(be embodied)ことができる。このソフトウェア又はファームウェアは、たとえばストレージアレイコントローラ300のメモリ318等のコンピュータ可読媒体に記憶され、アレイコントローラ300のマイクロプロセッサ316等のプロセッサによって実行可能である。
【0030】
図4を参照すると、ストレージノード400は、クラスタレベルの互換性機能を管理するロジックを含むクラスタモジュール410を含む。クラスタモジュール410は、クラスタ作成モジュール412、ノード追加モジュール414、ライセンスアップグレードモジュール416、及び、基本バンドル(base bundle)の一部ではないノードの除去を可能にするライセンス移転(license transfer)モジュール418を含む。クラスタモジュールは、クラスタにおける有効なノードの現在の個数を保持する現ノードカウントデータ構造体420、及び、ライセンス使用権データ構造体422をさらに含む。一実施の形態では、ライセンス使用権は、ライセンス管理システムによって与えられたトークンを含むことができる。このトークンは、ライセンスを認証するためのライセンス管理特有の情報、並びに、クラスタに含めることができるバンドルタイプ及び最大ノード数又は最小ノード数の表示を含むことができる。クラスタモジュール420は、ノードライセンスプール424をさらに含む。一実施の形態では、ノードライセンスプール424は、ライセンス管理システムによってクラスタに与えられたトークンのプールを含む。プールの各トークンは、ライセンスを認証するためのライセンス管理特有の情報を含む。トークンが、ノードに割り当てられて、ノードがクラスタに加わることを可能にすると、トークンは消費される。トークンは、クラスタによって各ノードライセンスを割り当てられたノードの一意の識別子に関連付けることができる。
【0031】
ストレージノード400は、ノードレベルの互換性機能を管理するロジックを含むノードモジュール430をさらに含む。ノードモジュール430は、使用ノード432及び修復ノード434を含む。ノードモジュール430は、バンドルタイプのデータ構造体436をさらに含む。このバンドルタイプのデータ構造体436は、有効なクラスタにおけるノードのメンバーシップ及びクラスタのバンドルタイプを示すトークンを保持する。ブランドは、ノードが正しくライセンスされているクラスタに加わることに成功した場合に取得することができる。
【0032】
ノードモジュール430は、ライセンス移転ホルダデータ構造体438をさらに含むことができる。一実施の形態では、ライセンス移転ホルダデータ構造体438は、稼動していないクラスタに関連したライセンス使用権及びノードライセンスプールの一時的なロケーションを提供することができる。ライセンス移転ホルダデータ構造体は、ライセンスキーを再入力する必要なく、クラスタ化コンピューティングシステムを再構成する方法を提供する。ライセンス移転ホルダに関連したアルゴリズムは、移転によって、ライセンスの使用可能なコピーが2つ以上になる可能性がないことを保証する。
【0033】
図5は、一実施の形態による初期クラスタ化コンピューティングシステムを作成するための方法のオペレーションを示すフローチャートである。図4及び図5を参照すると、オペレーション510において、たとえば、バンドルがいずれを満たすかに基づいて決定された初期バンドルパラメータを介して、ライセンス使用権422及びノードライセンスプール424が確立される。使用権及びノードライセンス(複数可)は、外部管理制御ソフトウェアを通じて入力されるバンドルの初期販売を通じて提供されたキーを使用して獲得することができる。図4を手短に参照すると、一実施の形態では、管理モジュール450は、外部管理制御モジュール452及び外部ライセンスサーバアクセスモジュール454を含むことができる。これらのモジュールは、外部ライセンスサーバ460とのインターフェースを提供する。ライセンスキーは、外部ライセンスサーバアクセスソフトウェアを介してライセンスサーバに渡すことができる。ライセンスサーバは、バンドルキーに関連したライセンス使用権422及びノードライセンスプール424の詳細な情報を返す。オリジナルのバンドルSKUの一部ではなかったノードは、「アドオン(Add-on)」として知られている特徴を所有するライセンスを有する場合に、初期クラスタに含めることができる。このライセンスの特徴も、ライセンスサーバを介して取得することができる。
【0034】
オペレーション515において、上述したプールに対応することができるライセンスクラスタが記憶される。一実施の形態では、ライセンス使用権及びノードライセンスプールは、ライセンス要求の発信元であるノードのライセンス移転ホルダデータ構造体に記憶することができる。ライセンス情報は、クラスタ230、240、250の1つ又は複数のアレイコントローラ310のメモリ318に記憶することができる。メモリモジュール318は、アレイコントローラ310が停電又は故障した場合に、ライセンス情報が破壊されないまま(remains intact)維持されるように不揮発性メモリとすることができる。
【0035】
オペレーション520において、ライセンス要求を開始したノードが、それ自身のノードライセンスを有せず、且つ、ライセンスがノードライセンスプールに残っている場合、ノードライセンスの1つを、管理コマンドを受信したノードに与えることができる。オペレーション525は、2つのフェーズで行うことができる。第1のフェーズでは、一意の識別子(たとえば、シリアル番号)を、ライセンスを割り当てられるノードに関連付けるように、ノードライセンスプールを更新することができる。第2のフェーズでは、たとえば、ノード上の保護された不揮発性メモリロケーションにトークンを書き込むことによって、特定のバンドルタイプを有する、ライセンスを受けたノードとして、そのノードを「ブランド付け」することができる。次に、ノードライセンスをそのノードに明確に割り当てることができる(他のどのノードにも割り当てることができない)。制御は、次に、後述するオペレーション530に移動することができる。
【0036】
一方、オペレーション520において、ノードが、1つ又は複数の必要とされるパラメータと一致するノードライセンスを有する場合、制御はオペレーション530に移動し、クラスタを初期化することができる。一実施の形態では、わずか1つのメンバー、すなわち、クラスタを作成する管理コマンドを受信したノードでクラスタを初期化することができる。ライセンス使用権及びノードライセンスプールは、この新しく作成された単一ノードのクラスタに移転することができ、ノードカウントパラメータを初期化することができる(すなわち、1に設定される)。
【0037】
オペレーション535において、クラスタのノードカウントが、ライセンス使用権において指定された制限に達した場合(又は、候補ノードがそれ以上存在しない場合)、クラスタ形成プロセスは完了し、プロセスは終了する。一方、オペレーション535において、クラスタのノードカウントがライセンス使用権において指定された制限に達していない場合(すなわち、クラスタが、ライセンス条項によって認可された個数のノードをまだアクティブ化していない場合)、制御は、オペレーション545に移動し、クラスタに含めるための次の候補ノードを特定することができる。これは、当該技術分野で一般的ないくつかの(any)技法を使用して行うことができる。
【0038】
オペレーション550において、候補ノードの受け入れ可能性が評価される。一実施の形態では、オペレーション550におけるノードの受け入れ可能性の評価は、図6に関して説明するオペレーション620〜635を包含する。候補ノードが受け入れ可能でない場合(すなわち、そのノードが新しいか、又は、受け入れ可能性テストに合格しなかった場合)、制御はオペレーション555に移動し、その候補ノードのライセンスが取得される。一実施の形態では、ライセンスは、オペレーション525に関して説明したように取得することができる。ライセンスを取得できない場合、エラールーチンを起動することができる。
【0039】
一方、オペレーション550において、ノードが受け入れ可能である場合、制御は、オペレーション560に移動し、ノードのブランドが使用権の特徴によって定義されたクラスタと互換性を有するかどうかが判断される。一実施の形態では、ノードがもはや異なるクラスタの一部でないことを示すブランドをノードが有し(すなわち、ノードが、異なるクラスタからすでに解放されている場合)、且つ、そのブランドが、このクラスタのバンドルタイプに含めるのに有効である場合(たとえば、下位クラスのバンドルタイプは、上位クラスのバンドルタイプを有するクラスタに加わることはできないが、その逆は可能であり、たとえば、上位クラスのノードは、下位クラスのクラスタに加わることができる)、クラスタのノードライセンスプールからそのノードに追加のノードライセンスを与える必要はない。この実施の形態によって、ノードのバンドルタイプ及びクラスタのバンドルタイプの双方が互換性を有するという条件で、ノードをクラスタ間で移動させることが可能になる。
【0040】
別の実施の形態では、候補ノードは、クラスタのノードライセンスプールから追加のライセンスを必要とする場合がある。この実施の形態では、クラスタ間のノード移動には、下位クラスのノードから上位クラスのノードへのアップグレード等、ノードの再ライセンス付与が必要とされる。したがって、制御は、オペレーション555に移動することができ、候補ノードは、ライセンスを受けることができる。
【0041】
制御は、次に、オペレーション570に移動し、候補ノードをクラスタに追加することができる。制御は、次に、オペレーション535に戻る。このように、オペレーション535〜570は、クラスタ化コンピューティングシステムを構築するために繰り返すことができるループを規定する。一実施の形態では、最終テストを行って、クラスタサービスの初期化前に、クラスタが最小個数のノードを確実に含むようにして、通常オペレーションを進める(proceed with)ことができる。この閉ループによって、たとえば灰色市場のノード(gray market nodes)等の疑わしい素性を有するノードの追加が妨げられる。
【0042】
図6は、一実施の形態によるクラスタ化コンピューティングシステムにおいてライセンスチェックを実行するための方法のオペレーションを示すフローチャートである。一実施の形態では、ライセンスチェックは、定期的に実行することができる。代替的な実施の形態では、ライセンスチェックは、イベント駆動式とすることができる。たとえば、すべてのノードがクラスタのライセンスを適切に受けていることを保証するために、クラスタがブートする時にライセンスチェックを実施することができる。
【0043】
図6を参照すると、ライセンスチェックはオペレーション605において開始され、オペレーション610において、最初のクラスタが選択され、オペレーション615において、そのクラスタの最初のノードが選択される。オペレーション620において、選択されたノードがライセンスを適切に受けていない場合、たとえば、ノードのライセンスが満了しているか、又は、ノードのブランドが、ノードが配置されているクラスタのタイプと互換性がない場合、制御は、オペレーション640に移動し、エラールーチンを起動することができる。一実施の形態では、エラールーチンは、警告信号を生成することを含むことができる。この警告信号は、たとえば、ディスプレイ等のユーザインターフェースに表示することができる。別の実施の形態では、エラールーチンは、ノードをディセーブルすること、又はクラスタ全体をディセーブルすることを含むことができる。一方、オペレーション620において、ノードが適切にライセンスを受けている場合、制御はオペレーション625に移動する。
【0044】
オペレーション625において、クラスタのノードカウントがしきい値を超えている場合、制御は、オペレーション640に移動し、エラールーチンが、上述したように起動される。一実施の形態では、オペレーション625は、初期クラスタの生成においても行われ、その後、ノードの追加が新しく試みられるたびに行われる。一実施の形態では、しきい値は、クラスタのノード数の下限値及びクラスタのノード数の上限値の少なくとも一方を含むことができる。一方、オペレーション625において、クラスタのノードカウントがしきい値の範囲内にある場合、制御はオペレーション630に移動する。
【0045】
オペレーション630において、ノードがブランド付けされていない場合、制御は、オペレーション640に移動し、エラールーチンが、上述したように起動される。一実施の形態では、ブランド付けされていないノードは、クラスタ作成プロセス又はノードを既存のクラスタに追加するプロセスのいずれかを通じて、そのノードが新しく、且つ、ライセンスを受ける必要があることを示すことができる。一方、オペレーション630において、ノードがブランド付けされている場合、制御はオペレーション635に移動する。
【0046】
オペレーション635において、ノードのブランドが、クラスタのブランドと互換性を有しない場合、制御は、オペレーション640に移動し、エラールーチンが、上述したように起動される。たとえば、ノードは、特定の個数のノードよりも少ないノードを有するクラスタ内でしか動作しないようにブランド付けされている場合がある。一方、オペレーション635において、ノードのブランドが、クラスタのブランドと互換性を有する場合、制御は、オペレーション615に移動し、別のノードが選択される。このように、オペレーション615〜635は、クラスタのノードを、ライセンス条項及び/又は互換性エンフォースメント条項に準拠していることについて評価できるループを規定する。オペレーション615において、評価するノードがそれ以上存在しない場合、オペレーションは終了する。
【0047】
クラスタに1つ又は複数のノードを追加することによって、クラスタを拡張することができる。一実施の形態では、図5で説明したオペレーション545〜570を使用して、クラスタにノードを追加することができる。クラスタは、バンドルタイプを有しないノード(すなわち、初期化されていない新しいノード)を追加するために、未割り当てのノードライセンスを有しなければならない。未割り当てのライセンスは、アドオンノードを用いて購入されたアドオンライセンスとすることもできるし、オリジナルのSKUに付随した未割り当てのベースバンドルライセンスとすることもできる。
【0048】
ノードは、たとえばハードウェアの故障等によって、自身のバンドルタイプのブランドを保持できない場合がある。一実施の形態では、修復ノードモジュール434は、アドミニストレータ等のユーザが、故障により失われたノードライセンスを回復することを可能にする。修復ノードモジュール434は、クラスタのノードライセンスをクラスタのオリジナルのライセンス(複数可)と相互参照する能力を提供する。これは、一般に、ライセンスサーバへのアクセスを伴う。
【0049】
クラスタのライセンス使用権422は、たとえば、外部ライセンスサーバ460を用いてアップグレード照会を開始することによって、アップグレードすることができる。これが行われる時、最大ノードカウントしきい値及び最小ノードカウントしきい値等の新しい特徴を反映するようにライセンス使用権を更新することができ、追加のノードライセンスをノードライセンスプールに追加することができる。同様に、必要な手数料が支払われているとすると、ノードにおいてバンドルタイプのブランドをアップグレードすることができ、ライセンスを認証することができる。これらのアップグレードのいずれかの後に、クラスタ作成プロセスのオペレーション545〜570を繰り返して、クラスタに追加できるノードを数に入れる(account for)ことができる。
【0050】
クラスタが動作中である時、そのライセンス情報は、クラスタ内の複数のノードに冗長的に記憶することができる。クラスタが稼動していない時、そのライセンス情報は、当該ライセンス情報を新しいクラスタへ転送するという便利な方法のように(as a convenient way of)、ノードのライセンス移転ホルダ438に記憶することができる。一実施の形態では、ライセンス情報を記憶するノードは、新しいクラスタの初期ノードとすることができる。したがって、クラスタ作成は、オペレーション530で有効に開始することができる。ノードが故障し、その結果、ライセンス移転が喪失された場合、ノード修復技法を使用してノードを回復させることができる。
【0051】
本明細書における「一実施の形態("one embodiment" or "an embodiment")」への言及は、その実施の形態に関して説明した特定の機能、構造、又は特徴が、少なくとも一実施態様に含まれることを意味する。本明細書においてさまざまな箇所に「一実施の形態では」という語句が現れるが、これは、必ずしもすべてが同じ実施の形態を参照しているわけではない。
【図面の簡単な説明】
【0052】
【図1】ストレージネットワークを利用するネットワーク接続コンピューティングシステムの概略図である。
【図2】一実施の形態によるストレージネットワークの物理エレメントの概略図である。
【図3】一実施の形態によるストレージノードの概略図である。
【図4】一実施の形態によるクラスタ化コンピューティングシステムにおける互換性エンフォースメントの論理アーキテクチャの概略図である。
【図5】一実施の形態によるクラスタ化コンピューティングシステムを作成するための方法のオペレーションを示すフローチャートである。
【図6】一実施の形態によるクラスタ化コンピューティングシステムにおいてライセンスチェックを実行するための方法のオペレーションを示すフローチャートである。
【符号の説明】
【0053】
100・・・ネットワーク接続コンピューティングシステム
103a,103b・・・LDAD
109・・・SAN管理アプライアンス
110・・・ストレージプール
111・・・MLD
112a,112b・・・論理ディスク
113・・・クォーラム
114・・・CSLD
120,122,124,128・・・ホストデバイス
126・・・クライアントコンピュータ
200・・・ストレージネットワーク
210・・・ホストコンピュータ
212・・・クライアントコンピュータ
220・・・ネットワーク
230,240,250・・・クラスタ
232,234,236,242,244,246,252,254,256・・・ノード
300・・・ストレージノード
310・・・NSC
312,314・・・ホストポート
316・・・マイクロプロセッサ
318・・・メモリ
320,322,324,326・・・FCALポート
340,342・・・ディスクドライブアレイ
400・・・ストレージノード
410・・・クラスタモジュール
412・・・クラスタ作成
414・・・ノード追加
416・・・ライセンスアップグレード
418・・・ライセンス移転
420・・・現在のノードカウント
422・・・ライセンス使用権
424・・・ノードライセンスプール
430・・・ノードモジュール
432・・・ノード使用
434・・・ノード修復
436・・・バンドルタイプのブランド
438・・・ライセンス移転ホルダ
450・・・管理モジュール
452・・・外部管理制御
454・・・外部ライセンスサーバアクセス
460・・・外部ライセンスサーバ

【特許請求の範囲】
【請求項1】
少なくとも2つの計算ノード(computing nodes)を備えるコンピューティングシステム(400)であって、前記計算ノード(compute nodes)の少なくとも1つは、
コンピューティングクラスタに関連した互換性オペレーションを管理するクラスタモジュール(410)と、
前記少なくとも2つの計算ノードに関連した互換性オペレーションを管理するノードモジュール(430)と、
1つ又は複数の外部サーバと共に互換性オペレーションを管理する管理モジュール(450)と
を備える
コンピューティングシステム。
【請求項2】
前記クラスタモジュール(410)は、
前記少なくとも2つの計算ノードをクラスタ化コンピューティングシステム内に集約するクラスタ作成モジュール(412)
を備える
請求項1に記載のコンピューティングシステム。
【請求項3】
前記クラスタモジュール(410)は、コンピューティングクラスタのライセンス情報を含むライセンス使用権、及び、前記コンピューティングクラスタのノードのライセンス情報を含むノードライセンスプール(424)を保持する
請求項2に記載のコンピューティングシステム。
【請求項4】
前記クラスタ化コンピューティングシステムに計算ノードを追加するノード追加モジュール(414)
をさらに備える
請求項2に記載のコンピューティングシステム。
【請求項5】
前記管理モジュールは、外部ライセンスサーバ(460)にライセンスキーを提供し、前記外部ライセンスサーバ(460)からライセンス情報を受信する
請求項2に記載のコンピューティングシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2007−293864(P2007−293864A)
【公開日】平成19年11月8日(2007.11.8)
【国際特許分類】
【出願番号】特願2007−115272(P2007−115272)
【出願日】平成19年4月25日(2007.4.25)
【出願人】(503003854)ヒューレット−パッカード デベロップメント カンパニー エル.ピー. (1,145)
【Fターム(参考)】