(57)【要約】一実施形態は、ホスト・サーバ・プラットフォーム上に仮想ストレージ・アプライアンスをインストールするための方法である。１つのそのような方法は、ホスト・サーバ・プラットフォームにインストール・パッケージを供給し、このインストール・パッケージが、ＩＯＶＭ（Ｉ／Ｏ仮想マシン）をインストールするためのインストール・スクリプトと、ＩＯＶＭブート・コンソールと、ＩＯＶＭ管理モジュールとを備えること、インストール・スクリプトを実行して、ブート・ディスク上に、隠されたブート・パーティションを作成し、その隠されたブート・パーティションにＩＯＶＭブート・コンソールおよびＩＯＶＭ管理モジュールをコピーすること、ホスト・サーバ・プラットフォームを再起動すること、隠されたブート・パーティションからＩＯＶＭブート・コンソールおよびＩＯＶＭ管理モジュールを読み込むこと、ＩＯＶＭ管理モジュールを介してディスク・アレイを構成すること、このアレイの中の各ディスクに関して、隠されたブート・パーティションを作成して、ＩＯＶＭブート・コンソールおよびＩＯＶＭ管理モジュールをレプリケートすること、ならびにＩＯＶＭブート・コンソールをストレージ・ドライバとして使用して仮想ストレージ環境をインストールすることを備える。
2011528470.tif 000002
【特許請求の範囲】
【請求項１】
ホスト・サーバ・プラットフォーム上に仮想ストレージ・アプライアンスをインストールするための方法であって、
ホスト・サーバ・プラットフォームによってアクセスされることが可能なインストール・パッケージを提供し、前記インストール・パッケージが、ＩＯＶＭ（Ｉ／Ｏ仮想マシン）をインストールするためのインストール・スクリプトと、ＩＯＶＭブート・コンソールと、ＩＯＶＭ管理モジュールとを備えること、
前記ホスト・サーバ・プラットフォームの電源を投入し、ブート・コードを読み込むこと、
前記インストール・パッケージを読み込んで、前記ブート・コードの上で実行すること、
前記インストール・スクリプトを実行して、ブート・ディスク上に隠されたブート・パーティションを作成し、前記隠されたブート・パーティションに前記ＩＯＶＭブート・コンソールおよび前記ＩＯＶＭ管理モジュールをコピーすること、
前記ホスト・サーバ・プラットフォームを再起動し、前記ブート・コードを読み込むこと、
前記隠されたブート・パーティションから前記ＩＯＶＭブート・コンソールおよび前記ＩＯＶＭ管理モジュールを読み込むこと、
前記ＩＯＶＭ管理モジュールを介してディスク・アレイを構成すること、
前記ディスク・アレイの中の各ディスク上に、隠されたブート・パーティションを作成して、前記ＩＯＶＭブート・コンソールおよび前記ＩＯＶＭ管理モジュールをレプリケートすること、ならびに
前記ＩＯＶＭブート・コンソールをストレージ・ドライバとして使用して仮想ストレージ環境をインストールすることを備える方法。
【請求項２】
前記ＩＯＶＭは、ゲスト・オペレーティング・システムを備える請求項１に記載の方法。
【請求項３】
前記ＩＯＶＭは、ＲＡＩＤコントローラを備える請求項１に記載の方法。
【請求項４】
前記インストール・パッケージは、コンパクト・ディスク、デジタル・ビデオ・ディスク、およびフラッシュ・メモリ・デバイスの少なくとも１つを介して前記ホスト・サーバ・プラットフォームに供給される請求項１に記載の方法。
【請求項５】
前記ホスト・サーバ・プラットフォームを再起動することをさらに備える請求項１に記載の方法。
【請求項６】
前記ホスト・サーバ・プラットフォームを前記再起動することは、
前記ディスクのうちの１つのディスク上の前記隠されたブート・パーティションから前記ＩＯＶＭブート・コンソールおよび前記ＩＯＶＭ管理モジュールを読み込むこと、
前記ＩＯＶＭブート・コンソールが前記仮想環境を読み込むことを備える請求項５に記載の方法。
【請求項７】
前記仮想環境は、前記ＩＯＶＭをサポートする仮想マシン・モニタと、様々なオペレーティング・システムを実行する複数の仮想マシンとを備える請求項１に記載の方法。
【請求項８】
前記ブート・コードは、ＢＩＯＳ環境またはＥＦＩ環境のいずれかを読み込む請求項１に記載の方法。
【請求項９】
前記ディスク・アレイは、ハードディスク・ドライブ・アレイを備える請求項１に記載の方法。
【請求項１０】
前記ディスク・アレイは、ストレージ・エリア・ネットワークを備える請求項１に記載の方法。
【請求項１１】
前記ディスク・アレイは、ＲＡＩＤアレイを備える請求項１に記載の方法。
【請求項１２】
ホスト・サーバ・プラットフォーム上に仮想ストレージ・アプライアンスをインストールするための方法であって、
ホスト・サーバ・プラットフォームにインストール・パッケージを供給し、前記インストール・パッケージが、ＩＯＶＭ（Ｉ／Ｏ仮想マシン）をインストールするためのインストール・スクリプトと、ＩＯＶＭブート・コンソールと、ＩＯＶＭ管理モジュールとを備えること、
前記インストール・スクリプトを実行して、ブート・ディスク上に、隠されたブート・パーティションを作成し、前記隠されたブート・パーティションに前記ＩＯＶＭブート・コンソールおよび前記ＩＯＶＭ管理モジュールをコピーすること、
前記ホスト・サーバ・プラットフォームを再起動すること、
前記隠されたブート・パーティションから前記ＩＯＶＭブート・コンソールおよび前記ＩＯＶＭ管理モジュールを読み込むこと、
前記ＩＯＶＭ管理モジュールを介してディスク・アレイを構成すること、
前記アレイの中の各ディスクに関して、隠されたブート・パーティションを作成して、前記ＩＯＶＭブート・コンソールおよび前記ＩＯＶＭ管理モジュールをレプリケートすること、ならびに
前記ＩＯＶＭブート・コンソールをストレージ・ドライバとして使用して仮想ストレージ環境をインストールすることを備える方法。
【請求項１３】
前記ＩＯＶＭブート・コンソールは、ＲＡＩＤブート・コンソールを備える請求項１２に記載の方法。
【請求項１４】
前記ディスク・アレイを前記構成することは、ＲＡＩＤアレイを構成することを備える請求項１２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本出願は、参照により全体が本明細書に組み込まれている、２００８年７月１６日に出願した、「Ｍｅｔｈｏｄ  ｔｏ  Ｉｎｓｔａｌｌ  ａｎｄ  Ｂｏｏｔ  ａ  Ｖｉｒｔｕａｌ  Ａｐｐｌｉａｎｃｅ  ｔｈａｔ  Ｏｗｎｓ  Ｂｏｏｔ  Ｄｅｖｉｃｅｓ」という名称の米国仮特許出願第６１／１３５，２３１号の優先権の利益を主張するものである。
【０００２】
本発明は、一般に、コンピュータ・データ・ストレージに関し、より詳細には、サーバ・プラットフォーム上の仮想ストレージ・アプライアンスおよびＶＭＭ（仮想マシン・モニタ）環境に関する。
【背景技術】
【０００３】
ビジネス環境において使用するためのコンピュータ・ネットワークは、より多くのストレージを要求しつづけている。通常、そのような企業は、集中データ・ストレージ・システムを使用し、コンピュータ・ネットワークは、ネットワークを介してそのデータ・ストレージ・システムと通信する様々なパーソナル・コンピュータ、ラップトップなどを含む。このデータ・ストレージ・システムは、ハードディスク・ドライブ、磁気ディスクもしくは光ディスク、および／またはＳＡＮ（ストレージ・エリア・ネットワーク）などの専用データ・ストレージ・リソース上に情報を格納すること、およびそのようなリソースから情報を取り出すことを制御するサーバ・プラットフォームを通常、含む。このサーバ・プラットフォームは、物理ディスク・ドライブを管理し、それらのドライブをサーバ・プラットフォームに論理ユニットとして提示するストレージ・コントローラを通常、含む。
【０００４】
１つのソリューションにおいて、ストレージ・コントローラは、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）標準のハードウェア実施形態を備える。ＲＡＩＤは、ストレージ・デバイスを冗長性のためにアレイに構成する技術を介して、より低価格の構成要素からストレージ信頼性をもたらすストレージ・ソリューションである。一般に、ハードウェアＲＡＩＤ実施形態は、複数のストレージ・デバイスの間でデータを分割し、レプリケートする専用のハードウェアを使用するが、そのアレイは、サーバ・プラットフォームによって単一のディスクと見なされる。この実施形態は、より低価格のオプションをもたらすが、このソリューションは、いくつかの状況において望ましくなく高価であり得る専用のハードウェアの使用を依然として要求する。
【０００５】
処理能力が増大するにつれ、ストレージ・コントローラを、専用のハードウェアではなく、ソフトウェアで実施することが、より一般的となっている。例えば、現在、ＲＡＩＤ論理がサーバ・プラットフォームのオペレーティング・システムの一部である、いくつかのソフトウェアＲＡＩＤ実施形態が存在する。これらのソリューションは、全体的な費用、および特定のハードウェア・プラットフォームへの依存を大幅に減らすことができる。しかし、ソフトウェア実施形態は、サーバ・プラットフォームが、仮想化を介して複数の実行環境（例えば、複数のエミュレートされたオペレーティング・システム）もサポートする状況において、大きな欠点を有する。
【０００６】
ソフトウェアＲＡＩＤ実施形態の別の大きな限界は、ソフトウェアＲＡＩＤ実施形態が、サポートされる各オペレーティング・システムに合わせて構成される必要があることであり、このことは、開発、デバッグ、および展開の費用および不都合を大きくする可能性がある。Ｌｉｎｕｘ派生品などの一部の事例において、オープンソース・ライセンス（例えば、ＧＮＵジェネラル・パブリック・ライセンス、およびその他）の条件に基づいて、ソース・コード（ｓｏｕｒｃｅ  ｃｏｄｅ）の公開と関係するさらなる厄介な問題が存在する可能性がある。これらのオープンソース遵守問題が、そのようなオペレーティング・システムのためにソフトウェアＲＡＩＤを実施することの費用および不都合をさらに大きくする可能性がある。
【０００７】
仮想化技術が、ＶＭＭ（仮想マシン・モニタ）を実行している単一のホスト・コンピュータが、ホストの複数の抽象化またはビューを提示することを可能にし、したがって、基礎をなすホスト・ハードウェアは、独立して動作する１つまたは複数のＶＭ（仮想マシン）のように見える。ＶＭＭは、ホスト・コンピュータが複数の実行環境をサポートすることを許すホスト・プログラムを備える。各ＶＭは、独自のファームウェア、オペレーティング・システム、および／またはソフトウェア・アプリケーションを実行する自己完結型のプラットフォームとして機能することが可能である。ＶＭＭは、ＶＭに対するホスト・リソースの割当て、および仮想化を管理する。
【０００８】
ソフトウェアＲＡＩＤコントローラまたはその他のソフトウェア・ストレージ・コントローラをＶＭＭ環境における仮想ストレージ・アプライアンスとして組み合わせる際、大きな構成上の課題が存在する。例えば、ＶＭＭ環境において仮想ストレージ・アプライアンスをインストールすること、および／または起動することに関与する、いくつかの複雑な問題が存在する。起動されるためには、仮想ストレージ・アプライアンスは、プラットフォーム上に存在することを要する。多数の利用可能なＶＭＭ環境が存在するが、各ＶＭＭ環境は異なる。既存のソリューションは、各ＶＭＭ環境に合わせて独立に設計されなければならず、さらにプラットフォームは、使用されるべき特定のＶＭＭ環境に合わせて事前構成されなければならず、このことは、大きなロジスティクス上の課題をもたらす。例えば、全く仮想化なしに、標準のオペレーティング・システムを起動することは、システム（例えば、ＢＩＯＳ、ＥＦＩ）が少数のモジュールだけを読み込んで、極めて単純である。通常、このシナリオでは、まずブート・ローダおよびドライバが読み込まれてから、Ｏ／Ｓローダがプロセスを引き継ぎ、制御することが可能である。しかし、ＶＭＭ環境では、このプロセスは、ブート・ロード時から、ＶＭＭ環境のすべて、ホスト・オペレーティング・システム、および仮想ストレージ・アプライアンス（および付随するストレージ制御ロジック）を読み込まなければならないため、相当により複雑である。これらの構成要素のすべてを読み込むことは、１０〜１００ＭＢ以上も有するイメージを要する可能性がある。さらに、ブート・デバイスは、通常、ＲＡＩＤボリュームであり、したがって、ＲＡＩＤエンジンがオペレーティング・システムの中にある場合、ブート・デバイスを読み込むのにＲＡＩＤ機能が要求され、このことには、負担になる再帰的自己参照が伴う可能性がある。
【０００９】
この問題に対処しようと試みるための既存のソリューションは、ブート・コードの中でＲＡＩＤローダを使用することを含む。しかし、このことには、それ独自の複雑な問題を有する、別のＲＡＩＤスタックを作成しなければならないという費用が伴う。大手製造業者は、ＲＡＩＤスタックを修飾し（ｑｕａｌｉｆｙ）、ＥＦＩ／ＢＩＯＳの中に維持することができる可能性があるが、多くの顧客は、そうすることができないか、そうしたいという気がない。この問題に対処しようと試みるための別のソリューションは、ＶＭＭ環境全体をサーバ・プラットフォームの不揮発性メモリの中で提供することを含む。このこともまた、別の一組の課題をもたらす。例えば、ＶＭＭ環境のためのコードのサイズが問題である可能性がある。さらに、ＶＭＭ環境全体がサーバ・プラットフォームの不揮発性メモリの中で提供される場合、ＶＭＭ環境の配布および／またはメンテナンスに関連する大きなビジネス上の課題が存在する。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】米国仮特許出願第６１／１３５，２３１号
【発明の概要】
【発明が解決しようとする課題】
【００１１】
ＶＭＭ環境において仮想ストレージ・アプライアンスを組み合わせることの多くの利点にもかかわらず、特定のＶＭＭ環境に依存せず、さらにプラットフォームを事前構成する必要性を解消することができる、標準のサーバ・プラットフォームにおいて仮想ストレージ・アプライアンスをインストールするため、および／または起動するための、費用対効果がより大きいソリューションおよびシステムおよび方法の必要性が、依然として当技術分野に存在する。
【課題を解決するための手段】
【００１２】
仮想化されたサーバ・プラットフォーム上に仮想ストレージ・アプライアンスをインストールするため、および／または仮想化されたサーバ・プラットフォーム上で仮想ストレージ・アプライアンスを起動するためのシステム、方法、コンピュータ・システム、およびコンピュータ・プログラムの様々な実施形態が、開示される。一実施形態は、ホスト・サーバ・プラットフォーム上に仮想ストレージ・アプライアンスをインストールするための方法である。１つのそのような方法は、ホスト・サーバ・プラットフォームによってアクセスされることが可能なインストール・パッケージを提供し、このインストール・パッケージが、ＩＯＶＭ（Ｉ／Ｏ仮想マシン）をインストールするためのインストール・スクリプトと、ＩＯＶＭブート・コンソールと、ＩＯＶＭ管理モジュールとを備えること、ホスト・サーバ・プラットフォームの電源を投入し、ブート・コードを読み込むこと、インストール・パッケージを読み込んで、ブート・コードの上で実行すること、インストール・スクリプトを実行して、ブート・ディスク上に、隠されたブート・パーティションを作成し、その隠されたブート・パーティションにＩＯＶＭブート・コンソールおよびＩＯＶＭ管理モジュールをコピーすること、ホスト・サーバ・プラットフォームを再起動し、ブート・コードを読み込むこと、隠されたブート・パーティションからＩＯＶＭブート・コンソールおよびＩＯＶＭ管理モジュールを読み込むこと、ＩＯＶＭ管理モジュールを介してディスク・アレイを構成すること、ディスク・アレイの中の各ディスク上に隠されたブート・パーティションを作成して、ＩＯＶＭブート・コンソールおよびＩＯＶＭ管理モジュールをレプリケートすること、ならびにＩＯＶＭブート・コンソールをストレージ・ドライバとして使用して仮想ストレージ環境をインストールすることを備える。
【００１３】
別のそのような方法は、ホスト・サーバ・プラットフォームにインストール・パッケージを供給し、このインストール・パッケージが、ＩＯＶＭ（Ｉ／Ｏ仮想マシン）をインストールするためのインストール・スクリプトと、ＩＯＶＭブート・コンソールと、ＩＯＶＭ管理モジュールとを備えること、インストール・スクリプトを実行して、ブート・ディスク上に、隠されたブート・パーティションを作成し、その隠されたブート・パーティションにＩＯＶＭブート・コンソールおよびＩＯＶＭ管理モジュールをコピーすること、ホスト・サーバ・プラットフォームを再起動すること、隠されたブート・パーティションからＩＯＶＭブート・コンソールおよびＩＯＶＭ管理モジュールを読み込むこと、ＩＯＶＭ管理モジュールを介してディスク・アレイを構成すること、このアレイの中の各ディスクに関して、隠されたブート・パーティションを作成して、ＩＯＶＭブート・コンソールおよびＩＯＶＭ管理モジュールをレプリケートすること、ならびにＩＯＶＭブート・コンソールをストレージ・ドライバとして使用して仮想ストレージ環境をインストールすることを備える。
【図面の簡単な説明】
【００１４】
【図１】仮想ストレージ・アプライアンスがインストールされることが可能なサーバ・プラットフォームの実施形態を示すブロック図である。
【図２】図１のサーバ・プラットフォーム上に仮想ストレージ・アプライアンスをインストールするのに使用されることが可能なＩＯＶＭインストール・パッケージの実施形態を示すブロック図である。
【図３】図２のＩＯＶＭインストール・パッケージを介して図１のサーバ・プラットフォーム上に仮想ストレージ・アプライアンスをインストールするための方法の実施形態を示す流れ図である。
【図４】仮想ストレージ・アプライアンスのインストール中のサーバ・プラットフォームの動作を示す図である。
【図５】仮想ストレージ・アプライアンスのインストール中のサーバ・プラットフォームの動作を示す図である。
【図６】仮想ストレージ・アプライアンスのインストール中のサーバ・プラットフォームの動作を示す図である。
【図７】仮想ストレージ・アプライアンスのインストール中のサーバ・プラットフォームの動作を示す図である。
【図８】仮想ストレージ・アプライアンスのインストール中のサーバ・プラットフォームの動作を示す図である。
【図９】仮想ストレージ・アプライアンスのインストール中のサーバ・プラットフォームの動作を示す図である。
【図１０】仮想ストレージ・アプライアンスのインストール中のサーバ・プラットフォームの動作を示す図である。
【図１１】仮想ストレージ・アプライアンスのインストール中のサーバ・プラットフォームの動作を示す図である。
【図１２】仮想ストレージ・アプライアンスがインストールされたサーバ・プラットフォームの実施形態を示すブロック図である。
【図１３】図１２の仮想ストレージ・アプライアンスを起動するための方法の実施形態を示す流れ図である。
【図１４】図１２のブート・プロセス中のサーバ・プラットフォームの動作を示す図である。
【図１５】図１２のブート・プロセス中のサーバ・プラットフォームの動作を示す図である。
【発明を実施するための形態】
【００１５】
サーバ・プラットフォーム上に仮想ストレージ・アプライアンスをインストールするため、および／または仮想化されたサーバ・プラットフォーム上で仮想ストレージ・アプライアンスを起動するためのシステム、方法、およびコンピュータ・プログラムの様々な実施形態が、開示される。手始めに、仮想ストレージ・アプライアンスおよびサーバ・プラットフォームが動作する動作環境を例示するのに、図１が、例示的なコンピュータ・システム１００を示す。コンピュータ・システム１００は、仮想ストレージ・アプライアンスがインストールされ、および／または起動されることが可能なサーバ・プラットフォーム１０２を備える。或る実施形態において、サーバ・プラットフォーム１０２は、１つまたは複数のプロセッサ１０６と、メモリ１０８と、ブート・コード１１２を含む不揮発性メモリ１１０とを含むハードウェア１０４を有する標準の、既成のサーバ・プラットフォームを備える。プロセッサ１０６、メモリ１０８、不揮発性メモリ１１０、およびブート・コード１１２は、サーバ・プラットフォーム１０２上で事前構成されて、後段で説明されるとおり、インストール・プロセスおよびブート・プロセスを実行するのに使用されることが可能であることを認識されたい。したがって、図１のその他の例示される構成要素は、図２〜図１５を参照して後段で説明されるインストール・プロセスおよびブート・プロセスに従ってサーバ・プラットフォーム１０２によって読み込まれる構成要素を表すことをさらに認識されたい。
【００１６】
ブート・コード１１２は、サーバ・プラットフォーム１０２によって、ハードウェア１０４を構成し、オペレーティング・システム起動手順を開始するのに使用されるコードを備える。或る実施形態において、ブート・コード１１２は、例えば、ＢＩＯＳ環境、ＥＦＩ環境、または他のブート環境を読み込むように構成されることが可能である。
【００１７】
仮想マシン・モニタ１１４は、仮想マシン環境からハードウェア１０４を隔離するのに使用されるハイパーバイザ（ｈｙｐｅｒｖｉｓｏｒ）またはシン・ソフトウェア層を備える。ＶＭＭ１１４は、独立したオペレーティング・システム（例えば、ＯＳ１１６ａ、１１６ｂ、１１６ｃ）に関連する１つまたは複数のサービス仮想マシン、および特殊用途ゲスト仮想マシン（すなわち、Ｉ／Ｏ仮想マシン１１８）の実行を制御する。後段でより詳細に説明されるとおり、ＩＯＶＭ１１８は、複数の物理ディスク１２４を備えるディスク・アレイ１２２に関連するＩ／Ｏを処理するように構成された専用の仮想マシンを備える。ＩＯＶＭ１１８は、ディスク・アレイ１２２にデータを格納し、ディスク・アレイ１２２からデータを取り出すように構成されたストレージ・コントローラ１２０を含む。プロセッサ１０６は、ＶＭＭ１１４、ＩＯＶＭ１１８、Ｏ／Ｓ１１６ａ〜ｃ、ならびに他の任意のソフトウェアおよび／またはファームウェアをサポートする処理を含め、サーバ・プラットフォーム１０２に関連する処理動作を実行する。
【００１８】
サーバ・プラットフォーム１０２およびＩＯＶＭ１１８の一般的な動作環境を説明したので、図３〜図１１を参照して、サーバ・プラットフォーム１０２上にＩＯＶＭ１１８をインストールするためのシステムおよび方法の様々な実施形態を説明する。図３は、サーバ・プラットフォーム１０２上にＩＯＶＭ１１８をインストールするための方法３００の実施形態を示す。図４〜図１１は、コンピュータ・システム１００の構成要素を参照して、インストール・プロセスをプレブート・プロセスとして示す。方法３００に関連するプロセス記述または方法記述の１つまたは複数は、プロセスにおける論理機能または論理ステップを実施するための１つまたは複数の実行可能命令を含むモジュール、セグメント、ロジック、またはコードの部分を表すことが可能であることを認識されたい。これらの論理機能は、ソフトウェアで、ハードウェアで、ファームウェアで、または以上の任意の組合せで実施されることが可能であることをさらに認識されたい。一部の実施形態において、図３の流れ図、および図４〜図１１のシステム・ブロック図を参照して説明される論理機能は、メモリ１０８または不揮発性メモリ１１０の中に格納され、ハードウェア１０４によって、あるいはサーバ・プラットフォーム１０２に関連する他の任意のプロセッサまたは適切な命令実行システムによって実行されるソフトウェアで、またはファームウェアで実施されることが可能である。さらに、これらの論理機能は、命令実行システム、命令実行装置、または命令実行デバイスから命令をフェッチして、それらの命令を実行することができる、サーバ・プラットフォーム１０２に関連するコンピュータ・ベースのシステム、プロセッサを含むシステム、または他のシステムなどの、命令実行システム、命令実行装置、または命令実行デバイスによって使用される、もしくはそのようなシステム、装置、またはデバイスに関連して使用される任意のコンピュータ可読媒体として実現されることが可能である。
【００１９】
図３を参照すると、サーバ・プラットフォーム１０２（ブロック３０２）およびＩＯＶＭインストール・パッケージ（ブロック３０４）が提供されている。或る実施形態において、サーバ・プラットフォーム１０２は、ＶＭＭまたはＩＯＶＭ１１８に関連する特化された構成要素を全く有さない標準のサーバ（例えば、ＯＥＭサーバ）を備えることが可能である。図２に示されるとおり、或る実施形態では、ＩＯＶＭインストール・パッケージ２００は、例えば、インストール・スクリプト２０２、ＩＯＶＭブート・コンソール２０４、ＩＯＶＭ管理モジュール２０６、およびＶＭＭ２０８などの、ＩＯＶＭ１１８をインストールすることに関連する様々な構成要素を備える。インストール・パッケージ２００は、サーバ・プラットフォーム１０２によってアクセスされることが可能なコンパクト・ディスク上、デジタル・ビデオ・ディスク上、またはフラッシュ・メモリ・デバイス上で提供されることが可能である。他の実施形態において、インストール・パッケージ２００は、サーバ・プラットフォーム１０２に内部構成要素として（例えば、メモリ１０８内、不揮発性メモリ１１０内などで）提供されることが可能である。インストール・パッケージ２００の構成要素は、所望されるインストール実施形態に依存して、１つまたは複数のパッケージの中で提供されることが可能であることを認識されたい。例えば、インストール・スクリプト２０２、ＩＯＶＭブート・コンソール２０４、およびＩＯＶＭ管理モジュール２０６が、１つのインストール・パッケージの中で提供されることが可能であり、ＶＭＭ２０８が、標準の、既成のＶＭＭインストール・パッケージとして提供されることが可能である。
【００２０】
これに関して、インストール・パッケージ２００およびインストール方法３００は、様々な利点を有するインストール・スキームを提供することが可能であることをさらに認識されたい。インストール・スキームは、現在、または将来の望ましい任意の仮想化環境および／またはＶＭＭ２０８で機能するように設計されることが可能である。Ｏ／Ｓ特有のインストール手順は、取り除かれることが可能である。さらに、インストール・スキームは、標準化されたサーバ・プラットフォームに適応可能であり得る。
【００２１】
ブロック３０６で、サーバ・プラットフォーム１０２の電源が投入される。図４に示されるとおり、ブロック３０８で、電源が投入された後、不揮発性メモリ１１０からブート・コード１１２が読み込まれる。ブート・コード１１２は、例えば、ＢＩＯＳ環境、ＥＦＩ環境、またはその他のブート環境を読み込むように構成されることが可能である。ブート環境は、サーバ・プラットフォーム１０２上のストレージ・コントローラ１２０と適合する標準のストレージ・ドライバ２１０を含むことが可能である。或る実施形態において、ストレージ・ドライバ２１０は、ＳＡＳドライバを備えることが可能であり、ストレージ・コントローラ１２０は、ＳＡＳコントローラを備えることが可能である。しかし、他のデータ転送技術、データ転送標準、および／またはデータ転送インタフェースを実施する他のコントローラ、および他のドライバが使用されてもよいことが、当業者には認識されよう。
【００２２】
ブロック３１０（図５）で、ＩＯＶＭインストール・パッケージ２００が読み込まれて、ブート・コード１１２の上で実行される。図６に示されるとおり、ブロック３１２および３１４で、インストール・スクリプト２０２が実行され、ブート・パーティションがブート・ディスク上で作成される。図６の実施形態において、ブート・ディスクは、ディスク・アレイ１２２の中の物理ディスク１２４のうちの１つ（すなわち、物理ディスク１２４ａ）を備える。ブート・パーティションは、システムから隠されることが可能である。例えば、ＲＡＩＤ実施形態において、ブート・パーティションは、ＲＡＩＤ標準によって規定されるＤＤＦ（ディスク・データ・フォーマット）空間内に、または他の任意のプライベート・パーティション内に隠されることが可能である。ブロック３１６（図７）で、インストール・スクリプト２０２が、ＩＯＶＭインストール・パッケージ２００からのＩＯＶＭブート・コンソール２０４およびＩＯＶＭ管理モジュール２０６をブート・パーティション１１６にコピーすることも可能である。ブート・パーティション１１６は、起動可能にされることが可能である。
【００２３】
ブロック３１８で、サーバ・プラットフォーム１０２が再起動され、図８に示されるとおり、ブート・コード１１２が、不揮発性メモリ１１０から読み込まれる（ブロック３２０）。ブロック３２２（図９）で、ＩＯＶＭブート・コンソール２０４およびＩＯＶＭ管理モジュール２０６が、ブート・パーティション１１６からサーバ・プラットフォーム１０２に読み込まれることが可能である。前述したとおり、ＩＯＶＭ１１８は、専用のＯＳベースのゲスト仮想マシンを備えることが可能である。このため、ＯＳローダが、ブート環境から制御を引き継ぎ、ブート・パーティション１１６からＩＯＶＭブート・コンソール２０４およびＩＯＶＭ管理モジュール２０６を読み込むことが可能である。或る実施形態において、ＩＯＶＭブート・コンソール２０４は、標準のオペレーティング・システムを備えることが可能である。したがって、ＩＯＶＭブート・コンソール２０４は、標準の手順を使用してオペレーティング・システムを起動することができる。しかし、コンピュータ・システム１００において、ＩＯＶＭブート・コンソール２０４は、ストレージ仮想化を管理する（例えば、ＲＡＩＤロジックを管理する）ために構成されることを認識されたい。
【００２４】
ブロック３２４で、ユーザは、ＩＯＶＭ管理モジュール２０６とインタフェースをとって、ディスク・アレイ１２２を構成することが可能である。例えば、ＩＯＶＭ管理モジュール２０６は、ユーザが、所望に応じて、ディスク・グループ、仮想ディスク、ボリュームなどを作成することを可能にするように構成されることが可能である。ブロック３２６（図１０）で、ＩＯＶＭブート・コンソール２０４が、この事例では、物理ディスク１２４ｂおよび１２４ｃである、ディスク・アレイ１２２の中のすべてのディスク上に隠されたブート・パーティション１１６を作成する。また、ＩＯＶＭブート・コンソールは、その他のブート・パーティション１１６の中にブート・ディスク（すなわち、物理ディスク１２４ａ）の内容をレプリケートすることも可能である。このプロセスは、物理ディスク１２４に障害が生じた場合に、例えば、ＲＡＩＤスキームの必要なしに、コンピュータ・システム１００が機能することを許す冗長性スキームを可能にすることを認識されたい。物理ディスク１２４のすべての上にブート・ディスクの内容をレプリケートすることによって、標準のサーバ・ブート・プロセスは、第１のディスク（すなわち、物理ディスク１２４ａ）から起動される。このディスクに障害が生じた場合、ブート・プロセスは、第２のディスク（すなわち、物理ディスク１２４ｂ）から起動しようと試み、以下同様であり、その結果、Ｎ重の冗長性スキームがもたらされる。
【００２５】
ＩＯＶＭブート・コンソール２０４をインストールし、ディスク・アレイ１２２を構成すると、ブロック３２８（図１１）で、サーバ・プラットフォーム１０２は、ＩＯＶＭブート・コンソール２０４をストレージ・ドライバとして使用して仮想環境（例えば、ＶＭＭ２０８）をインストールする。前述したとおり、サーバ・プラットフォーム１０２は、任意の所望される仮想環境をサポートすることができる。仮想環境は、ＩＯＶＭインストール・パッケージ２００から直接に、または標準のＯＥＭ配布インストール・パッケージからインストールされることが可能である。仮想環境のインストールは、従来の仕方で進められることが可能である。
【００２６】
ＩＯＶＭ１１８および仮想環境がインストールされた（サーバ・プラットフォーム１０２上で前述した仕方で、またはそれ以外で提供された）後、サーバ・プラットフォーム１０２は、ブート・メソッドの開始を始めることができる。ブート・メソッドの実施形態が、図１２〜図１５に示される。図１２は、ブート・メソッドの動作を示す流れ図であり、図１３〜図１５は、サーバ・プラットフォーム１０２およびディスク・アレイ１２２の構成要素を参照してブート・メソッドを示す。
【００２７】
図１２を参照すると、ブロック１２０２で、ディスク・アレイを管理するための仮想ストレージ・アプライアンスが、サーバ・プラットフォーム１０２上で提供される。仮想ストレージ・アプライアンスは、ＩＯＶＭ１１８に関して前述した仕方で、またはそれ以外で構成されて、コンピュータ・システム１００上にインストールされることが可能であることを認識されたい。ブロック１２０４（図１３）で、ブート・コード１１２が読み込まれる。ブート・コード１１２は、例えば、ＢＩＯＳ環境、ＥＦＩ環境、または他のブート環境を読み込むように構成されることが可能である。ブート環境は、サーバ・プラットフォーム１０２上のストレージ・コントローラ１２０と適合する標準のストレージ・ドライバ２１０を含むことが可能である。ブート環境が読み込まれ、さらにブート・ローダを呼び出すことが可能である。ブロック１２０６（図１４）で、ＩＯＶＭブート・コンソール２０４およびＩＯＶＭ管理モジュール２０６が、ディスク・アレイ１２２の中の物理ディスクのうちの１つのディスク上の隠されたパーティションから読み込まれる。判定ブロック１２０８およびブロック１２１０で示されるとおり、ＩＯＶＭ管理モジュール２０６が、コンピュータ・システム１００のユーザが、ディスク・アレイ１２２および／またはＩＯＶＭ１１８の様々な態様を構成し、ならびに／または管理することを可能にするように使用されることが可能である。ブロック１２１２（図１５）で、ＩＯＶＭブート・コンソール２０４が、仮想環境に関するブート構成要素を読み込む。ＩＯＶＭブート・コンソール２０４が、ブート・プロセスを開始する。ＩＯＶＭブート・コンソール２０４が、ブート・ディスク（例えば、物理ディスク１２４ａ〜１２４ｃの１つ）にアクセスし、さらにインストールされたＶＭＭブート・ローダを探し出すことが可能である。或る実施形態において、ＶＭＭブート・ローダは、インストールされた仮想化環境と一体化された構成要素を備えることが可能である。ＶＭＭブート・ローダは、ディスク・アレイ１２２の一部であるブート・ボリューム上のＯ／Ｓインストールの一部であることが可能である。ＩＯＶＭブート・コンソール２０４が、図１５に示されるとおり、ＶＭＭ２０８をブートし、その後、当業者に認識されるとおり、通常の仕方でＶＭＭブート・ローダに制御を渡す。
【００２８】
本開示は、本発明の原理および概念を明示する目的で、１つまたは複数の例示的な、または説明される実施形態を参照して提示されてきたことに留意されたい。本発明は、これらの実施形態に限定されない。当業者によって理解されるとおり、本明細書で与えられる説明に鑑みて、本明細書で説明される実施形態に対する多くの変形を行うことが可能であり、すべてのそのような変形が本発明の範囲に含まれる。
【図１】
2011528470.tif 000003
【図２】
2011528470.tif 000004
【図３】
2011528470.tif 000005
【図４】
2011528470.tif 000006
【図５】
2011528470.tif 000007
【図６】
2011528470.tif 000008
【図７】
2011528470.tif 000009
【図８】
2011528470.tif 000010
【図９】
2011528470.tif 000011
【図１０】
2011528470.tif 000012
【図１１】
2011528470.tif 000013
【図１２】
2011528470.tif 000014
【図１３】
2011528470.tif 000015
【図１４】
2011528470.tif 000016
【図１５】
2011528470.tif 000017
【国際調査報告】
2011528470.tif 000018