JP2011528469A - 仮想化サーバ・プラットフォーム上でブート可能な仮想ストレージ・アプライアンスをブートするためのシステムおよび方法 - Google Patents

仮想化サーバ・プラットフォーム上でブート可能な仮想ストレージ・アプライアンスをブートするためのシステムおよび方法 Download PDF

Info

Publication number
JP2011528469A
JP2011528469A JP2011518756A JP2011518756A JP2011528469A JP 2011528469 A JP2011528469 A JP 2011528469A JP 2011518756 A JP2011518756 A JP 2011518756A JP 2011518756 A JP2011518756 A JP 2011518756A JP 2011528469 A JP2011528469 A JP 2011528469A
Authority
JP
Japan
Prior art keywords
boot
server platform
virtual storage
storage appliance
console
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011518756A
Other languages
English (en)
Other versions
JP5404783B2 (ja
Inventor
バート,ルカ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LSI Corp
Original Assignee
LSI Logic Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by LSI Logic Corp filed Critical LSI Logic Corp
Publication of JP2011528469A publication Critical patent/JP2011528469A/ja
Application granted granted Critical
Publication of JP5404783B2 publication Critical patent/JP5404783B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

一実施形態は、仮想化サーバ・プラットフォーム上でブート可能な仮想ストレージ・アプライアンスをブートするための方法である。そのような一方法は、サーバ・プラットフォームに、複数のディスクを含むディスクアレイを管理するように構成された仮想ストレージ・アプライアンスを提供することであって、ディスクのうちの少なくとも1つがブート・コンソールを有する隠しブート・パーティションを含む、仮想ストレージ・アプライアンスを提供することと、サーバ・プラットフォームを起動することと、ブート・コードをサーバ・プラットフォームにロードすることと、ブート・コンソールを隠しブート・パーティションからロードすることと、ブート・コンソールが、仮想化環境のためのブート・コンポーネントをロードすることとを含む。

Description

関連出願の相互参照
本出願は、2008年7月16日に出願され、「Method to Install and Boot a Virtual Appliance that Owns Boot Devices」と題された、米国仮特許出願第61/135231号の優先権の利益を主張するものであり、その全体を参照により本明細書に組み込む。
本発明は、一般にコンピュータ・データストレージに関し、より詳細には、サーバ・プラットフォーム上の仮想ストレージ・アプライアンスおよび仮想マシンモニタ(VMM)環境に関する。
ビジネス環境用のコンピュータ・ネットワークは、より多くのストレージを必要とし続けている。典型的に、そうした企業では、集中型データストレージ・システムを利用しており、コンピュータ・ネットワークは、ネットワーク上でデータストレージ・システムと通信するさまざまなパーソナル・コンピュータ、ラップトップなどを含む。データストレージ・システムは、典型的にサーバ・プラットフォームを含み、サーバ・プラットフォームは、ハードディスク・ドライブ、磁気もしくは光学ディスク、および/またはストレージ・エリア・ネットワーク(SAN)などの、専用のデータストレージ・リソースについての情報の記憶、およびそれらからの情報の取出しを制御する。サーバ・プラットフォームは、典型的にストレージ制御装置を含み、ストレージ制御装置は、物理ディスク・ドライブを管理し、それらを論理ユニットとしてサーバ・プラットフォームに提示する。
1つのソリューションでは、ストレージ制御装置が、RAID(Redundant Array of Independent Disks)標準のハードウェア実装を含む。RAIDは、冗長性のためにストレージ・デバイスをアレイに配列する技術によって、より廉価なコンポーネントからストレージの信頼性を提供する、ストレージ・ソリューションである。一般的に、ハードウェアRAID実装は、複数のストレージ・デバイスの中でデータを分割して複製する専用のハードウェアを利用するが、アレイは、サーバ・プラットフォームによって単一のディスクとして見られる。この実装が、より廉価なオプションを提供する一方で、ソリューションは、特定の状況においては、望ましくない高額となり得る専用のハードウェアの使用を依然必要とする。
処理能力が向上するにつれて、ストレージ制御装置を専用のハードウェアではなく、ソフトウェアにおいて実装することが、より一般的になっている。たとえば、現在、RAID論理がサーバ・プラットフォームのオペレーティング・システムの一部である、いくつかのソフトウェアRAID実装が存在する。これらのソリューションは、全体のコスト、および特定のハードウェア・プラットフォームへの依存を著しく下げることができる。しかしながら、ソフトウェア実装は、サーバ・プラットフォームがまた、仮想化を介して複数の実行環境(たとえば、複数のエミュレートされたオペレーティング・システム)をサポートするという状況において、大きな欠点を有する。
ソフトウェアRAID実装の別の大きな制約は、実装が、サポートされるオペレーティング・システムごとに構成される必要があることであり、これはコスト、ならびに開発、デバッグ、および配置への不都合を追加することがある。Linux(登録商標、以下同)の派生版などのいくつかのケースでは、オープンソース・ライセンスの条件(たとえば、GNU一般公有使用許諾、その他)に基づくソース・コース・コードの公開に関連したさらなる複雑化が存在することがある。これらのオープンソース準拠問題が、そのようなオペレーティング・システム用のソフトウェアRAID実装のコストおよび不都合を、さらに増加させることがある。
仮想化技術により、仮想マシンモニタ(VMM)を動かす単一のホストコンピュータが、ホストの複数の抽象概念または複数のビューを提示することが可能になり、それにより、基礎となるホストハードウェアは、1つまたは複数の、独立して動作する仮想マシン(VM)として見える。VMMは、ホストコンピュータが複数の実行環境をサポートするのを可能にする、ホストプログラムを含む。各VMは、それ自身のファームウェア、オペレーティング・システム、および/またはソフトウェア・アプリケーションを動かす、内蔵型のプラットフォームとして機能することができる。VMMは、VMへのホストリソースの割当て、および仮想化を管理する。
ソフトウェアRAID、または他のソフトウェア・ストレージ制御装置を、VMM環境において仮想ストレージ・アプライアンスとして組み合わせる場合、重要な構成課題が存在する。たとえば、VMM環境において仮想ストレージ・アプライアンスをインストールする、および/またはブートするのに関係する、いくつかの複雑性が存在する。ブートするためには、仮想ストレージ・アプライアンスがプラットフォーム上にあることが必要とされる。利用可能なVMM環境は多数あるものの、それぞれが異なっている。既存のソリューションは、VMM環境ごとに独立して設計されなければならない上、プラットフォームは、使用されることになる特定のVMM環境用にあらかじめ構成されなければならず、それによって重要な記号論理学的課題が生み出される。たとえば、仮想化なしで標準のオペレーティング・システムをブートするには、システム(たとえば、BIOS、EFI)はいくつかのモジュールをロードするのみであり、かなり単純である。典型的に、このシナリオでは、ブート・ローダおよびドライバは、O/Sローダがプロセスを引き継いで制御する前に、ロードされてよい。しかしながら、VMM環境では、システムは、VMM環境、ホスト・オペレーティング・システム、および仮想ストレージ・アプライアンス(およびそれに伴うストレージ制御論理)のすべてを、ブート・ロードからロードしなければならないために、このプロセスは著しくより複雑である。これらのコンポーネントのすべてをロードするには、10〜100MB、またはそれ以上と同程度を有する画像を必要とすることがある。さらに、ブート・デバイスは、典型的にはRAIDボリュームであり、したがって、オペレーティング・システムにRAIDエンジンがある場合、RAID機能はそれをロードすることを必要とし、面倒な再帰的自己参照を含むことがある。
この問題に対処するために試される既存のソリューションは、ブート・コードにおいてRAIDローダを使用することを含む。しかしながら、これは別のRAIDスタックを作成しなければならないことが代償となり、それ自体が独自の複雑性を有する。大手メーカは、EFI/BIOSにおいてRAIDスタックを適格にし、維持することを可能にすることができる一方で、多くの顧客はそうすることができない、またはそうすることを望まないであろう。この問題に対処するために試される別のソリューションは、サーバ・プラットフォームの不揮発性メモリに完全なVMM環境を提供することを含む。これもまた、別の一連の課題を持ち込む。たとえば、VMM環境用のコードのサイズが問題となることがある。さらに、サーバ・プラットフォームの不揮発性メモリに完全なVMM環境が提供される場合、VMM環境の分散および/または維持に関連付けられた、大きなビジネス上の課題が存在する。
VMM環境に仮想ストレージ・アプライアンスを組み合わせる多くの利点にもかかわらず、本技術分野においては、特定のVMM環境から独立しており、プラットフォームをあらかじめ構成する必要性を省くことができる標準のサーバ・プラットフォームでの、より費用対効果の高いソリューション、ならびに、仮想ストレージ・アプライアンスをインストールする、および/またはブートするためのシステムおよび方法の必要性が依然ある。
仮想化サーバ・プラットフォーム上で仮想ストレージ・アプライアンスをインストールする、および/またはブートするためのシステム、方法、コンピュータシステム、およびコンピュータプログラムのさまざまな実施形態が開示される。一実施形態は、仮想化サーバ・プラットフォーム上でブート可能な仮想ストレージ・アプライアンスをブートするための方法である。そのような一方法は、サーバ・プラットフォームに、複数のディスクを含むディスクアレイを管理するように構成された仮想ストレージ・アプライアンスを提供することであって、ディスクのうちの少なくとも1つがブート・コンソールを有する隠しブート・パーティションを含む、仮想ストレージ・アプライアンスを提供することと、サーバ・プラットフォームを起動することと、ブート・コードをサーバ・プラットフォームにロードすることと、ブート・コンソールを隠しブート・パーティションからロードすることと、ブート・コンソールが、仮想化環境のためのブート・コンポーネントをロードすることとを含む。
仮想ストレージ・アプライアンスをインストールすることができるサーバ・プラットフォームの実施形態を示すブロック図である。 図1のサーバ・プラットフォームに仮想ストレージ・アプライアンスをインストールするのに使用することができる、IOVMインストール・パッケージの実施形態を示すブロック図である。 図2のIOVMインストール・パッケージによって、図1のサーバ・プラットフォームに仮想ストレージ・アプライアンスをインストールするための方法の実施形態を示す流れ図である。 仮想ストレージ・アプライアンスのインストール中の、サーバ・プラットフォームの動作を示す図である。 仮想ストレージ・アプライアンスのインストール中の、サーバ・プラットフォームの動作を示す図である。 仮想ストレージ・アプライアンスのインストール中の、サーバ・プラットフォームの動作を示す図である。 仮想ストレージ・アプライアンスのインストール中の、サーバ・プラットフォームの動作を示す図である。 仮想ストレージ・アプライアンスのインストール中の、サーバ・プラットフォームの動作を示す図である。 仮想ストレージ・アプライアンスのインストール中の、サーバ・プラットフォームの動作を示す図である。 仮想ストレージ・アプライアンスのインストール中の、サーバ・プラットフォームの動作を示す図である。 仮想ストレージ・アプライアンスのインストール中の、サーバ・プラットフォームの動作を示す図である。 仮想ストレージ・アプライアンスがインストールされているサーバ・プラットフォームの実施形態のブロック図である。 図12の仮想ストレージ・アプライアンスをブートするための方法の実施形態を示す流れ図である。 図12のブート・プロセス中の、サーバ・プラットフォームの動作を示す図である。 図12のブート・プロセス中の、サーバ・プラットフォームの動作を示す図である。
サーバ・プラットフォーム上で仮想ストレージ・アプライアンスをインストールする、および/またはブートするための、システム、方法、およびコンピュータプログラムのさまざまな実施形態が開示される。導入事項として、かつ仮想ストレージ・アプライアンスおよびサーバ・プラットフォームが動作する作業環境を示すために、図1は、例示的なコンピュータシステム100を示す。コンピュータシステム100は、仮想ストレージ・アプライアンスをインストールする、および/またはブートすることができるサーバ・プラットフォーム102を含む。実施形態において、サーバ・プラットフォームを102は、ハードウェア104を有する標準の、市販のサーバ・プラットフォームを含み、ハードウェア104は、1つまたは複数のプロセッサ106と、メモリ108と、ブート・コード112を収容する不揮発性メモリ110とを含む。プロセッサ106、メモリ108、不揮発性メモリ110、およびブート・コード112は、サーバ・プラットフォーム102上であらかじめ構成されて、以下で説明するインストール・プロセスおよびブート・プロセスを行うのに使用することができることを理解されたい。したがって、図1に示す他のコンポーネントは、図2〜図15を参照して以下で説明するインストール・プロセスおよびブート・プロセスに従って、サーバ・プラットフォーム102によってロードされるコンポーネントを表すことを、さらに理解されたい。
ブート・コード112は、ハードウェア104を構成してオペレーティング・システムのブート手順を開始するために、サーバ・プラットフォーム102によって使用されるコードを含む。実施形態では、ブート・コード112は、たとえば、BIOS環境、EFI環境、または他のブート環境をロードするように構成されてよい。
仮想マシンモニタ114は、仮想マシン環境からハードウェア104を分離するのに使用される、ハイパーバイザ、または薄いソフトウェア層を含む。VMM114は、独立したオペレーティング・システム(たとえば、OS116a、116b、116c)に関連付けられた1つまたは複数のサービス仮想マシン、および特定用途ゲスト仮想マシン(すなわちI/O仮想マシン118)の実行を制御する。以下でより詳細に説明するように、IOVM118は、複数の物理ディスク124を含むディスクアレイ122に関連付けられたI/Oを処理するように構成された専用の仮想マシンを含む。IOVM118は、データを記憶してそれをディスクアレイ122から取り出すように構成されたストレージ制御装置120を含む。プロセッサ106は、VMM114、IOVM118、O/S116a〜c、および任意の他のソフトウェアおよび/またはファームウェアをサポートするための処理を含む、サーバ・プラットフォーム102に関連付けられた処理動作を行う。
サーバ・プラットフォーム102、およびIOVM118の一般的な動作環境を説明してきたところで、サーバ・プラットフォーム102にIOVM118をインストールするためのシステムおよび方法のさまざまな実施形態を、図3〜図11を参照して説明する。図3は、サーバ・プラットフォーム102にIOVM118をインストールするための方法300の実施形態を示す。図4〜図11は、コンピュータシステム100のコンポーネントを参照して、プリブート・プロセスとしてのインストール・プロセスを示す。方法300に関連付けられたプロセスまたは方法の説明のうちの1つまたは複数は、プロセスにおける論理的機能またはステップを実装するための、1つまたは複数の実行可能な命令を含むモジュール、セグメント、論理、またはコードの部分を表すことができることを理解されたい。論理的機能は、ソフトウェア、ハードウェア、ファームウェア、またはこれらの任意の組合せにおいて実装することができることを、さらに理解されたい。特定の実施形態では、図3の流れ図、および図4〜図11のシステム・ブロック図を参照して説明される論理的機能が、ソフトウェアまたはファームウェアにおいて実装されてよく、ソフトウェアまたはファームウェアは、メモリ108または不揮発性メモリ110に記憶されており、ハードウェア104もしくは任意の他のプロセッサ、またはサーバ・プラットフォーム102に関連付けられた好適な命令実行システムによって実行される。さらに、論理的機能は、命令実行システム、装置、もしくはデバイスから命令を取り出し、その命令を実行することができる、コンピュータベース・システム、プロセッサ含有システム、またはサーバ・プラットフォーム102に関連付けられた他のシステムなどの、命令実行システム、装置、もしくはデバイスによって使用される、またはそれらに関連して使用される、あらゆるコンピュータ可読媒体において具体化されてよい。
図3を参照すると、サーバ・プラットフォーム102(ブロック302)、およびIOVMインストール・パッケージ200(ブロック304)が提供されている。実施形態では、サーバ・プラットフォーム102は、VMMまたはIOVM118に関連付けられた特殊化されたコンポーネントなしの、標準のサーバ(たとえばOEMサーバ)を含むことができる。図2に示されているように、実施形態では、IOVMインストール・パッケージ200は、IOVM118のインストールに関連付けられたさまざまなコンポーネントを含み、それらはたとえば、インストール・スクリプト202、IOVMブート・コンソール204、IOVM管理モジュール206、およびVMM208である。インストール・パッケージ200は、サーバ・プラットフォーム102によりアクセス可能な、コンパクトディスク、デジタルビデオディスク、またはフラッシュメモリ・デバイス上で提供されてよい。他の実施形態では、インストール・パッケージ200は、サーバ・プラットフォーム102の内部コンポーネントとして(たとえば、メモリ108、不揮発性メモリ110などにおいて)提供されてよい。インストール・パッケージ200のコンポーネントは、望ましいインストール実装に応じて、1つまたは複数のパッケージにおいて提供されてよいことを理解されたい。たとえば、インストール・スクリプト202、IOVMブート・コンソール204、およびIOVM管理モジュール206を1つのインストール・パッケージにおいて提供することができ、VMM208を、標準の、市販のVMMインストール・パッケージとして提供することができる。
この点において、インストール・パッケージ200およびインストール方法300は、さまざまな利点を有するインストール方式を提供することができることをさらに理解されたい。このインストール方式は、任意の、望ましい、現在または未来の仮想化環境および/またはVMM208と共に機能するように設計されてよい。O/S固有のインストール手順は、取り除かれてよい。さらに、このインストール方式は、標準化されたサーバ・プラットフォームに適応可能であってよい。
ブロック306で、サーバ・プラットフォーム102が起動する。図4に示すように、かつブロック308で、起動後に、ブート・コード112が不揮発性メモリ110からロードされる。ブート・コード112は、たとえば、BIOS環境、EFI環境、または他のブート環境をロードするように構成されてよい。ブート環境は、サーバ・プラットフォーム102上でストレージ制御装置120と互換性のある標準のストレージ・ドライバ210を含むことができる。実施形態では、ストレージ・ドライバ210は、SASドライバを含むことができ、ストレージ制御装置120は、SAS制御装置を含むことができる。しかしながら、当業者は、他の制御装置およびドライバが、他のデータ転送技術、標準、および/またはインターフェースを実装するのに使用されてよいことを理解するであろう。
ブロック310(図5)で、ブート・コード112上で動かすように、IOVMインストール・パッケージ200がロードされる。図6に示すように、ブロック312およびブロック314で、インストール・スクリプト202が実行され、ブート・ディスクにブート・パーティションが作成される。図6の実施形態では、ブート・ディスクは、ディスクアレイ122の物理ディスク124のうちの1つ(すなわち物理ディスク124a)を含む。ブート・パーティションは、システムから隠されていてよい。たとえば、RAID実装では、ブート・パーティションは、RAID標準によって画定されたディスク・データ・フォーマット(DDF)空間の内部、または、任意の他のプライベート・パーティションに隠されていてよい。ブロック316(図7)で、インストール・スクリプト202はまた、IOVMブート・コンソール204およびIOVM管理モジュール206を、IOVMインストール・パッケージ200からブート・パーティション116へとコピーすることができる。ブート・パーティション116は、ブート可能にされてよい。
ブロック318で、サーバ・プラットフォーム102がリブートされ、図8に示すように、ブート・コード112が、不揮発性メモリ110からロードされる(ブロック320)。ブロック322(図9)で、IOVMブート・コンソール204およびIOVM管理モジュール206が、ブート・パーティション116からサーバ・プラットフォーム102にロードされてよい。上記で説明したように、IOVM118は、専用のOSベースのゲスト仮想マシンを含むことができる。このようにして、OSローダが、ブート環境から制御を取得し、IOVMブート・コンソール204およびIOVM管理モジュール206を、ブート・パーティション116からロードすることができる。実施形態では、IOVMブート・コンソール204は、標準のオペレーティング・システムを含むことができる。したがって、IOVMブート・コンソール204は、標準の手順を使用して、オペレーティング・システムをブートすることができる。しかしながら、コンピュータシステム100において、IOVMブート・コンソール204は、ストレージ仮想化を管理する(たとえばRAID論理を管理する)ために構成されていることを理解されたい。
ブロック324で、ユーザは、IOVM管理モジュール206とインターフェースを取って、ディスクアレイ122を構成することができる。たとえば、IOVM管理モジュール206は、ユーザが、所望に応じて、ディスクグループ、仮想ディスク、ボリュームなどを作成できるように構成されてよい。ブロック326(図10)で、IOVMブート・コンソール204は、ディスクアレイ122のすべてのディスクに、このケースでは、物理ディスク124bおよび124cに、隠しブート・パーティション116を作成する。IOVMブート・コンソールはまた、ブート・ディスク(すなわち物理ディスク124a)の内容を、他のブート・パーティション116に複製することができる。このプロセスは、物理ディスク124の故障の場合に、コンピュータシステム100が、たとえば、RAID方式の必要なしで動くことができる、冗長方式を可能にすることを理解されたい。物理ディスク124のすべてのブート・ディスクの内容を複製することにより、標準のサーバのブート・プロセスが、第1のディスク(すなわち物理ディスク124a)からブートすることになる。このディスクが故障している場合は、ブート・プロセスは第2のディスク(すなわち物理ディスク124b)などからブートを試みることになり、それにより、Nウェイ冗長方式を提供する。
IOVMブート・コンソール204をインストールし、ディスクアレイ122を構成してから、ブロック328(図11)で、サーバ・プラットフォーム102は、IOVMブート・コンソール204をストレージ・ドライバとして使用して、仮想環境(たとえばVMM208)をインストールする。上記で触れたように、サーバ・プラットフォーム102は、任意の所望の仮想環境をサポートすることができる。仮想環境は、IOVMインストール・パッケージ200から直接、または標準のOEM分散インストール・パッケージからインストールされてよい。仮想環境のインストールは、従来のやり方において続行することができる。
IOVM118および仮想環境が(上記で説明したやり方で、またはサーバ・プラットフォーム102に提供される別のやり方で)インストールされた後、サーバ・プラットフォーム102は、ブート方法の始動を開始することができる。ブート方法の実施形態は、図12〜図15に示されている。図12は、ブート方法の動作を示す流れ図であり、図13〜図15は、サーバ・プラットフォーム102およびディスクアレイ122のコンポーネントを参照して、ブート方法を示す。
図12を参照すると、ブロック1202で、ディスクアレイを管理するための仮想ストレージ・アプライアンスが、サーバ・プラットフォーム102に提供される。仮想ストレージ・アプライアンスは、IOVM118に関して上記で説明されたやり方、または別のやり方で、構成されて、コンピュータシステム100にインストールされてよいことを理解されたい。ブロック1204(図13)で、ブート・コード112がロードされる。ブート・コード112は、たとえば、BIOS環境、EFI環境、または他のブート環境をロードするように構成されてよい。ブート環境は、サーバ・プラットフォーム102上でストレージ制御装置120と互換性のある標準のストレージ・ドライバ210を含むことができる。ブート環境は、ブート・ローダをロードし、それを呼び出すことができる。ブロック1206(図14)で、IOVMブート・コンソール204およびIOVM管理モジュール206が、ディスクアレイ122の物理ディスクのうちの1つの隠しパーティションからロードされる。決定ブロック1208、およびブロック1210で示すように、IOVM管理モジュール206は、コンピュータシステム100のユーザが、ディスクアレイ122、および/またはIOVM118のさまざまな側面を構成する、および/または管理することができるように使用されてよい。ブロック1212(図15)で、IOVMブート・コンソール204は、仮想環境のためのブート・コンポーネントをロードする。IOVMブート・コンソール204は、ブート・プロセスを開始する。IOVMブート・コンソール204は、ブート・ディスク(たとえば、物理ディスク124a〜124cのうちの1つ)にアクセスし、インストールされたVMMブート・ローダの位置を特定することができる。実施形態では、VMMブート・ローダは、インストールされた仮想化環境と一体化されたコンポーネントを含むことができる。VMMブート・ローダは、ディスクアレイ122の一部であるブート・ボリュームのO/Sの一部であることができる。図15に示すように、IOVMブート・コンソール204は、VMM208をブートし、次いで、当業者が理解するような典型的なやり方で、VMMブート・ローダに制御を引き渡す。
本開示は、本発明の原理および概念を実証する目的で、1つまたは複数の例示的な、または説明された実施形態を参照して提示されてきたことに留意されたい。本発明は、これらの実施形態には限定されない。当業者によって理解されるように、本明細書で提供された説明を考慮して、多くの変形が本明細書で説明された実施形態になされてよく、すべてのそのような変形は、本発明の範囲内である。

Claims (13)

  1. 仮想化サーバ・プラットフォーム上でブート可能な仮想ストレージ・アプライアンスをブートする方法であって、
    サーバ・プラットフォームに仮想ストレージ・アプライアンスを提供することを含み、前記仮想ストレージ・アプライアンスが、複数のディスクを含むディスクアレイを管理するように構成され、前記ディスクのうちの少なくとも1つが、ブート・コンソールを有する隠しブート・パーティションを含み、さらに、
    前記サーバ・プラットフォームを起動すること、
    ブート・コードを前記サーバ・プラットフォームにロードすること、
    前記ブート・コンソールを前記隠しブート・パーティションからロードすること、そして、
    前記ブート・コンソールが、仮想化環境のためのブート・コンポーネントをロードすること、を含む方法。
  2. 前記仮想ストレージ・アプライアンスが、前記サーバ・プラットフォームに関連付けられたゲスト・オペレーティング・システムを含む、請求項1に記載の方法。
  3. 前記仮想ストレージ・アプライアンスがRAID制御装置を含む、請求項1に記載の方法。
  4. 前記仮想化環境が、前記仮想ストレージ・アプライアンスと、異なるオペレーティング・システムを実行する複数の仮想マシンとをサポートする仮想マシンモニタを含む、請求項1に記載の方法。
  5. 前記ブート・コードがBIOS環境またはEFI環境のうちの1つをロードする、請求項1に記載の方法。
  6. 前記ディスクアレイがハードディスク・ドライブアレイを含む、請求項1に記載の方法。
  7. 前記ディスクアレイがストレージ・エリア・ネットワークを含む、請求項1に記載の方法。
  8. 前記ディスクアレイがRAIDアレイを含む、請求項1に記載の方法。
  9. 前記仮想ストレージ・アプライアンスを管理することをさらに含む、請求項1に記載の方法。
  10. 前記仮想ストレージ・アプライアンスを提供することが、
    前記サーバ・プラットフォームによってアクセス可能であるインストール・パッケージを提供することを含み、前記インストール・パッケージは、前記仮想ストレージ・アプライアンスをインストールするインストール・スクリプトと、ブート・コンソールと、管理モジュールとを含み、さらに、
    前記サーバ・プラットフォームを起動して前記ブート・コードをロードすること、
    前記ブート・コード上で動かすように前記インストール・パッケージをロードすること、
    前記インストール・スクリプトを動かして、前記ディスクに前記隠しブート・パーティションを作成し、前記ブート・コンソールと前記管理モジュールとを前記隠しブート・パーティションにコピーすること、
    前記サーバ・プラットフォームをリブートして、前記ブート・コードをロードすること、
    前記ブート・コンソールと前記管理モジュールとを前記隠しブート・パーティションからロードすること、
    前記管理モジュールを介して前記ディスクアレイを構成すること、
    隠しブート・パーティションを作成し、前記ブート・コンソールと前記管理モジュールとを前記ディスクアレイの各ディスクに複製すること、そして、
    前記ブート・コンソールをストレージ・ドライバとして使用して、前記仮想化環境をインストールすること、
    によって、前記サーバ・プラットフォームに前記仮想ストレージ・アプライアンスをインストールすることを含む、請求項1に記載の方法。
  11. 前記インストール・パッケージが、コンパクトディスク、デジタルビデオディスク、およびフラッシュメモリ・デバイスのうちの少なくとも1つを介して、前記サーバ・プラットフォームに提供される、請求項10に記載の方法。
  12. 前記サーバ・プラットフォームに前記仮想ストレージ・アプライアンスをインストールすることが、前記サーバ・プラットフォームをリブートすることをさらに含む、請求項10に記載の方法。
  13. 前記ホスト・サーバ・プラットフォームをリブートすることが、
    前記ブート・コンソールと前記管理モジュールとを前記ディスクのうちの1つの前記隠しブート・パーティションからロードすること、そして、
    前記ブート・コンソールが前記仮想化環境をロードすること、を含む請求項12に記載の方法。
JP2011518756A 2008-07-17 2009-06-09 仮想化サーバ・プラットフォーム上でブート可能な仮想ストレージ・アプライアンスをブートするためのシステムおよび方法 Expired - Fee Related JP5404783B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13523108P 2008-07-17 2008-07-17
US61/135,231 2008-07-17
PCT/US2009/046702 WO2010008706A1 (en) 2008-07-17 2009-06-09 Systems and methods for booting a bootable virtual storage appliance on a virtualized server platform

Publications (2)

Publication Number Publication Date
JP2011528469A true JP2011528469A (ja) 2011-11-17
JP5404783B2 JP5404783B2 (ja) 2014-02-05

Family

ID=41550645

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2011518756A Expired - Fee Related JP5404783B2 (ja) 2008-07-17 2009-06-09 仮想化サーバ・プラットフォーム上でブート可能な仮想ストレージ・アプライアンスをブートするためのシステムおよび方法
JP2011518757A Expired - Fee Related JP5302397B2 (ja) 2008-07-17 2009-06-09 仮想化されたサーバ・プラットフォーム上に起動可能な仮想ストレージ・アプライアンスをインストールするためのシステムおよび方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2011518757A Expired - Fee Related JP5302397B2 (ja) 2008-07-17 2009-06-09 仮想化されたサーバ・プラットフォーム上に起動可能な仮想ストレージ・アプライアンスをインストールするためのシステムおよび方法

Country Status (7)

Country Link
US (2) US8539218B2 (ja)
EP (2) EP2324425A4 (ja)
JP (2) JP5404783B2 (ja)
KR (2) KR101484358B1 (ja)
CN (2) CN102132251B (ja)
TW (1) TWI428831B (ja)
WO (2) WO2010008706A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015531090A (ja) * 2012-12-13 2015-10-29 株式会社日立製作所 ストレージデバイスの高速アクセス及びデータ保護を実現する計算機、計算機システム、及びi/o要求処理方法

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8332496B2 (en) 2009-09-23 2012-12-11 International Business Machines Corporation Provisioning of operating environments on a server in a networked environment
US8677111B2 (en) * 2010-05-04 2014-03-18 Riverbed Technology, Inc. Booting devices using virtual storage arrays over wide-area networks
CN102262589B (zh) * 2010-05-31 2015-03-25 赛恩倍吉科技顾问(深圳)有限公司 实现硬盘驱动器拷贝的应用服务器及方法
US9116728B2 (en) 2010-12-21 2015-08-25 Microsoft Technology Licensing, Llc Providing a persona-based application experience
US9058107B2 (en) * 2011-03-29 2015-06-16 Os Nexus, Inc. Dynamic provisioning of a virtual storage appliance
US20120311117A1 (en) * 2011-06-01 2012-12-06 Morgan Stanley Object Pipeline-Based Virtual Infrastructure Management
US20130024856A1 (en) * 2011-07-19 2013-01-24 Nexenta Systems, Inc. Method and apparatus for flexible booting virtual storage appliances
TWI515658B (zh) 2011-12-07 2016-01-01 萬國商業機器公司 用於創建虛擬裝置之方法及系統
US20130152081A1 (en) 2011-12-13 2013-06-13 International Business Machines Corporation Selectable event reporting for highly virtualized partitioned systems
CA2867302A1 (en) 2012-03-14 2013-09-19 Convergent .Io Technologies Inc. Systems, methods and devices for management of virtual memory systems
KR101468983B1 (ko) * 2012-07-31 2014-12-03 한국과학기술정보연구원 동적 계산 환경을 설정하기 위한 장치, 동적 계산 환경을 설정하기 위한 방법, 및 동적 계산 환경을 설정하기 위한 프로그램을 저장하는 저장매체
US9959171B2 (en) 2013-03-14 2018-05-01 International Business Machines Corporation Self-healing using a virtual boot device
TWI588751B (zh) 2013-05-31 2017-06-21 聯想企業解決方案(新加坡)有限公司 透過基板管理控制器管理虛擬機器的電腦主機與方法
KR102220127B1 (ko) * 2013-06-18 2021-03-02 시암벨라 리미티드 커스터마이징된 소프트웨어 개발 키트(sdk) 생성을 위한 방법 및 장치
CN104050014B (zh) * 2014-05-23 2017-12-29 上海爱数信息技术股份有限公司 基于虚拟化平台的高效存储管理方法
CN105373415A (zh) * 2014-08-28 2016-03-02 中兴通讯股份有限公司 基于虚拟化的应用存储方法、执行方法、装置及系统
TWI645296B (zh) 2017-10-17 2018-12-21 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體操作方法
US11256816B2 (en) * 2019-10-04 2022-02-22 Zettaset, Inc. Dynamic provisioning of encrypted container storage
US11340797B2 (en) 2019-10-04 2022-05-24 Zettaset, Inc. Dedicated encrypted container storage
US11079944B2 (en) 2019-10-04 2021-08-03 Zettaset, Inc. Dynamic provisioning of container storage
US11334364B2 (en) * 2019-12-16 2022-05-17 Microsoft Technology Licensing, Llc Layered composite boot device and file system for operating system booting in file system virtualization environments
US11347520B2 (en) * 2020-02-13 2022-05-31 Dell Products L.P. Unavailable memory device initialization system
CN111949378B (zh) * 2020-08-28 2021-09-10 腾讯科技(深圳)有限公司 虚拟机启动模式切换方法和装置、存储介质及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0430223A (ja) * 1990-05-25 1992-02-03 Fujitsu Ltd 仮想計算機のipl処理方式
JP2004227100A (ja) * 2003-01-20 2004-08-12 Hitachi Ltd 記憶デバイス制御装置にソフトウエアをインストールする方法、記憶デバイス制御装置の制御方法、及び記憶デバイス制御装置
JP2005293417A (ja) * 2004-04-02 2005-10-20 Sony Corp コンピュータ機器、コンピュータネットワークシステム、プログラム転送方法およびプログラム転送用プログラム
JP2007080105A (ja) * 2005-09-15 2007-03-29 Ricoh Co Ltd システム起動方法、プログラム及びコンピュータシステム
JP2007207017A (ja) * 2006-02-02 2007-08-16 Seiko Epson Corp 情報処理装置、インストール方法、およびプログラム
WO2008126145A1 (ja) * 2007-03-30 2008-10-23 Fujitsu Limited コンピュータシステムの仮想os環境での仮想ネットワークアダプタの設定方法及びコンピュータシステム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020103889A1 (en) * 2000-02-11 2002-08-01 Thomas Markson Virtual storage layer approach for dynamically associating computer storage with processing hosts
US6823450B2 (en) * 2001-05-11 2004-11-23 International Business Machines Corporation Mechanism for eliminating need for flash memory in software RAID
US7043614B2 (en) * 2002-07-11 2006-05-09 Veritas Operating Corporation Storage services and systems
US7509644B2 (en) * 2003-03-04 2009-03-24 Secure 64 Software Corp. Operating system capable of supporting a customized execution environment
US20050015430A1 (en) * 2003-06-25 2005-01-20 Rothman Michael A. OS agnostic resource sharing across multiple computing platforms
US8190714B2 (en) * 2004-04-15 2012-05-29 Raytheon Company System and method for computer cluster virtualization using dynamic boot images and virtual disk
IL163314A (en) * 2004-08-02 2010-06-16 Lsi Technologies Israel Ltd Booting from a storage area network
US7747847B2 (en) * 2005-03-25 2010-06-29 Broadcom Corporation Method and system for iSCSI boot in which an iSCSI client loads boot code from a host bus adapter and/or network interface card
US20070234000A1 (en) * 2006-03-31 2007-10-04 Dell Products L.P. Method and system for dynamic management of a utility partition in a pre-operating system environment
US7441113B2 (en) * 2006-07-10 2008-10-21 Devicevm, Inc. Method and apparatus for virtualization of appliances
US8225309B2 (en) 2006-10-16 2012-07-17 Dell Products L.P. Method and process for using common preinstallation environment for heterogeneous operating systems
US7624262B2 (en) * 2006-12-20 2009-11-24 International Business Machines Corporation Apparatus, system, and method for booting using an external disk through a virtual SCSI connection

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0430223A (ja) * 1990-05-25 1992-02-03 Fujitsu Ltd 仮想計算機のipl処理方式
JP2004227100A (ja) * 2003-01-20 2004-08-12 Hitachi Ltd 記憶デバイス制御装置にソフトウエアをインストールする方法、記憶デバイス制御装置の制御方法、及び記憶デバイス制御装置
JP2005293417A (ja) * 2004-04-02 2005-10-20 Sony Corp コンピュータ機器、コンピュータネットワークシステム、プログラム転送方法およびプログラム転送用プログラム
JP2007080105A (ja) * 2005-09-15 2007-03-29 Ricoh Co Ltd システム起動方法、プログラム及びコンピュータシステム
JP2007207017A (ja) * 2006-02-02 2007-08-16 Seiko Epson Corp 情報処理装置、インストール方法、およびプログラム
WO2008126145A1 (ja) * 2007-03-30 2008-10-23 Fujitsu Limited コンピュータシステムの仮想os環境での仮想ネットワークアダプタの設定方法及びコンピュータシステム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015531090A (ja) * 2012-12-13 2015-10-29 株式会社日立製作所 ストレージデバイスの高速アクセス及びデータ保護を実現する計算機、計算機システム、及びi/o要求処理方法
US9354815B2 (en) 2012-12-13 2016-05-31 Hitachi, Ltd. Computer realizing high-speed access and data protection of storage device, computer system, and I/O request processing method
US9600185B2 (en) 2012-12-13 2017-03-21 Hitachi, Ltd. Computer realizing high-speed access and data protection of storage device, computer system, and I/O request processing method

Also Published As

Publication number Publication date
KR20110034635A (ko) 2011-04-05
EP2324425A1 (en) 2011-05-25
CN102132251A (zh) 2011-07-20
US20110078433A1 (en) 2011-03-31
EP2324426A4 (en) 2014-04-30
TW201015439A (en) 2010-04-16
KR101371270B1 (ko) 2014-03-07
EP2324426A1 (en) 2011-05-25
US8578146B2 (en) 2013-11-05
WO2010008706A1 (en) 2010-01-21
JP2011528470A (ja) 2011-11-17
EP2324425A4 (en) 2014-04-30
JP5302397B2 (ja) 2013-10-02
CN102099787B (zh) 2014-03-26
CN102099787A (zh) 2011-06-15
KR101484358B1 (ko) 2015-01-19
US8539218B2 (en) 2013-09-17
TWI428831B (zh) 2014-03-01
WO2010008707A1 (en) 2010-01-21
US20110161649A1 (en) 2011-06-30
KR20110053427A (ko) 2011-05-23
CN102132251B (zh) 2014-04-30
JP5404783B2 (ja) 2014-02-05

Similar Documents

Publication Publication Date Title
JP5404783B2 (ja) 仮想化サーバ・プラットフォーム上でブート可能な仮想ストレージ・アプライアンスをブートするためのシステムおよび方法
US10261800B2 (en) Intelligent boot device selection and recovery
US10606628B2 (en) Systems and methods for modifying an operating system for a virtual machine
US8677352B2 (en) Interchangeable guest and host execution environments
US8949585B2 (en) In-place conversion of virtual machine state
US9483639B2 (en) Service partition virtualization system and method having a secure application
US20200319904A1 (en) Hyperconverged system architecture featuring the container-based deployment of virtual machines
US9672058B2 (en) Reduced service partition virtualization system and method
US20150261952A1 (en) Service partition virtualization system and method having a secure platform
CN115390996B (zh) 虚拟机迁移方法和装置、计算设备和存储介质
KR20210069981A (ko) 가상화 서버 플랫폼상에 부팅가능한 가상 스토리지 설비를 부팅하기 위한 시스템들 및 방법들
US8024556B1 (en) Layered execution pre-boot configuration systems, apparatus, and methods
US11829772B2 (en) Heterogeneous compute domains with an embedded operating system in an information handling system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120224

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120713

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130305

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130605

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130612

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130904

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131001

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131029

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees