(57)【要約】ＳＡＮを使用して、コンピュータシステムを復旧し、ブートするための方法およびシステム。コンピュータシステムは、ローカル・ストレージ・デバイスを含む。ローカル・ストレージ・デバイスのブート・ボリュームにデータを書き込む要求が受信される。データは、ローカル・ストレージ・デバイスに、ならびに要求を受信するのとほとんど同時にＳＡＮに書き込まれる。次いでコンピュータシステムを、ＳＡＮに書き込まれたデータを使用してブートすることができる。
2012507788.tif 000002
【特許請求の範囲】
【請求項１】
ローカル・ストレージ・デバイスを含むコンピュータシステムをブートするストレージ・エリア・ネットワーク（「ＳＡＮ」）を使用する方法であって、
前記コンピュータシステムをブートするためのオペレーティングシステムデータとサポート・ファイルを含むブート・ボリュームのデータを、前記ローカル・ストレージ・デバイスに書き込む要求を受信するステップと、
前記データを前記ローカル・ストレージ・デバイスに書き込むステップと、
前記要求を受信するのとほとんど同時に、前記データを前記ＳＡＮに書き込むステップと、
前記ＳＡＮに書き込まれた前記データを使用して、前記コンピュータシステムをブートするステップとを含む、方法。
【請求項２】
前記コンピュータシステムは、ネットワークの介入なしに前記ローカル・ストレージ・デバイスに直接結合されるストレージ・コントローラを介して、前記ローカル・ストレージ・デバイスと通信し、
前記コンピュータシステムは、統合ドライブ・エレクトロニクス（「ＩＤＥ」）および拡張ＩＤＥ（「ＥＩＤＥ」）、ＩＥＥＥ１３９４、ならびにユニバーサル・シリアル・バス（「ＵＳＢ」）を含む、シリアル・アドバンスド・テクノロジ・アタッチメント（「ＳＡＴＡ」）、小型コンピュータシステム・インターフェース（「ＳＣＳＩ」）、シリアル・アタッチドＳＣＳＩ（「ＳＡＳ」）、パラレルＡＴアタッチメント（「ＰＡＴＡ」）から選択されるプロトコルを介して、前記ローカル・ストレージ・デバイスと通信し、
前記コンピュータシステムは、ネットワーク・アダプタを介して、前記ＳＡＮと通信し、
前記コンピュータシステムは、イーサネット、ファイバ・チャネル、インターネットＳＣＳＩ（「ｉＳＣＳＩ」）、ＳＡＳ、およびＴＣＰ／ＩＰのうちの１つに基づいたネットワークを介して前記ＳＡＮと通信し、
前記コンピュータシステムは、周辺装置相互接続（「ＰＣＩ」）、周辺装置相互接続拡張（「ＰＣＩ−Ｘ」）、およびＰＣＩエクスプレスのうちの１つから選択されるホスト・バスを介して、前記ストレージ・コントローラおよび前記ネットワーク・アダプタと通信する、請求項１に記載の方法。
【請求項３】
前記ローカル・ストレージ・デバイスから前記ＳＡＮに前記ブート・ボリュームを複製するステップをさらに含み、前記複製するステップが、
前記ローカル・ストレージ・デバイスから前記データを読み込むステップと、
読み込まれた前記データを前記ＳＡＮに書き込むステップとを含む、請求項１に記載の方法。
【請求項４】
前記ＳＡＮは、前記コンピュータシステムと同一の場所に配置されたローカルＳＡＮであり、前記方法がさらに、
前記ローカルＳＡＮと、前記コンピュータシステムからリモートの設備である災害復旧センターに配置されるリモートＳＡＮとの間で、前記データを同期させるステップを含む、請求項１に記載の方法。
【請求項５】
前記ＳＡＮの指定によるユーザ入力を受け入れるステップと、
前記ＳＡＮから前記データを読み込むステップと、
読み込まれた前記データを前記ローカル・ストレージ・デバイスに書き込むステップと
をさらに含み、
前記ブートするステップが、前記ローカル・ストレージ・デバイスに書き込まれた前記データを使用して前記コンピュータシステムをブートするステップを含む、請求項１に記載の方法。
【請求項６】
前記ＳＡＮの指定を自動的に識別するステップをさらに含む、請求項１に記載の方法。
【請求項７】
前記ＳＡＮから前記データを読み込むステップをさらに含み、
前記ブートするステップが、前記ＳＡＮから読み込まれた前記データを使用して、前記コンピュータシステムを直接ブートするステップを含み、前記方法がさらに、
前記コンピュータシステムをブートするために読み込まれた前記データを使用した後に、前記ローカル・ストレージ・デバイスに読み込まれた前記データを書き込むステップを含む、請求項１に記載の方法。
【請求項８】
前記ブートするステップが、前記ローカル・ストレージ・デバイスにジャーナルを書き込むステップを含み、前記ジャーナルは、前記ブートするステップの間のデータ更新に関する情報を含み、前記方法がさらに、
前記方法が前記ブートするステップの後に、前記ジャーナルに基づいて、前記データ更新を前記ＳＡＮに書き込むステップを含む、請求項１に記載の方法。
【請求項９】
シャットダウン・プロセスの間のデータ更新に関する情報を含むジャーナルを、前記ローカル・ストレージ・デバイスに書き込むステップと、
前記ブートするステップの後に、前記ジャーナルに基づいて、前記データ更新を前記ＳＡＮに書き込むステップとをさらに含む、請求項１に記載の方法。
【請求項１０】
前記ＳＡＮにまだ書き込まれていないデータ更新に関する情報を含むジャーナル・エントリを、前記ローカル・ストレージ・デバイスに書き込むステップと、
前記データ更新が前記ＳＡＮに書き込まれた後に、前記ジャーナル・エントリを削除するステップとをさらに含む、請求項１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にストレージ・エリア・ネットワーク（ｓｔｏｒａｇｅ  ａｒｅａ  ｎｅｔｗｏｒｋ「ＳＡＮ」）に関し、より詳細には、ＳＡＮを使用した、コンピュータシステムの復旧およびブートに関する。
【背景技術】
【０００２】
万一の災害時の復旧を考慮して、多くの企業が、コンピュータサーバからリモートの災害復旧サイトに、コンピュータサーバのデータ・ボリュームを複製している。データ・ボリュームがコンピュータサーバによって提供されるサービスのための情報を含む一方で、コンピュータサーバはまた、コンピュータシステムをブートし、動かすための、オペレーティングシステムのデータおよびサポート・ファイルを含むブート・ボリュームを使用する。したがって、多くの企業はまた、ブート・ボリュームの「スナップショット」を複製または取得して、コンピュータサーバ（またはそのバックアップ）を、ブート・ボリュームのバックアップ・コピーからブートできるようにする。しかしながら、ブート・ボリュームのスナップショットを最新に保つことは、時間がかかり、エラーを起こしやすくなることがある。というのは、ブート・ボリュームは、オペレーティングシステムによってアクティブに制御されていて、その上に、管理者およびさまざまなソフトウェアによって常に更新されているからである。
【０００３】
この最初の問題に対する１つの部分的なソリューションは、ＳＡＮからのブートとして知られている。ＳＡＮからのブートにより、コンピュータサーバは、ＳＡＮの論理ユニットを、ブート・ボリュームとして直接使用することが可能になる。「ＳＡＮ」は、広義に使用されており、実際には、ストレージ・エリア・ネットワークのボリューム、論理ユニット、または論理ユニット番号を指す場合があることに留意されたい。ＳＡＮは、ローカルＳＡＮであってよく、ローカルＳＡＮの論理ユニットはしたがって、災害復旧サイトにおけるリモートＳＡＮに複製されてよい。ブート・ボリュームは、実際には、ローカルＳＡＮの論理ユニットであることから、リモートＳＡＮ上でブート・ボリュームのスナップショットを最新に保つことがより容易なことがある。たとえば、ローカルＳＡＮがコンピュータシステムからの書き込み要求を受信した後に、コンピュータサーバに代わって、ローカルＳＡＮが、書き込み要求をリモートＳＡＮに転送するのを担当することができる。しかしながら、コンピュータサーバが、リモートＳＡＮ上で複製されたブート・ボリュームを実際に活用できるようにする、という問題が依然ある。
【０００４】
より詳細には、コンピュータサーバのホスト・バス・アダプタが、設定されたパスを介して、ローカルＳＡＮの論理ユニットからブートするように既に構成されていることになる。一方で、ＴＣＰ／ＩＰがネットワーク・トラフィックを再ルーティングする方法に類似して、代替パスを介してコンピュータサーバを論理ユニットにアクセス可能にするための、マルチパシング（ｍｕｌｔｉｐａｔｈｉｎｇ）技術が利用可能である。マルチパシング技術は、通常、マルチパス・ドライバにおいて実装される。コンピュータサーバは、マルチパス・ドライバの使用による通常動作の間は、設定されたパスを介しても代替パスを介しても、論理ユニットにアクセスできることになるが、マルチパス・ドライバは、最初のブート・プロセスの間は利用可能ではない。むしろ、ホスト・バス・アダプタは、設定されたパスが壊れている場合であっても、最初のブート・プロセスの間は、代替パスではなく、設定されたパスを使用してブートするよう試みることになるにすぎない。加えて、マルチパス・ドライバによりまた、コンピュータサーバは、別のパスを介して別の論理ユニット（たとえば、リモートＳＡＮ上の複製されたブート・ボリューム）にアクセスできることになるものの、マルチパス・ドライバは同様に、最初のブート・プロセスの間は利用可能でない。
【０００５】
さらに、ホスト・バス・アダプタが、特定のマルチパシング機能を組み込んでいたとしても、ホスト・バス・アダプタはそれでもなお、ホスト・バス・アダプタが論理ユニットにアクセスはできるものの実際に論理ユニットからブートすることができないイベントには対応することができない。たとえば、そのような１つのイベントは、論理ユニットが二次的なコントローラによって管理されているという点において、論理ユニットへの設定されたパスが、現在「アクティブな」パスではない場合に発生する。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
したがって、進行中の課題は、ＳＡＮを使用してコンピュータサーバ／システムを復旧し、ブートすることである。
【課題を解決するための手段】
【０００７】
本発明は、ＳＡＮを使用してコンピュータシステムを復旧し、ブートするための方法およびシステムを提供することによって、上記および他の問題を解決し、それにより、最新の有用な技術を進歩させる。コンピュータシステムは、ローカル・ストレージ・デバイスを含む。ローカル・ストレージ・デバイスのブート・ボリュームにデータを書き込む要求が受信される。データは、ローカル・ストレージ・デバイスに、かつ要求を受信するのとほとんど同時に、ＳＡＮに書き込まれる。次いでコンピュータシステムを、ＳＡＮに書き込まれたデータを使用して、ブートすることができる。有利には、ローカル・ストレージ・デバイスを再度組み込むようにコンピュータシステムを修正することによって、ブート・ボリュームを、ローカル・ストレージ・デバイスとＳＡＮとの間で容易に最新に保つことができ、ＳＡＮからのデータを使用してコンピュータシステムをブートできるようにする。
【０００８】
本発明の一態様では、方法は、コンピュータシステムをブートするためのストレージ・エリア・ネットワーク（「ＳＡＮ」）を使用するために提供され、ここでコンピュータシステムは、ローカル・ストレージ・デバイスを含む。方法は、ブート・ボリュームのデータをローカル・ストレージ・デバイスに書き込む要求を受信するステップを含む。ブート・ボリュームは、コンピュータシステムをブートするための、オペレーティングシステムのデータおよびサポート・ファイルを含む。方法はまた、データをローカル・ストレージ・デバイスに書き込むステップと、要求を受信するのとほとんど同時に、データをＳＡＮに書き込むステップとを含む。方法は、ＳＡＮに書き込まれたデータを使用して、コンピュータシステムをブートするステップをさらに含む。
【０００９】
本発明の別の態様では、上記で説明した方法に従って、コンピュータシステムをブートするためのストレージ・エリア・ネットワーク（「ＳＡＮ」）を使用する方法を実行するために、命令を有するコンピュータ可読媒体が提供される。
【００１０】
本発明のさらに別の態様では、コンピュータシステムをブートするためのストレージ・エリア・ネットワーク（「ＳＡＮ」）を使用したコンピュータシステムを提供する。コンピュータシステムは、ローカル・ストレージ・デバイスと、ローカル・ストレージ・デバイスとの通信のためのストレージ・コントローラと、ＳＡＮとの通信のためのネットワーク・アダプタとを含む。ストレージ・コントローラは、ネットワークの介入なしに、ローカル・ストレージ・デバイスに直接結合される。コンピュータシステムはまた、ブート・ボリュームのデータをローカル・ストレージ・デバイスに書き込む要求を受信するための受信要素を含む。ブート・ボリュームは、コンピュータシステムをブートするための、オペレーティングシステムのデータおよびサポート・ファイルを含む。加えて、コンピュータシステムは、データをローカル・ストレージ・デバイスに書き込むための第１の書き込み要素と、要求を受信するのとほとんど同時に、データをＳＡＮに書き込むための第２の書き込み要素とを含む。コンピュータシステムはまた、ＳＡＮに書き込まれたデータを使用して、コンピュータシステムをブートするためのブーティング要素を含む。
【図面の簡単な説明】
【００１１】
【図１】本発明の特徴および態様に従った例示的なコンピュータシステムのブロック図である。
【図２】ＳＡＮを使用してコンピュータシステムをブートするための、本発明の特徴および態様に従った例示的な方法を説明するフローチャートである。
【図３】ＳＡＮを使用してコンピュータシステムをブートできるようにする、通常動作中の、本発明の特徴および態様に従った例示的な方法を説明するフローチャートである。
【図４】復旧動作において、ＳＡＮを使用してコンピュータシステムをブートするための、本発明の特徴および態様に従った例示的な方法を説明するフローチャートである。
【発明を実施するための形態】
【００１２】
図１は、本発明の特徴および態様に従った例示的なコンピュータシステム１１０のブロック図である。コンピュータシステム１１０は、ネットワーク１５０を介して、ローカルＳＡＮ１３０と通信している。コンピュータシステム１１０およびローカルＳＡＮ１３０の両方はまた、ネットワーク１５０を介して、リモートＳＡＮ１４０と通信している。加えて、コンピュータシステム１１０は、ストレージ・デバイス１６０と通信している。たとえば、ストレージ・デバイス１６０は、回転ディスク・ドライブ、またはフラッシュベースのドライブであってよい。コンピュータ可読媒体１７０は、ドライバ・ソフトウェアを含む命令を、ストレージ・デバイス１６０および／またはコンピュータシステム１１０に供給するために使用される。コンピュータ可読媒体１７０は、命令を収容、記憶、通信、伝播、または移送することができる任意の装置を含むことができる。例として、半導体メモリまたは固体メモリ、磁気テープ、取外し可能なコンピュータ・ディスケット、ランダム・アクセス・メモリ（「ＲＡＭ」）、読み出し専用メモリ（「ＲＯＭ」）、剛性磁気ディスク、および光学ディスク（たとえば、ＣＤ−ＲＯＭ、ＣＤ−Ｒ／Ｗ、ＤＶＤ−ＲＯＭ、およびＤＶＤ＋／−Ｒ／Ｗ）が含まれる。
【００１３】
コンピュータシステム１１０は、処理ユニット１１２と、ネットワーク・アダプタ１１４と、ストレージ・コントローラ１１６とを含む。コンピュータシステム１１０は、ストレージ・コントローラ１１６を介して、ストレージ・デバイス１６０と通信している。たとえば、ストレージ・コントローラ１１６は、リダンダント・アレイ・オブ・インディペンデント・ディスクス（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ「ＲＡＩＤ」）コントローラであってよい。ストレージ・コントローラ１１６は、ネットワークの介入なしに、ローカル・ストレージ・デバイス１６０に直接結合される。ローカル・ストレージ・デバイス１６０との通信は、いくつかのローカル・ストレージ・アタッチメント技術のうちのいずれかを介してよい。たとえば、通信プロトコルは、統合ドライブ・エレクトロニクス（Ｉｎｔｅｇｒａｔｅｄ  Ｄｒｉｖｅ  Ｅｌｅｃｔｒｏｎｉｃｓ「ＩＤＥ」）および拡張ＩＤＥ（「ＥＩＤＥ」）、ＩＥＥＥ１３９４（たとえば、ファイヤワイヤ（ＦｉｒｅＷｉｒｅ））、ならびにユニバーサル・シリアル・バス（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ「ＵＳＢ」）を含む、シリアル・アドバンスド・テクノロジ・アタッチメント（Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ「ＳＡＴＡ」）、小型コンピュータシステム・インターフェース（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ「ＳＣＳＩ」）、シリアル・アタッチドＳＣＳＩ（Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ「ＳＡＳ」）、パラレルＡＴアタッチメント（Ｐａｒａｌｌｅｌ  ＡＴ  Ａｔｔａｃｈｍｅｎｔ「ＰＡＴＡ」）から選択することができる。ＳＡＳプロトコルを使用して直接結合されると、ＳＡＳ伸張器および／またはＳＡＳスイッチなしに、ＳＡＳケーブルを使用することができることが理解されるであろう。
【００１４】
コンピュータシステム１１０は、ネットワーク・アダプタ１１４を使用することによって、ネットワーク１５０を介して通信することができる。たとえば、ネットワーク・アダプタ１１４は、イーサネット・アダプタ、またはＳＡＳホスト・バス・アダプタであってよい。ネットワークは、イーサネット、ファイバ・チャネル、インターネットＳＣＳＩ（「ｉＳＣＳＩ」）、ＳＡＳ、およびＴＣＰ／ＩＰのうちの１つに基づいていてよい。加えて、処理ユニット１１２は、周辺装置相互接続（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ「ＰＣＩ」）、周辺装置相互接続拡張（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｔｅｎｄｅｄ「ＰＣＩ−Ｘ」）、およびＰＣＩエクスプレスのうちの１つから選択されるホスト・バス１１８を介して、ストレージ・コントローラ１１６およびネットワーク・アダプタ１１４と通信可能である。
【００１５】
処理ユニット１１２は、回路、メモリ、プロセッサ、および／または命令を含んで、コンピュータシステム１１０の処理ニーズに対応することができる。たとえば、処理ユニット１１２は、ブート・プロセスの間に、ストレージ・コントローラ１１６および／またはネットワーク・アダプタ１１４によって供給される１つ（たとえば、時にオプションＲＯＭと呼ばれる）を含む、コンピュータシステム１１０の基本入出力システム（「ＢＩＯＳ」）を実行することができる。通常動作の間、処理ユニット１１２は、オペレーティングシステムの制御下で、ストレージ・コントローラ１１６およびネットワーク・アダプタ１１４のためのドライバを実行することができる。本発明の特徴および態様を、コンピュータシステムのこれらのコンポーネントのうちの１つまたは複数において実装することができることが理解されるであろう。
【００１６】
ローカルＳＡＮ１３０は、コントローラ１３４と、ストレージ・デバイス１３２とを含む。ストレージ・デバイス１３２は、コントローラ１３４を介してネットワーク１５０に結合されて、コンピュータシステム１１０がストレージ・デバイス１３２を使用するのを可能にする。たとえば、ストレージ・デバイス１３２は、ローカルＳＡＮ１３０のさまざまな論理ユニットとして利用可能にされてよい。同様に、リモートＳＡＮ１４０は、コントローラ１４２と、ストレージ・デバイス１４４とを含む。ローカルＳＡＮ１３０は、通常、コンピュータシステム１１０と同一の場所に配置されることになり、一方でリモートＳＡＮ１４０は、通常、災害復旧センターに配置されることになる。災害復旧センターは、通常、コンピュータシステム１１０からリモートの設備である。１つまたは複数のネットワークは、ネットワーク・クラウドによって指示されるように、コンピュータシステム１１０およびローカルＳＡＮ１３０からリモートＳＡＮ１４０を分離することができる。
【００１７】
ＳＡＮアプリケーションからのブートでは、コンピュータシステム１１０がローカルＳＡＮ１３０からブートするために、ネットワーク・アダプタ１１４は、ローカルＳＡＮ１３０のコントローラ１３４と通信するように構成されていてよい。コンピュータシステム１１０において動くマルチパス・ドライバにより、ネットワーク・アダプタ１１４は、リモート１４０のコントローラ１４４と通信できるようになる。しかしながら、マルチパス・ドライバは、上記で触れたように、最初のブート・プロセスの間は利用可能ではない。
【００１８】
当業者は、完全に機能的な装置内での、多数の追加の、および同等のコンポーネント、ならびにモジュールを容易に認識するであろう。そのような追加の、および同等のコンポーネントは、この議論を単純化および簡潔化するために、本明細書では省略される。したがって、図１の構造は、本発明の特徴および態様の例示的な実施形態を単に表すことを意図している。
【００１９】
より詳細に説明していくと、本発明の特徴および態様は、有利には、ブート・ボリュームが、ローカル・ストレージ・デバイス１６０、ローカルＳＡＮ１３０、およびリモートＳＡＮ１４０上に常駐するのを可能にする。ローカル・ストレージ・デバイス１６０およびローカルＳＡＮ１３０の両方におけるブート・ボリュームは、通常、本発明の特徴および態様に従って、各書き込み要求の発生において常に同期されることが、当業者によって理解されるであろう。ローカルＳＡＮ１３０およびリモートＳＡＮ１４０の両方におけるブート・ボリュームをまた、ローカルＳＡＮ１３０からリモートＳＡＮ１４０にブート・ボリュームを複製する／ミラーリングすることによって、同期させることができる。復旧動作では、リモートＳＡＮ１４０からのブート・ボリュームを、今度はローカルＳＡＮ１３０へと再び複製する／ミラーリングすることができる。代替的に、または追加的に、ブート・ボリュームをまた、（オリジナルの代替／バックアップ・コンピュータシステムであってよい）コンピュータシステム１１０の、（やはりオリジナルの代替ストレージ・デバイスであってよい）ローカル・ストレージ・デバイス１６０に、再び複製する／ミラーリングすることができる。
【００２０】
図２は、ＳＡＮを使用してコンピュータシステムをブートするための、本発明の特徴および態様に従った例示的な方法を説明するフローチャートである。ステップ２１０で、ストレージ・コントローラのドライバは、ブート・ボリュームのデータをローカル・ストレージ・デバイスに書き込む要求を受信する。ブート・ボリュームは、コンピュータシステムをブートするための、オペレーティングシステムのデータおよびサポート・ファイルを含む。ステップ２２０で、ドライバは、データをローカル・ストレージ・デバイスに書き込む。ステップ２３０で、ドライバはまた、要求を受信するのとほとんど同時に、データをＳＡＮに書き込む。復旧プロセスの一部として、ステップ２４０で、コンピュータシステムは、ＳＡＮに書き込まれたデータを使用してコンピュータシステムをブートできるようにするＢＩＯＳを実行する。
【００２１】
図３は、ＳＡＮを使用してコンピュータシステムをブートできるようにする、通常動作中の、本発明の特徴および態様に従った例示的な方法を説明するフローチャートである。ステップ３１０で、コンピュータシステムは、ローカル・ストレージ・デバイスのブート・ボリュームからコンピュータシステムをブートできるようにするＢＩＯＳを実行する。ブート・ボリュームは、コンピュータシステムをブートするための、オペレーティングシステムのデータおよびサポート・ファイルを含む。ブート・プロセスの間、ステップ３１５で、ジャーナルがブート・プロセスの間のデータ更新に関する情報を含むように、コンピュータは、ローカル・ストレージ・デバイスにジャーナルを書き込む。ブート・プロセスの後に、ステップ３２０で、コンピュータシステムはジャーナルを処理し、ジャーナルに基づいて、データ更新をＳＡＮに書き込むための書き込み要求を開始する。
【００２２】
たとえば、ジャーナル・エントリが、ＳＡＮにまだ書き込まれていない更新に関する情報を含むことがある。ブート・プロセス後の通常動作中、コンピュータシステムは次いで、ジャーナル・エントリごとにＳＡＮへの書き込み要求を開始し、次いで更新がＳＡＮに書き込まれた後に、各ジャーナル・エントリを削除する。ジャーナルのエントリは、通常動作中でも、ファーストイン・ファーストアウト方式において常に追加され、削除されて、データ書き込みの順序を維持し、ＳＡＮへのアクセスにおける割り込みに対応することができる。加えて、ブート・イメージが既にＳＡＮ上にないことがある。その場合は、ブート・ボリュームを、初期化動作においてローカル・ストレージ・デバイスからＳＡＮに複製することができる。たとえば、コンピュータシステムおよび／またはＳＡＮの管理ツールを使用して、ローカル・ストレージ・デバイスからのデータを読み込み、読み込まれたデータがＳＡＮに書き込まれる。ジャーナル・エントリは、ローカル・ストレージ・デバイスがＳＡＮと同期されるのを確実にするように、それに応じて管理されることになる。
【００２３】
ステップ３３０で、コンピュータシステムのストレージ・コントローラのドライバは、ブート・ボリュームのデータをローカル・ストレージ・デバイス（または別のローカル・ストレージ・デバイス）に書き込む要求を受信する。ステップ３４０で、ドライバは、データをローカル・ストレージ・デバイスに書き込む。ステップ３５０で、コンピュータシステムにおいて動くドライバはまた、要求を受信するのとほとんど同時に、データをＳＡＮに書き込む。データは通常は、ローカル・ストレージ・デバイスによってＳＡＮに書き込まれることはないが、コンピュータシステムそれ自体によってＳＡＮに書き込まれる。先に触れたように、ジャーナルを、ＳＡＮへのアクセスにおける割り込みに対応するために使用することができる。したがって、いくつかの場合においては、ステップ３４０とステップ３５０の間で、遅延がある可能性があるのが理解されるであろう。しかしながら、ローカル・ストレージ・デバイスおよびＳＡＮにおけるブート・ボリュームは、通常、決められた間隔において、および／または管理者による要求時において同期されるのではなく、常に同期されることになる。
【００２４】
通常動作中、ドライバがデータを書き込む各要求を受信するときに、３３０からのステップが繰り返される。コンピュータシステム内では、コンピュータシステムがＳＡＮと通信するのに介するネットワーク・アダプタのドライバに対して要求を発行することによって、ドライバはＳＡＮに書き込みをすることができる。設計の選択として、ドライバは、ＳＡＮに対するいくつかの書き込み要求を、１つの書き込み要求にまとめることができる。代替的には、ドライバはまた、ＳＡＮに対する１つの書き込み要求を、いくつかの書き込み要求に分けることができる。
【００２５】
ＳＡＮは、コンピュータシステムと同一の場所に配置されるローカルＳＡＮであってよいことが留意される。ステップ３６０で、ローカルＳＡＮとリモートＳＡＮとの間で、データを同期させることができる。リモートＳＡＮは、災害復旧センターに配置されていてよく、災害復旧センターは、コンピュータシステムからリモートの設備であってよい。同期のステップは、ローカル（および／またはリモート）ＳＡＮを介して利用可能なＳＡＮ管理ツールによって実行されてよい。同期は、決められた間隔において、および／または管理者による要求時に実行されてよい。代替的に、または追加的に、同期のステップは、今度は各書き込み要求をリモートＳＡＮに転送するローカルＳＡＮによって実行されてよい。
【００２６】
ステップ３７０で、コンピュータシステムは、順序立ったやり方で、コンピュータシステムをシャットダウンするためのシャットダウン・プロセスに入る。通常は、コンピュータシステムがフラッシュし、ローカル・ストレージ・デバイスに書き込む必要のあるデータを、コンピュータシステムがまだメモリ中に有していたとしても、ネットワーク接続は閉じられることになる。したがって、ステップ３１５と同様のステップ３７５で、ジャーナルがシャットダウン・プロセスの間のデータ更新に関する情報を含むように、コンピュータシステムは、ジャーナルをローカル・ストレージ・デバイスに書き込むことになる。ジャーナルは、ステップ３１５に関して上記で言及したジャーナルと異なるジャーナルでも、同じジャーナルでもよい。上記で言及したステップ３１０でコンピュータシステムがブートした後に、コンピュータは、ステップ３２０に関して上記で説明したのと同様のジャーナルに基づいて、シャットダウン・プロセスの間のデータ更新をＳＡＮに書き込むことになる。
【００２７】
図４は、ローカル・ストレージ・デバイスを復旧させる必要がある復旧動作において、ＳＡＮを使用してコンピュータシステムをブートするための、本発明の特徴および態様に従った例示的な方法を説明するフローチャートである。ステップ４１０で、コンピュータシステムは、ブートするのに使用されるべきデータのソースを指定するためのユーザ入力を受け入れるかどうかを、ブート・プロセスの間に決定する。たとえば、コンピュータシステムは、ユーザ／管理者が、１つまたは複数のホットキーを押下する場合に、ユーザ入力を受け入れることができる。ホットキーが押下された場合、ステップ４１５で、コンピュータシステムは、ローカルＳＡＮの指定によるユーザ入力を受け入れる。たとえば、ユーザには、ローカルＳＡＮを指定するために、コマンド・ライン・インターフェースおよび／またはグラフィカル・インターフェースが提供されてよく、コマンド・ライン・インターフェースおよび／またはグラフィカル・インターフェースは、ローカルＳＡＮの論理ユニットの指定をさらに含むことができる。代替として、ユーザは、リモートＳＡＮを指定することを許可されてよい。
【００２８】
上記で触れたように、マルチパス・ドライバは、最初のブート・プロセスの間、コンピュータが別の（たとえばリモートＳＡＮ上の）論理ユニットにアクセスできるように利用可能ではない。加えて、特定のマルチパシング機能が最初のブート・プロセスの間に利用可能にされることができたとしても、コンピュータシステムはそれでもなお、コンピュータシステムがブート・ボリュームにアクセスはできるものの、ブート・ボリュームへの損傷のために実際にブート・ボリュームからブートすることができないイベントには対応することができない。手動の介入によって、有利には、ユーザ／管理者は、コンピュータシステムが、ローカル・ストレージ・デバイスからか、ローカルＳＡＮからか、リモートＳＡＮからか、またはさらに別のデバイスからブートするべきかを指定することができることが当業者には理解されるであろう。
【００２９】
ユーザ入力を受け入れる必要がない場合、ステップ４２０で、コンピュータシステムは、ローカルＳＡＮの指定を自動的に識別することができる。ブート・シーケンスが、コンピュータシステム内に既に構成されていてよい。たとえば、ユーザ／管理者は、コンピュータシステムが最初にローカル・ストレージ・デバイスからブートを試みるように、そして失敗の場合には、コンピュータシステムが次にローカルＳＡＮからブートを試みるように、それまでに指定しておくことができる。代替的には、ユーザはまた、コンピュータシステムが次にネットワーク・アダプタを介してブートを試みるように指定しておくことができる。ローカルＳＡＮからブートを試みるように、そして失敗の場合は、次いでリモートＳＡＮからブートを試みるように、ネットワーク・アダプタおよび／またはコンピュータシステムのＢＩＯＳを構成しておくこともまたできる。
【００３０】
この例示的な方法では、コンピュータシステムは、自らをブートするために、ローカルＳＡＮからのデータを使用することになっている。先に触れたように、ローカルＳＡＮは、リモートＳＡＮからローカルＳＡＮにデータを同期させる／複製することによって、既に復旧されていてよいことに留意されたい。ステップ４３０で、コンピュータシステムは、ネットワーク・アダプタを介して、ローカルＳＡＮからブート・ボリュームのデータを読み込む。ステップ４４０で、コンピュータシステムは、実際に、ローカル・ストレージ・デバイスからブートするか、あるいはローカルＳＡＮから読み込まれたデータを使用して直接ブートするかを決定する。この選択は、コンピュータシステム内で既に構成されていてよい。代替的に、または追加的に、ユーザ／管理者は、たとえば、上記で言及したステップ４１５の一部として、ブート・プロセスの間にこの選択を指定するのを許可されてよい。コンピュータシステムが、ローカル・ストレージ・デバイスからブートすることになっている場合、ステップ４５０で、コンピュータシステムは最初に、読み込まれたデータをローカル・ストレージ・デバイスに書き込んでローカル・ストレージ・デバイスを復旧し、次いでステップ３１０に関して説明したのと同様に、ローカル・ストレージ・デバイスからブートする。
【００３１】
コンピュータが、ローカルＳＡＮから直接ブートすることになっている場合、ステップ４６０で、コンピュータシステムは、ＳＡＮアプリケーションからのブートと同様にそれを行う。続いて、ステップ４６５で、コンピュータシステムは、ＳＡＮから読み込まれたデータをローカル・ストレージ・デバイスに書き込み、したがって、ローカル・ストレージ・デバイスもまた復旧させる。ローカルＳＡＮとローカル・ストレージ・デバイスとの間で同期を維持するために、ステップ３１５で説明したものと同様のジャーナルがローカルＳＡＮに書き込まれてよく、それにより、（ステップ４６５で、ローカルＳＡＮからのデータによりローカル・ストレージ・デバイスを復旧した後で）データ更新がローカル・ストレージ・デバイスに書き込まれてよいことが理解されるであろう。コンピュータシステムを、後になってローカル・ストレージ・デバイスからブートするように構成することができる。
【００３２】
続いて、コンピュータシステムは通常動作に入り、上記で説明したステップ３３０で始まるそれらのステップを繰り返す。当業者は、図２から図４の方法において実行されてよい、および／または省略されてよい、多くの追加の、および同等のステップを容易に認識するであろう。そのような追加の、および同等のステップは、この議論を単純化および簡潔化するために、本明細書では省略されているにすぎない。
【００３３】
本発明を、図面および上述の説明において図示および説明してきたが、そのような図示および説明は、特徴において例示的であり、限定的ではないものとしてみなされるべきである。本発明の一実施形態、およびその軽微な変形形態を示し、説明してきた。本発明の趣旨の範囲に入るすべての変更形態および修正形態に対する保護が望まれる。当業者は、本発明の範囲内にある上記で説明された実施形態の変形形態を理解するであろう。結果として、本発明は、上記で議論された特定の例および例証に限定されず、以下の特許請求の範囲およびその均等物によってのみ限定される。
【図１】
2012507788.tif 000003
【図２】
2012507788.tif 000004
【図３】
2012507788.tif 000005
【図４】
2012507788.tif 000006
【国際調査報告】
2012507788.tif 000007