(57)【要約】【課題】ストレージ・エリア・ネットワーク（ＳＡＮ）のストレージ・ボリュームに割り当てられたコンピュータ・デバイスをフェイルオーバするための方法、システムおよびプログラムを提供する。【解決手段】ストレージ・エリア・ネットワーク（ＳＡＮ）内の一つ以上のストレージ・ボリュームに割り当てられたコンピュータ・デバイスがシャットダウン基準を満たしたと判定したら、それに応えて、ＳＡＮ内のストレージ・ボリュームをコンピュータ・デバイスから割り当て解除する。ＳＡＮ内のストレージ・ボリュームをコールド・スペア・コンピュータ・デバイスに割り当て、コールド・スペア・コンピュータ・デバイスをこれらのストレージ・ボリュームの一つから起動する。コンピュータ・デバイスをクラスタ化せず、仮想化を使用しなくても、そのようなコンピュータ・デバイス・フェイルオーバを提供することができる。【選択図】なし【特許請求の範囲】
【請求項１】
ストレージ・エリア・ネットワーク（ＳＡＮ）内の１つ以上のストレージ・ボリュームを割り当てたコンピュータ・デバイスがシャットダウン基準を満たしたと判定するステップと、
前記判定に応えて、前記ＳＡＮ内の前記ストレージ・ボリュームを前記コンピュータ・デバイスから割り当て解除するステップと、
前記ＳＡＮ内の前記ストレージ・ボリュームをコールド・スペア・コンピュータ・デバイスに割り当てるステップと、
前記コールド・スペア・コンピュータ・デバイスを前記ＳＡＮ内の前記ストレージ・ボリュームの１つから起動するステップと、
を含む方法。
【請求項２】
前記コールド・スペア・コンピュータ・デバイスを現在使用していない１つ以上のコールド・スペア・コンピュータ・デバイスから選択するステップをさらに含む、請求項１に記載の方法。
【請求項３】
最初に前記ＳＡＮ内の前記ストレージ・ボリュームを前記コンピュータ・デバイスに割り当てるステップと、
前記ＳＡＮ内の前記ストレージ・ボリュームの１つから前記コンピュータ・デバイスを起動するステップと、
をさらに含む、請求項１に記載の方法。
【請求項４】
最初に前記ＳＡＮ内の前記ストレージ・ボリュームを前記コンピュータ・デバイスに割り当てるステップは、前記ＳＡＮ内の前記ストレージ・ボリュームの論理装置番号（ＬＵＮ）を前記コンピュータ・デバイスに割り当てることを含み、前記コンピュータ・デバイスは、前記コンピュータ・デバイスを起動する前記ストレージ・ボリュームの前記ＬＵＮを起動ＬＵＮとして参照する、請求項１に記載の方法。
【請求項５】
最初に前記コールド・スペア・コンピュータ・デバイスのための起動ＬＵＮを指定するステップをさらに含み、前記起動ＬＵＮは、最初にストレージ・ボリュームのどの特定のＬＵＮにも関連付けられていない、請求項４に記載の方法。
【請求項６】
前記ＳＡＮ内の前記ストレージ・ボリュームを前記コンピュータ・デバイスから割り当て解除するステップは、前記ＳＡＮ内の前記ストレージ・ボリュームの前記ＬＵＮを前記コンピュータ・デバイスから割り当て解除することを含み、前記ＳＡＮ内の前記ストレージ・ボリュームを前記コールド・スペア・コンピュータ・デバイスに割り当てるステップは、前記ＳＡＮ内の前記ストレージ・ボリュームの前記ＬＵＮを前記コールド・スペア・コンピュータ・デバイスに割り当てることを含み、前記コールド・スペア・コンピュータ・デバイスは、前記起動ＬＵＮとして前記コールド・スペア・コンピュータ・デバイスを起動する前記ストレージ・ボリュームの前記ＬＵＮを参照する、請求項５に記載の方法。
【請求項７】
前記コンピュータ・デバイスが前記シャットダウン基準を満たしたと判定するステップは、前記コンピュータ・デバイスが不具合を起すと判定することを含む、請求項１に記載の方法。
【請求項８】
前記コンピュータ・デバイスが前記シャットダウン基準を満たしたと判定するステップは、前記コンピュータ・デバイスが定常保守作業を実施するためにシャットダウンされる予定であると判定することを含む、請求項１に記載の方法。
【請求項９】
前記コンピュータ・デバイスおよび前記コールド・スペア・コンピュータ・デバイスは、１つ以上のシャーシ内に配置されたブレード・コンピュータ・デバイスであり、それぞれが前記ＳＡＮのコントローラに通信結合されたホスト・バス・アダプタ（ＨＢＡ）を有する、請求項１に記載の方法。
【請求項１０】
前記コンピュータ・デバイスと前記コールド・スペア・コンピュータ・デバイスとは、別々に収容されたコンピュータ・デバイスである、請求項１に記載の方法。
【請求項１１】
前記方法は、サーバ・コンピュータ・デバイス上で実施される管理ソフトウェアによって実行される、請求項１に記載の方法。
【請求項１２】
複数のストレージ・ボリュームを論理上組織化した複数のストレージ・デバイスを包含するストレージ・エリア・ネットワーク（ＳＡＮ）と、
複数のコンピュータ・デバイスであって、各コンピュータ・デバイスは実行コンピュータ・デバイスの１つおよびコールド・スペア・コンピュータ・デバイスとして分類され、各実行コンピュータ・デバイスは前記実行コンピュータ・デバイスを起動するストレージ・ボリュームを含む前記ＳＡＮの１つ以上の前記ストレージ・ボリュームに排他的に割り当てられている複数のコンピュータ・デバイスと、
前記実行コンピュータ・デバイスのそれぞれがシャットダウンされるかどうかを監視し、実行コンピュータ・デバイスがシャットダウンされると判定されたら、それに応えて、前記ストレージ・ボリュームを前記実行コンピュータ・デバイスから割り当て解除し、前記ストレージ・ボリュームを前記コールド・スペア・コンピュータ・デバイスの１つに再割り当てし、前記コールド・スペア・コンピュータ・デバイスを前記ストレージ・ボリュームの１つから起動する管理ソフトウェアと、
を含むシステム。
【請求項１３】
各ストレージ・ボリュームは論理装置番号（ＬＵＮ）を有し、各実行コンピュータ・デバイスをＬＵＮによって前記ＳＡＮの１つ以上の前記ストレージ・ボリュームに排他的に割り当て、各実行コンピュータ・デバイスは前記実行コンピュータ・デバイスを起動する前記ストレージ・ボリュームの前記ＬＵＮを起動ＬＵＮとして参照する、請求項１２に記載のシステム。
【請求項１４】
各コールド・スペア・コンピュータ・デバイスは、前記ＳＡＮ内の前記ストレージ・ボリュームの前記ＬＵＮのどれにも最初に関連付けられていない起動ＬＵＮをそれぞれのために指定する、請求項１３に記載のシステム。
【請求項１５】
前記ＳＡＮは、前記管理ソフトウェアの指示に応えて、前記ストレージ・ボリュームを前記コンピュータ・デバイスへ関連付け、前記コンピュータ・デバイスから関連解除するコントローラを含む、請求項１２に記載のシステム。
【請求項１６】
前記コンピュータ・デバイスを内部に配置した１つ以上のシャーシをさらに含み、前記コンピュータ・デバイスは前記ＳＡＮに通信結合されたホスト・バス・アダプタ（ＨＢＡ）を有するブレード・コンピュータ・デバイスをそれぞれ含む、請求項１２に記載のシステム。
【請求項１７】
前記シャーシは、前記実行コンピュータ・デバイスを内部に配置した第１のシャーシと、前記コールド・スペア・コンピュータ・デバイスを内部に配置した第２のシャーシとを含む、請求項１６に記載のシステム。
【請求項１８】
各コンピュータ・デバイスは、別々に収容されたコンピュータ・デバイスである、請求項１２に記載のシステム。
【請求項１９】
前記管理ソフトウェアを実行するサーバ・コンピュータ・デバイスをさらに含む、請求項１２に記載のシステム。
【請求項２０】
ストレージ・エリア・ネットワーク（ＳＡＮ）のストレージ・ボリュームから起動されたコンピュータ・デバイスがシャットダウンされると判定し、前記ストレージ・ボリュームを前記コンピュータ・デバイスから割り当て解除し、前記ストレージ・ボリュームをコールド・スペア・コンピュータ・デバイスに再割り当てし、前記コールド・スペア・コンピュータ・デバイスを前記ストレージ・ボリュームから起動することが実行される、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全体として、ストレージ・エリア・ネットワーク（ＳＡＮ）内のストレージ・ボリュームに割り当てられたコンピュータ・デバイスに関する。より詳しくは、本発明は、そのようなコンピュータ・デバイスのフェイルオーバに関する。
【背景技術】
【０００２】
これまで、コンピュータ・デバイスは、個人オフィス／自宅オフィス（ＳＯＨＯ）環境では今でも普通であるように、専用の周辺機器とともに筐体中に独立に収容されていた。しかし、企業環境内でそのようなコンピュータ・デバイスを維持するのは高価すぎて不可能であることが分ってきた。従って、最近では、コンピュータ・デバイスは、シャーシの中に差し込まれた個々のコンピュータ・デバイス「ブレード」として、シャーシ内にまとめて収容される傾向が始まっている。
【０００３】
この進展とともに見られるコンピュータ・デバイスの保守作業コスト低減へ向けての別の傾向は、コンピュータ・デバイスのストレージ・デバイスをストレージ・エリア・ネットワーク（ＳＡＮ）内など、もう１つの別の筐体の中に収容することである。ほとんどすべての現代のコンピュータ・デバイスは、今でも、ハード・ディスク装置のようなストレージ・デバイス上に記憶された論理ストレージ・ボリュームから起動され、そのようなストレージ・ボリュームからアプリケーションプログラムを実行し、そのようなストレージ・ボリューム上に記憶されたデータにアクセスする必要がある。論理ストレージ・ボリュームは、ＳＡＮ内のストレージ・デバイスなど、１つ以上のストレージ・デバイス上に組織されたデータの論理集合である。所定のコンピュータ・デバイスを１つ以上のストレージ・ボリュームに割り当てることができ、これらのストレージ・ボリュームの１つから起動される。この方法では、ストレージ・デバイスは、コンピュータ・デバイス内にもコンピュータ・デバイス上にも配置されず、コンピュータ・デバイスとは別に配置される。
【０００４】
どのような種類のコンピュータ・デバイス環境にもある問題は、一定期間ごとにコンピュータ・デバイスを停止させることであり、あるいは、定期保守作業のために一定期間ごとにコンピュータ・デバイスをシャットダウンしなければならないことである。１つのコンピュータ・デバイスから別のコンピュータ・デバイスへの最も基本的なフェイルオーバでは、コンピュータ・デバイスを手動でシャットダウンし、コールド・スペア・コンピュータ・デバイスに切り替える。この場合、コールド・スペア・コンピュータ・デバイスを起動し、シャットダウン・コンピュータ・デバイスを引き継がせる。しかし、そのようなフェイルオーバでは、情報技術（ＩＴ）要員の作業を必要とすることがあり、従って、そのような要員がフェイルオーバを実施するために費やさなければならない時間量、ならびにコールド・スペア・コンピュータ・デバイスを起動し、シャットダウン・コンピュータ・デバイスを置き換えることができるまでに生じる停止時間（ダウンタイム）の長さを考慮すると、コストが高くなる。
【０００５】
フェイルオーバを改善するために、さまざまな技術が開発された。１つのそのような技術は仮想化である。仮想化において、エンド・ユーザにコンピュータ・デバイスとして見えているものは、実際には、いかなる特定の物理コンピュータ・デバイスにも対応しない仮想コンピュータ・デバイスである。複数のそのような仮想コンピュータ・デバイスを、それより少ない数の物理コンピュータ・デバイスから稼動させることができる。物理コンピュータ・デバイスをシャットダウンしなければならないなら、シャットダウンの前に、その物理コンピュータ・デバイスが担当している仮想コンピュータ・デバイスを別の物理コンピュータ・デバイスに移す。従って、フェイルオーバは比較的迅速に実行され、停止時間は、あったとしても最小限となる。
【０００６】
別のそのような技術は、クラスタ化である。クラスタ化において、複数のコンピュータ・デバイスをクラスタとして互いに関連付ける。クラスタ内の１つのコンピュータ・デバイスは、クラスタ内の別のコンピュータ・デバイスをシャットダウンしなければならないとき、そのコンピュータ・デバイスを容易に引き継ぐことができるようにすることができる。仮想化の場合と同じく、フェイルオーバは比較的迅速に実行され、停止時間は、あったとしても最小限となる。さらに、クラスタ化と仮想化とを一緒に使用してもよい。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、仮想化、クラスタ化およびその他のフェイルオーバを目的とするそのような技術は、これらの解決案に伴うコストが現状では高いため不利である。どちらの技術も、高価なハードウェアまたはソフトウェアあるいはそれらの両方、ならびに組織のＩＴ要員の比較的洗練されたトレーニングを必要とすることがある。より迅速なコンピュータ・デバイス・フェイルオーバによって利益を受ける多くの組織には、それらのコンピュータ・デバイス接続形態全体を変更して仮想化またはクラスタ化あるいはそれらの両方を利用する余裕はない。従って、以上の理由およびその他の理由によって、本発明への求めがある。
【課題を解決するための手段】
【０００８】
本発明は、ストレージ・エリア・ネットワーク（ＳＡＮ）のストレージ・ボリュームに割り当てられたコンピュータ・デバイスのフェイルオーバに関する。本発明の一実施態様の方法は、ＳＡＮ内の１つ以上のストレージ・ボリュームを割り当てたコンピュータ・デバイスがシャットダウン基準を満たしたと判定する。それに応えて、ＳＡＮ内のストレージ・ボリュームをコンピュータ・デバイスから割り当て解除し、コールド・スペア・コンピュータ・デバイスに割り当てる。次に、コールド・スペア・コンピュータ・デバイスをこれらのストレージ・ボリュームの１つから起動し、人手を煩わさずにシャットダウン・コンピュータ・デバイスをコールド・スペア・コンピュータ・デバイスに効果的にフェイルオーバする。
【０００９】
本発明の実施態様のシステムは、ＳＡＮと、複数のコンピュータ・デバイスと、管理ソフトウェアとを含む。ＳＡＮは、複数のストレージ・デバイスを含み、これらのストレージ・デバイス上に論理上複数のボリュームを組織する。各コンピュータ・デバイスを実行コンピュータ・デバイスまたはコールド・スペア・コンピュータ・デバイスとして分類する。各実行コンピュータ・デバイスを、実行コンピュータ・デバイスを起動するストレージ・ボリュームを含むＳＡＮの１つ以上のストレージ・ボリュームに排他的に割り当てる。管理ソフトウェアは、実行コンピュータ・デバイスのそれぞれがシャットダウンされるかどうかを監視する。実行コンピュータ・デバイスがシャットダウンされると判定されたら、それに応えて、管理ソフトウェアは、ストレージ・ボリュームを実行コンピュータ・デバイスから割り当て解除し、ストレージ・ボリュームをコールド・スペア・コンピュータ・デバイスの１つに再割り当てする。次に、管理ソフトウェアは、コールド・スペア・コンピュータ・デバイスをこれらのストレージ・ボリュームの１つから起動する。
【００１０】
本発明の実施態様のプログラムは、記録可能なデータ・ストレージ媒体、または別の種類のコンピュータ可読媒体に記憶することも可能であり、ＳＡＮのストレージ・ボリュームから起動したコンピュータ・デバイスをシャットダウンすると判定するためのものである。さらに、ストレージ・ボリュームをコンピュータ・デバイスから割り当て解除し、ストレージ・ボリュームをコールド・スペア・コンピュータ・デバイスに再割り当てするためのものである。コールド・スペア・コンピュータ・デバイスをこのストレージ・ボリュームから起動するためのものでもある。
【００１１】
本発明の実施態様は、従来技術より優れた利点を提供する。ＳＡＮストレージ・ボリュームから起動したコンピュータ・デバイスのコールド・スペア・コンピュータ・デバイスへのフェイルオーバを、人手を煩わさずに自動的に実現し、これによって、フェイルオーバはコストの高い停止時間を最短にして最適の時機に行われる。さらに、クラスタ化または仮想化あるいはそれらの両方を使用せずにそのようなフェイルオーバを実現する。従って、本発明の実施態様が提供するフェイルオーバは、クラスタ化または仮想化を行う余裕のない組織でも利用することができるコスト効率のよい手法である。
【００１２】
本発明のさらにその他の様相、実施態様および利点は、以下の詳細な説明を読み、添付の図面を参照すれば自明である。
【発明を実施するための最良の形態】
【００１３】
本明細書で参照する図面は、明細書の一部分を形成する。図面に示す特徴は、本発明のいくつかの実施態様だけの例を示すためのものであり、特に明示して断り、反対の意味を指すことを示さない限り、本発明のすべての実施態様の例を示すものではない。
【００１４】
以下の本発明の実施態様の例の詳細な説明において、本発明の一部分を形成し、本発明を実施する特定の実施態様の例を実例として示す添付の図面を参照する。当業者なら本発明を実施することができるようにこれらの実施態様を十分詳細に説明する。他の実施態様を利用し、本発明の技術思想または範囲から逸脱することなく論理上の変化、機械上の変化およびその他の変化を施してもよい。従って、以下の詳細な説明は限定的に解釈してはならず、本発明の範囲は添付の請求項によってのみ定められる。
【００１５】
図１は、本発明の実施態様によるシステム１００を示す。図１を参照して、本発明の一般的な実施態様の動作を説明する。次の詳細な説明の節で、本発明の特定の実施態様に関するもっと具体的な詳細を説明する。システム１００は、まとめてコンピュータ・デバイス１０４と呼ぶ複数のコンピュータ・デバイス１０４Ａ、１０４Ｂおよび１０４Ｃが差し込まれたシャーシ１０２を含む。システム１００は、まとめてストレージ・ボリューム１０８と呼ぶストレージ・ボリューム１０８Ａおよび１０８Ｂを含むストレージ・エリア・ネットワーク（ＳＡＮ）１０６も含む。
【００１６】
シャーシ１０２は筐体であり、シャーシ１０２のスロット内に複数のコンピュータ・デバイス１０４を収容することができる。本発明の本実施態様におけるコンピュータ・デバイス１０４は、普通、ブレード・コンピュータ・デバイスとして知られている。別の実施態様では、筐体１０２はなくてもよく、この場合、コンピュータ・デバイス１０４のそれぞれは、本分野内で知られている典型的デスクトップ・コンピュータ・デバイスなどのスタンドアローン・コンピュータ・デバイスである。
【００１７】
コンピュータ・デバイス１０４は、それぞれが、非仮想化方式でオペレーティング・システム（ＯＳ）のインスタンスを実行することができる。すなわち、ＯＳのインスタンスは、コンピュータ・デバイス１０４上で実行される仮想マシーン内で実行されるのではなく、物理的コンピュータ・デバイス１０４自体上で直接実行される。さらに、コンピュータ・デバイス１０４は、どのような種類のクラスタ化された接続形態にも組織化されていない。コンピュータ・デバイス１０４のクラスタはまったく存在せず、コンピュータ・デバイス１０４はクラスタ化されていないと言える。
【００１８】
しかし、コンピュータ・デバイス１０４は、コンピュータ・デバイス１０４自体上またはコンピュータ・デバイス１０４自体内に存在するハード・ディスク装置などのストレージ・デバイス上に論理上組織されたストレージ・ボリュームからＯＳのインスタンスを実行するのではない。例えば、従来のコンピュータ・デバイスは、ＯＳのインスタンスを実行する１つ以上のストレージ・ボリュームを有する１つ以上の内部ストレージ・デバイスを有する。本発明においては、それとは異なり、すべてのコンピュータ・デバイス１０４は、ＳＡＮ１０６のストレージ・ボリューム１０８からＯＳのインスタンスを使用し、同時に任意のデータ・ディスク（詳細な説明の中で後ほど説明するように、コールド・スペア・コンピュータ・デバイスとしてコンピュータ・デバイスを使用するコンピュータ・デバイス１０４のストレージ・ボリュームを含む）を使用する。
【００１９】
ＳＡＮ１０６は、ストレージ・ボリューム１０８を単一の管理可能なリソースとして通信接続する特定の種類のネットワークである。説明を分りやすくするため図１に示していないが、典型的には、ＳＡＮ１０６は、ファイバ・チャンネルなど、単一のリンク（しかし、代替リンクはあってもよい）を介してシャーシ１０２に通信接続する。さまざまなストレージ・ボリューム１０８をさまざまなコンピュータ・デバイス１０４に一意に、個別に割り当てることができるが、ストレージ・ボリューム１０８は、全体として、単一のネットワーク・リソースであるＳＡＮ１０６を構成する。
【００２０】
ストレージ・ボリューム１０８は、論理上組織されたデータの集合である。実際には、説明を分りやすくするため図１には詳しく示していないハード・ディスク装置など物理ストレージ・デバイス上にこのデータを記憶する。所定のストレージ・ボリュームは、１つ以上の物理ストレージ・デバイス上にデータを記憶してもよい。さらに、単一の物理的ストレージ・デバイス上に複数のストレージ・ボリュームを記憶してもよい。従って、ストレージ・ボリューム１０８は、物理ストレージ・デバイス上に記憶した論理ボリュームであると言える。詳しくは、本発明の実施態様は、物理ストレージ・デバイスに関するので、図１に論理ストレージ・ボリュームを示していない。さらに、用語「ＳＡＮストレージ・ボリューム」は、ＳＡＮ１０６の１つ以上の物理ストレージ・デバイス上に記憶した論理ストレージ・ボリュームを指す。
【００２１】
図１の例において、最初に、本明細書中でＯＳのインスタンスを能動デバイスとして実行する実行コンピュータ・デバイスと呼ばれるものとしてコンピュータ・デバイス１０４Ａと１０４Ｂとを指定する。比較して、最初に、最初にはＯＳのインスタンスを実行しないコールド・スペア・コンピュータ・デバイスとしてコンピュータ・デバイス１０４Ｃを指定する。ただし、コンピュータ・デバイス１０４Ａと１０４Ｂとの一方をオフライン、シャットダウンしなければならない場合、あるいは停止しようとする場合、コンピュータ・デバイス１０４Ｃは、このコンピュータ・デバイスを引き継ぐことができる。すなわち、コンピュータ・デバイス１０４Ｃは、停止されるコンピュータ・デバイスに前に関連付けられていたストレージ・ボリュームおよびオペレーティングシステムのインスタンスを引き継ぐことができる。
【００２２】
図１に示したものと異なる数の実行コンピュータ・デバイスがあってもよく、図１の例とは異なって二つ以上のコールド・スペア・コンピュータ・デバイスがあってもよい。シャーシ１０２より大きなサイズにコンピュータ・デバイス１０４を組織化してもよい。一例に過ぎないが、例えばすべての実行コンピュータ・デバイスを１つのシャーシの中に入れ、すべてのコールド・スペア・コンピュータ・デバイスを別のシャーシに移してもよい。
【００２３】
コールド・スペア・コンピュータ・デバイスは、ホット・スペア・コンピュータ・デバイスと対比をなす。ホット・スペア・コンピュータ・デバイスは常に電源が入っており、オフライン、シャットダウンしなければならない、または停止しようとする別のコンピュータ・デバイスを直ちに引き継ぐことができる。そのようなホット・スペア・コンピュータ・デバイスは、既に起動されており、従って、別のコンピュータ・デバイスを直ちに引き継ぐことができる。比較すると、コールド・スペア・コンピュータ・デバイスは常時電源は入っておらず、必要があるまで電源は切られたままである。コールド・スペア・コンピュータ・デバイスは、別のコンピュータ・デバイスを引き継ぐように要請された場合、起動（停止するコンピュータ・デバイスに関連付けられたストレージ・ボリュームをコールド・スペア・コンピュータ・デバイスに再割り当てした後で）しなければ、別のコンピュータ・デバイスを引き継ぐことはできない。
【００２４】
最初、実行コンピュータ・デバイス１０４Ａと１０４Ｂとのそれぞれを、ＳＡＮ１０６の１つ以上のストレージ・ボリューム１０８に一意に割り当てる。図１の例において、ライン１１０で示すようにストレージ・ボリューム１０８Ａをコンピュータ・デバイス１０４Ａに割り当て、ライン１１２で示すようにストレージ・ボリューム１０８Ｂをコンピュータ・デバイス１０４Ｂに割り当てる。起動するために、コンピュータ・デバイス１０４Ａと１０４Ｂとは、それぞれ、割り当てられた少なくとも１つのストレージ・ボリュームを必要とする。実行コンピュータ・デバイスにストレージ・ボリュームが１つしか割り当てられていない場合、実行コンピュータ・デバイスをこのストレージ・ボリュームから起動し、このストレージ・ボリュームからＯＳのインスタンスを実行する限り、このストレージ・ボリュームを起動ストレージ・ボリュームと呼ぶ。二つ以上のストレージ・ボリュームを所定のコンピュータ・デバイスに割り当てたとき、例えば、コンピュータ・デバイスは、１つのストレージ・ボリュームからＯＳのインスタンスを実行し、他のストレージ・ボリューム（単数または複数）をデータまたはその他の目的に用いてもよい。
【００２５】
従って、図１の例において、ストレージ・ボリューム１０８Ａは、コンピュータ・デバイス１０４Ａに割り当てられた唯一のストレージ・ボリュームとしてコンピュータ・デバイス１０４Ａの起動ストレージ・ボリュームとなり、ストレージ・ボリューム１０８Ｂは、コンピュータ・デバイス１０４Ｂに割り当てられた唯一のストレージ・ボリュームとしてコンピュータ・デバイス１０４Ｂの起動ストレージ・ボリュームとなる。従って、コンピュータ・デバイス１０４Ａをストレージ・ボリューム１０８Ａから起動し、ＯＳのインスタンスをストレージ・ボリューム１０８Ａから実行する。同様に、コンピュータ・デバイス１０４Ｂをストレージ・ボリューム１０８Ｂから起動し、ＯＳのインスタンスをストレージ・ボリューム１０８Ｂから実行する。
【００２６】
図１の例において、ある時点で、例えば、差し迫るコンピュータ・デバイス１０４Ｂの停止のため、あるいはコンピュータ・デバイス１０４Ｂに定期的に実施されるように予定されている保守作業のため、コンピュータ・デバイス１０４Ｂをシャットダウンする必要がある。コンピュータ・デバイス１０４Ｂは物理コンピュータ・デバイスであって仮想コンピュータ・デバイスではなく、コンピュータ・デバイス１０４Ｂはスペア・コンピュータ・デバイス１０４Ｃとクラスタ化されていないので、従来技術では、スペア・コンピュータ・デバイス１０４Ｃにコンピュータ・デバイス１０４Ｂを引き継がせる容易な方法はない。しかし、それでも、本発明の実施態様は、コンピュータ・デバイス１０４Ｂからスペア・コンピュータ・デバイス１０４Ｃへのフェイルオーバを提供する。
【００２７】
第１に、ストレージ・ボリューム１０８Ｂを、シャットダウンするコンピュータ・デバイス１０４Ｂから割り当て解除する。第２に、ストレージ・ボリューム１０８Ｂをコンピュータ・デバイス１０４Ｃ用の起動ストレージ・ボリュームとしてコールド・スペア・コンピュータ・デバイス１０４Ｃに割り当て（ライン１１４で示す）、コンピュータ・デバイス１０４Ｃをストレージ・ボリューム１０８Ｂから起動する。図１において、このプロセスを矢印１１６で表す。
【００２８】
従って、人手を煩わすことなく、コンピュータ・デバイス１０４Ｂに属するストレージ・ボリュームをコールド・スペア・コンピュータ・デバイス１０４Ｃにフェイルオーバし、停止時間は最小限となる。唯一の停止時間は、ストレージ・ボリューム１０８Ｂの割り当て解除の開始と、コールド・スペア・コンピュータ・デバイス１０４Ｃのストレージ・ボリューム１０８Ｂに割り当てられた後のブート完了との間に要する時間である。コンピュータ・デバイス１０４Ｂがストレージ・ボリューム１０８Ｂから実行していたＯＳのインスタンスを、今度はコンピュータ・デバイス１０４Ｃが同じストレージ・ボリューム１０８Ｂから実行する。
【００２９】
従って、図１に関連して説明した本発明の実施態様は、ＳＡＮ１０６を用いてコンピュータ・デバイス１０４を起動するストレージ・ボリューム１０８を包含する場合、所定のストレージ・ボリュームを１つのコンピュータ・デバイスから割り当て解除し、そのストレージ・ボリュームをコールド・スペア・コンピュータ・デバイスに再割り当てし、次いでそのコールド・スペア・コンピュータ・デバイスを起動することによってコンピュータ・デバイス１０４の間のフェイルオーバを実行することができるという事実を活用している。このプロセスは、ホット・スペア・フェイルオーバを実現するときほど迅速には実施されないかもしれないが、ホット・スペア・フェイルオーバには典型的にクラスタ化または仮想化が必要である。比較すると、図１に関連して説明した本発明の実施態様はＳＡＮ１０６しか必要とせず、コンピュータ・デバイス１０４がＳＡＮ１０６のストレージ・ボリューム１０８を用いることができるようにするために既に存在するもの以外、他に特別なハードウェアも特別なソフトウェアも必要としない。
【００３０】
図２は、図１に関連して説明したコンピュータ・デバイスをフェイルオーバするためのプロセスを要約する、本発明の実施態様による方法２００を示す。ＳＡＮストレージ・ボリュームを割り当てたコンピュータ・デバイスがシャットダウン基準を満たしたと判定される（２０２）。例えば、差し迫るコンピュータ・デバイスの不具合を知らせるイベントが発生されたとしてもよい。別の例として、コンピュータ・デバイスに対する定期保守作業の実行のためにコンピュータ・デバイスをシャットダウンするという信号を発するために、ユーザがイベントを開始したとしてもよい。
【００３１】
ＳＡＮストレージ・ボリュームをコンピュータ・デバイスから割り当て解除し（２０４）、コールド・スペア・コンピュータ・デバイスに割り当てる（２０６）。最初、この時点でコールド・スペア・コンピュータ・デバイスの電源は入っていない。その後、コールド・スペア・コンピュータ・デバイスを起動する（２０８）。ここで、コールド・スペア・コンピュータ・デバイスに割り当てられていたＳＡＮストレージ・ボリュームから起動プロセスを実行する。すなわち、コールド・スペア・コンピュータ・デバイスは対象となるＳＡＮストレージ・ボリュームからＯＳのインスタンスを読み込み、実行する。
【００３２】
図３は、本発明の実施態様によるシステム１００を示す。図３は図１より詳細であるが、図１と矛盾しない。システム１００は、図３でもシャーシ１０２を含み、シャーシ１０２は３つのコンピュータ・デバイス１０４とＳＡＮ１０６とを有する。図３で、ＳＡＮ１０６は、ストレージ・ボリューム１０８Ａと１０８Ｂとに加え、ストレージ・ボリューム１０８Ｃを含むとして示されている。ストレージ・ボリューム１０８Ａ、１０８Ｂおよび１０８Ｃをまとめてストレージ・ボリューム１０８と呼ぶ。
【００３３】
シャーシ１０２とＳＡＮ１０６との間にリンク３０２が示されている。リンク３０２はファイバ・チャンネルであってもよく、あるいは別の種類のリンクであってもよい。コンピュータ・デバイス１０４とストレージ・ボリューム１０８との間の通信はすべてリンク３０２を通って伝えられる。コンピュータ・デバイス１０２は、ホスト・バス・アダプタ（ＨＢＡ）３０４Ａ、３０４Ｂおよび３０４Ｃをそれぞれ含み、これらのホスト・バス・アダプタをまとめてＨＢＡ３０４と呼ぶ。
【００３４】
広義には、ＨＢＡ３０４はネットワーク・アダプタである。ＨＢＡ３０４は、リンク３０２上でコンピュータ・デバイス１０４とＳＡＮ１０６との間の通信を実現する方法である。コンピュータ・デバイス１０４とＳＡＮ１０６との間の接続は、光ファイバ系または銅（例えばイーサネット（登録商標））系あるいはそれらの両方など、複数のさまざまな方法で確立することができる。接続が光ファイバ系の場合、ＨＢＡ３０４をファイバ・チャネルＨＢＡと呼ぶ。接続が銅系の場合、通常、ＨＢＡ３０４をｉＳＣＳＩ  ＨＢＡと呼ぶ。ＨＢＡ３０４（または、広義にはネットワーク・アダプタ）はコンピュータ・デバイス１０４をＳＡＮ１０６に通信結合すると言うことができる。典型的には、コンピュータ・デバイス１０２は、ＨＢＡ３０４に加えてプロセッサ、メモリ、チップセット等々など、他の構成部品を含むことも注意する。説明を分りやすくするため、図３にはこれらの他の構成部品を示していない。
【００３５】
ＳＡＮ１０６は、コントローラ３０６を含む。詳細な説明の中で後ほどもっと詳しく説明するその他の機能の中で、コントローラ３０６は、ＳＡＮ１０６のストレージ・ボリューム１０８がリンク３０２上でコンピュータ・デバイス１０４と通信する方法である。さらに、コントローラ３０６は、コンピュータ・デバイス１０４のストレージ・ボリューム１０８への割り当てを維持する。従って、コンピュータ・デバイスをストレージ・ボリュームに割り当てるか、または割り当て解除するとき、この割り当てまたは割り当て解除をコントローラ３０６内で行う。
【００３６】
図３のシステム１００は、シャーシ１０２のコンピュータ・デバイス１０４とＳＡＮ１０６との両方と通信結合するサーバ・コンピュータ・デバイス３０８をさらに含む。図３の例に示すように、サーバ・コンピュータ・デバイス３０８は、シャーシ１０２の中に差し込まれたブレード・コンピュータ・デバイスではない。ただし、別の実施態様では、サーバ・コンピュータ・デバイス３０８は、シャーシ１０２の中に差し込まれたブレード・コンピュータ・デバイスであってもよい。同様に、サーバ・コンピュータ・デバイス３０８は、別の種類のネットワークまたはその他の接続によるなど、リンク３０２とは別の方法でシャーシ１０２およびＳＡＮ１０６と通信結合しているとして示している。ただし、別の実施態様では、リンク３０２と同じ方法で通信結合していてもよい。サーバ・コンピュータ・デバイス３０８上で管理ソフトウェア３１０を実行する。詳細な説明の中で後ほど管理ソフトウェアの機能を詳しく説明する。
【００３７】
コンピュータ・デバイス１０４のうちどれが実行コンピュータ・デバイスとなり、どれがコールド・スペア・コンピュータ・デバイスとなるかアドミニストレータが最初に決定する。図３において、図１の例の場合と同じく、コンピュータ・デバイス１０４Ａと１０４Ｂとが実行コンピュータ・デバイスであり、コンピュータ・デバイス１０４Ｃがコールド・スペア・コンピュータ・デバイスであるとする。最初に、アドミニストレータは、サーバ・コンピュータ・デバイス３０８上で実行する管理ソフトウェア３１０によるか、または別の方法で、ＳＡＮ１０６のストレージ・ボリューム１０８を実行コンピュータ・デバイスに割り当てる。管理ソフトウェア３１０は、この割り当てをＳＡＮ１０６のコントローラ３０６に伝達し、コントローラ３０６はこの情報を記憶する。各コンピュータ・デバイスは起動元のストレージ・ボリュームを必要とするので、それぞれの実行コンピュータ・デバイスごとにストレージ・ボリューム１０８の少なくとも１つを割り当てなければならない。
【００３８】
ストレージ・ボリューム１０８のそれぞれは、論理装置番号（ＬＵＮ）を有する。実際には、ＬＵＮは、ストレージ・ボリュームを一意に特定する識別手段である。従って、ＬＵＮ（単数または複数）をＨＢＡに適合させることによってコンピュータ・デバイス１０４へのストレージ・ボリューム１０８の割り当てを実現することができる。コンピュータ・デバイスを起動するストレージ・ボリュームを起動ＬＵＮと呼び、通常、ＬＵＮ０と呼ぶ。従って、実行コンピュータ・デバイス用の起動ＬＵＮ、またはＬＵＮ０は、ＯＳのインスタンスを記憶するストレージ・ボリューム１０８の１つのＬＵＮである。さらに、コールド・スペア・コンピュータ・デバイス１０４Ｃを指定して最初に少なくとも起動ＬＵＮまたはＬＵＮ０を捜す必要があることを知らせる。しかし、ＳＡＮ１０６の特定のデバイス１０８のＬＵＮを、コールド・スペア・コンピュータ・デバイス１０４Ｃに割り当てることはない。
【００３９】
従って、図３の例において、最初に、アドミニストレータは、管理ソフトウェア３１０によるか、または別の方法で、ストレージ・ボリューム１０８ＡからのＬＵＮをコンピュータ・デバイス１０４Ａ用の起動ＬＵＮとして割り当てることによって、ストレージ・ボリューム１０８Ａをコンピュータ・デバイス１０４Ａに割り当てることができる。ストレージ・ボリューム１０８Ａは、コンピュータ・デバイス１０４Ａをストレージ・ボリューム１０８Ａから起動することができるように、ＯＳのインスタンスを記憶する。さらに、アドミニストレータは、ストレージ・ボリューム１０８ＢのＬＵＮをコンピュータ・デバイス１０４Ｂ用の起動ＬＵＮとして割り当てることによって、ストレージ・ボリューム１０８Ｂをコンピュータ・デバイス１０４Ｂに割り当てることができる。ストレージ・ボリューム１０８Ｂも、コンピュータ・デバイス１０４Ｂをストレージ・ボリューム１０８Ｂから起動することができるように、ＯＳのインスタンスを記憶する。
【００４０】
アドミニストレータは、例えば、コンピュータ・デバイス１０４Ｂがアクセスするデータを記憶するストレージ・ボリュームとして、他のストレージ・ボリューム１０８Ｃをコンピュータ・デバイス１０４Ｂ用の追加のＬＵＮとして割り当てることができる。最初、ストレージ・ボリューム１０８のどの実際のＬＵＮもコールド・スペア・コンピュータ・デバイス１０４Ｃに割り当てないが、起動ストレージ・ボリュームはＬＵＮ０であるという情報をプログラムする。後でコールド・スペア・コンピュータ・デバイス１０４Ｃが別のコンピュータ・デバイスを引き継ぐとき、実際の割り当てを提供する。割り当てを行ったら、二つの場所の１つ以上の中に割り当てを記憶する。
【００４１】
第１に、各コンピュータ・デバイス用の各ＬＵＮをストレージ・ボリューム１０８の１つの実際のＬＵＮと関連付けるマップを、ＳＡＮ１０６自体のコントローラ３０６が記憶する。例えば、コンピュータ・デバイス１０４Ａを起動し、起動ストレージ装置はＬＵＮ０または起動ＬＵＮとして認識されていることを知らせる。ＳＡＮ１０６のコントローラ３０６にこの情報を渡す。例えばコンピュータ・デバイス１０４ＡのＨＢＡ３０４Ａのアドレスによってコンピュータ・デバイス１０４Ａの認識手段を照合し、コンピュータ・デバイス１０４Ａ用のＬＵＮ０は実際にはストレージ・ボリューム１０８ＡのＬＵＮであることをＳＡＮ１０６のコントローラ３０６に知らせる。従って、管理ソフトウェア３１０からの指示に応えて実際にストレージ・ボリューム１０８をコンピュータ・デバイス１０４へ関連付け、コンピュータ・デバイス１０４から関連解除するのはコントローラ３０６であると言うことができる。
【００４２】
第２に、コンピュータ・デバイス１０４自体がＬＵＮ割り当てを記憶するが、その方法はより限定されている。より詳しくは、コンピュータ・デバイス１０４のＨＢＡ３０４は、利用可能なＬＵＮおよびどのＬＵＮが起動ＬＵＮであるかをファームウェアの中に記憶する。例えば、ＨＢＡ３０４Ｂは、コンピュータ・デバイス１０４Ｂに対する二つのＬＵＮを記憶することができる。すなわち、起動ＬＵＮであり、コンピュータ・デバイス１０４Ｂを起動するために必要なＬＵＮ０と、追加の非起動ＬＵＮであるＬＵＮ１とである。ＨＢＡ３０４内のファームウェアは、どのストレージ・ボリューム１０８がＬＵＮに対応するかという実際の割り当てを記憶していない。その情報は、ＳＡＮ１０６自体のコントローラ３０６の中に記憶する。
【００４３】
しかし、ＨＢＡ３０４内のファームウェアは、起動されたらＨＢＡ３０４がアクセスすることができると考えられるＬＵＮの数、すなわちストレージ・ボリュームの数と、どのＬＵＮから、すなわちどのストレージ・ボリュームから起動されるかとは記憶している。従って、ＨＢＡ３０４Ｂ内のファームウェアは、ＬＵＮ０を起動ＬＵＮ、ＬＵＮ１を非起動ＬＵＮとして、ＬＵＮ０とＬＵＮ１とを記憶する。しかし、ＨＢＡ３０４Ｂ内のファームウェアは、例えばストレージ・ボリューム１０８Ｂがその特定の起動ＬＵＮになることを知らず、ストレージ・ボリューム１０８Ｃがその特定のＬＵＮ１になることも知らない。
【００４４】
従って、コンピュータ・デバイスが起動したら、ＳＡＮ１０６のコントローラ３０６は、コンピュータ・デバイスのＬＵＮ０、ＬＵＮ１等々として働く特定のストレージ・ボリューム（単数または複数）の特定のＬＵＮ（単数または複数）をコンピュータ・デバイスは承知しているとみなす。その時点で、コントローラ３０６は、アドミニストレータが前に指定した割り当てによって、コンピュータ・デバイスに特定のストレージ・ボリューム（単数または複数）のＬＵＮ（単数または複数）を割り当てる。従って、例えばコンピュータ・デバイス１０４Ａの場合、電源を投入すると、デバイス１０４Ａは、コントローラ３０６がコンピュータ・デバイス１０４ＡのＬＵＮ０として働くことになるストレージ・ボリュームの識別手段またはＬＵＮを提供するよう要請し、その時点で、コントローラ３０６は、コンピュータ・デバイス１０４Ａ用のストレージ・ボリューム１０８ＡのＬＵＮを特定する。しかし、ストレージ・ボリューム１０８Ａへのコンピュータ・デバイス１０４Ａの割り当ては、コントローラ３０６に維持されているマップの中に記憶されているように、アドミニストレータによって既に実行されている。
【００４５】
次に、通常の動作時に、図３の例において、コンピュータ・デバイス１０４Ａは、ストレージ・ボリューム１０８Ａを自身に割り当て、コンピュータ・デバイス１０４Ｂはストレージ・ボリューム１０８Ｂおよび１０８Ｃを自身に割り当てる。ストレージ・ボリューム１０８Ａからコンピュータ・デバイス１０４Ａを起動する。同様に、ストレージ・ボリューム１０８Ｂからコンピュータ・デバイス１０４Ｂを起動するが、ストレージ・ボリューム１０８Ｃに記憶したデータにアクセスすることもできる。ある時点で、差し迫るコンピュータ・デバイスの不具合の検出、コンピュータ・デバイス上で実施される定期保守作業、または別の理由によって、コンピュータ・デバイス１０４Ａと１０４Ｂとの一方をシャットダウンしなければならないことがある。
【００４６】
詳しくは、コンピュータ・デバイス１０４上で動作しているエージェント・ソフトウェアは、本分野で既知のように、コンピュータ・デバイス１０４の健康状態を定期的に報告することができる。所定のコンピュータ・デバイスの健康状態が仕様から外れたら、問題のコンピュータ・デバイスを不具合の可能性ありとして特定するイベントを管理ソフトウェア３１０に提供する。こうすると、管理ソフトウェア３１０は、所定の実行コンピュータ・デバイスをシャットダウンするか効果的に監視すると言える。次に、一実施態様では、管理ソフトウェア３１０はコンピュータ・デバイスをコールド・スペア・コンピュータ・デバイス１０４Ｃにフェイルオーバするスクリプトを実行する。アドミニストレータに連絡してフェイルオーバを通知することもできる。コンピュータ・デバイスがコールド・スペア・コンピュータ・デバイス１０４Ｃにフェイルオーバし、このデバイスのエンド・ユーザが不当な中断を経験することなくコンピュータ・デバイスをシャットダウンすることができるように、アドミニストレータが手動でイベントを開始してもよい。
【００４７】
第１の例として、コンピュータ・デバイス１０４Ａに不具合が起るとする。コンピュータ・デバイス１０４Ａ上で動作している管理ソフトウェアは、最終的に管理ソフトウェア３１０にイベントが送られるように、この情報を報告することができる。管理ソフトウェア３１０は、このイベントに応えてフェイルオーバ・スクリプトを実施する。フェイルオーバ・スクリプトは、コンピュータ・デバイス１０４Ａにシャットダウンするように指示し、コントローラ３０６にストレージ・ボリューム１０８Ａをコンピュータ・デバイス１０４Ａから割り当て解除するように指示する。次に、フェイルオーバ・スクリプトは、コントローラ３０６にこのストレージ・ボリューム１０８ＡのＬＵＮをコールド・スペア・コンピュータ・デバイス１０４Ｃの起動ＬＵＮまたはＬＵＮ０として関連付ける、または割り当てるように指示する。
【００４８】
最後に、フェイルオーバ・スクリプトは、コンピュータ・デバイス１０４Ｃの電源を投入する。電源を投入すると、コンピュータ・デバイス１０４Ｃは、ＨＢＡ３０４Ｃによって、コントローラ３０６を介して自身に割り当てられているＬＵＮの数を求め、コンピュータ・デバイス１０４Ｃ用のＬＵＮ０として働くことになるストレージ・ボリュームの実際のＬＵＮをＳＡＮ１０６のコントローラ３０６に問い合わせる。コントローラ３０６は、ストレージ・ボリューム１０８Ａがコンピュータ・デバイス１０４Ｃ用のＬＵＮ０であるという情報を返す。それに従って、ストレージ・ボリューム１０８Ａからコンピュータ・デバイス１０４Ｃが起動され、従って、コンピュータ・デバイス１０４Ａのためのフェイルオーバとして働くことができる。
【００４９】
第２の例として、コンピュータ・デバイス１０４Ａではなく、コンピュータ・デバイス１０４Ｂに不具合が起るとする。コンピュータ・デバイス１０４Ｂ上で動作しているエージェント・ソフトウェアは、最終的に管理ソフトウェア３１０に通知されるように、この情報を報告することができる。これに応えて、管理ソフトウェア３１０は、フェイルオーバ・スクリプトを実施する。スクリプトは、コンピュータ・デバイス１０４Ｂにシャットダウンするように指示し、コントローラ３０６にストレージ・ボリューム１０８Ｂおよび１０８Ｃをコンピュータ・デバイス１０４８から割り当て解除するように指示する。次に、フェイルオーバ・スクリプトは、ストレージ・ボリューム１０８ＢのＬＵＮをコールド・スペア・コンピュータ・デバイス１０４ＣのＬＵＮ０として関連付け、または割り当て、ストレージ・ボリューム１０８ＢのＬＵＮをコンピュータ・デバイス１０４Ｃの起動ＬＵＮまたはＬＵＮ０として関連付ける、または割り当てるようにコントローラ３０６に指示する。同様に、フェイルオーバ・スクリプトは、ストレージ・ボリューム１０８ＣのＬＵＮをコールド・スペア・コンピュータ・デバイス１０４Ｃ用の第２の、ＬＵＮ１として割り当てるようにコントローラに指示する。
【００５０】
電源を投入すると、コンピュータ・デバイス１０４Ｃは、ＨＢＡ３０４Ｃによって、自身に割り当てられることになるＬＵＮの数を求め（コントローラ３０６を介して）、コンピュータ・デバイス１０４Ｃ用のＬＵＮ０およびＬＵＮ１として働くことになるストレージ・ボリュームの実際のＬＵＮをコントローラ３０６に問い合わせる。コントローラ３０６は、ストレージ・ボリューム１０８ＢのＬＵＮはコンピュータ・デバイス１０４Ｃ用のＬＵＮ０であり、ストレージ・ボリューム１０８ＣのＬＵＮはコンピュータ・デバイス１０４Ｃ用のＬＵＮ１であるという情報を返す。次に、ストレージ・ボリューム１０８Ｂからコンピュータ・デバイス１０４Ｃが起動され、従って、コンピュータ・デバイス１０４Ｂのためのフェイルオーバとして働く。
【００５１】
図４は、本発明の実施態様によるコンピュータ・デバイス・フェイルオーバのための方法２００を示す。図４の方法は、図２の実施態様より詳細であるが、図２の実施態様と矛盾しない。方法２００は、サーバ・コンピュータ・デバイス３０８上で実行され、コンピュータ・デバイス１０２のＨＢＡ３０４およびＳＡＮ１０６のコントローラ３０６に適切に指示する管理ソフトウェア３１０によって実施することができる。さらに、当業者には自明であるように、管理ソフトウェア３１０によって実行される上述のフェイルオーバ・スクリプトによって、方法２００のいくつかの部分を実施することができる。
【００５２】
ＳＡＮ１０６のストレージ・ボリューム１０８をシャーシ１０２のコンピュータ・デバイス１０４に割り当てる（４０２）。所定のコンピュータ・デバイスにストレージ・ボリューム１０８がまったく割り当てられていなければ、そのコンピュータ・デバイスはコールド・スペア・コンピュータ・デバイスである。一実施態様では、例えばコールド・スペア・コンピュータ・デバイスの電源を投入したとき起動元のＬＵＮ０を捜すように指定されている限り、コールド・スペア・コンピュータ・デバイスは起動ＬＵＮを有するとみなしてよい。しかし、説明したように、最初、この起動ＬＵＮは実際にはどの特定のストレージ・ボリュームのＬＵＮにも関連付けられていない。実行コンピュータ・デバイスとなる各コンピュータ・デバイスにストレージ・ボリューム１０８の少なくとも１つを割り当てる。ＬＵＮ０または起動ＬＵＮとしてコンピュータ・デバイス用の起動元となるストレージ・ボリュームのＬＵＮをコンピュータ・デバイスに割り当てる。コンピュータ・デバイスに割り当てられたＬＵＮを有する任意のその他のストレージ・ボリュームは、追加として割り当てられたストレージ・ボリュームであり、起動ストレージ・ボリュームではない。少なくともいくつかの実施態様では、２つ以上のコンピュータ・デバイスに同時に割り当てられているストレージ・ボリュームはない。
【００５３】
次に、割り当てられた起動ストレージ・ボリュームから実行コンピュータ・デバイスを起動する（４０４）。すなわち、コントローラ３０６中に記憶されているマップ内でコンピュータ・デバイス用の起動ＬＵＮを関連付けたＬＵＮを有するストレージ・ボリュームからこれらのコンピュータ・デバイスをそれぞれ起動する。こうして、コンピュータ・デバイスは正常に機能する。しかし、ある時点で、実行コンピュータ・デバイスがシャットダウン基準を満たすと判定される（２０２）。説明してきたように、これは、問題のコンピュータ・デバイスがまもなく不具合を起す、アドミニストレータが定期保守作業を実施するためにコンピュータ・デバイスをオフラインとすることを望んでいる等々というイベントを、管理ソフトウェア３１０が受け取ることを含んでよい。
【００５４】
その後、問題の実行コンピュータ・デバイスをシャットダウンする（４０６）。少なくとも起動ストレージ・ボリュームを含む、このコンピュータ・デバイスに割り当てておいたすべてのストレージ・ボリュームをコンピュータ・デバイスから割り当て解除する（２０４）。これは、例えば、割り当て解除を実施するようにコントローラ３０６に指示するフェイルオーバ・スクリプトを実行する管理ソフトウェア３１０によって実現することができる。割り当て解除は、ストレージ・ボリュームのＬＵＮを問題のコンピュータ・デバイスから割り当て解除することを含んでよい。
【００５５】
次に、実行コンピュータ・デバイスをフェイルオーバするフェイルオーバ・コンピュータ・デバイスとして、コールド・スペア・コンピュータ・デバイスを選択する（４０８）。コールド・スペア・コンピュータ・デバイスが１つしかなければ、このデバイスを選択する。しかし、コールド・スペア・コンピュータ・デバイスが二つ以上あるなら、任意の通常の方法またはその他の方法でコールド・スペア・コンピュータ・デバイスをフェイルオーバ・コンピュータ・デバイスとして選択してもよい。例えば、すべてのコールド・スペア・コンピュータ・デバイスをときに使用し、１つのコールド・スペア・コンピュータ・デバイスだけを使い過ぎないように、総当り方式を用いてもよい。
【００５６】
別の例として、スクリプトは、コンピュータ・デバイスのどれがコールド・スペア・コンピュータ・デバイスとして計画されていたかを判定し、まだ起動されたことがないものに行き当たるまでコールド・スペア・コンピュータ・デバイスを調べて行くことができる。先に指定されたコールド・スペア・コンピュータ・デバイスがすべて一度は起動されていたら、スクリプトは、ネットワーク・アドミニストレータにその旨通知することができる。しかし、この考察に限っては、少なくとも１つのコールド・スペア・コンピュータ・デバイスが利用できると仮定する。
【００５７】
その後、シャットダウンされた実行コンピュータ・デバイスから以前に割り当て解除されたストレージ・ボリュームを、コールド・スペア・コンピュータ・デバイスに割り当てる（２０６）。管理ソフトウェア３１０は、これらのストレージ・ボリュームをコールド・スペア・コンピュータ・デバイスに割り当てるようにコントローラ３０６に指示するフェイルオーバ・スクリプトを実行することができる。例えば、ストレージ・ボリュームのＬＵＮを、コールド・スペア・コンピュータ・デバイスに割り当てることができる。詳しくは、コールド・スペア・コンピュータ・デバイスを起動するストレージ・ボリュームのＬＵＮを、コールド・スペア・コンピュータ・デバイスの起動ＬＵＮまたはＬＵＮ０に一致するように割り当てる。
【００５８】
最後に、シャットダウンした実行コンピュータ・デバイスを前に起動したストレージ・ボリュームから、コールド・スペア・コンピュータ・デバイスを起動する（２０８）。こうして、フェイルオーバを完了する。フェイルオーバ・プロセスが人手を煩わすことなく自動的に実施される限り、ユーザが経験する停止時間の量は最小限となる。
【００５９】
本明細書では特定の実施態様の例を示し、説明してきたが、当分野の当業者であれば、示された特定の実施態様を、同じ目的を実現すると計算される任意の配置によって置き換えることができることは自明である点に注意する。従って、本発明は、本発明の実施態様の任意の適応形または変化形を包含するものとする。従って、本発明は、請求項ならびに請求項の均等物によってしか限定されないことを明白に意図する。
【図面の簡単な説明】
【００６０】
【図１】本発明の実施態様による、コンピュータ・デバイス・フェイルオーバを実施することができる基本システムのダイヤグラムである。
【図２】本発明の実施態様による、コンピュータ・デバイス・フェイルオーバを実施するための基本的な方法のフロー・チャートである。
【図３】本発明の実施態様による、コンピュータ・デバイス・フェイルオーバを実施することができるシステムのダイヤグラムである。図３は、図１より詳しいが、図１のシステムと矛盾しない。
【図４】本発明の実施態様による、コンピュータ・デバイス・フェイルオーバを実施するための方法のフロー・チャートである。図４は図３より詳しいが、図３の方法と矛盾しない。
【図１】
2008165781.tif 000002
【図２】
2008165781.tif 000003
【図３】
2008165781.tif 000004
【図４】
2008165781.tif 000005