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

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

Info

Publication number
JP2011528470A
JP2011528470A JP2011518757A JP2011518757A JP2011528470A JP 2011528470 A JP2011528470 A JP 2011528470A JP 2011518757 A JP2011518757 A JP 2011518757A JP 2011518757 A JP2011518757 A JP 2011518757A JP 2011528470 A JP2011528470 A JP 2011528470A
Authority
JP
Japan
Prior art keywords
iovm
boot
server platform
management module
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
JP2011518757A
Other languages
English (en)
Other versions
JP5302397B2 (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 JP2011528470A publication Critical patent/JP2011528470A/ja
Application granted granted Critical
Publication of JP5302397B2 publication Critical patent/JP5302397B2/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つのそのような方法は、ホスト・サーバ・プラットフォームにインストール・パッケージを供給し、このインストール・パッケージが、IOVM(I/O仮想マシン)をインストールするためのインストール・スクリプトと、IOVMブート・コンソールと、IOVM管理モジュールとを備えること、インストール・スクリプトを実行して、ブート・ディスク上に、隠されたブート・パーティションを作成し、その隠されたブート・パーティションにIOVMブート・コンソールおよびIOVM管理モジュールをコピーすること、ホスト・サーバ・プラットフォームを再起動すること、隠されたブート・パーティションからIOVMブート・コンソールおよびIOVM管理モジュールを読み込むこと、IOVM管理モジュールを介してディスク・アレイを構成すること、このアレイの中の各ディスクに関して、隠されたブート・パーティションを作成して、IOVMブート・コンソールおよびIOVM管理モジュールをレプリケートすること、ならびにIOVMブート・コンソールをストレージ・ドライバとして使用して仮想ストレージ環境をインストールすることを備える。

Description

(関連出願の相互参照)
本出願は、参照により全体が本明細書に組み込まれている、2008年7月16日に出願した、「Method to Install and Boot a Virtual Appliance that Owns Boot Devices」という名称の米国仮特許出願第61/135,231号の優先権の利益を主張するものである。
本発明は、一般に、コンピュータ・データ・ストレージに関し、より詳細には、サーバ・プラットフォーム上の仮想ストレージ・アプライアンスおよびVMM(仮想マシン・モニタ)環境に関する。
ビジネス環境において使用するためのコンピュータ・ネットワークは、より多くのストレージを要求しつづけている。通常、そのような企業は、集中データ・ストレージ・システムを使用し、コンピュータ・ネットワークは、ネットワークを介してそのデータ・ストレージ・システムと通信する様々なパーソナル・コンピュータ、ラップトップなどを含む。このデータ・ストレージ・システムは、ハードディスク・ドライブ、磁気ディスクもしくは光ディスク、および/またはSAN(ストレージ・エリア・ネットワーク)などの専用データ・ストレージ・リソース上に情報を格納すること、およびそのようなリソースから情報を取り出すことを制御するサーバ・プラットフォームを通常、含む。このサーバ・プラットフォームは、物理ディスク・ドライブを管理し、それらのドライブをサーバ・プラットフォームに論理ユニットとして提示するストレージ・コントローラを通常、含む。
1つのソリューションにおいて、ストレージ・コントローラは、RAID(Redundant Array of Independent Disks)標準のハードウェア実施形態を備える。RAIDは、ストレージ・デバイスを冗長性のためにアレイに構成する技術を介して、より低価格の構成要素からストレージ信頼性をもたらすストレージ・ソリューションである。一般に、ハードウェアRAID実施形態は、複数のストレージ・デバイスの間でデータを分割し、レプリケートする専用のハードウェアを使用するが、そのアレイは、サーバ・プラットフォームによって単一のディスクと見なされる。この実施形態は、より低価格のオプションをもたらすが、このソリューションは、いくつかの状況において望ましくなく高価であり得る専用のハードウェアの使用を依然として要求する。
処理能力が増大するにつれ、ストレージ・コントローラを、専用のハードウェアではなく、ソフトウェアで実施することが、より一般的となっている。例えば、現在、RAID論理がサーバ・プラットフォームのオペレーティング・システムの一部である、いくつかのソフトウェアRAID実施形態が存在する。これらのソリューションは、全体的な費用、および特定のハードウェア・プラットフォームへの依存を大幅に減らすことができる。しかし、ソフトウェア実施形態は、サーバ・プラットフォームが、仮想化を介して複数の実行環境(例えば、複数のエミュレートされたオペレーティング・システム)もサポートする状況において、大きな欠点を有する。
ソフトウェアRAID実施形態の別の大きな限界は、ソフトウェアRAID実施形態が、サポートされる各オペレーティング・システムに合わせて構成される必要があることであり、このことは、開発、デバッグ、および展開の費用および不都合を大きくする可能性がある。Linux派生品などの一部の事例において、オープンソース・ライセンス(例えば、GNUジェネラル・パブリック・ライセンス、およびその他)の条件に基づいて、ソース・コード(source code)の公開と関係するさらなる厄介な問題が存在する可能性がある。これらのオープンソース遵守問題が、そのようなオペレーティング・システムのためにソフトウェアRAIDを実施することの費用および不都合をさらに大きくする可能性がある。
仮想化技術が、VMM(仮想マシン・モニタ)を実行している単一のホスト・コンピュータが、ホストの複数の抽象化またはビューを提示することを可能にし、したがって、基礎をなすホスト・ハードウェアは、独立して動作する1つまたは複数のVM(仮想マシン)のように見える。VMMは、ホスト・コンピュータが複数の実行環境をサポートすることを許すホスト・プログラムを備える。各VMは、独自のファームウェア、オペレーティング・システム、および/またはソフトウェア・アプリケーションを実行する自己完結型のプラットフォームとして機能することが可能である。VMMは、VMに対するホスト・リソースの割当て、および仮想化を管理する。
ソフトウェアRAIDコントローラまたはその他のソフトウェア・ストレージ・コントローラをVMM環境における仮想ストレージ・アプライアンスとして組み合わせる際、大きな構成上の課題が存在する。例えば、VMM環境において仮想ストレージ・アプライアンスをインストールすること、および/または起動することに関与する、いくつかの複雑な問題が存在する。起動されるためには、仮想ストレージ・アプライアンスは、プラットフォーム上に存在することを要する。多数の利用可能なVMM環境が存在するが、各VMM環境は異なる。既存のソリューションは、各VMM環境に合わせて独立に設計されなければならず、さらにプラットフォームは、使用されるべき特定のVMM環境に合わせて事前構成されなければならず、このことは、大きなロジスティクス上の課題をもたらす。例えば、全く仮想化なしに、標準のオペレーティング・システムを起動することは、システム(例えば、BIOS、EFI)が少数のモジュールだけを読み込んで、極めて単純である。通常、このシナリオでは、まずブート・ローダおよびドライバが読み込まれてから、O/Sローダがプロセスを引き継ぎ、制御することが可能である。しかし、VMM環境では、このプロセスは、ブート・ロード時から、VMM環境のすべて、ホスト・オペレーティング・システム、および仮想ストレージ・アプライアンス(および付随するストレージ制御ロジック)を読み込まなければならないため、相当により複雑である。これらの構成要素のすべてを読み込むことは、10〜100MB以上も有するイメージを要する可能性がある。さらに、ブート・デバイスは、通常、RAIDボリュームであり、したがって、RAIDエンジンがオペレーティング・システムの中にある場合、ブート・デバイスを読み込むのにRAID機能が要求され、このことには、負担になる再帰的自己参照が伴う可能性がある。
この問題に対処しようと試みるための既存のソリューションは、ブート・コードの中でRAIDローダを使用することを含む。しかし、このことには、それ独自の複雑な問題を有する、別のRAIDスタックを作成しなければならないという費用が伴う。大手製造業者は、RAIDスタックを修飾し(qualify)、EFI/BIOSの中に維持することができる可能性があるが、多くの顧客は、そうすることができないか、そうしたいという気がない。この問題に対処しようと試みるための別のソリューションは、VMM環境全体をサーバ・プラットフォームの不揮発性メモリの中で提供することを含む。このこともまた、別の一組の課題をもたらす。例えば、VMM環境のためのコードのサイズが問題である可能性がある。さらに、VMM環境全体がサーバ・プラットフォームの不揮発性メモリの中で提供される場合、VMM環境の配布および/またはメンテナンスに関連する大きなビジネス上の課題が存在する。
米国仮特許出願第61/135,231号
VMM環境において仮想ストレージ・アプライアンスを組み合わせることの多くの利点にもかかわらず、特定のVMM環境に依存せず、さらにプラットフォームを事前構成する必要性を解消することができる、標準のサーバ・プラットフォームにおいて仮想ストレージ・アプライアンスをインストールするため、および/または起動するための、費用対効果がより大きいソリューションおよびシステムおよび方法の必要性が、依然として当技術分野に存在する。
仮想化されたサーバ・プラットフォーム上に仮想ストレージ・アプライアンスをインストールするため、および/または仮想化されたサーバ・プラットフォーム上で仮想ストレージ・アプライアンスを起動するためのシステム、方法、コンピュータ・システム、およびコンピュータ・プログラムの様々な実施形態が、開示される。一実施形態は、ホスト・サーバ・プラットフォーム上に仮想ストレージ・アプライアンスをインストールするための方法である。1つのそのような方法は、ホスト・サーバ・プラットフォームによってアクセスされることが可能なインストール・パッケージを提供し、このインストール・パッケージが、IOVM(I/O仮想マシン)をインストールするためのインストール・スクリプトと、IOVMブート・コンソールと、IOVM管理モジュールとを備えること、ホスト・サーバ・プラットフォームの電源を投入し、ブート・コードを読み込むこと、インストール・パッケージを読み込んで、ブート・コードの上で実行すること、インストール・スクリプトを実行して、ブート・ディスク上に、隠されたブート・パーティションを作成し、その隠されたブート・パーティションにIOVMブート・コンソールおよびIOVM管理モジュールをコピーすること、ホスト・サーバ・プラットフォームを再起動し、ブート・コードを読み込むこと、隠されたブート・パーティションからIOVMブート・コンソールおよびIOVM管理モジュールを読み込むこと、IOVM管理モジュールを介してディスク・アレイを構成すること、ディスク・アレイの中の各ディスク上に隠されたブート・パーティションを作成して、IOVMブート・コンソールおよびIOVM管理モジュールをレプリケートすること、ならびにIOVMブート・コンソールをストレージ・ドライバとして使用して仮想ストレージ環境をインストールすることを備える。
別のそのような方法は、ホスト・サーバ・プラットフォームにインストール・パッケージを供給し、このインストール・パッケージが、IOVM(I/O仮想マシン)をインストールするためのインストール・スクリプトと、IOVMブート・コンソールと、IOVM管理モジュールとを備えること、インストール・スクリプトを実行して、ブート・ディスク上に、隠されたブート・パーティションを作成し、その隠されたブート・パーティションにIOVMブート・コンソールおよびIOVM管理モジュールをコピーすること、ホスト・サーバ・プラットフォームを再起動すること、隠されたブート・パーティションからIOVMブート・コンソールおよびIOVM管理モジュールを読み込むこと、IOVM管理モジュールを介してディスク・アレイを構成すること、このアレイの中の各ディスクに関して、隠されたブート・パーティションを作成して、IOVMブート・コンソールおよびIOVM管理モジュールをレプリケートすること、ならびにIOVMブート・コンソールをストレージ・ドライバとして使用して仮想ストレージ環境をインストールすることを備える。
仮想ストレージ・アプライアンスがインストールされることが可能なサーバ・プラットフォームの実施形態を示すブロック図である。 図1のサーバ・プラットフォーム上に仮想ストレージ・アプライアンスをインストールするのに使用されることが可能なIOVMインストール・パッケージの実施形態を示すブロック図である。 図2のIOVMインストール・パッケージを介して図1のサーバ・プラットフォーム上に仮想ストレージ・アプライアンスをインストールするための方法の実施形態を示す流れ図である。 仮想ストレージ・アプライアンスのインストール中のサーバ・プラットフォームの動作を示す図である。 仮想ストレージ・アプライアンスのインストール中のサーバ・プラットフォームの動作を示す図である。 仮想ストレージ・アプライアンスのインストール中のサーバ・プラットフォームの動作を示す図である。 仮想ストレージ・アプライアンスのインストール中のサーバ・プラットフォームの動作を示す図である。 仮想ストレージ・アプライアンスのインストール中のサーバ・プラットフォームの動作を示す図である。 仮想ストレージ・アプライアンスのインストール中のサーバ・プラットフォームの動作を示す図である。 仮想ストレージ・アプライアンスのインストール中のサーバ・プラットフォームの動作を示す図である。 仮想ストレージ・アプライアンスのインストール中のサーバ・プラットフォームの動作を示す図である。 仮想ストレージ・アプライアンスがインストールされたサーバ・プラットフォームの実施形態を示すブロック図である。 図12の仮想ストレージ・アプライアンスを起動するための方法の実施形態を示す流れ図である。 図12のブート・プロセス中のサーバ・プラットフォームの動作を示す図である。 図12のブート・プロセス中のサーバ・プラットフォームの動作を示す図である。
サーバ・プラットフォーム上に仮想ストレージ・アプライアンスをインストールするため、および/または仮想化されたサーバ・プラットフォーム上で仮想ストレージ・アプライアンスを起動するためのシステム、方法、およびコンピュータ・プログラムの様々な実施形態が、開示される。手始めに、仮想ストレージ・アプライアンスおよびサーバ・プラットフォームが動作する動作環境を例示するのに、図1が、例示的なコンピュータ・システム100を示す。コンピュータ・システム100は、仮想ストレージ・アプライアンスがインストールされ、および/または起動されることが可能なサーバ・プラットフォーム102を備える。或る実施形態において、サーバ・プラットフォーム102は、1つまたは複数のプロセッサ106と、メモリ108と、ブート・コード112を含む不揮発性メモリ110とを含むハードウェア104を有する標準の、既成のサーバ・プラットフォームを備える。プロセッサ106、メモリ108、不揮発性メモリ110、およびブート・コード112は、サーバ・プラットフォーム102上で事前構成されて、後段で説明されるとおり、インストール・プロセスおよびブート・プロセスを実行するのに使用されることが可能であることを認識されたい。したがって、図1のその他の例示される構成要素は、図2〜図15を参照して後段で説明されるインストール・プロセスおよびブート・プロセスに従ってサーバ・プラットフォーム102によって読み込まれる構成要素を表すことをさらに認識されたい。
ブート・コード112は、サーバ・プラットフォーム102によって、ハードウェア104を構成し、オペレーティング・システム起動手順を開始するのに使用されるコードを備える。或る実施形態において、ブート・コード112は、例えば、BIOS環境、EFI環境、または他のブート環境を読み込むように構成されることが可能である。
仮想マシン・モニタ114は、仮想マシン環境からハードウェア104を隔離するのに使用されるハイパーバイザ(hypervisor)またはシン・ソフトウェア層を備える。VMM114は、独立したオペレーティング・システム(例えば、OS116a、116b、116c)に関連する1つまたは複数のサービス仮想マシン、および特殊用途ゲスト仮想マシン(すなわち、I/O仮想マシン118)の実行を制御する。後段でより詳細に説明されるとおり、IOVM118は、複数の物理ディスク124を備えるディスク・アレイ122に関連するI/Oを処理するように構成された専用の仮想マシンを備える。IOVM118は、ディスク・アレイ122にデータを格納し、ディスク・アレイ122からデータを取り出すように構成されたストレージ・コントローラ120を含む。プロセッサ106は、VMM114、IOVM118、O/S116a〜c、ならびに他の任意のソフトウェアおよび/またはファームウェアをサポートする処理を含め、サーバ・プラットフォーム102に関連する処理動作を実行する。
サーバ・プラットフォーム102およびIOVM118の一般的な動作環境を説明したので、図3〜図11を参照して、サーバ・プラットフォーム102上にIOVM118をインストールするためのシステムおよび方法の様々な実施形態を説明する。図3は、サーバ・プラットフォーム102上にIOVM118をインストールするための方法300の実施形態を示す。図4〜図11は、コンピュータ・システム100の構成要素を参照して、インストール・プロセスをプレブート・プロセスとして示す。方法300に関連するプロセス記述または方法記述の1つまたは複数は、プロセスにおける論理機能または論理ステップを実施するための1つまたは複数の実行可能命令を含むモジュール、セグメント、ロジック、またはコードの部分を表すことが可能であることを認識されたい。これらの論理機能は、ソフトウェアで、ハードウェアで、ファームウェアで、または以上の任意の組合せで実施されることが可能であることをさらに認識されたい。一部の実施形態において、図3の流れ図、および図4〜図11のシステム・ブロック図を参照して説明される論理機能は、メモリ108または不揮発性メモリ110の中に格納され、ハードウェア104によって、あるいはサーバ・プラットフォーム102に関連する他の任意のプロセッサまたは適切な命令実行システムによって実行されるソフトウェアで、またはファームウェアで実施されることが可能である。さらに、これらの論理機能は、命令実行システム、命令実行装置、または命令実行デバイスから命令をフェッチして、それらの命令を実行することができる、サーバ・プラットフォーム102に関連するコンピュータ・ベースのシステム、プロセッサを含むシステム、または他のシステムなどの、命令実行システム、命令実行装置、または命令実行デバイスによって使用される、もしくはそのようなシステム、装置、またはデバイスに関連して使用される任意のコンピュータ可読媒体として実現されることが可能である。
図3を参照すると、サーバ・プラットフォーム102(ブロック302)およびIOVMインストール・パッケージ(ブロック304)が提供されている。或る実施形態において、サーバ・プラットフォーム102は、VMMまたはIOVM118に関連する特化された構成要素を全く有さない標準のサーバ(例えば、OEMサーバ)を備えることが可能である。図2に示されるとおり、或る実施形態では、IOVMインストール・パッケージ200は、例えば、インストール・スクリプト202、IOVMブート・コンソール204、IOVM管理モジュール206、およびVMM208などの、IOVM118をインストールすることに関連する様々な構成要素を備える。インストール・パッケージ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で、電源が投入された後、不揮発性メモリ110からブート・コード112が読み込まれる。ブート・コード112は、例えば、BIOS環境、EFI環境、またはその他のブート環境を読み込むように構成されることが可能である。ブート環境は、サーバ・プラットフォーム102上のストレージ・コントローラ120と適合する標準のストレージ・ドライバ210を含むことが可能である。或る実施形態において、ストレージ・ドライバ210は、SASドライバを備えることが可能であり、ストレージ・コントローラ120は、SASコントローラを備えることが可能である。しかし、他のデータ転送技術、データ転送標準、および/またはデータ転送インタフェースを実施する他のコントローラ、および他のドライバが使用されてもよいことが、当業者には認識されよう。
ブロック310(図5)で、IOVMインストール・パッケージ200が読み込まれて、ブート・コード112の上で実行される。図6に示されるとおり、ブロック312および314で、インストール・スクリプト202が実行され、ブート・パーティションがブート・ディスク上で作成される。図6の実施形態において、ブート・ディスクは、ディスク・アレイ122の中の物理ディスク124のうちの1つ(すなわち、物理ディスク124a)を備える。ブート・パーティションは、システムから隠されることが可能である。例えば、RAID実施形態において、ブート・パーティションは、RAID標準によって規定されるDDF(ディスク・データ・フォーマット)空間内に、または他の任意のプライベート・パーティション内に隠されることが可能である。ブロック316(図7)で、インストール・スクリプト202が、IOVMインストール・パッケージ200からのIOVMブート・コンソール204およびIOVM管理モジュール206をブート・パーティション116にコピーすることも可能である。ブート・パーティション116は、起動可能にされることが可能である。
ブロック318で、サーバ・プラットフォーム102が再起動され、図8に示されるとおり、ブート・コード112が、不揮発性メモリ110から読み込まれる(ブロック320)。ブロック322(図9)で、IOVMブート・コンソール204およびIOVM管理モジュール206が、ブート・パーティション116からサーバ・プラットフォーム102に読み込まれることが可能である。前述したとおり、IOVM118は、専用のOSベースのゲスト仮想マシンを備えることが可能である。このため、OSローダが、ブート環境から制御を引き継ぎ、ブート・パーティション116からIOVMブート・コンソール204およびIOVM管理モジュール206を読み込むことが可能である。或る実施形態において、IOVMブート・コンソール204は、標準のオペレーティング・システムを備えることが可能である。したがって、IOVMブート・コンソール204は、標準の手順を使用してオペレーティング・システムを起動することができる。しかし、コンピュータ・システム100において、IOVMブート・コンソール204は、ストレージ仮想化を管理する(例えば、RAIDロジックを管理する)ために構成されることを認識されたい。
ブロック324で、ユーザは、IOVM管理モジュール206とインタフェースをとって、ディスク・アレイ122を構成することが可能である。例えば、IOVM管理モジュール206は、ユーザが、所望に応じて、ディスク・グループ、仮想ディスク、ボリュームなどを作成することを可能にするように構成されることが可能である。ブロック326(図10)で、IOVMブート・コンソール204が、この事例では、物理ディスク124bおよび124cである、ディスク・アレイ122の中のすべてのディスク上に隠されたブート・パーティション116を作成する。また、IOVMブート・コンソールは、その他のブート・パーティション116の中にブート・ディスク(すなわち、物理ディスク124a)の内容をレプリケートすることも可能である。このプロセスは、物理ディスク124に障害が生じた場合に、例えば、RAIDスキームの必要なしに、コンピュータ・システム100が機能することを許す冗長性スキームを可能にすることを認識されたい。物理ディスク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インストールの一部であることが可能である。IOVMブート・コンソール204が、図15に示されるとおり、VMM208をブートし、その後、当業者に認識されるとおり、通常の仕方でVMMブート・ローダに制御を渡す。
本開示は、本発明の原理および概念を明示する目的で、1つまたは複数の例示的な、または説明される実施形態を参照して提示されてきたことに留意されたい。本発明は、これらの実施形態に限定されない。当業者によって理解されるとおり、本明細書で与えられる説明に鑑みて、本明細書で説明される実施形態に対する多くの変形を行うことが可能であり、すべてのそのような変形が本発明の範囲に含まれる。

Claims (14)

  1. ホスト・サーバ・プラットフォーム上に仮想ストレージ・アプライアンスをインストールするための方法であって、
    ホスト・サーバ・プラットフォームによってアクセスされることが可能なインストール・パッケージを提供し、前記インストール・パッケージが、IOVM(I/O仮想マシン)をインストールするためのインストール・スクリプトと、IOVMブート・コンソールと、IOVM管理モジュールとを備えること、
    前記ホスト・サーバ・プラットフォームの電源を投入し、ブート・コードを読み込むこと、
    前記インストール・パッケージを読み込んで、前記ブート・コードの上で実行すること、
    前記インストール・スクリプトを実行して、ブート・ディスク上に隠されたブート・パーティションを作成し、前記隠されたブート・パーティションに前記IOVMブート・コンソールおよび前記IOVM管理モジュールをコピーすること、
    前記ホスト・サーバ・プラットフォームを再起動し、前記ブート・コードを読み込むこと、
    前記隠されたブート・パーティションから前記IOVMブート・コンソールおよび前記IOVM管理モジュールを読み込むこと、
    前記IOVM管理モジュールを介してディスク・アレイを構成すること、
    前記ディスク・アレイの中の各ディスク上に、隠されたブート・パーティションを作成して、前記IOVMブート・コンソールおよび前記IOVM管理モジュールをレプリケートすること、ならびに
    前記IOVMブート・コンソールをストレージ・ドライバとして使用して仮想ストレージ環境をインストールすることを備える方法。
  2. 前記IOVMは、ゲスト・オペレーティング・システムを備える請求項1に記載の方法。
  3. 前記IOVMは、RAIDコントローラを備える請求項1に記載の方法。
  4. 前記インストール・パッケージは、コンパクト・ディスク、デジタル・ビデオ・ディスク、およびフラッシュ・メモリ・デバイスの少なくとも1つを介して前記ホスト・サーバ・プラットフォームに供給される請求項1に記載の方法。
  5. 前記ホスト・サーバ・プラットフォームを再起動することをさらに備える請求項1に記載の方法。
  6. 前記ホスト・サーバ・プラットフォームを前記再起動することは、
    前記ディスクのうちの1つのディスク上の前記隠されたブート・パーティションから前記IOVMブート・コンソールおよび前記IOVM管理モジュールを読み込むこと、
    前記IOVMブート・コンソールが前記仮想環境を読み込むことを備える請求項5に記載の方法。
  7. 前記仮想環境は、前記IOVMをサポートする仮想マシン・モニタと、様々なオペレーティング・システムを実行する複数の仮想マシンとを備える請求項1に記載の方法。
  8. 前記ブート・コードは、BIOS環境またはEFI環境のいずれかを読み込む請求項1に記載の方法。
  9. 前記ディスク・アレイは、ハードディスク・ドライブ・アレイを備える請求項1に記載の方法。
  10. 前記ディスク・アレイは、ストレージ・エリア・ネットワークを備える請求項1に記載の方法。
  11. 前記ディスク・アレイは、RAIDアレイを備える請求項1に記載の方法。
  12. ホスト・サーバ・プラットフォーム上に仮想ストレージ・アプライアンスをインストールするための方法であって、
    ホスト・サーバ・プラットフォームにインストール・パッケージを供給し、前記インストール・パッケージが、IOVM(I/O仮想マシン)をインストールするためのインストール・スクリプトと、IOVMブート・コンソールと、IOVM管理モジュールとを備えること、
    前記インストール・スクリプトを実行して、ブート・ディスク上に、隠されたブート・パーティションを作成し、前記隠されたブート・パーティションに前記IOVMブート・コンソールおよび前記IOVM管理モジュールをコピーすること、
    前記ホスト・サーバ・プラットフォームを再起動すること、
    前記隠されたブート・パーティションから前記IOVMブート・コンソールおよび前記IOVM管理モジュールを読み込むこと、
    前記IOVM管理モジュールを介してディスク・アレイを構成すること、
    前記アレイの中の各ディスクに関して、隠されたブート・パーティションを作成して、前記IOVMブート・コンソールおよび前記IOVM管理モジュールをレプリケートすること、ならびに
    前記IOVMブート・コンソールをストレージ・ドライバとして使用して仮想ストレージ環境をインストールすることを備える方法。
  13. 前記IOVMブート・コンソールは、RAIDブート・コンソールを備える請求項12に記載の方法。
  14. 前記ディスク・アレイを前記構成することは、RAIDアレイを構成することを備える請求項12に記載の方法。
JP2011518757A 2008-07-17 2009-06-09 仮想化されたサーバ・プラットフォーム上に起動可能な仮想ストレージ・アプライアンスをインストールするためのシステムおよび方法 Expired - Fee Related JP5302397B2 (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/046712 WO2010008707A1 (en) 2008-07-17 2009-06-09 Systems and methods for installing a bootable virtual storage appliance on a virtualized server platform

Publications (2)

Publication Number Publication Date
JP2011528470A true JP2011528470A (ja) 2011-11-17
JP5302397B2 JP5302397B2 (ja) 2013-10-02

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 Before (1)

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

Country Status (7)

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

Families Citing this family (24)

* 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 한국과학기술정보연구원 동적 계산 환경을 설정하기 위한 장치, 동적 계산 환경을 설정하기 위한 방법, 및 동적 계산 환경을 설정하기 위한 프로그램을 저장하는 저장매체
WO2014091526A1 (en) 2012-12-13 2014-06-19 Hitachi, Ltd. Computer realizing high-speed access and data protection of storage device, computer system, and i/o request processing method
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 聯想企業解決方案(新加坡)有限公司 透過基板管理控制器管理虛擬機器的電腦主機與方法
JP6494609B2 (ja) * 2013-06-18 2019-04-03 チャンベッラ・リミテッド カスタマイズされたソフトウェア開発キット(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 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體操作方法
US11079944B2 (en) 2019-10-04 2021-08-03 Zettaset, Inc. Dynamic provisioning of container storage
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
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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004227100A (ja) * 2003-01-20 2004-08-12 Hitachi Ltd 記憶デバイス制御装置にソフトウエアをインストールする方法、記憶デバイス制御装置の制御方法、及び記憶デバイス制御装置
JP2007080105A (ja) * 2005-09-15 2007-03-29 Ricoh Co Ltd システム起動方法、プログラム及びコンピュータシステム
JP2007207017A (ja) * 2006-02-02 2007-08-16 Seiko Epson Corp 情報処理装置、インストール方法、およびプログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2708608B2 (ja) * 1990-05-25 1998-02-04 富士通株式会社 仮想計算機のipl処理方式
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
JP2005293417A (ja) * 2004-04-02 2005-10-20 Sony Corp コンピュータ機器、コンピュータネットワークシステム、プログラム転送方法およびプログラム転送用プログラム
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
WO2008126145A1 (ja) * 2007-03-30 2008-10-23 Fujitsu Limited コンピュータシステムの仮想os環境での仮想ネットワークアダプタの設定方法及びコンピュータシステム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004227100A (ja) * 2003-01-20 2004-08-12 Hitachi Ltd 記憶デバイス制御装置にソフトウエアをインストールする方法、記憶デバイス制御装置の制御方法、及び記憶デバイス制御装置
JP2007080105A (ja) * 2005-09-15 2007-03-29 Ricoh Co Ltd システム起動方法、プログラム及びコンピュータシステム
JP2007207017A (ja) * 2006-02-02 2007-08-16 Seiko Epson Corp 情報処理装置、インストール方法、およびプログラム

Also Published As

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

Similar Documents

Publication Publication Date Title
JP5302397B2 (ja) 仮想化されたサーバ・プラットフォーム上に起動可能な仮想ストレージ・アプライアンスをインストールするためのシステムおよび方法
US8677352B2 (en) Interchangeable guest and host execution environments
US8407396B2 (en) Providing block data access for an operating system using solid-state memory
US6993649B2 (en) Method of altering a computer operating system to boot and run from protected media
US7624262B2 (en) Apparatus, system, and method for booting using an external disk through a virtual SCSI connection
US8949585B2 (en) In-place conversion of virtual machine state
US9672058B2 (en) Reduced service partition virtualization system and method
US10067777B2 (en) Supporting multiple operating system environments in computing device without contents conversion
US9329943B2 (en) Methods and systems for instant restore of system volume
US20090172661A1 (en) Method and system for establishing a robust virtualized environment
US20140195791A1 (en) Methods and systems for instant restore of system volume
US11106622B2 (en) Firmware update architecture with OS-BIOS communication
US10552172B2 (en) Virtual appliance supporting multiple instruction set architectures
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: 20120116

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: 20130131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130501

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130523

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130620

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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