(57)【特許請求の範囲】
【請求項１】
仮想化サーバ・プラットフォーム上でブート可能な仮想ストレージ・アプライアンスをブートする方法であって、
サーバ・プラットフォームに仮想ストレージ・アプライアンスを提供することを含み、前記仮想ストレージ・アプライアンスが、複数のディスクを含むディスクアレイを管理するように構成され、前記ディスクのうちの少なくとも１つが、ブート・コンソールを有する隠しブート・パーティションを含み、さらに、
前記サーバ・プラットフォームを起動すること、
ブート・コードを前記サーバ・プラットフォームにロードすること、
前記ブート・コンソールを前記隠しブート・パーティションからロードすること、そして、
前記ブート・コンソールが、仮想化環境のためのブート・コンポーネントをロードすること、を含む方法。
【請求項２】
前記仮想ストレージ・アプライアンスが、前記サーバ・プラットフォームに関連付けられたゲスト・オペレーティング・システムを含む、請求項１に記載の方法。
【請求項３】
前記仮想ストレージ・アプライアンスがＲＡＩＤ制御装置を含む、請求項１に記載の方法。
【請求項４】
前記仮想化環境が、前記仮想ストレージ・アプライアンスと、異なるオペレーティング・システムを実行する複数の仮想マシンとをサポートする仮想マシンモニタを含む、請求項１に記載の方法。
【請求項５】
前記ブート・コードがＢＩＯＳ環境またはＥＦＩ環境のうちの１つをロードする、請求項１に記載の方法。
【請求項６】
前記ディスクアレイがハードディスク・ドライブアレイを含む、請求項１に記載の方法。
【請求項７】
前記ディスクアレイがストレージ・エリア・ネットワークを含む、請求項１に記載の方法。
【請求項８】
前記ディスクアレイがＲＡＩＤアレイを含む、請求項１に記載の方法。
【請求項９】
前記仮想ストレージ・アプライアンスを管理することをさらに含む、請求項１に記載の方法。
【請求項１０】
前記仮想ストレージ・アプライアンスを提供することが、
前記サーバ・プラットフォームによってアクセス可能であるインストール・パッケージを提供することを含み、前記インストール・パッケージは、前記仮想ストレージ・アプライアンスをインストールするインストール・スクリプトと、ブート・コンソールと、管理モジュールとを含み、さらに、
前記サーバ・プラットフォームを起動して前記ブート・コードをロードすること、
前記ブート・コード上で動かすように前記インストール・パッケージをロードすること、
前記インストール・スクリプトを動かして、前記ディスクに前記隠しブート・パーティションを作成し、前記ブート・コンソールと前記管理モジュールとを前記隠しブート・パーティションにコピーすること、
前記サーバ・プラットフォームをリブートして、前記ブート・コードをロードすること、
前記ブート・コンソールと前記管理モジュールとを前記隠しブート・パーティションからロードすること、
前記管理モジュールを介して前記ディスクアレイを構成すること、
隠しブート・パーティションを作成し、前記ブート・コンソールと前記管理モジュールとを前記ディスクアレイの各ディスクに複製すること、そして、
前記ブート・コンソールをストレージ・ドライバとして使用して、前記仮想化環境をインストールすること、
によって、前記サーバ・プラットフォームに前記仮想ストレージ・アプライアンスをインストールすることを含む、請求項１に記載の方法。
【請求項１１】
前記インストール・パッケージが、コンパクトディスク、デジタルビデオディスク、およびフラッシュメモリ・デバイスのうちの少なくとも１つを介して、前記サーバ・プラットフォームに提供される、請求項１０に記載の方法。
【請求項１２】
前記サーバ・プラットフォームに前記仮想ストレージ・アプライアンスをインストールすることが、前記サーバ・プラットフォームをリブートすることをさらに含む、請求項１０に記載の方法。
【請求項１３】
前記サーバ・プラットフォームをリブートすることが、
前記ブート・コンソールと前記管理モジュールとを前記ディスクのうちの１つの前記隠しブート・パーティションからロードすること、そして、
前記ブート・コンソールが前記仮想化環境をロードすること、を含む請求項１２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２００８年７月１６日に出願され、「Ｍｅｔｈｏｄ  ｔｏ  Ｉｎｓｔａｌｌ  ａｎｄ  Ｂｏｏｔ  ａ  Ｖｉｒｔｕａｌ  Ａｐｐｌｉａｎｃｅ  ｔｈａｔ  Ｏｗｎｓ  Ｂｏｏｔ  Ｄｅｖｉｃｅｓ」と題された、米国仮特許出願第６１／１３５２３１号の優先権の利益を主張するものであり、その全体を参照により本明細書に組み込む。
【０００２】
本発明は、一般にコンピュータ・データストレージに関し、より詳細には、サーバ・プラットフォーム上の仮想ストレージ・アプライアンスおよび仮想マシンモニタ（ＶＭＭ）環境に関する。
【背景技術】
【０００３】
ビジネス環境用のコンピュータ・ネットワークは、より多くのストレージを必要とし続けている。典型的に、そうした企業では、集中型データストレージ・システムを利用しており、コンピュータ・ネットワークは、ネットワーク上でデータストレージ・システムと通信するさまざまなパーソナル・コンピュータ、ラップトップなどを含む。データストレージ・システムは、典型的にサーバ・プラットフォームを含み、サーバ・プラットフォームは、ハードディスク・ドライブ、磁気もしくは光学ディスク、および／またはストレージ・エリア・ネットワーク（ＳＡＮ）などの、専用のデータストレージ・リソースについての情報の記憶、およびそれらからの情報の取出しを制御する。サーバ・プラットフォームは、典型的にストレージ制御装置を含み、ストレージ制御装置は、物理ディスク・ドライブを管理し、それらを論理ユニットとしてサーバ・プラットフォームに提示する。
【０００４】
１つのソリューションでは、ストレージ制御装置が、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）標準のハードウェア実装を含む。ＲＡＩＤは、冗長性のためにストレージ・デバイスをアレイに配列する技術によって、より廉価なコンポーネントからストレージの信頼性を提供する、ストレージ・ソリューションである。一般的に、ハードウェアＲＡＩＤ実装は、複数のストレージ・デバイスの中でデータを分割して複製する専用のハードウェアを利用するが、アレイは、サーバ・プラットフォームによって単一のディスクとして見られる。この実装が、より廉価なオプションを提供する一方で、ソリューションは、特定の状況においては、望ましくない高額となり得る専用のハードウェアの使用を依然必要とする。
【０００５】
処理能力が向上するにつれて、ストレージ制御装置を専用のハードウェアではなく、ソフトウェアにおいて実装することが、より一般的になっている。たとえば、現在、ＲＡＩＤ論理がサーバ・プラットフォームのオペレーティング・システムの一部である、いくつかのソフトウェアＲＡＩＤ実装が存在する。これらのソリューションは、全体のコスト、および特定のハードウェア・プラットフォームへの依存を著しく下げることができる。しかしながら、ソフトウェア実装は、サーバ・プラットフォームがまた、仮想化を介して複数の実行環境（たとえば、複数のエミュレートされたオペレーティング・システム）をサポートするという状況において、大きな欠点を有する。
【０００６】
ソフトウェアＲＡＩＤ実装の別の大きな制約は、実装が、サポートされるオペレーティング・システムごとに構成される必要があることであり、これはコスト、ならびに開発、デバッグ、および配置への不都合を追加することがある。Ｌｉｎｕｘ（登録商標、以下同）の派生版などのいくつかのケースでは、オープンソース・ライセンスの条件（たとえば、ＧＮＵ一般公有使用許諾、その他）に基づくソース・コース・コードの公開に関連したさらなる複雑化が存在することがある。これらのオープンソース準拠問題が、そのようなオペレーティング・システム用のソフトウェアＲＡＩＤ実装のコストおよび不都合を、さらに増加させることがある。
【０００７】
仮想化技術により、仮想マシンモニタ（ＶＭＭ）を動かす単一のホストコンピュータが、ホストの複数の抽象概念または複数のビューを提示することが可能になり、それにより、基礎となるホストハードウェアは、１つまたは複数の、独立して動作する仮想マシン（ＶＭ）として見える。ＶＭＭは、ホストコンピュータが複数の実行環境をサポートするのを可能にする、ホストプログラムを含む。各ＶＭは、それ自身のファームウェア、オペレーティング・システム、および／またはソフトウェア・アプリケーションを動かす、内蔵型のプラットフォームとして機能することができる。ＶＭＭは、ＶＭへのホストリソースの割当て、および仮想化を管理する。
【０００８】
ソフトウェアＲＡＩＤ、または他のソフトウェア・ストレージ制御装置を、ＶＭＭ環境において仮想ストレージ・アプライアンスとして組み合わせる場合、重要な構成課題が存在する。たとえば、ＶＭＭ環境において仮想ストレージ・アプライアンスをインストールする、および／またはブートするのに関係する、いくつかの複雑性が存在する。ブートするためには、仮想ストレージ・アプライアンスがプラットフォーム上にあることが必要とされる。利用可能なＶＭＭ環境は多数あるものの、それぞれが異なっている。既存のソリューションは、ＶＭＭ環境ごとに独立して設計されなければならない上、プラットフォームは、使用されることになる特定のＶＭＭ環境用にあらかじめ構成されなければならず、それによって重要な記号論理学的課題が生み出される。たとえば、仮想化なしで標準のオペレーティング・システムをブートするには、システム（たとえば、ＢＩＯＳ、ＥＦＩ）はいくつかのモジュールをロードするのみであり、かなり単純である。典型的に、このシナリオでは、ブート・ローダおよびドライバは、Ｏ／Ｓローダがプロセスを引き継いで制御する前に、ロードされてよい。しかしながら、ＶＭＭ環境では、システムは、ＶＭＭ環境、ホスト・オペレーティング・システム、および仮想ストレージ・アプライアンス（およびそれに伴うストレージ制御論理）のすべてを、ブート・ロードからロードしなければならないために、このプロセスは著しくより複雑である。これらのコンポーネントのすべてをロードするには、１０〜１００ＭＢ、またはそれ以上と同程度を有する画像を必要とすることがある。さらに、ブート・デバイスは、典型的にはＲＡＩＤボリュームであり、したがって、オペレーティング・システムにＲＡＩＤエンジンがある場合、ＲＡＩＤ機能はそれをロードすることを必要とし、面倒な再帰的自己参照を含むことがある。
【０００９】
この問題に対処するために試される既存のソリューションは、ブート・コードにおいてＲＡＩＤローダを使用することを含む。しかしながら、これは別のＲＡＩＤスタックを作成しなければならないことが代償となり、それ自体が独自の複雑性を有する。大手メーカは、ＥＦＩ／ＢＩＯＳにおいてＲＡＩＤスタックを適格にし、維持することを可能にすることができる一方で、多くの顧客はそうすることができない、またはそうすることを望まないであろう。この問題に対処するために試される別のソリューションは、サーバ・プラットフォームの不揮発性メモリに完全なＶＭＭ環境を提供することを含む。これもまた、別の一連の課題を持ち込む。たとえば、ＶＭＭ環境用のコードのサイズが問題となることがある。さらに、サーバ・プラットフォームの不揮発性メモリに完全なＶＭＭ環境が提供される場合、ＶＭＭ環境の分散および／または維持に関連付けられた、大きなビジネス上の課題が存在する。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ＶＭＭ環境に仮想ストレージ・アプライアンスを組み合わせる多くの利点にもかかわらず、本技術分野においては、特定のＶＭＭ環境から独立しており、プラットフォームをあらかじめ構成する必要性を省くことができる標準のサーバ・プラットフォームでの、より費用対効果の高いソリューション、ならびに、仮想ストレージ・アプライアンスをインストールする、および／またはブートするためのシステムおよび方法の必要性が依然ある。
【課題を解決するための手段】
【００１１】
仮想化サーバ・プラットフォーム上で仮想ストレージ・アプライアンスをインストールする、および／またはブートするためのシステム、方法、コンピュータシステム、およびコンピュータプログラムのさまざまな実施形態が開示される。一実施形態は、仮想化サーバ・プラットフォーム上でブート可能な仮想ストレージ・アプライアンスをブートするための方法である。そのような一方法は、サーバ・プラットフォームに、複数のディスクを含むディスクアレイを管理するように構成された仮想ストレージ・アプライアンスを提供することであって、ディスクのうちの少なくとも１つがブート・コンソールを有する隠しブート・パーティションを含む、仮想ストレージ・アプライアンスを提供することと、サーバ・プラットフォームを起動することと、ブート・コードをサーバ・プラットフォームにロードすることと、ブート・コンソールを隠しブート・パーティションからロードすることと、ブート・コンソールが、仮想化環境のためのブート・コンポーネントをロードすることとを含む。
【図面の簡単な説明】
【００１２】
【図１】仮想ストレージ・アプライアンスをインストールすることができるサーバ・プラットフォームの実施形態を示すブロック図である。
【図２】図１のサーバ・プラットフォームに仮想ストレージ・アプライアンスをインストールするのに使用することができる、ＩＯＶＭインストール・パッケージの実施形態を示すブロック図である。
【図３】図２のＩＯＶＭインストール・パッケージによって、図１のサーバ・プラットフォームに仮想ストレージ・アプライアンスをインストールするための方法の実施形態を示す流れ図である。
【図４】仮想ストレージ・アプライアンスのインストール中の、サーバ・プラットフォームの動作を示す図である。
【図５】仮想ストレージ・アプライアンスのインストール中の、サーバ・プラットフォームの動作を示す図である。
【図６】仮想ストレージ・アプライアンスのインストール中の、サーバ・プラットフォームの動作を示す図である。
【図７】仮想ストレージ・アプライアンスのインストール中の、サーバ・プラットフォームの動作を示す図である。
【図８】仮想ストレージ・アプライアンスのインストール中の、サーバ・プラットフォームの動作を示す図である。
【図９】仮想ストレージ・アプライアンスのインストール中の、サーバ・プラットフォームの動作を示す図である。
【図１０】仮想ストレージ・アプライアンスのインストール中の、サーバ・プラットフォームの動作を示す図である。
【図１１】仮想ストレージ・アプライアンスのインストール中の、サーバ・プラットフォームの動作を示す図である。
【図１２】仮想ストレージ・アプライアンスがインストールされているサーバ・プラットフォームの実施形態のブロック図である。
【図１３】図１２の仮想ストレージ・アプライアンスをブートするための方法の実施形態を示す流れ図である。
【図１４】図１２のブート・プロセス中の、サーバ・プラットフォームの動作を示す図である。
【図１５】図１２のブート・プロセス中の、サーバ・プラットフォームの動作を示す図である。
【発明を実施するための形態】
【００１３】
サーバ・プラットフォーム上で仮想ストレージ・アプライアンスをインストールする、および／またはブートするための、システム、方法、およびコンピュータプログラムのさまざまな実施形態が開示される。導入事項として、かつ仮想ストレージ・アプライアンスおよびサーバ・プラットフォームが動作する作業環境を示すために、図１は、例示的なコンピュータシステム１００を示す。コンピュータシステム１００は、仮想ストレージ・アプライアンスをインストールする、および／またはブートすることができるサーバ・プラットフォーム１０２を含む。実施形態において、サーバ・プラットフォームを１０２は、ハードウェア１０４を有する標準の、市販のサーバ・プラットフォームを含み、ハードウェア１０４は、１つまたは複数のプロセッサ１０６と、メモリ１０８と、ブート・コード１１２を収容する不揮発性メモリ１１０とを含む。プロセッサ１０６、メモリ１０８、不揮発性メモリ１１０、およびブート・コード１１２は、サーバ・プラットフォーム１０２上であらかじめ構成されて、以下で説明するインストール・プロセスおよびブート・プロセスを行うのに使用することができることを理解されたい。したがって、図１に示す他のコンポーネントは、図２〜図１５を参照して以下で説明するインストール・プロセスおよびブート・プロセスに従って、サーバ・プラットフォーム１０２によってロードされるコンポーネントを表すことを、さらに理解されたい。
【００１４】
ブート・コード１１２は、ハードウェア１０４を構成してオペレーティング・システムのブート手順を開始するために、サーバ・プラットフォーム１０２によって使用されるコードを含む。実施形態では、ブート・コード１１２は、たとえば、ＢＩＯＳ環境、ＥＦＩ環境、または他のブート環境をロードするように構成されてよい。
【００１５】
仮想マシンモニタ１１４は、仮想マシン環境からハードウェア１０４を分離するのに使用される、ハイパーバイザ、または薄いソフトウェア層を含む。ＶＭＭ１１４は、独立したオペレーティング・システム（たとえば、ＯＳ１１６ａ、１１６ｂ、１１６ｃ）に関連付けられた１つまたは複数のサービス仮想マシン、および特定用途ゲスト仮想マシン（すなわちＩ／Ｏ仮想マシン１１８）の実行を制御する。以下でより詳細に説明するように、ＩＯＶＭ１１８は、複数の物理ディスク１２４を含むディスクアレイ１２２に関連付けられたＩ／Ｏを処理するように構成された専用の仮想マシンを含む。ＩＯＶＭ１１８は、データを記憶してそれをディスクアレイ１２２から取り出すように構成されたストレージ制御装置１２０を含む。プロセッサ１０６は、ＶＭＭ１１４、ＩＯＶＭ１１８、Ｏ／Ｓ１１６ａ〜ｃ、および任意の他のソフトウェアおよび／またはファームウェアをサポートするための処理を含む、サーバ・プラットフォーム１０２に関連付けられた処理動作を行う。
【００１６】
サーバ・プラットフォーム１０２、およびＩＯＶＭ１１８の一般的な動作環境を説明してきたところで、サーバ・プラットフォーム１０２にＩＯＶＭ１１８をインストールするためのシステムおよび方法のさまざまな実施形態を、図３〜図１１を参照して説明する。図３は、サーバ・プラットフォーム１０２にＩＯＶＭ１１８をインストールするための方法３００の実施形態を示す。図４〜図１１は、コンピュータシステム１００のコンポーネントを参照して、プリブート・プロセスとしてのインストール・プロセスを示す。方法３００に関連付けられたプロセスまたは方法の説明のうちの１つまたは複数は、プロセスにおける論理的機能またはステップを実装するための、１つまたは複数の実行可能な命令を含むモジュール、セグメント、論理、またはコードの部分を表すことができることを理解されたい。論理的機能は、ソフトウェア、ハードウェア、ファームウェア、またはこれらの任意の組合せにおいて実装することができることを、さらに理解されたい。特定の実施形態では、図３の流れ図、および図４〜図１１のシステム・ブロック図を参照して説明される論理的機能が、ソフトウェアまたはファームウェアにおいて実装されてよく、ソフトウェアまたはファームウェアは、メモリ１０８または不揮発性メモリ１１０に記憶されており、ハードウェア１０４もしくは任意の他のプロセッサ、またはサーバ・プラットフォーム１０２に関連付けられた好適な命令実行システムによって実行される。さらに、論理的機能は、命令実行システム、装置、もしくはデバイスから命令を取り出し、その命令を実行することができる、コンピュータベース・システム、プロセッサ含有システム、またはサーバ・プラットフォーム１０２に関連付けられた他のシステムなどの、命令実行システム、装置、もしくはデバイスによって使用される、またはそれらに関連して使用される、あらゆるコンピュータ可読媒体において具体化されてよい。
【００１７】
図３を参照すると、サーバ・プラットフォーム１０２（ブロック３０２）、およびＩＯＶＭインストール・パッケージ２００（ブロック３０４）が提供されている。実施形態では、サーバ・プラットフォーム１０２は、ＶＭＭまたはＩＯＶＭ１１８に関連付けられた特殊化されたコンポーネントなしの、標準のサーバ（たとえばＯＥＭサーバ）を含むことができる。図２に示されているように、実施形態では、ＩＯＶＭインストール・パッケージ２００は、ＩＯＶＭ１１８のインストールに関連付けられたさまざまなコンポーネントを含み、それらはたとえば、インストール・スクリプト２０２、ＩＯＶＭブート・コンソール２０４、ＩＯＶＭ管理モジュール２０６、およびＶＭＭ２０８である。インストール・パッケージ２００は、サーバ・プラットフォーム１０２によりアクセス可能な、コンパクトディスク、デジタルビデオディスク、またはフラッシュメモリ・デバイス上で提供されてよい。他の実施形態では、インストール・パッケージ２００は、サーバ・プラットフォーム１０２の内部コンポーネントとして（たとえば、メモリ１０８、不揮発性メモリ１１０などにおいて）提供されてよい。インストール・パッケージ２００のコンポーネントは、望ましいインストール実装に応じて、１つまたは複数のパッケージにおいて提供されてよいことを理解されたい。たとえば、インストール・スクリプト２０２、ＩＯＶＭブート・コンソール２０４、およびＩＯＶＭ管理モジュール２０６を１つのインストール・パッケージにおいて提供することができ、ＶＭＭ２０８を、標準の、市販のＶＭＭインストール・パッケージとして提供することができる。
【００１８】
この点において、インストール・パッケージ２００およびインストール方法３００は、さまざまな利点を有するインストール方式を提供することができることをさらに理解されたい。このインストール方式は、任意の、望ましい、現在または未来の仮想化環境および／またはＶＭＭ２０８と共に機能するように設計されてよい。Ｏ／Ｓ固有のインストール手順は、取り除かれてよい。さらに、このインストール方式は、標準化されたサーバ・プラットフォームに適応可能であってよい。
【００１９】
ブロック３０６で、サーバ・プラットフォーム１０２が起動する。図４に示すように、かつブロック３０８で、起動後に、ブート・コード１１２が不揮発性メモリ１１０からロードされる。ブート・コード１１２は、たとえば、ＢＩＯＳ環境、ＥＦＩ環境、または他のブート環境をロードするように構成されてよい。ブート環境は、サーバ・プラットフォーム１０２上でストレージ制御装置１２０と互換性のある標準のストレージ・ドライバ２１０を含むことができる。実施形態では、ストレージ・ドライバ２１０は、ＳＡＳドライバを含むことができ、ストレージ制御装置１２０は、ＳＡＳ制御装置を含むことができる。しかしながら、当業者は、他の制御装置およびドライバが、他のデータ転送技術、標準、および／またはインターフェースを実装するのに使用されてよいことを理解するであろう。
【００２０】
ブロック３１０（図５）で、ブート・コード１１２上で動かすように、ＩＯＶＭインストール・パッケージ２００がロードされる。図６に示すように、ブロック３１２およびブロック３１４で、インストール・スクリプト２０２が実行され、ブート・ディスクにブート・パーティションが作成される。図６の実施形態では、ブート・ディスクは、ディスクアレイ１２２の物理ディスク１２４のうちの１つ（すなわち物理ディスク１２４ａ）を含む。ブート・パーティションは、システムから隠されていてよい。たとえば、ＲＡＩＤ実装では、ブート・パーティションは、ＲＡＩＤ標準によって画定されたディスク・データ・フォーマット（ＤＤＦ）空間の内部、または、任意の他のプライベート・パーティションに隠されていてよい。ブロック３１６（図７）で、インストール・スクリプト２０２はまた、ＩＯＶＭブート・コンソール２０４およびＩＯＶＭ管理モジュール２０６を、ＩＯＶＭインストール・パッケージ２００からブート・パーティション１１６へとコピーすることができる。ブート・パーティション１１６は、ブート可能にされてよい。
【００２１】
ブロック３１８で、サーバ・プラットフォーム１０２がリブートされ、図８に示すように、ブート・コード１１２が、不揮発性メモリ１１０からロードされる（ブロック３２０）。ブロック３２２（図９）で、ＩＯＶＭブート・コンソール２０４およびＩＯＶＭ管理モジュール２０６が、ブート・パーティション１１６からサーバ・プラットフォーム１０２にロードされてよい。上記で説明したように、ＩＯＶＭ１１８は、専用のＯＳベースのゲスト仮想マシンを含むことができる。このようにして、ＯＳローダが、ブート環境から制御を取得し、ＩＯＶＭブート・コンソール２０４およびＩＯＶＭ管理モジュール２０６を、ブート・パーティション１１６からロードすることができる。実施形態では、ＩＯＶＭブート・コンソール２０４は、標準のオペレーティング・システムを含むことができる。したがって、ＩＯＶＭブート・コンソール２０４は、標準の手順を使用して、オペレーティング・システムをブートすることができる。しかしながら、コンピュータシステム１００において、ＩＯＶＭブート・コンソール２０４は、ストレージ仮想化を管理する（たとえばＲＡＩＤ論理を管理する）ために構成されていることを理解されたい。
【００２２】
ブロック３２４で、ユーザは、ＩＯＶＭ管理モジュール２０６とインターフェースを取って、ディスクアレイ１２２を構成することができる。たとえば、ＩＯＶＭ管理モジュール２０６は、ユーザが、所望に応じて、ディスクグループ、仮想ディスク、ボリュームなどを作成できるように構成されてよい。ブロック３２６（図１０）で、ＩＯＶＭブート・コンソール２０４は、ディスクアレイ１２２のすべてのディスクに、このケースでは、物理ディスク１２４ｂおよび１２４ｃに、隠しブート・パーティション１１６を作成する。ＩＯＶＭブート・コンソールはまた、ブート・ディスク（すなわち物理ディスク１２４ａ）の内容を、他のブート・パーティション１１６に複製することができる。このプロセスは、物理ディスク１２４の故障の場合に、コンピュータシステム１００が、たとえば、ＲＡＩＤ方式の必要なしで動くことができる、冗長方式を可能にすることを理解されたい。物理ディスク１２４のすべてのブート・ディスクの内容を複製することにより、標準のサーバのブート・プロセスが、第１のディスク（すなわち物理ディスク１２４ａ）からブートすることになる。このディスクが故障している場合は、ブート・プロセスは第２のディスク（すなわち物理ディスク１２４ｂ）などからブートを試みることになり、それにより、Ｎウェイ冗長方式を提供する。
【００２３】
ＩＯＶＭブート・コンソール２０４をインストールし、ディスクアレイ１２２を構成してから、ブロック３２８（図１１）で、サーバ・プラットフォーム１０２は、ＩＯＶＭブート・コンソール２０４をストレージ・ドライバとして使用して、仮想環境（たとえばＶＭＭ２０８）をインストールする。上記で触れたように、サーバ・プラットフォーム１０２は、任意の所望の仮想環境をサポートすることができる。仮想環境は、ＩＯＶＭインストール・パッケージ２００から直接、または標準のＯＥＭ分散インストール・パッケージからインストールされてよい。仮想環境のインストールは、従来のやり方において続行することができる。
【００２４】
ＩＯＶＭ１１８および仮想環境が（上記で説明したやり方で、またはサーバ・プラットフォーム１０２に提供される別のやり方で）インストールされた後、サーバ・プラットフォーム１０２は、ブート方法の始動を開始することができる。ブート方法の実施形態は、図１２〜図１５に示されている。図１２は、ブート方法の動作を示す流れ図であり、図１３〜図１５は、サーバ・プラットフォーム１０２およびディスクアレイ１２２のコンポーネントを参照して、ブート方法を示す。
【００２５】
図１２を参照すると、ブロック１２０２で、ディスクアレイを管理するための仮想ストレージ・アプライアンスが、サーバ・プラットフォーム１０２に提供される。仮想ストレージ・アプライアンスは、ＩＯＶＭ１１８に関して上記で説明されたやり方、または別のやり方で、構成されて、コンピュータシステム１００にインストールされてよいことを理解されたい。ブロック１２０４（図１３）で、ブート・コード１１２がロードされる。ブート・コード１１２は、たとえば、ＢＩＯＳ環境、ＥＦＩ環境、または他のブート環境をロードするように構成されてよい。ブート環境は、サーバ・プラットフォーム１０２上でストレージ制御装置１２０と互換性のある標準のストレージ・ドライバ２１０を含むことができる。ブート環境は、ブート・ローダをロードし、それを呼び出すことができる。ブロック１２０６（図１４）で、ＩＯＶＭブート・コンソール２０４およびＩＯＶＭ管理モジュール２０６が、ディスクアレイ１２２の物理ディスクのうちの１つの隠しパーティションからロードされる。決定ブロック１２０８、およびブロック１２１０で示すように、ＩＯＶＭ管理モジュール２０６は、コンピュータシステム１００のユーザが、ディスクアレイ１２２、および／またはＩＯＶＭ１１８のさまざまな側面を構成する、および／または管理することができるように使用されてよい。ブロック１２１２（図１５）で、ＩＯＶＭブート・コンソール２０４は、仮想環境のためのブート・コンポーネントをロードする。ＩＯＶＭブート・コンソール２０４は、ブート・プロセスを開始する。ＩＯＶＭブート・コンソール２０４は、ブート・ディスク（たとえば、物理ディスク１２４ａ〜１２４ｃのうちの１つ）にアクセスし、インストールされたＶＭＭブート・ローダの位置を特定することができる。実施形態では、ＶＭＭブート・ローダは、インストールされた仮想化環境と一体化されたコンポーネントを含むことができる。ＶＭＭブート・ローダは、ディスクアレイ１２２の一部であるブート・ボリュームのＯ／Ｓの一部であることができる。図１５に示すように、ＩＯＶＭブート・コンソール２０４は、ＶＭＭ２０８をブートし、次いで、当業者が理解するような典型的なやり方で、ＶＭＭブート・ローダに制御を引き渡す。
【００２６】
本開示は、本発明の原理および概念を実証する目的で、１つまたは複数の例示的な、または説明された実施形態を参照して提示されてきたことに留意されたい。本発明は、これらの実施形態には限定されない。当業者によって理解されるように、本明細書で提供された説明を考慮して、多くの変形が本明細書で説明された実施形態になされてよく、すべてのそのような変形は、本発明の範囲内である。
【図１】
0005404783.tif 000002
【図２】
0005404783.tif 000003
【図３】
0005404783.tif 000004
【図４】
0005404783.tif 000005
【図５】
0005404783.tif 000006
【図６】
0005404783.tif 000007
【図７】
0005404783.tif 000008
【図８】
0005404783.tif 000009
【図９】
0005404783.tif 000010
【図１０】
0005404783.tif 000011
【図１１】
0005404783.tif 000012
【図１２】
0005404783.tif 000013
【図１３】
0005404783.tif 000014
【図１４】
0005404783.tif 000015
【図１５】
0005404783.tif 000016