(57)【特許請求の範囲】
【請求項１】
仮想マネージャによる仮想マシンの移行の方法であって、
それぞれストレージアレイのそれぞれのＬＵＮ（論理ユニット番号）にマッピングされる、第１のホストコンピュータにおいて実行されるように構成された仮想マシンの１つまたは複数の仮想ドライブを識別することと、
前記１つまたは複数の仮想ドライブを、前記ストレージアレイのＬＵＮに格納されるマッピングファイルにマッピングすることと、
前記ＬＵＮを第１ホストコンピュータに関連付けるために、ＬＵＮマスクを使用して前記第１のホストコンピュータに対して前記ＬＵＮをアンマスクすることであって、前記ＬＵＮマスクは前記ＬＵＮに対応し、どのデバイスが前記ＬＵＮにアクセスできるかを識別するリストを含む、アンマスクすることと、
前記仮想マシンを第１ホストコンピュータから第２ホストコンピュータに移行するために、前記ＬＵＮマスクを使用して前記第１のホストコンピュータに対し前記ＬＵＮをマスクし、前記第２のホストコンピュータに対し前記ＬＵＮをアンマスクして前記ＬＵＮを前記第２ホストコンピュータに関連付けることと、
前記第１のホストコンピュータにおける前記仮想マシンの実行をシャットダウンすることであって、前記第１のホストコンピュータから前記仮想マシンを削除されることおよび前記第１のホストコンピュータから前記１つまたは複数の仮想ドライブを関連付け解除される、ことと、
前記仮想マネージャが、前記１つまたは複数の仮想ドライブはそれぞれ前記ストレージアレイの前記それぞれのＬＵＮから前記第２ホストコンピュータ上の仮想マシンにマッピングされるように、前記マッピングファイルに従って前記第２ホストコンピュータ上で前記仮想マシンを作成することと
を含むことを特徴とする方法。
【請求項２】
前記１つまたは複数の仮想ドライブを識別すること、前記１つまたは複数の仮想ドライブをマッピングすること、各ＬＵＮをアンマスクすること、および前記仮想マシンを作成することは、それぞれ、タスクが完了に失敗する場合に、仮想マシン移行を失敗した前記タスクから再始動できるように、前記仮想マシン移行の再始動可能タスクであることを特徴とする請求項１に記載の方法。
【請求項３】
各ＬＵＮが前記ストレージアレイのストレージインターフェースを介して前記第２ホストコンピュータからアクセス可能であることを判定することをさらに含むことを特徴とする請求項１に記載の方法。
【請求項４】
各ＬＵＮがデータ通信のためにマッピングされる、前記ストレージインターフェースの１つまたは複数の通信ポートを識別することと、
前記第１ホストコンピュータが前記１つまたは複数の識別された通信ポートのいずれかを介して前記ストレージアレイにアクセスできるかどうかを判定することと、
前記第２ホストコンピュータが前記１つまたは複数の識別された通信ポートのいずれかを介して前記ストレージアレイにアクセスできるかどうかを判定することと、
前記第１ホストコンピュータが前記識別された通信ポートのうちの少なくとも１つを介して前記ストレージアレイにアクセスでき、かつ、前記第２ホストコンピュータが前記識別された通信ポートのうちの少なくとも１つを介して前記ストレージアレイにアクセスできる場合に、前記仮想マシンを前記第１ホストコンピュータから前記第２ホストコンピュータに移行することと
をさらに含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記第２ホストコンピュータに対して各ＬＵＮをアンマスクすることは、前記ストレージアレイのストレージインターフェースを前記第１ホストコンピュータおよび前記第２ホストコンピュータに通信的にリンクするｉＳＣＳＩ（Ｉｎｔｅｒｎｅｔ  Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）ネットワークに各ＬＵＮをログインさせることを含むことを特徴とする請求項１に記載の方法。
【請求項６】
ＬＵＮの信頼性レベルを定義する構成信頼性情報に従って前記ストレージアレイの前記ＬＵＮを作成することをさらに含むことを特徴とする請求項１に記載の方法。
【請求項７】
第１ホストコンピュータ上で実行されるように構成された仮想マシンと、
前記仮想マシンの仮想ドライブにマッピングされた、ストレージアレイのＬＵＮ（論理ユニット番号）と、
前記ＬＵＮを前記仮想マシンの前記第１ホストコンピュータに関連付けるように構成されたＬＵＮマスクであって、前記ＬＵＮマスクは、前記ＬＵＮに対応し、どのデバイスが前記ＬＵＮにアクセスできるかを識別するリストを含み、前記ＬＵＮを第１ホストコンピュータに関連付けるために前記第１のホストコンピュータに対して前記ＬＵＮをアンマスクするように構成可能である、ＬＵＮマスクと、
前記第１ホストコンピュータから前記第２ホストコンピュータへの前記仮想マシンの移行を開始し、管理するように構成された仮想マネージャであって、前記仮想マネージャは、前記ＬＵＮマスクを使用して、前記仮想マシンを前記第１ホストコンピュータから前記第２ホストコンピュータに移行するために、前記第１のホストコンピュータに対し前記ＬＵＮをマスクし、前記第２のホストコンピュータに対し前記ＬＵＮをアンマスクし、前記第１ホストコンピュータからの前記仮想マシンの削除を開始し、前記第１ホストコンピュータからの前記仮想ドライブの関連付け解除を開始し、前記ストレージアレイのＬＵＮに格納されるマッピングファイルに従って前記第２ホストコンピュータ上で前記仮想マシンを作成するように構成される、仮想マネージャと
を含むことを特徴とする仮想化システム。
【請求項８】
前記ストレージアレイの前記ＬＵＮは、前記仮想マシンの前記仮想ドライブを前記ＬＵＮにマッピングするマッピングファイルを参照するように構成されることを特徴とする請求項７に記載の仮想化システム。
【請求項９】
前記仮想マネージャは、前記第１ホストコンピュータから前記第２ホストコンピュータへの前記仮想マシンの前記移行を容易にするために、前記ＬＵＮが前記ストレージアレイのストレージインターフェースを介して前記第２ホストコンピュータからアクセス可能であることを判定するようにさらに構成されることを特徴とする請求項７に記載の仮想化システム。
【請求項１０】
前記仮想マネージャは、
前記ＬＵＮがデータ通信のためにマッピングされる、前記ストレージインターフェースの１つまたは複数の通信ポートを識別することと、
前記第１ホストコンピュータが前記１つまたは複数の識別された通信ポートのいずれかを介して前記ストレージアレイにアクセスできるかどうかを判定することと、
前記第２ホストコンピュータが前記１つまたは複数の識別された通信ポートのいずれかを介して前記ストレージアレイにアクセスできるかどうかを判定することと、
前記第１ホストコンピュータが前記識別された通信ポートのうちの少なくとも１つを介して前記ストレージアレイにアクセスでき、かつ、前記第２ホストコンピュータが前記識別された通信ポートのうちの少なくとも１つを介して前記ストレージアレイにアクセスできる場合の、前記仮想マシンの前記第１ホストコンピュータから前記第２ホストコンピュータへの前記移行の前記開始および管理と
を行うようにさらに構成されることを特徴とする請求項９に記載の仮想化システム。
【請求項１１】
前記ストレージアレイのストレージインターフェースを前記第１ホストコンピュータおよび前記第２ホストコンピュータに通信的にリンクするように構成されたｉＳＣＳＩ（Ｉｎｔｅｒｎｅｔ  Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）ネットワークをさらに含み、前記ＬＵＮは、前記ＬＵＮが前記第１ホストコンピュータからログアウトされ前記第２ホストコンピュータにログインされる時に前記第２ホストコンピュータに対してアンマスクされることを特徴とする請求項７に記載の仮想化システム。
【請求項１２】
実行された時に、仮想マネージャに、
ストレージアレイ上でのＬＵＮ（論理ユニット番号）の作成を開始し、
前記ＬＵＮを前記仮想マネージャに関連付けるために前記仮想マネージャに対して、前記ＬＵＮに対応するＬＵＮマスクを使用して前記ＬＵＮをアンマスクし、
関連付けられた仮想ドライブを有しホストコンピュータ上で実行されるように構成された仮想マシンの仮想マシンテンプレートからの作成を開始し、
前記ＬＵＮを前記仮想マネージャから前記ホストコンピュータ上の前記仮想マシンの前記仮想ドライブにマッピングするために、前記ＬＵＮマスクを使用して前記仮想マネージャに対して前記ＬＵＮをマスクし、前記ホストコンピュータに対して前記ＬＵＮをアンマスクし、前記ＬＵＮマスクは前記ＬＵＮに対応し、どのデバイスが前記ＬＵＮにアクセスできるかを識別するリストを含み、
前記ストレージアレイの前記ＬＵＮ上に格納されるマッピングファイルに前記仮想ドライブをマッピングし、
前記仮想マシンを前記ホストコンピュータから追加ホストコンピュータに移行するために前記ホストコンピュータに対して前記ＬＵＮをマスクし、前記追加ホストコンピュータに対して前記ＬＵＮをアンマスクし、
前記仮想ドライブが前記ストレージアレイの前記ＬＵＮから前記追加ホストコンピュータ上の前記仮想マシンにマッピングされるように、前記マッピングファイルに従って前記追加ホストコンピュータ上での前記仮想マシンの作成を開始する
ように指示するコンピュータ実行可能命令を含むことを特徴とする１つまたは複数のコンピュータ可読記憶媒体。
【請求項１３】
実行された時に、前記仮想マネージャに、前記仮想マシンが作成される時に前記ストレージアレイの信頼性構成レベルを定義するために１つまたは複数の構成入力を受け取るように指示するコンピュータ実行可能命令をさらに含むことを特徴とする請求項１２に記載の１つまたは複数のコンピュータ可読記憶媒体。
【請求項１４】
実行された時に、前記仮想マネージャに、
前記ストレージアレイの前記ＬＵＮ上に格納されるマッピングファイルに前記仮想ドライブをマッピングし、
前記仮想マシンを前記ホストコンピュータから追加ホストコンピュータに移行するために前記ＬＵＮを前記ホストコンピュータから前記追加ホストコンピュータにアンマスクし、
前記仮想ドライブが前記ストレージアレイの前記ＬＵＮから前記追加ホストコンピュータ上の前記仮想マシンにマッピングされるように、前記マッピングファイルに従って前記追加ホストコンピュータ上での前記仮想マシンの作成を開始する
ように指示するコンピュータ実行可能命令をさらに含むことを特徴とする請求項１２に記載の１つまたは複数のコンピュータ可読記憶媒体。
【請求項１５】
実行された時に、前記仮想マネージャに、
前記ＬＵＮが前記ストレージアレイのストレージインターフェースを介して前記追加ホストコンピュータからアクセス可能であることを判定し、
前記ＬＵＮがデータ通信のためにマッピングされる、前記ストレージインターフェースの１つまたは複数の通信ポートを識別し、
前記ホストコンピュータが前記１つまたは複数の識別された通信ポートのいずれかを介して前記ストレージアレイにアクセスできるかどうかを判定し、
前記追加ホストコンピュータが前記１つまたは複数の識別された通信ポートのいずれかを介して前記ストレージアレイにアクセスできるかどうかを判定し、
前記ホストコンピュータが前記識別された通信ポートのうちの少なくとも１つを介して前記ストレージアレイにアクセスでき、かつ、前記追加ホストコンピュータが前記識別された通信ポートのうちの少なくとも１つを介して前記ストレージアレイにアクセスできる場合に、前記仮想マシンの前記ホストコンピュータから前記追加ホストコンピュータへの移行を開始する
ように指示するコンピュータ実行可能命令をさらに含むことを特徴とする請求項１２に記載の１つまたは複数のコンピュータ可読記憶媒体。
【請求項１６】
実行された時に、前記仮想マネージャに、前記ストレージアレイ上の追加ＬＵＮを追加ホストコンピュータから前記ホストコンピュータ上の前記仮想マシンの追加仮想ドライブに移行するために前記追加ＬＵＮをアンマスクするように指示するコンピュータ実行可能命令をさらに含み、前記仮想ドライブおよび前記追加仮想ドライブは、それぞれ、前記仮想マシンのそれぞれのデータベースにマッピングされることを特徴とする請求項１２に記載の１つまたは複数のコンピュータ可読記憶媒体。
【請求項１７】
実行された時に、前記仮想マネージャに、
追加ホストコンピュータ上での前記仮想マシンの仮想マシンインスタンス化の作成を開始することであって、前記仮想マシンインスタンス化は、追加仮想ドライブを有し、前記追加ホストコンピュータ上で実行するように構成される、開始することと、
前記ＬＵＮを前記ホストコンピュータから前記追加ホストコンピュータ上の前記仮想マシンインスタンス化の前記追加仮想ドライブにマッピングするために前記ＬＵＮをアンマスクすることと
を行うように指示するコンピュータ実行可能命令をさらに含むことを特徴とする請求項１２に記載の１つまたは複数のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
データセンタ環境では、仮想化を利用して、それぞれが単一のアプリケーションを実行する、他の点では独立の複数のコンピュータのリソースを統合することができる。たとえば、会社は、ウェブサーバ、データベースサーバ、および電子メールサーバとして各１台の３つの別々のコンピュータを有するネットワークを実施することができる。単一のアプリケーションをそれぞれ実行するために実施される別々のコンピュータは、利用が著しく少なくなる可能性があり、リソースの非効率的な使い方である。３つの会社サーバを、３つの仮想マシンの仮想ホストコンピュータである１つの物理デバイスに統合することができ、仮想マシンの各１つは、ビジネスサーバアプリケーションの１つを独立に実行することができる。
【０００２】
各仮想マシンは、それ自体のプロセッサ、ディスクドライブ、ネットワークコントローラなどを有するという外見を有する、仮想ホストコンピュータのソフトウェアコンポーネントである。しかし、仮想化マネージャは、共通のプロセッサおよびメモリなど、仮想マシンの共有リソースを効率的に利用し、割り当てる。複数の独立のコンピュータを有するデータセンタを仮想化して、ハードウェア、リソース、およびシステム管理を統合することができる。
【０００３】
複数の仮想ホストコンピュータを有し、それぞれが任意の数の仮想マシンの仮想ホストである仮想環境では、１つの仮想マシンを、ある仮想ホストコンピュータから別の仮想ホストコンピュータに移動すなわち「移行」することができる。仮想マシンを、ロードバランシング、仮想ホスト上でメンテナンスを実行するため、タスク共有のため、などのさまざまな理由のために、ある仮想ホストコンピュータから別の仮想ホストコンピュータに移動することができる。仮想ホストコンピュータの仮想マシンのハードドライブは、大きいサイズになる傾向があり、通常は数ギガバイト程度である。仮想マシンがある仮想ホストコンピュータから別の仮想ホストコンピュータに移行される時に、対応する大きいデータファイルの転送は、かなり長い時間を要する可能性がある。さらに、移行される仮想マシンは、シャットダウンされ、ある仮想ホストコンピュータから別の仮想ホストコンピュータへの移行プロセス中には使用不能である。
【発明の概要】
【０００４】
この要約は、下の「発明を実施するための形態」でさらに説明する、仮想マシン移行の単純化された概念を導入するために提供される。この要約は、特許請求される主題の本質的特徴を識別することを意図されてはおらず、特許請求される主題の範囲を決定するのに使用されることも意図されていない。
【０００５】
仮想マシン移行の実施形態（１つまたは複数）では、仮想マシンを、ＬＵＮ（論理ユニット番号）マスキングを利用して、あるホストコンピュータから別のホストコンピュータに移行することができる。ストレージアレイのＬＵＮを、仮想マシンの仮想ドライブにマッピングすることができる。ＬＵＮを仮想マシンの第１ホストコンピュータに関連付けるＬＵＮマスクは、仮想マシンを第１ホストコンピュータから第２ホストコンピュータに移行するためにＬＵＮをアンマスクするように構成可能である。
【０００６】
仮想マシン移行の他の実施形態（１つまたは複数）では、仮想化システムの仮想マネージャは、ストレージアレイでのＬＵＮの作成を開始し、そのＬＵＮを仮想マネージャに関連付けるためにそのＬＵＮをアンマスクすることができる。仮想マネージャは、仮想マシンテンプレートからの仮想マシンの作成を開始することができ、ここで、仮想マシンは、関連付けられた仮想ドライブを有し、ホストコンピュータ上で実行するように構成される。次いで仮想マネージャは、仮想マネージャからホストコンピュータ上の仮想マシンの仮想ドライブへＬＵＮをアンマスクすることができる。
【０００７】
仮想マシン移行の実施形態を、以下の図面を参照して説明する。同一の符号は、複数の図面を通じて、同様の特徴およびコンポーネントを参照するのに使用される。
【図面の簡単な説明】
【０００８】
【図１】仮想マシン移行の実施形態を実施できる、例の仮想化システムを示す図である。
【図２】図１に示された例の仮想化システムをさらに示し、仮想マシン移行の実施形態を示す図である。
【図３】１つまたは複数の実施形態による仮想マシン移行の例の方法（１つまたは複数）を示す図である。
【図４】１つまたは複数の実施形態による仮想マシン移行の例の方法（１つまたは複数）をさらに示す図である。
【図５】仮想マシン移行の実施形態を実施できる、例の仮想化システムを示す図である。
【図６】１つまたは複数の実施形態による仮想マシン移行の例の方法（１つまたは複数）を示す図である。
【図７】仮想マシン移行の実施形態を実施できる、例の仮想化システムを示す図である。
【図８】仮想マシン移行の実施形態を実施できる例のコンピュータデバイスのさまざまなコンポーネントを示す図である。
【発明を実施するための形態】
【０００９】
仮想マシン移行の実施形態は、ストレージエリアネットワークを利用して仮想マシンをある仮想ホストコンピュータから別の仮想ホストコンピュータに移行する技法を提供する。一実施形態では、仮想マシンを、ＬＵＮ（論理ユニット番号）マスキングを利用して、あるホストコンピュータから別のホストコンピュータに移行することができる。ＬＵＮは、ストレージエリアネットワークによって使用可能にされるデータストレージを表す論理ユニットであり、ＬＵＮを、ストレージエリアネットワークの任意の数の物理ドライブにマッピングすることができる。ＬＵＮマスキングを利用する仮想マシンの移行は、仮想マシンに関するファイルのすべてを宛先ホストコンピュータにコピーする必要があることに比べて高速である。
【００１０】
仮想マシン移行の説明されるシステムおよび方法の特徴および概念は、任意の数の異なるコンピューティングシステムおよび環境で実施できるが、仮想マシン移行の実施形態を、次の例のシステムおよび環境の文脈で説明する。
【００１１】
図１に、仮想マシン移行の実施形態を実施できる、例の仮想化システム１００を示す。一実施形態では、仮想マネージャ１０２は、任意の数の仮想マシンに対する仮想ホストコンピュータであるホストコンピュータ１０４（１〜２）を管理し、制御する。仮想化システム１００は、ハードウェア、リソース、および／またはシステム管理を統合するための仮想化された独立のコンピュータに見える仮想マシンを有するビジネスデータセンタの例である。２つのホストコンピュータ１０４（１〜２）だけが図示されているが、仮想化システム１００は、仮想マネージャ１０２によって管理される任意の数のホストコンピュータデバイスを含むことができる。
【００１２】
ホストコンピュータ１０４（１〜２）のそれぞれは、任意の数の仮想マシンを含むことができる。この例では、ホストコンピュータ１０４（１）は、仮想マシン１０６を含み、ホストコンピュータ１０４（２）は、仮想マシン１０８を含む。各仮想マシン１０６、１０８は、それぞれのホストコンピュータのソフトウェアコンポーネントとして実施され、共通のプロセッサおよびメモリなど、ホストコンピュータの共有リソースを利用して効率的に動作するように管理され得る。各ホストコンピュータ１０４（１〜２）は、１つまたは複数のプロセッサ（たとえば、マイクロプロセッサ、コントローラなどのいずれか）を含むように実施され得、ホストコンピュータにデータストレージを提供する任意のタイプのコンピュータ可読媒体を含むことができる。
【００１３】
ホストコンピュータ１０４（１〜２）のコンピュータ可読媒体は、オペレーティングシステムおよび任意の数の仮想マシンなどのソフトウェアアプリケーションを維持することができる。これらのソフトウェアアプリケーションを、コンピュータ実行可能命令として実施し、ホストコンピュータのプロセッサ（１つまたは複数）によって実行して、仮想マシン移行の実施形態を実施することができる。さらに、ホストコンピュータ１０４（１〜２）は、図８に示された例のコンピュータデバイスに関してさらに説明するように、任意の数および組合せの異なるコンポーネントを含むことができる。
【００１４】
仮想化システム１００では、ホストコンピュータ１０４（１）内の仮想マシン１０６は、２つの関連する仮想ドライブ１１０（１〜２）（「仮想ハードドライブ」とも称する）を有する。同様に、ホストコンピュータ１０４（２）内の仮想マシン１０８は、関連する仮想ドライブ１１２を有する。仮想マシン１０６は、２つの関連する仮想ドライブだけを有して図示され、仮想マシン１０８は、１つの関連する仮想ドライブだけを有して図示されているが、任意の数の仮想ドライブを仮想マシンに関連付けることができる。仮想ドライブ１１０（１〜２）および１１２のそれぞれを、ネットワーク接続されたストレージアレイ上の物理ドライブにマッピングされる、それぞれのホストコンピュータにあるファイルとして実施することができる。仮想化実施態様では、仮想マシンによって仮想ドライブに対して開始される「ディスクアクセス」イベントは、ファイル読取りコマンドまたはファイル書込みコマンドとして実行される。
【００１５】
仮想化システム１００は、ホストコンピュータ１０４（１〜２）および／または仮想マシン１０６、１０８のコンピュータ可読データを維持する任意の数の物理ドライブおよび／または記憶媒体を含むことができるストレージアレイ１１４を含む。ストレージアレイ１１４は、「ストレージエリアネットワーク」すなわちＳＡＮとも称し、ストレージインターフェース１１６を介し、データネットワーク１１８を介してホストコンピュータ１０４（１〜２）にネットワーク接続され得る。
【００１６】
データネットワーク１１８を、任意のタイプのプロトコルを用いる任意のタイプのデータネットワークまたは通信ネットワークとして実施することができ、複数のネットワークの組合せとして表すか他の形で実施することができる。たとえば、データネットワーク１１８を、ストレージアレイ１１４のストレージインターフェース１１６をホストコンピュータ１０４（１〜２）に通信的にリンクするファイバチャネルネットワークまたはｉＳＣＳＩ（Ｉｎｔｅｒｎｅｔ  Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）ネットワークとして実施することができる。
【００１７】
ストレージアレイ１１４は、それぞれがストレージアレイ１１４によって公開されるか使用可能にされるストレージのユニットを表す「論理ユニット番号」であるＬＵＮ  １２０（１〜３）を含む。ＬＵＮを、ストレージアレイ１１４の複数の物理ドライブおよび／または記憶媒体にマッピングすることができ、シンプル、スパニング、ストライプ、パリティ付きストライプ、その他など、任意のタイプのＬＵＮとして実施することができる。ＬＵＮ  １２０（１〜３）のそれぞれは、それぞれ対応するＬＵＮマスク１２２（１〜３）を有する。ＬＵＮマスクは、ストレージアレイ１１４へのホストコンピュータアクセスを制御するためにどのホストコンピュータが対応するＬＵＮにアクセスできるかを識別するリストとして実施され得る。ＬＵＮのアンマスキングリストは、ＬＵＮへのアクセスを許可されるネットワーク上のコンピュータおよび／または通信ポートのリストであり、このリストをセットする動作を、ＬＵＮマスキングと称する。この例では、ＬＵＮマスク１２２（１）は、ＬＵＮ  １２０（１）をホストコンピュータ１０４（１）に関連付け、ＬＵＮマスク１２２（２）は、ＬＵＮ  １２０（２）をホストコンピュータ１０４（２）に関連付け、ＬＵＮマスク１２２（３）は、ＬＵＮ  １２０（３）をホストコンピュータ１０４（１）に関連付ける。
【００１８】
ストレージインターフェース１１６を、「ＳＡＮファブリック」とも称し、ストレージアレイ１１４とデータネットワーク１１８との間のデータ通信を容易にする任意の数の相互接続されたＳＡＮ（ストレージエリアネットワーク）スイッチとして実施することができる。仮想マシン１０６の仮想ドライブ１１０（１〜２）のそれぞれおよび仮想マシン１０８の仮想ドライブ１１２は、ストレージアレイ１１４のＬＵＮにマッピングされる。仮想ドライブ１１０（１〜２）および１１２は、それぞれのホストバスアダプタを介してデータネットワーク１１８にも接続される。この例では、仮想マシン１０６の仮想ドライブ１１０（１）は、ストレージアレイ１１４のＬＵＮ  １２０（１）にマッピングされ、データネットワーク１１８を介してホストバスアダプタ１２４（１）によって接続される。同様に、仮想マシン１０６の仮想ドライブ１１０（２）は、ストレージアレイ１１４のＬＵＮ  １２０（３）にマッピングされ、データネットワーク１１８を介してホストバスアダプタ１２４（２）によって接続される。仮想マシン１０８の仮想ドライブ１１２は、ストレージアレイ１１４のＬＵＮ  １２０（２）にマッピングされ、データネットワーク１１８を介してホストバスアダプタ１２６によって接続される。
【００１９】
仮想マシン移行の一実施形態では、仮想マシンを、ＬＵＮマスキングを利用して、あるホストコンピュータから別のホストコンピュータに移行することができる。この例の仮想化システム１００では、仮想マネージャ１０２は、ホストコンピュータ１０４（１）からホストコンピュータ１０４（２）への仮想マシン１０６の移行を開始し、管理することができる。当初に、仮想マシン１０６の仮想ドライブ１１０（１〜２）の各ファイルは、あるＬＵＮ上に置かれている。これらの仮想ドライブのファイルは、すべてが単一のＬＵＮに置かれる可能性があり、あるいは、各ファイルが別々のＬＵＮに置かれる可能性がある。この例では、ストレージアレイ１１４のＬＵＮ  １２０（１）は、仮想マシン１０６の仮想ドライブ１１０（１〜２）をそのＬＵＮにマッピングするマッピングファイル１２８を参照する。
【００２０】
次いで、仮想マネージャ１０２は、仮想マシン１０６をホストコンピュータ１０４（１）上で停止され保存された状態にシャットダウンすることを開始することができる。仮想マシン１０６の仮想ドライブ１１０（１〜２）を、ホストコンピュータ１０４（１）から関連付け解除することができ、仮想マシン１０６を、ホストコンピュータ１０４（１）から削除することができる。ＬＵＮマスク１２２（１）および１２２（３）を、仮想マシン１０６をホストコンピュータ１０４（１）からホストコンピュータ１０４（２）に移行するために、ホストコンピュータ１０４（１）からそれぞれのＬＵＮ  １２０（１）および（３）をアンマスクし、これらのＬＵＮをホストコンピュータ１０４（２）に関連付けるように変更することができる。その後、仮想マシン１０６を、マッピングファイル１２８に従ってホストコンピュータ１０４（２）上で作成することができ、その結果、仮想ドライブ１１０（１〜２）が、それぞれ、ストレージアレイ上のそれぞれのＬＵＮ  １２０（１）および１２０（３）からホストコンピュータ１０４（２）上の仮想マシンにマッピングされるようになる。
【００２１】
図２に、図１に示された仮想化システム１００をさらに示す、例の仮想化システム２００を示す。例の仮想化システム２００では、仮想マシン１０６は、ホストコンピュータ１０４（１）からホストコンピュータ１０４（２）に移行済み（２０２で）である。ＬＵＮマスク１２２（１）および１２２（３）は、ホストコンピュータ１０４（２）が、仮想マシン１０６の移行の後に対応するＬＵＮ  １２０（１）および１２０（３）にアクセスできることを識別する。
【００２２】
データネットワーク１１８がｉＳＣＳＩネットワークとして実施される場合には、ＬＵＮがｉＳＣＳＩネットワークにログインされる時に、そのＬＵＮをホストコンピュータに対してアンマスクすることができる。たとえば、仮想マシン１０６は、対応するＬＵＮ  １２０（１）および１２０（３）が、これらをｉＳＣＳＩネットワークにログインさせることによってホストコンピュータ１０４（２）に示される時に、ホストコンピュータ１０４（１）からホストコンピュータ１０４（２）に移行され得る。一実施態様では、ｉＳＣＳＩネットワークにログインするために、ＬＵＮを認証することもできる。
【００２３】
仮想マシン移行の実施形態では、仮想マネージャ１０２は、ホストコンピュータのセット内のどのホストコンピュータが仮想マシン移行の有効なターゲットであるのかを、ＬＵＮマスキングを利用して判定することができる。タスクまたはプロシージャを開始して、周期的に実行し、ホストコンピュータのうちのどれが仮想マシン移行の有効なターゲットであるのかを判定することができる。タスクを実施して、ホストコンピュータのそれぞれをポーリングして、ストレージインターフェース１１６のどの通信ポート２０４がどのホストコンピュータからアクセス可能であるのかを判定することができる。ホストバスアダプタのアプリケーションプログラムインターフェース（ＡＰＩ）を使用して、通信ポート２０４のうちのどれがストレージインターフェース１１６上で特定のホストコンピュータに可視であるのかを判定することができる。その後、相関情報を、参照のためにストレージアレイ上のデータベーステーブル内で維持することができる。
【００２４】
ホストコンピュータのうちのどれが仮想マシン移行の有効なターゲットであるのかを判定するために、仮想マネージャ１０２は、異なるホストコンピュータのそれぞれにアタッチされた仮想ドライブのすべてを識別することができる。次に、仮想マネージャ１０２は、仮想ドライブのファイルのそれぞれをストレージアレイ１１４上のＬＵＮにマッピングすることができる。仮想マネージャ１０２は、ＬＵＮのそれぞれがデータ通信のためにそれに公開される、ストレージインターフェース１１６の通信ポート２０４を識別することもできる。その後、この相関情報は、参照のためにデータベーステーブル内で維持される。
【００２５】
仮想マシン１０６をホストコンピュータ１０４（１）からホストコンピュータ１０４（２）に移行する前に、仮想マネージャ１０２は、ＬＵＮ  １２０（１）および１２０（３）がストレージインターフェース１１６を介してホストコンピュータ１０４（１）と１０４（２）との両方に「可視」であるかどうかを判定することができる。仮想マネージャ１０２は、ＬＵＮがデータ通信のためにマッピングされる、ストレージインターフェース１１６の１つまたは複数の通信ポート２０４を識別することができる。その後、仮想マネージャ１０２は、第１のホストコンピュータ１０４（１）が１つまたは複数の識別された通信ポート２０４のいずれかを介してストレージアレイ１１４にアクセスできるかどうかを判定することができる。同様に、仮想マネージャ１０２は、第２のホストコンピュータ１０４（２）が１つまたは複数の識別された通信ポート２０４のいずれかを介してストレージアレイ１１４にアクセスできるかどうかを判定することができる。ホストコンピュータ１０４（１）と１０４（２）との両方が識別された通信ポート２０４のうちの少なくとも１つ（必ずしも同一の通信ポートではない）を介してストレージアレイ１１４にアクセスできる場合には、仮想マネージャ１０２は、仮想マシン１０６の移行を開始し、管理することができる。
【００２６】
一般に、本明細書で説明される機能、方法、およびモジュールのいずれをも、ハードウェア、ソフトウェア、ファームウェア（たとえば、固定された論理回路）、手動処理、またはこれらの任意の組合せを使用して実施することができる。機能、方法、およびモジュールのソフトウェア実施態様は、コンピュータプロセッサ上で実行された時に特定のタスクを実行するプログラムコードを表す。図３、４、および６を参照して説明される例の方法３００、４００、および６００を、コンピュータ実行可能命令の一般的な文脈で説明することができる。一般に、コンピュータ実行可能命令は、特定の機能を実行するか特定の抽象データ型を実施する、アプリケーション、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、プロシージャ、モジュール、関数などを含むことができる。方法（１つまたは複数）を、通信ネットワークを介してリンクされたリモート処理デバイスによって機能が実行される分散コンピューティング環境で実践することもできる。分散コンピューティング環境では、コンピュータ実行可能命令を、メモリストレージデバイスを含む、ローカルとリモートとの両方のコンピュータ記憶媒体に配置することができる。さらに、本明細書で説明される特徴は、プラットフォーム独立であり、その結果、諸技法を、さまざまなプロセッサを有するさまざまなコンピューティングプラットフォームで実施できるようになっている。
【００２７】
図３に、仮想マシン移行の例の方法（１つまたは複数）３００を示す。この方法が説明される順序は、限定的と解釈されることを意図されたものではなく、任意の数の説明される方法ブロックを任意の順序で組み合わせて、この方法または代替方法を実施することができる。
【００２８】
ブロック３０２では、仮想マシンの仮想ドライブ（１つまたは複数）を識別し、ここで、仮想ドライブは、ストレージアレイのそれぞれのＬＵＮにマッピングされる。たとえば、仮想マネージャ１０２（図１）は、ホストコンピュータ１０４（１）にある仮想マシン１０６に対応する仮想ドライブ１１０（１〜２）を識別することができる。仮想マシン１０６の仮想ドライブ１１０（１）は、ストレージアレイ１１４のＬＵＮ  １２０（１）にマッピングされ、データネットワーク１１８を介してホストバスアダプタ１２４（１）によって接続される。同様に、仮想マシン１０６の仮想ドライブ１１０（２）は、ストレージアレイ１１４のＬＵＮ  １２０（３）にマッピングされ、データネットワーク１１８を介してホストバスアダプタ１２４（２）によって接続される。
【００２９】
ブロック３０４では、仮想ドライブ（１つまたは複数）を、ストレージアレイのＬＵＮによって参照されるマッピングファイルにマッピングする。たとえば、ストレージアレイ１１４のＬＵＮ  １２０（１）は、仮想マシン１０６の仮想ドライブ１１０（１〜２）をそのＬＵＮにマッピングするマッピングファイル１２８を参照する。
【００３０】
ブロック３０６では、各ＬＵＮがストレージアレイのストレージインターフェースを介してアクセス可能であることを判定する。たとえば、仮想マネージャ１０２は、ＬＵＮ  １２０（１）および１２０（３）が、ストレージインターフェース１１６を介してホストコンピュータ１０４（１）と１０４（２）との両方に「可視」であるかどうかを判定することができる。仮想マネージャ１０２は、ＬＵＮがデータ通信のためにマッピングされるストレージインターフェース１１６の通信ポート２０４を識別することができる。次に、仮想マネージャ１０２は、第１のホストコンピュータ１０４（１）および第２のホストコンピュータ１０４（２）が、識別された通信ポート２０４のいずれかを介してストレージアレイ１１４にアクセスできるかどうかを判定することができる。ホストコンピュータ１０４（１）と１０４（２）との両方が識別された通信ポート２０４のうちの少なくとも１つ（必ずしも同一の通信ポートではない）を介してストレージアレイ１１４にアクセスできる場合には、仮想マシン１０６を、第１のホストコンピュータ１０４（１）から第２のホストコンピュータ１０４（２）に移行することができる。各ＬＵＮがストレージアレイのストレージインターフェースを介してアクセス可能であることの判定を、図４に示された方法を参照してさらに説明する。
【００３１】
ブロック３０８では、仮想マシンを第１ホストコンピュータから第２ホストコンピュータに移行するために、各ＬＵＮをアンマスクする。たとえば、仮想マネージャ１０２は、仮想マシン１０６をホストコンピュータ１０４（１）からホストコンピュータ１０４（２）に移行するために、それぞれのＬＵＮ  １２０（１）および１２０（３）をホストコンピュータ１０４（１）からアンマスクし、それらのＬＵＮをホストコンピュータ１０４（２）に関連付けるように、ＬＵＮマスク１２２（１）および１２２（３）を変更することを開始することができる。データネットワーク１１８がｉＳＣＳＩネットワークとして実施される場合には、ホストコンピュータ１０４（２）に対してＬＵＮ  １２０（１）および１２０（３）のそれぞれをアンマスクすることは、ストレージアレイ１１４のストレージインターフェース１１６をホストコンピュータ１０４（１〜２）に通信的にリンクするｉＳＣＳＩネットワークに各ＬＵＮをログインさせることを含む。
【００３２】
ブロック３１０では、仮想マシンを第１ホストコンピュータから削除し、ブロック３１２では、仮想ドライブ（１つまたは複数）を第１ホストコンピュータから関連付け解除する。たとえば、仮想マシン１０６の仮想ドライブ１１０（１〜２）をホストコンピュータ１０４（１）から関連付け解除することができ、仮想マシン１０６をホストコンピュータ１０４（１）から削除することができる。
【００３３】
ブロック３１４では、仮想ドライブ（１つまたは複数）がそれぞれストレージアレイのそれぞれのＬＵＮから第２ホストコンピュータ上の仮想マシンにマッピングされるように、マッピングファイルに従って第２ホストコンピュータ上で仮想マシンを作成する。たとえば、仮想ドライブ１１０（１〜２）がそれぞれストレージアレイ１１４上のそれぞれのＬＵＮ  １２０（１）および１２０（３）からホストコンピュータ１０４（２）上の仮想マシン１０６にマッピングされるように、仮想マシン１０６を、マッピングファイル１２８に従ってホストコンピュータ１０４（２）上で作成することができる。
【００３４】
例の方法３００を参照して説明した方法ブロック３０２から３１４のそれぞれを、仮想マシン移行の再始動可能タスクとして実施することができ、その結果、あるタスクが完了に失敗する場合に、仮想マシン移行を、失敗したタスクから再始動できるようになる。再始動可能なタスクは、それぞれ、タスクが完了したかどうかを最初にチェックするように実施され得る。あるタスクが完了したと判定される場合には、次のタスクを開始することができる。仮想マシン移行のタスクが、たとえば過渡的エラーまたはネットワーク接続失敗に起因して失敗する場合には、そのタスクを再始動することができ、仮想マシン移行は、失敗したところから継続される。一実施態様では、タスクが実行され終えたかどうかを判定するためのチェックは、方法ブロックが完了した時に永続化されたタスク情報を維持するデータベースのチェックを含むことができる。その代わりにまたはそれに加えて、仮想ドライブが識別されたかどうか、マッピングファイルにマッピングされたかどうかなどのチェックなど、クエリを実行して、タスクが完了したかどうかを判定することができる。
【００３５】
図４に、仮想マシン移行の例の方法（１つまたは複数）４００を示すが、図４は、一実施形態では、仮想マシン移行を容易にするためにストレージアレイのストレージインターフェースを介してアクセス可能であるＬＵＮを判定するための方法ブロック３０６の実施態様である。この方法が説明される順序は、限定的と解釈されることを意図されたものではなく、任意の数の説明される方法ブロックを任意の順序で組み合わせて、この方法または代替方法を実施することができる。
【００３６】
ブロック４０２では、各ＬＵＮがデータ通信のためにマッピングされるストレージインターフェースの通信ポート（１つまたは複数）を識別する。たとえば、仮想マシン１０６の移行を開始する前に、仮想マネージャ１０２（図１）は、ＬＵＮ  １２０（１）および１２０（３）のそれぞれがデータ通信のためにマッピングされる、ストレージインターフェース１１６の通信ポート２０４（図２）を識別することができる。
【００３７】
ブロック４０４では、第１ホストコンピュータが識別された通信ポート（１つまたは複数）のいずれかを介してストレージアレイにアクセスできるかどうかに関する判定を行う。第１ホストコンピュータが識別された通信ポート（１つまたは複数）のいずれを介してもストレージアレイにアクセスできない場合には（すなわち、ブロック４０４からの「Ｎｏ」）、ブロック４０６で、第１ホストコンピュータからの仮想マシン移行は、可能ではない。
【００３８】
第１ホストコンピュータが識別された通信ポート（１つまたは複数）のいずれかを介してストレージアレイにアクセスできる場合には（すなわち、ブロック４０４からの「Ｙｅｓ」）、ブロック４０８で、第２ホストコンピュータが識別された通信ポート（１つまたは複数）のいずれかを介してストレージアレイにアクセスできるかどうかに関する判定を行う。第２ホストコンピュータが識別された通信ポート（１つまたは複数）のいずれを介してもストレージアレイにアクセスできない場合には（すなわち、ブロック４０８からの「Ｎｏ」）、ブロック４１０で、第２ホストコンピュータへの仮想マシン移行は、可能ではない。
【００３９】
第２ホストコンピュータが識別された通信ポート（１つまたは複数）のいずれかを介してストレージアレイにアクセスできる場合には（すなわち、ブロック４０８からの「Ｙｅｓ」）、仮想マシンを第１ホストコンピュータから第２ホストコンピュータに移行することができる。たとえば、ホストコンピュータ１０４（１）および１０４（２）が、両方とも、識別された通信ポート２０４のうちの少なくとも１つ（必ずしも同一の通信ポートではない）を介してストレージアレイ１１４にアクセスできる場合には、仮想マネージャ１０２は、ホストコンピュータ１０４（１）からホストコンピュータ１０４（２）への仮想マシン１０６の移行を開始することができる。
【００４０】
図５に、仮想マシン移行の実施形態を実施できる、例の仮想化システム５００を示す。一実施形態では、仮想マシンを、仮想マシンのモデルを定義するテンプレートファイルから作成することができ、その後、仮想マシンをホストコンピュータに移行することができる。仮想化システム５００では、仮想マネージャ５０２が、任意の数の仮想マシンに対する仮想ホストコンピュータであるホストコンピュータ５０４など、任意の数のホストコンピュータを管理し、制御する。
【００４１】
仮想マネージャ５０２は、任意の数の物理ドライブおよび／または記憶媒体を含むことができるストレージアレイ５０８上でのＬＵＮ  ５０６の作成を開始することができる。ストレージアレイ５０８は、ストレージインターフェース５１０を介し、データネットワーク５１２を介して仮想マネージャ５０２およびホストコンピュータ５０４にネットワーク接続される。データネットワーク５１２を、任意のタイプのプロトコルを用いる任意のタイプのデータネットワークまたは通信ネットワークとして実施することができ、複数のネットワークの組合せとして表すか他の形で実施することができる。たとえば、データネットワーク５１２を、ストレージアレイ５０８のストレージインターフェース５１０を仮想マネージャ５０２およびホストコンピュータ５０４に通信的にリンクするファイバチャネルネットワークまたはｉＳＣＳＩネットワークとして実施することができる。
【００４２】
ストレージアレイ５０８は、ストレージアレイ５０８によって公開されるか使用可能にされるストレージのユニットを表す「論理ユニット番号」であるＬＵＮ  ５０６を含む。ＬＵＮ  ５０６を、ストレージアレイ５０８の複数の物理ドライブおよび／または記憶媒体にマッピングすることができ、任意のタイプのＬＵＮとして実施することができる。ＬＵＮ  ５０６は、どのデバイスがそのＬＵＮにアクセスできるかを識別する、対応するＬＵＮマスク５１４（Ａ）を有する。
【００４３】
仮想マネージャ５０２がＬＵＮ  ５０６を作成した後に、仮想マネージャ５０２は、そのＬＵＮを仮想マネージャに関連付けるために、仮想マネージャに対してそのＬＵＮをアンマスクすることができる。この例では、ＬＵＮマスク５１４（Ａ）は、当初に、ＬＵＮ  ５０６を仮想マネージャ５０２に関連付ける（関連付け「Ａ」によって図示）。仮想マネージャ５０２は、仮想マシンがホストコンピュータ５０４のソフトウェアコンポーネントとして作成されるように、仮想マシンテンプレート５１８からの仮想マシン５１６の作成を開始することができる。仮想マシン５１６は、関連付けられた仮想ドライブ５２０を有し、仮想ドライブ５２０は、ストレージアレイ５０８のＬＵＮ  ５０６にマッピングされ、データネットワーク５１２を介してホストバスアダプタ５２２によって接続される。
【００４４】
仮想マシン５１６がホストコンピュータ５０４上で作成された後に、仮想マネージャ５０２は、ＬＵＮ  ５０６を仮想マネージャからホストコンピュータ５０４上の仮想マシン５１６の仮想ドライブ５２０にマッピングするために、そのＬＵＮをアンマスクすることができる。この例では、ＬＵＮマスク５１４（Ｂ）は、ＬＵＮ  ５０６をホストコンピュータ５０４に関連付けるための更新されたマスキングを示す（関連付け「Ｂ」によって図示）。
【００４５】
仮想マシン移行の一実施形態では、仮想マネージャ５０２は、ＬＵＮ  ５０６および仮想マシン５１６が作成される時に、ストレージアレイ５０８の信頼性構成レベルを定義するために構成入力を受け取ることができる。たとえば、管理者は、仮想マシンの作成を開始し、構成ユーザインターフェースから、ストレージアレイ５０８上の特定のＲＡＩＤ構成などの信頼性および構成の情報を入力することができる。
【００４６】
図６に、テンプレートファイルからの仮想マシンの作成およびその後のホストコンピュータへの仮想マシンの移行を含む、仮想マシン移行の例の方法（１つまたは複数）６００を示す。この方法が説明される順序は、限定的と解釈されることを意図されたものではなく、任意の数の説明される方法ブロックを任意の順序で組み合わせて、この方法または代替方法を実施することができる。
【００４７】
ブロック６０２では、ストレージアレイ上でＬＵＮを作成する。たとえば、仮想マネージャ５０２（図５）は、ストレージアレイ５０８上でのＬＵＮ  ５０６の作成を開始する。ブロック６０４では、ＬＵＮを仮想マネージャに関連付けるために、ＬＵＮを仮想マネージャに対してアンマスクする。たとえば、ＬＵＮ  ５０６は、どのドライブがそのＬＵＮにアクセスできるかを当初に識別する、対応するＬＵＮマスク５１４（Ａ）を有する。ＬＵＮマスク５１４（Ａ）は、ＬＵＮを仮想マネージャに関連付けるために、仮想マネージャ５０２に対してアンマスクされる。
【００４８】
ブロック６０６では、仮想マシンテンプレートから仮想マシンを作成する。たとえば、仮想マシン５１６を、ホストコンピュータ５０４のソフトウェアコンポーネントとして仮想マシンテンプレート５１８から作成することができ、仮想マシン５１６は、関連付けられた仮想ドライブ５２０を有する。ブロック６０８では、仮想マシンが作成される時に、ストレージアレイの信頼性構成レベルを定義するために、構成入力（１つまたは複数）を受け取る。たとえば、仮想マネージャ５０２は、ＬＵＮ  ５０６および仮想マシン５１６が作成される時に、ストレージアレイ５０８の信頼性構成レベルを定義するために、構成入力を受け取ることができる。
【００４９】
ブロック６１０では、ＬＵＮを仮想マネージャからホストコンピュータ上の仮想マシンの仮想ドライブにマッピングするために、ＬＵＮをアンマスクする。たとえば、仮想マネージャ５０２は、ＬＵＮ  ５０６を仮想マネージャからホストコンピュータ５０４上の仮想マシン５１６の仮想ドライブ５２０にマッピングするために、そのＬＵＮをアンマスクすることができる。ＬＵＮマスク５１４（Ｂ）は、ＬＵＮ  ５０６をホストコンピュータ５０４に関連付けるための更新されたマスキングを示す。
【００５０】
図７に、仮想マシン移行の実施形態を実施できる、例の仮想化システム７００を示す。一実施形態では、ストレージアレイ上のデータベースの関連付けを、第１ホストコンピュータ上の仮想マシンから第２ホストコンピュータ上のその仮想マシンのインスタンス化に移行することができる。仮想化システム７００では、仮想マネージャ７０２が、ホストコンピュータ７０４（１〜２）を管理し、制御する。ストレージアレイ７０６は、ストレージインターフェース７０８を介し、データネットワーク７１０を介して、仮想マネージャ７０２およびホストコンピュータ７０４（１〜２）にネットワーク接続される。
【００５１】
この例では、ホストコンピュータ７０４（１）は、仮想マシン７１２を含み、ホストコンピュータ７０４（２）は、仮想マシンのインスタンス化７１４を含む。仮想化システム７００は、２つの異なるホストコンピュータ７０４（１〜２）上で動作するデータベースアプリケーション（すなわち、仮想マシン７１２および仮想マシンインスタンス化７１４）を有するデータベースシステムの例である。仮想マシン７１２および仮想マシンインスタンス化７１４は、それぞれ、それぞれのホストコンピュータのソフトウェアコンポーネントとして実施される。
【００５２】
この例では、ホストコンピュータ７０４（１）内の仮想マシン７１２は、２つの関連付けられた仮想ドライブ７１６（１〜２）を有する。同様に、ホストコンピュータ７０４（２）内の仮想マシンインスタンス化７１４は、関連付けられた仮想ドライブ７１８を有する。仮想マシン７１２は、２つの関連付けられた仮想ドライブだけを有して図示され、仮想マシンインスタンス化７１４は、１つの関連付けられた仮想ドライブだけを有して図示されているが、任意の数の仮想ドライブを仮想マシンに関連付けることができる。仮想ドライブ７１６（１〜２）および７１８のそれぞれを、ネットワーク接続されたストレージアレイ７０６上の物理ドライブにマッピングされる、それぞれのホストコンピュータにあるファイルとして実施することができる。ストレージアレイ７０６は、データベースアプリケーション（すなわち、仮想マシン７１２および仮想マシンインスタンス化７１４）のデータベースデータを維持するデータベース７２０など、任意の数の物理ドライブおよび／または記憶媒体を含むことができる。
【００５３】
ストレージアレイ７０６は、仮想マシン７１２の仮想ドライブ７１６（１）をストレージアレイ７０６上の物理ドライブ（１つまたは複数）にマッピングするＬＵＮ  ７２２を含む。ＬＵＮ  ７２２は、ＬＵＮ  ７２２にアクセスできるものとしてホストコンピュータ７０４（１）を識別する、対応するＬＵＮマスク７２４を有する。ストレージアレイ７０６は、仮想マシンインスタンス化７１４の仮想ドライブ７１８をストレージアレイ７０６上のデータベース７２０（たとえば、物理ドライブ（１つまたは複数））に当初にマッピングするＬＵＮ  ７２６をも含む。ＬＵＮ  ７２６は、そのＬＵＮにアクセスできるものとしてホストコンピュータ７０４（２）を当初に識別する対応するＬＵＮマスク７２８（Ａ）（関連付け「Ａ」によって図示）を有する。仮想マシン７１２の仮想ドライブ７１６（１）は、ＬＵＮ  ７２２にマッピングされ、データネットワーク７１０を介してホストバスアダプタ７３０（１）によって接続される。同様に、仮想マシンインスタンス化７１４の仮想ドライブ７１８は、当初にＬＵＮ  ７２６にマッピングされ、データネットワーク７１０を介してホストバスアダプタ７３２によって接続される。
【００５４】
仮想マシン移行のこの実施形態では、仮想マネージャ７０２は、ＬＵＮ  ７２６をホストコンピュータ７０４（２）からホストコンピュータ７０４（１）上の仮想マシン７１２の仮想ドライブ７１６（２）にマッピングするために、このＬＵＮをアンマスクすることができる。この例では、ＬＵＮマスク７２８（Ｂ）が、ＬＵＮ  ７２６をホストコンピュータ７０４（１）に関連付けるための更新されたマスキングを示す（関連付け「Ｂ」によって図示）。この実施形態では、データベースアプリケーションのデータベースである、ストレージアレイ７０６上のデータベース７２０（たとえば、物理ドライブ（１つまたは複数））は、ホストコンピュータ７０４（２）からホストコンピュータ７０４（１）に移行される。その後、仮想マシン７１２の仮想ドライブ７１６（２）が、ＬＵＮ  ７２６にマッピングされ、データネットワーク７１０を介してホストバスアダプタ７３０（２）によって接続される。
【００５５】
図８に、仮想マシン移行の実施形態を実施するためにコンピュータベースのデバイス、電子ベースのデバイス、および／またはコンピューティングベースのデバイスの任意の形として実施できる例のコンピュータデバイス８００のさまざまなコンポーネントを示す。たとえば、コンピュータデバイス８００を、図１〜２を参照して説明したホストコンピュータ１０４（１〜２）のいずれかとして、図５を参照して説明したホストコンピュータ５０４として、または図７を参照して説明したホストコンピュータ７０４（１〜２）として実施することができる。
【００５６】
コンピュータデバイス８００は、それによって任意のタイプのデータ入力を受け取ることができる１つまたは複数の入力インターフェース８０２を含む。コンピュータデバイス８００は、通信インターフェース（１つまたは複数）８０４をさらに含み、通信インターフェース８０４は、直列および／または並列インターフェース、無線インターフェース、任意のタイプのネットワークインターフェース、モデム、ならびに、ネットワーク化されたデバイスおよびシステムなどとの外部通信のための任意の他のタイプの通信インターフェースのうちの任意の１つまたは複数として実施され得る。
【００５７】
コンピュータデバイス８００は、１つまたは複数のプロセッサ８０６（たとえば、マイクロプロセッサ、コントローラなどのいずれか）をも含む。プロセッサ８０６は、コンピュータデバイス８００の動作を制御するため、他の電子デバイスおよびコンピューティングデバイスと通信するため、および仮想マシン移行の実施形態を実施するために、さまざまなコンピュータ実行可能命令を処理する。
【００５８】
コンピュータデバイス８００を、１つまたは複数のメモリコンポーネントなどのコンピュータ可読媒体８０８と共に実施することができ、コンピュータ可読媒体８０８の例は、ランダムアクセスメモリ（ＲＡＭ）、不揮発性メモリ（たとえば、読取り専用メモリ（ＲＯＭ）、フラッシュメモリ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、その他のうちの任意の１つまたは複数）、およびディスクストレージデバイスを含む。ディスクストレージデバイスは、ハードディスクドライブ、追記型および／または書換可能コンパクトディスク（ＣＤ）、ＤＶＤ、ＤＶＤ＋ＲＷなど、任意のタイプの磁気ストレージデバイスまたは光ストレージデバイスを含むことができる。
【００５９】
コンピュータ可読媒体８０８は、コンピュータデバイス８００の動作態様に関係するソフトウェアアプリケーションならびにすべての他のタイプの情報およびデータなどのさまざまな情報および／またはデータを格納するためにデータストレージ機構を提供する。たとえば、オペレーティングシステム８１０および／または他のアプリケーションプログラム８１２を、コンピュータ可読媒体８０８を用いてソフトウェアアプリケーションとして維持し、仮想マシン移行の実施形態を実施するためにプロセッサ（１つまたは複数）８０６上で実行することができる。
【００６０】
ソフトウェアコンポーネントとして、仮想マシン８１４および／または仮想マネージャ８１６を、コンピュータ可読媒体８０８を用いて維持し、仮想マシン移行の実施形態を実施するためにプロセッサ（１つまたは複数）８０６上で実行することができる。さまざまな実施形態で、仮想マネージャ８１６は、仮想化システム内のあるホストコンピュータから別のホストコンピュータへの仮想マシン移行を開始し、管理する。
【００６１】
コンピュータデバイス８００は、オーディオレンダリングシステムおよび／またはディスプレイシステムにオーディオデータおよびビデオデータを供給するために、オーディオおよび／またはビデオ出力８１８をも含むことができる。オーディオレンダリングシステムおよび／またはディスプレイシステムは、オーディオデータ、ビデオデータ、およびイメージデータを処理し、表示し、かつ／または他の形でレンダリングするすべてのデバイスを含むことができる。ビデオ信号およびオーディオ信号を、ＲＦ（ラジオ周波数）リンク、Ｓビデオリンク、コンポジットビデオリンク、コンポーネントビデオリンク、アナログオーディオ接続、または他の類似する通信リンクを介してコンピュータデバイス８００からディスプレイデバイスに通信することができる。一実施態様で、オーディオレンダリングシステムおよび／またはディスプレイシステムを、コンピュータデバイス８００の一体化されたコンポーネントとすることができる。
【００６２】
別々に図示されてはいるが、コンピュータデバイス８００のコンポーネントの一部を、特定用途向け集積回路（ＡＳＩＣ）内で実施することができる。さらに、システムバス（図示せず）が、通常、コンピュータデバイス８００内のさまざまなコンポーネントを接続する。システムバスは、メモリバスもしくはメモリコントローラ、周辺バス、ＡＧＰ（ａｃｃｅｌｅｒａｔｅｄ  ｇｒａｐｈｉｃｓ  ｐｏｒｔ）、またはさまざまなバスアーキテクチャのいずれかを使用するローカルバスを含む、任意の複数のタイプのバス構造のうちの１つまたは複数として実施することができる。
【００６３】
仮想マシン移行の実施形態を、特徴および／または方法に固有の言葉で説明してきたが、添付の特許請求の範囲の対象が、説明された特定の特徴または方法に必ずしも限定されないことを理解されたい。そうではなく、特定の特徴および方法は、仮想マシン移行の例の実施態様として開示されたものである。
【図１】
0005615698.tif 000002
【図２】
0005615698.tif 000003
【図３】
0005615698.tif 000004
【図４】
0005615698.tif 000005
【図５】
0005615698.tif 000006
【図６】
0005615698.tif 000007
【図７】
0005615698.tif 000008
【図８】
0005615698.tif 000009