(57)【要約】      （修正有）【課題】物理資源構成と仮想資源構成の関連情報とを同時に制御し、共有システム＋Ｌｉｖｅ  Ｍｉｇｒａｔｉｏｎ機能と同等の最小停止時間によって特徴付けられるサービス継続性を有するＶＭ  Ｍｉｇｒａｔｉｏｎ機能を提供する。【解決手段】ＮＷ手段１０１によって接続されデータ通信が可能な資源である演算手段１１２、１３２と記憶手段１１３、１３３と、物理資源１１４、１３４と、ＮＷ手段１０１によってグループ外の資源が不可視であるようにグループ化設定されたパーティション１１１とパーティション１３１と、パーティション１１１、１３１上で動作する、仮想装置１１９、１３９を作成、動作、管理する仮想化手段１１６、１３６と、パーティション１１１、１３１上で動作する物理・仮想資源管理手段１１５、１３５と、仮想装置を管理する仮想装置管理手段１０４と物理資源の構成を管理する物理資源管理手段１０３とを有する。【選択図】図９
2008225546.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク手段によって相互に接続された複数の物理資源を、複数のパーティションに区切ったコンピュータシステム上に構成された仮想化環境において、
パーティションの物理資源構成と、仮想装置に分配された仮想資源構成とを同時に管理しながら、仮想装置上で動作するアプリケーション・サービスに影響することなく、物理資源構成と仮想装置構成を動的に変更する仮想化手段を備えることを特徴とする仮想装置構成システム。
【請求項２】
前記仮想装置構成は、仮想装置が動作するパーティション、及び前記仮想化手段によって提供される仮想資源の構成であることを特徴とする請求項１に記載の仮想装置構成システム。
【請求項３】
物理資源の移動の手段として、動的なバスコントローラでパーティションの切替を行うことを特徴とする請求項１又は請求項２に記載の仮想装置構成システム。
【請求項４】
前記仮想化手段は、物理装置の利用時間を時分割に分割して割り当てることで複数のオペレーティングシステムを同時に動作させることを特徴とする請求項１から請求項３のいずれかに記載の仮想装置構成システム。
【請求項５】
前記物理資源は、Ｉ／Ｏデバイス、仮想装置に関するデータを格納した不揮発性記憶装置、ネットワークインターフェースデバイス、専用処理機能をもつアクセラレータデバイスのいずれか、又はそれらの組み合わせであることを特徴とする請求項１から請求項４のいずれかに記載の仮想装置構成システム。
【請求項６】
前記仮想資源構成は、仮想化手段によって物理資源の利用を可能にするべく物理資源と関連付けられた仮想的な資源の詳細構成情報であることを特徴とする請求項１から請求項５のいずれかに記載の仮想装置構成システム。
【請求項７】
仮想装置構成の動的変更とは、当該パーティション１上で動作する仮想装置を形成する、揮発性メモリ上に存在する関連メモリデータを、パーティション２上の仮想化手段によって作られた、パーティション１上の仮想装置と同一の仮想装置のメモリ領域に、パーティション１上の仮想装置に関するメモリデータをコピーし、パーティション１上の仮想装置のメモリデータを削除する請求項１から請求項６のいずれかに記載の仮想装置構成システム。
【請求項８】
物理資源構成の変更とは、パーティション１に属する物理資源を、当該ネットワーク手段の設定変更によってパーティション１から削除し、パーティション２に再登録することを特徴とする請求項１から請求項７のいずれかに記載の仮想装置構成システム。
【請求項９】
パーティションの物理資源構成と、仮想装置に分配された仮想資源構成との動的な同時管理とは、物理資源構成の動的な所属情報及びその利用の可不可情報と、仮想装置に割り当てられた仮想資源構成の情報とを参照し、当該仮想装置がパーティションを移動する前後で生じうるその構成の差異の整合をとることを請求項１から請求項８のいずれかに記載の仮想装置構成システム。
【請求項１０】
構成の差異の整合とは、仮想装置の移動の際に、移動前のパーティションと移動先の物理資源構成に差異があったときに、仮想装置に対してその物理資源の差異を隠蔽し、物理資源の機能をソフトウェアエミュレーションで行うことを特徴とする請求項９に記載の仮想装置構成システム。
【請求項１１】
差異の整合とは、不揮発性記憶装置に格納された仮想装置に関連するデータに関して、パーティションの移動の間に生じる差異の吸収であることを特徴とする請求項９に記載の仮想装置構成システム。
【請求項１２】
データの差異の整合とは、二つ以上のハードディスクをミラーリングして同期し、ひとつの仮想ディスクを構成して、仮想装置１および２に提供し、仮想装置の移動の際に、そのハードディスクの一つずつを、ネットワーク手段の設定変更によってパーティションから削除し、他のパーティションに再登録することによって移動し、移動したハードディスクに仮想装置の移動が完了する間に生じたデータの差異を書き込むことを特徴とする請求項１１に記載の仮想装置構成システム。
【請求項１３】
データの差異の取得は、仮想装置から発生した処理を、仮想資源から物理資源へ転送される処理を監視し、バッファーデータとして取得・保存されるように構成されていることを特徴とする請求項１１に記載の仮想装置構成システム。
【請求項１４】
データの差異の整合させる間、仮想装置に提供された仮想資源のうち一部の仮想資源のみを一時待機状態にするように構成されていることを特徴とする請求項１１に記載の仮想装置構成システム。
【請求項１５】
ネットワーク手段が、ｅｔｈｅｒｎｅｔであることを特徴とする請求項１から請求項１４のいずれかに記載の仮想装置構成システム。
【請求項１６】
前記仮想化手段として、Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  Ｍｏｎｉｔｏｒを用いることを特徴とする請求項１から請求項１５のいずれかに記載の仮想装置構成システム。
【請求項１７】
同期化の手段として、ソフトウェアＲＡＩＤ１を用いることを特徴とする請求項１２に記載の仮想装置構成システム。
【請求項１８】
外部の管理サーバと各パーティション上に管理エージェントソフトウェアとが存在し、その動作の契機を外部の管理サーバから管理エージェントソフトウェアに命令を発行することで行うように構成されていることを特徴とする請求項１から請求項１７のいずれかに記載の仮想装置構成システム。
【請求項１９】
ソフトウェアエミュレーション機能が、仮想資源構成と物理資源構成との同時管理によって、集中管理サーバより必要なソフトウェアコンポーネントを検索し、自動的にインストールされるように構成されていることを特徴とする請求項１０に記載の仮想装置構成システム。
【請求項２０】
ネットワーク手段によって相互に接続された複数の物理資源を、複数のパーティションに区切ったコンピュータシステム上に構成された仮想化環境において、
パーティションの物理資源構成と、仮想装置に分配された仮想資源構成とを同時に管理しながら、仮想装置上で動作するアプリケーション・サービスに影響することなく、物理資源構成と仮想装置構成を動的に変更することを特徴とする仮想装置構成方法。
【請求項２１】
前記仮想装置構成は、仮想装置が動作するパーティション、及び提供される仮想資源の構成であることを特徴とする請求項２０に記載の仮想装置構成方法。
【請求項２２】
物理資源の移動の方法として、動的なバスコントローラでパーティションの切替を行うことを特徴とする請求項２０又は請求項２１に記載の仮想装置構成方法。
【請求項２３】
物理装置の利用時間を時分割に分割して割り当てることで複数のオペレーティングシステムを同時に動作させることを特徴とする請求項２０から請求項２２のいずれかに記載の仮想装置構成方法。
【請求項２４】
前記物理資源は、Ｉ／Ｏデバイス、仮想装置に関するデータを格納した不揮発性記憶装置、ネットワークインターフェースデバイス、専用処理機能をもつアクセラレータデバイスのいずれか、又はそれらの組み合わせであることを特徴とする請求項２０から請求項２３のいずれかに記載の仮想装置構成方法。
【請求項２５】
前記仮想資源構成は、物理資源の利用を可能にするべく物理資源と関連付けられた仮想的な資源の詳細構成情報であることを特徴とする請求項２０から請求項２４のいずれかに記載の仮想装置構成方法。
【請求項２６】
仮想装置構成の動的変更とは、当該パーティション１上で動作する仮想装置を形成する、揮発性メモリ上に存在する関連メモリデータを、パーティション２上の仮想化手段によって作られた、パーティション１上の仮想装置と同一の仮想装置のメモリ領域に、パーティション１上の仮想装置に関するメモリデータをコピーし、パーティション１上の仮想装置のメモリデータを削除する請求項２０から請求項２５のいずれかに記載の仮想装置構成方法。
【請求項２７】
物理資源構成の変更とは、パーティション１に属する物理資源を、当該ネットワーク手段の設定変更によってパーティション１から削除し、パーティション２に再登録することを特徴とする請求項２０から請求項２６のいずれかに記載の仮想装置構成方法。
【請求項２８】
パーティションの物理資源構成と、仮想装置に分配された仮想資源構成との動的な同時管理とは、物理資源構成の動的な所属情報及びその利用の可不可情報と、仮想装置に割り当てられた仮想資源構成の情報とを参照し、当該仮想装置がパーティションを移動する前後で生じうるその構成の差異の整合をとることを請求項２０から請求項２７のいずれかに記載の仮想装置構成方法。
【請求項２９】
構成の差異の整合とは、仮想装置の移動の際に、移動前のパーティションと移動先の物理資源構成に差異があったときに、仮想装置に対してその物理資源の差異を隠蔽し、物理資源の機能をソフトウェアエミュレーションで行うことを特徴とする請求項２８に記載の仮想装置構成方法。
【請求項３０】
差異の整合とは、不揮発性記憶装置に格納された仮想装置に関連するデータに関して、パーティションの移動の間に生じる差異の吸収であることを特徴とする請求項２８に記載の仮想装置構成方法。
【請求項３１】
データの差異の整合とは、二つ以上のハードディスクをミラーリングして同期し、ひとつの仮想ディスクを構成して、仮想装置１および２に提供し、仮想装置の移動の際に、そのハードディスクの一つずつを、ネットワーク手段の設定変更によってパーティションから削除し、他のパーティションに再登録することによって移動し、移動したハードディスクに仮想装置の移動が完了する間に生じたデータの差異を書き込むことを特徴とする請求項３０に記載の仮想装置構成方法。
【請求項３２】
データの差異の取得は、仮想装置から発生した処理を、仮想資源から物理資源へ転送される処理を監視し、バッファーデータとして取得・保存されることを特徴とする請求項３０に記載の仮想装置構成方法。
【請求項３３】
データの差異の整合させる間、仮想装置に提供された仮想資源のうち一部の仮想資源のみを一時待機状態にすることを特徴とする請求項３０に記載の仮想装置構成方法。
【請求項３４】
ネットワーク手段が、ｅｔｈｅｒｎｅｔであることを特徴とする請求項２０から請求項３３のいずれかに記載の仮想装置構成方法。
【請求項３５】
前記仮想化の制御として、Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  Ｍｏｎｉｔｏｒを用いることを特徴とする請求項２０から請求項３４のいずれかに記載の仮想装置構成方法。
【請求項３６】
同期化の方法として、ソフトウェアＲＡＩＤ１を用いることを特徴とする請求項３１に記載の仮想装置構成方法。
【請求項３７】
外部の管理サーバと各パーティション上に管理エージェントソフトウェアとが存在し、その動作の契機を外部の管理サーバから管理エージェントソフトウェアに命令を発行することで行うことを特徴とする請求項２０から請求項３６のいずれかに記載の仮想装置構成方法。
【請求項３８】
ソフトウェアエミュレーション機能が、仮想資源構成と物理資源構成との同時管理によって、集中管理サーバより必要なソフトウェアコンポーネントを検索し、自動的にインストールされることを特徴とする請求項２０から請求項３のいずれかに記載の仮想装置構成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は仮想装置構成システム及びその方法に関し、特に、複数のコンピュータ装置において資源利用効率のよい仮想化環境を提供することができる仮想装置構成システム及びその方法に関する。
【背景技術】
【０００２】
近年のコンピュータやネットワークシステムの一例は、Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  Ｍｏｎｉｔｏｒ（ＶＭＭ）と呼ばれる仮想化手段を導入することで、同一の物理サーバ上に複数のＯｐｅｒａｔｉｎｇ Ｓｙｓｔｅｍ（ＯＳ）を同時に動作させることを可能にした構成が導入されたシステムである。各ＯＳは、物理サーバ上にインストールするのと同様に、それぞれＶｉｒｔｕａｌ Ｍａｃｈｉｎｅ（ＶＭ）と呼ばれる仮想資源を有する仮想的なサーバ上にインストールされる。ＶＭＭは各ＶＭをソフトウェア・エンティティとして取り扱い、物理リソースを時分割多重し、複数の仮想資源に割り当てることで、ＶＭ間でのリソース共有を実現する。ＶＭＭには様々なアーキテクチャーがあるが、代表的なものとしては、非特許文献２に記載のＶＭｗａｒｅや、非特許文献１に記載のＸｅｎなどがある。
【０００３】
ここで、図１に示すように、ＶＭｗａｒｅやＸｅｎといった仮想化手段１００８および１００９は、その仮想化ならではの手法として、物理サーバ１００１上で動作している仮想装置１０１０を、物理サーバ１００２上へＭｉｇｒａｔｉｏｎする機能を提供する。これは、ＶＭが、実態はソフトウェアであるため、そのメモリ１００４上に存在するメモリデータ１０１２とディスク１００５上に存在するディスクデータ１０１３へのアクセスを確保することで同機能が実現可能であることによる。本機能は、たとえば、システム構成の変更などのメンテナンスや、物理サーバでの障害発生時などの対処に利用される。
【０００４】
ここで、Ｍｉｇｒａｔｉｏｎ機能を利用するには、メモリデータコピーに加え、仮想資源とそれに紐付けられた物理資源構成との整合性が必要になる。これは、仮想資源にアクセスしたときに、それに対応する実体である物理資源が存在しないと、正常動作できないことによる。たとえばディスクデバイスを考えたときに、仮想装置からみると他の物理サーバに移動した後も、同様にディスク上のデータにアクセスできることを要求する。これはＶＭ上のソフトウェアプロセスがデータアクセスなどのためにディスクアクセスが発生した場合に、実態である物理ディスクが存在しないとエラーになり動作不可となるからである。このため、Ｍｉｇｒａｔｉｏｎ前に利用していたデバイスへのアクセスを確保することがサービスの継続性という観点から必要になる。
【０００５】
従来手法によるＭｉｇｒａｔｉｏｎには以下の手法が考えられる。
＜従来手法１：ディスクのインストールによるＭｉｇｒａｔｉｏｎ＞
Ｍｉｇｒａｔｉｏｎ先のサーバ上にＭｉｇｒａｔｉｏｎ前のサーバのディスクを移動・インストールし、新たに仮想装置上の仮想ディスクと関連付けを行うことで正常動作を実現する。
手順として
（手順１）ＶＭを停止する。
（手順２）ＶＭのメモリコピーを保存する。
（手順３）移動前のサーバのＶＭに関連するデータの入ったディスクを、移動先のサーバに移動し、ＶＭの仮想ディスクとの関連付けを行う。
（手順４）コピーしたＶＭのメモリデータを移動先サーバ上に新たに設けたＶＭ用メモリ空間にコピーして、再開する。
を経て、Ｍｉｇｒａｔｉｏｎが完了する。ここで、このＭｉｇｒａｔｉｏｎ動作を行っている間は、ＶＭは基本的に止まっており、ＶＭ上で提供されているサービスの継続性は確保されない。
＜従来手法２：Ｌｉｖｅ  Ｍｉｇｒａｔｉｏｎ機能＋共有ファイルシステム＞
さらに、非特許文献１及び非特許文献２に記載の通り、ＶＭｗａｒｅやＸｅｎは、サービスを無瞬断でＭｉｇｒａｔｉｏｎを実現するＬｉｖｅ  Ｍｉｇｒａｔｉｏｎという機能も提供している。
【０００６】
ここで、Ｌｉｖｅ Ｍｉｇｒａｔｉｏｎ機能とは、より具体的には、移動前サーバのメモリに存在するＶＭに関連するデータを移動先のサーバ上で作成したＶＭのメモリ領域にコピーし、ディスクやネットワークインターフェースデバイスなどの物理資源へのアクセス設定などの必要な設定を行った後に、移動前のサーバ上のＶＭを停止、削除し、直前のメモリコピーの間に書き換わった情報の再コピーを行い、完全に両者のＶＭの情報を同期した後に、移動先サーバ上のＶＭを動作させることである。ここで、一般に無瞬断とは正確にはサービス被提供者には分からない程度の短い間で、一瞬サービスを停止させ、移動する、という意味である。このＶＭを用いているユーザから見ると、停止時間は典型的には数十〜数百ｍｓオーダーであるためセッションは瞬断されない。
【０００７】
このとき、従来技術で述べたように物理資源がディスクの場合は、何らかの方法で仮想装置からディスクデータにアクセスが可能でなくてはならない。たとえばディスクデバイスへのアクセスの確保のために、図３に示すように、あらかじめ移動前の物理サーバ３００１と移動先の物理サーバ３００２間で共有ファイルシステムを構築することが必要となる。これはたとえばＳｔｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＳＡＮ）に代表されるストレージの共有技術によって実現されるディスク共有装置３０００と物理サーバ３００１および３００２と接続するアダプタ手段３００６および３００９によって提供されることが多い。これは、ディスクデータ３０２４の実体はディスク３０１３上にあるディスクデータ３０１４であるが、物理サーバ３００１上に仮想的に仮想ディスク３００７があり、その上にディスクデータ３０２４が存在するように見せる技術である。あらかじめ移動前・先サーバから同一のディレクトリパスが可視なため、上記の手順３は省かれ、メモリのコピーの間だけの停止時間ですむ。さらに、この時間を短くするために、可能な限り、逐次的にコピーを行い、２度目以降のコピーは変更のあったところのみをコピーする、といったやり方で、最終的にＶＭを停止してから行うコピー量をなるべく減らすことで、この停止時間を短くするなどの試みが行われている。この場合のＭｉｇｒａｔｉｏｎ時間は、メモリコピー量にも依存するが、典型的には数十〜数百ｍｓオーダーであるため、たとえばWebアプリケーションのような典型的アプリケーションに対してはユーザから見て無瞬断として差し支えない時間オーダーといえる。
【０００８】
しかし、これらの方法はネットワークを介して共有することを仮定しており、転送遅延が発生する。またＳＡＮなどは専用のデバイスを必要とし、またnfsといったネットワークを介した仮想的なディスク共有もそのプロトコル処理のオーバーヘッドもかかる。そこで、実際に物理資源を必要なサーバに移動する手段が考えられる。手動でデバイスを取り外し、移動先サーバにインストールした後にＭｉｇｒａｔｉｏｎする方法が考えられるが、これは従来技術１と同様に一度システムを停止することが半ば前提であり、また時間も要する。
【非特許文献１】P. Barham et al. Xen and the art of virtualization. In Proc. SOSP 2003. Bolton Landing, New York, U.S.A. Oct 19-22, 2003
【非特許文献２】VMware社ホームページ、http://www.vmware.com/
【発明の開示】
【発明が解決しようとする課題】
【０００９】
第一の問題点は、従来技術ではＶＭのＭｉｇｒａｔｉｏｎにおいて、自動的に物理資源構成と仮想資源構成の整合をとる機構がない点である。
【００１０】
その理由は、従来手法１では、手動による物理デバイス削除、インストールといった物理資源における再構成を手動で行った後に、仮想資源との関連付けを行っており、ユーザからみたサービス継続性の確保が困難である点にある。
【００１１】
第二の問題点は、たとえＬｉｖｅ  Ｍｉｇｒａｔｉｏｎを用いてサービス継続性を保ったままＶＭを他の物理サーバに移すにも、Ｍｉｇｒａｔｉｏｎ前後の両方において、共有ディスクシステムが必要な点である。
【００１２】
その理由は、第一の問題点で述べたようなサービスの継続性を保つためには、ＶＭのＭｉｇｒａｔｉｏｎの前後で、両方のサーバからディスクデータへのアクセスが確保されている必要がある点にある。このため、両方のサーバから共通に可視である仮想的なファイルシステムを構築する必要がある。これにはＳＡＮのような高価な専用デバイスを要したり、nfsなどのソフトウェアによる仮想化ではプロトコル処理オーバーヘッドがかかる。
【００１３】
そこで、本発明は上記課題に鑑みて発明されたものであって、その目的は、ＶＭのＬｉｖｅ  Ｍｉｇｒａｔｉｏｎ機能において、物理資源構成と仮想資源構成の関連情報を同時に制御し、たとえばディスクならばＳＡＮなどのようなデバイスの共有システムを用いずに、パーティション制御とＬｉｖｅ  Ｍｉｇｒａｔｉｏｎ機能のみで、共有システム＋Ｌｉｖｅ  Ｍｉｇｒａｔｉｏｎ機能と同等の最小停止時間によって特徴付けられるサービス継続性を有するＶＭ  Ｍｉｇｒａｔｉｏｎ機能を提供することにある。
【課題を解決するための手段】
【００１４】
上記課題を解決する本発明は、ネットワーク手段によって相互に接続された複数の物理資源を、複数のパーティションに区切ったコンピュータシステム上に構成された仮想化環境において、パーティションの物理資源構成と、仮想装置に分配された仮想資源構成とを同時に管理しながら、仮想装置上で動作するアプリケーション・サービスに影響することなく、物理資源構成と仮想装置構成を動的に変更する仮想化手段を備えることを特徴とする仮想装置構成システムである。
【００１５】
また、上記課題を解決する本発明は、ネットワーク手段によって相互に接続された複数の物理資源を、複数のパーティションに区切ったコンピュータシステム上に構成された仮想化環境において、パーティションの物理資源構成と、仮想装置に分配された仮想資源構成とを同時に管理しながら、仮想装置上で動作するアプリケーション・サービスに影響することなく、物理資源構成と仮想装置構成を動的に変更することを特徴とする仮想装置構成方法である。
【００１６】
本発明を具体的に説明すると、図９に示されるとおり、本発明は、ＮＷ手段１０１によって接続されデータ通信が可能な資源である演算手段１１２、１３２と記憶手段１１３、１３３と、物理資源１１４、１３４（以下これらを単に資源と呼ぶ）と、当該ＮＷ手段１０１によってグループ外の資源が不可視であるようにグループ化設定された区分（以下、パーティションと呼ぶ）であるパーティション１１１とパーティション１３１と、パーティション１１１、１３１上で動作する、仮想装置１１９、１３９を作成、動作、管理する仮想化手段１１６、１３６と、パーティション１１１、１３１上で動作する物理・仮想資源管理手段１１５、１３５と、仮想装置を管理する仮想装置管理手段１０４と物理資源の構成を管理する物理資源管理手段１０３とを有するシステムと、このシステム全体を管理するシステム管理手段１０２と、管理者が本システムにアクセスするためにＮＷ手段１０１によって本システムに接続されたユーザインターフェース手段１００とで構成される。
【００１７】
ここで、物理資源１１４および１３４は、ディスクデバイスやネットワークインターフェースデバイスなどのＩ／Ｏデバイスに代表されるが、ビデオカード、サウンドカード、およびＴＣＰオフロードエンジンなどのアクセラレータなど、必ずしもこの限りではなく、また一般にひとつのパーティションに複数存在する。
【００１８】
ＮＷ手段１０１は、Ｅｔｈｅｒｎｅｔネットワークスイッチなどに代表されるネットワーク装置であるが、必ずしもこの限りではない。
【００１９】
また、パーティション１１１、パーティション１３１、ユーザインターフェース手段１００、システム管理手段１０２は、すべて同一のＮＷ手段１０１で接続されているが、複数の別系統のネットワークによって接続される構成も可能である。
【００２０】
システム管理手段１０２はコンピュータ装置の上で動作するソフトウェアであり、システム上の仮想装置の管理や、物理資源、パーティション構成などを管理する機能を有する。
【００２１】
演算手段１１２、１３２はＣＰＵに代表される演算装置であり、記憶手段１１３，１３３はメモリデバイスであり、パーティション１１１，１３１は少なくともひとつ以上の演算手段と記憶手段を含むようにグループ化設定される。
【００２２】
グループ化設定はＮＷ手段１０１のＶＬＡＮ設定などのデータ転送フィルタリング設定に代表されるグループ化機能よって実現するが、必ずしもこの限りではない。
【００２３】
仮想化手段１１６、１３６はＸｅｎなどのＶＭＭに代表される仮想化手段であり、資源を時分割多重して、それぞれのタイムスロットを複数の仮想装置に仮想資源として提供する。仮想資源１２１、１４１や仮想記憶手段１２０、１４０はそれぞれ記憶手段１１３、１３３、および物理資源１１４，１３４を時分割多重して割り当てられたものである。
【００２４】
記憶装置アクセス手段１１７、１３７は、物理的な記憶手段を矛盾が起こらないように複数の仮想装置のために分割し、それぞれの仮想装置が安全に記憶手段にアクセスできるようにする機能を有し、仮想装置上のソフトウェアプロセスが仮想記憶手段上のデータにアクセスする際は、本記憶手段アクセス手段を通してアクセスする。同様に物理資源アクセス手段１１８、１３８は物理資源１１４、１３４に複数の仮想装置がアクセスを可能にし、リソース競合が起こらないように調整する機能を有する。
【００２５】
物理・仮想資源管理手段１１５、１３５は、物理資源情報を監視し、仮想資源と物理資源の関連付けおよび物理資源アクセス手段設定の際に、矛盾が起きずに正常に動作するように管理する機能を有する。特に、後述するように、仮想装置（ＶＭ）のＭｉｇｒａｔｉｏｎによって動的に変化する仮想装置構成と、パーティション制御によって動的に変化する物理資源構成および状態を管理し、正常動作を補償する機能を有する。
【発明の効果】
【００２６】
本発明は、仮想化環境において仮想装置を異なる物理装置に移動する際に、従来のディスクデバイスの移動のみでＳＡＮなどに代表されるディスクの共有システムを前提としたシステムと同等レベルのサービス継続性を提供することが可能なことである。
【００２７】
その理由は、本発明が、ディスクデバイスの物理装置間の移動を、仮想装置が提供するサービスとは独立にバックグラウンドで移動することで、その移動にかかる時間をサービスの継続性に影響を与えないようにすることが可能なためである。
【発明を実施するための最良の形態】
【００２８】
図９によれば、本発明の第一の実施の形態として、ＮＷ手段１０１によって接続されデータ通信が可能な資源である演算手段１１２、１３２と記憶手段１１３、１３３と、物理資源１１４、１３４（以下これらを単に資源と呼ぶ）と、当該ＮＷ手段１０１によってグループ外の資源が不可視であるようにグループ化設定されたパーティション１１１とパーティション１３１と、パーティション１１１、１３１上で動作する、仮想装置１１９、１３９を作成、動作、管理する仮想化手段１１６、１３６と、パーティション１１１、１３１上で動作する物理・仮想資源管理手段１１５、１３５と、仮想装置を管理する仮想装置管理手段１０４と物理資源の構成を管理する物理資源管理手段１０３とを有する、これらのシステム全体を管理するシステム管理手段１０２と、管理者が本システムにアクセスするためにＮＷ手段１０１によって本システムに接続されたユーザインターフェース手段１００と、で構成される。
【００２９】
ここで、物理資源１１４および１３４はディスクデバイスやネットワークインターフェースデバイスなどのＩ／Ｏデバイスに代表されるが、ビデオカード、サウンドカード、およびＴＣＰオフロードエンジンなどのアクセラレータなど、必ずしもこの限りではなく、また一般にひとつのパーティションに複数存在する。
【００３０】
ＮＷ手段１０１はＥｔｈｅｒｎｅｔ（登録商標）ネットワークスイッチなどに代表されるネットワーク装置であるが、必ずしもこの限りではない。また、パーティション１１１、パーティション１３１、ユーザインターフェース手段１００、システム管理手段１０２はすべて同一のＮＷ手段１０１で接続されているが、複数の別系統のネットワークによって接続される構成も可能である。
【００３１】
システム管理手段１０２はコンピュータ装置の上で動作するソフトウェアであり、システム上の仮想装置の管理や、物理資源、パーティション構成などを管理する機能を有する。
【００３２】
演算手段１１２、１３２はＣＰＵに代表される演算装置であり、記憶手段１１３，１３３はメモリデバイスであり、パーティション１１１，１３１は少なくともひとつ以上の演算手段と記憶手段を含むようにグループ化設定される。
【００３３】
グループ化設定はＮＷ手段１０１のＶＬＡＮ設定などのデータ転送フィルタリング設定に代表されるグループ化機能よって実現するが、必ずしもこの限りではない。
【００３４】
仮想化手段１１６、１３６はＸｅｎなどのＶＭＭに代表される仮想化手段であり、資源を時分割多重して、それぞれのタイムスロットを複数の仮想装置に仮想資源として提供する。仮想資源１２１、１４１や仮想記憶手段１２０、１４０はそれぞれ記憶手段１１３、１３３、および物理資源１１４，１３４を時分割多重して割り当てられたものである。
【００３５】
記憶装置アクセス手段１１７、１３７は、物理的な記憶手段を矛盾が起こらないように複数の仮想装置のために分割し、それぞれの仮想装置が安全に記憶手段にアクセスできるようにする機能を有し、仮想装置上のソフトウェアプロセスが仮想記憶手段上のデータにアクセスする際は、本記憶手段アクセス手段を通してアクセスする。同様に物理資源アクセス手段１１８、１３８は物理資源１１４、１３４に複数の仮想装置がアクセスを可能にし、リソース競合が起こらないように調整する機能を有する。
【００３６】
物理・仮想資源管理手段は、物理資源情報を監視し、仮想資源と物理資源の関連付けおよび物理資源アクセス手段設定の際に、矛盾が起きずに正常に動作するように管理する機能を有する。特に、後述するように、仮想装置（ＶＭ）のＭｉｇｒａｔｉｏｎによって動的に変化する仮想装置構成と、パーティション制御によって動的に変化する物理資源構成および状態を管理し、正常動作を補償する機能を有する。
【００３７】
次に、本構成を用いて、ＶＭをパーティション１１１からパーティション１３１にＭｉｇｒａｔｉｏｎする際のサービス継続性の確保するための動作について詳細に説明する。ここで、移動するＶＭは仮想装置１１９とし、仮想装置１１９はパーティション１１１の物理資源１１４の物理資源を利用しており、パーティション１３１の物理資源１３４には同様の機能を提供する物理資源はないとする。
【００３８】
まず、管理者はユーザインターフェース手段１００を用いてパーティション１１１からパーティション１３１に仮想装置１１９を移動するＭｉｇｒａｔｉｏｎ命令を発行する。Ｍｉｇｒａｔｉｏｎ命令はシステム管理手段１０２に届くと、仮想装置管理手段１０４は、物理/仮想資源管理手段１３５にパーティション１３１の物理資源１３４の状態監視を開始する。ここで、この状態監視は物理/仮想資源管理手段１３５の起動時から常に行っていてもよい。状態監視の開始後、物理資源アクセス手段１３７は、仮想化手段１３７の上で動作する仮想装置には、実際に物理資源１１４がパーティション１３１に存在するかのごとくに物理資源１１４の動作をエミュレーションし、正常動作状態を確保する。
【００３９】
次に、仮想装置管理手段１０４は仮想化手段１１７にＬｉｖｅ  Ｍｉｇｒａｔｉｏｎ命令を発行し、仮想装置１１９のパーティション１１１からパーティション１３１上へのＬｉｖｅ  Ｍｉｇｒａｔｉｏｎを行う。また、同時に物理資源管理手段１０３はＮＷ手段１０１を制御することにより、物理資源１１４をパーティション１３１に移す。
【００４０】
Ｌｉｖｅ  Ｍｉｇｒａｔｉｏｎされた仮想装置１１９は仮想装置１３９として動作を開始するが、その際に、まだ物理資源１１４がパーティション１３１上で認識・設定されアクセスが可能になる前に物理資源１１４へのアクセスが発生した場合は、上記の物理資源アクセス手段１３７がその動作をエミュレーションすることでサービス継続性を確保する。
物理資源１１４がパーティション１３１に移動し、認識・必要な設定が完了したら、物理/仮想資源管理手段１３５はその完了を検出し、物理資源アクセス手段１３７に通知する。物理資源アクセス手段１３７はその通知をうけ、エミュレーションから実際の物理資源へのアクセスに切り替える。
【００４１】
このエミュレーション機能により、仮想装置は物理資源の移動に伴うサービス瞬断を回避し、物理資源のパーティション間移動による柔軟な再構成と高いサービスの継続性を両立することが可能となる。
【００４２】
また、物理資源アクセス手段１１７、および１３７は、仮想資源に発生した処理を待ち状態にすることで、仮想資源１２１および１４１の状態をサスペンド状態にする。これは、物理資源が利用可能な状態でないときにも、仮想装置ごと停止することなく、対応する仮想資源のみの動作をサスペンドし、仮想装置上のその物理資源以外を利用するソフトウェアプロセスは正常に動作させることで、移動する物理資源に無関係のサービス継続性を保つことが可能である。このサスペンド処理は仮想装置からみると、仮想資源の応答が遅くなったように見え、処理エラーを引き起こさない。このサスペンド処理は、Ｍｉｇｒａｔｉｏｎの動作において、移動の直前にサスペンド状態に遷移させ、移動後、エミュレーション機能の動作を確認後、サスペンド状態を解除することで、移動に関係する物理資源以外と関連付けられた仮想資源の継続的利用を可能にする。
【実施例】
【００４３】
以下本発明の実施例を、図面を用いて詳細に説明する。
（ディスク冗長）
図４によれば、本発明の第一の実施の形態として、ＮＷ手段４００６によって接続されデータ通信が可能な物理装置４００１と物理装置４００２と、物理装置４００１もしくは４００２に接続されるディスク４００３および４００４と、システム管理手段４００５と、で構成されるシステムによって提供される。
【００４４】
ここで、ディスク４００３および４００４は、代表的にはハードディスクに代表される不揮発性記憶装置であるが、必ずしもこの限りではない。
【００４５】
物理装置４００１および４００２は、ＣＰＵ４１０２および４２０２、メモリ４１０３および４２０３と、ＮＷアダプタ４１０４および４２０４とでそれぞれ構成される。
【００４６】
メモリ４１０３および４２０３はＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）に代表される不揮発性記憶手段であるが、かならずしもこれに限るものではない。
【００４７】
ＶＭＭ４１０６および４２０６はＸｅｎなどのＶＭＭ（ｖｉｒｔｕａｌ  ｍａｃｈｉｎｅ  ｍｏｎｉｔｏｒ）に代表される仮想化手段であるが、これに限るものではない。また、当該ＶＭＭは特に仮想メモリ管理機能４１０７および４２０７やディスクアクセス管理４１１０および４２１０、ディスクドライバ４１０８および４２０８、ＲＡＩＤコントローラ４１０９および４２０９を含む。
【００４８】
ディスクドライバ４１０８および４２０８はディスク４００３や４００４にアクセスするためのデバイスドライバに代表されるソフトウェアであり、ＲＡＩＤコントローラ４１０９および４２０９はディスク４００３と４００４をソフトウェアＲＡＩＤによってディスクデータ４０２１と４０２２を同期させ冗長化しひとつのディスクに見せるＲＡＩＤコントローラである。ディスクアクセス管理４１１０および４２１０は仮想ディスク４１２３および４２２３へのアクセスに対して、物理ディスクであるディスク４００３および４００４へのアクセスを管理する。ここでＲＡＩＤコントローラやディスクドライバは仮想装置を動作させる目的には必須ではないため、ＶＭＭの内部にあっても外部にあってもよい。
【００４９】
ＮＷアダプタ４１０４および４２０４は、物理装置４００１および４００２とＮＷ手段４００６を接続するものであり、ＮＷ手段４００６の設定によってＣＰＵ４１０２および４２０２から見たときにディスク４００３および４００４と接続されているようにすることができる。実装上は、たとえばＶＭＭからみるとブリッジデバイスとして見せることでこの機能を実現可能であるが、これに限るものではない。
【００５０】
仮想メモリ管理４１０７および４２０７は仮想装置にメモリ４１０３および４２０３を競合しないように割当管理を行う機能を有する。
物理／仮想資源管理４１０５および４２０５は物理装置４００１および４００２に接続されるディスク４００３および４００４の状態と、仮想ディスクとの関連付けの状態を管理する。
【００５１】
仮想装置４１２１および４２２１はＶＭＭ４１０６および４２０６上で動作する仮想装置であり、仮想メモリ４１２２および４２２２、仮想ディスク４１２３および４２２３が利用可能な資源として提供されている。
【００５２】
仮想ＣＰＵも同様にＶＭＭによって時分割多重され仮想装置に供給されているが、ここでは省略した。
【００５３】
初期状態として、ディスク４００３および４００４は物理装置４００１に属し、ＲＡＩＤコントローラ４１０９によって冗長化されており、また、仮想装置４１２１が動作しているとする。システム管理手段４００５からのＭｉｇｒａｔｉｏｎ開始コマンドの発行により、ディスクアクセス管理４１１０は仮想装置４１２１における仮想ディスク４１２３へのアクセスの監視を開始し、その処理および処理データをバッファリングする。その直後、ＮＷ手段４００６の切替によりディスク４００３を物理装置４２０１に属するように設定を変更する。ディスク４００３の物理装置４２０１での認識・設定が完了したら仮想装置のＬｉｖｅＭｉｇｒａｔｉｏｎコマンドを発行し、メモリコピーを開始する。最後のメモリコピーの直前である、仮想装置４１２１を停止する直前に仮想ディスク４１２３をサスペンド状態にして、バッファリングしたデータを物理装置４２０１に送信し、ディスクアクセス管理４２１０はディスク４００３にそのバッファリングデータを書き込み、その後、最後のメモリコピーを行い、ディスクアクセス管理４２１０はディスクサスペンド状態を解除して、移動先の物理装置４２０１上の仮想装置４２２１を新たな仮想装置として開始し、ＬｉｖｅＭｉｇｒａｔｉｏｎを完了する。
【００５４】
本動作によって、Ｍｉｇｒａｔｉｏｎ時に行う切替制御によってディスク４００３と４００４が異なる物理装置に分かれて属する際に生じる両者の間のデータの差異を同期させる機能を提供する。
【００５５】
以下に、無瞬断での仮想装置（ＶＭ）の物理装置４００１から物理装置４００２へのＭｉｇｒａｔｉｏｎをおこなう動作について、図５を用いて詳細に説明する。
【００５６】
図５において左端の列は、図４における物理装置４００１での仮想装置の状態について図辞したものであり、右側は物理装置４００２のそれである。ＳＡＮなどの特別なディスクデータ共有装置を用いずにパーティション切替装置のみで、物理装置４００１上で動作する仮想装置を物理装置４００２にＬｉｖｅ  ＭｉｇｒａｔｉｏｎとＳＡＮの組み合わせたシステムにおける場合と同等レベルのサービス無瞬断移動を行う機能を提供する動作シーケンスを以下説明する。
（Ｆ５００１）
物理装置４００１上で仮想装置が動作している。仮想装置はメモリ上のメモリデータとディスクデータで構成される。
（Ｆ５００２）
物理装置４００１でＲＡＩＤ１などの冗長化手段によってミラーリングされたディスクのうち、片方のディスクを物理装置４００１から物理装置４００２に切り替える。このとき、物理装置４００１からみると、切り替えられたディスクはなくなるが、障害状態と認識され、もう一方のディスクを用いてシステムは継続される。ただし、この際に、仮想装置がこのディスクにアクセスし、データを更新しようとするのを監視し、そのアクセスデータを保存する。
（Ｆ５００３）
パーティション切替によって物理装置４００２に切り替えられたディスクが認識され、マウントを完了する。その後、このディスクと、もう一方のディスクは故障であるとしてＲＡＩＤ１構成を構築する。この作業は一般に数秒のオーダーがかかるがバックグラウンドで行われるため、物理装置４００１上で動作する仮想装置のサービス継続性には影響を及ぼさない。
（Ｆ５００４）
仮想装置を一時停止し、これ以上データが更新されないようにしたあと、監視・保存しておいたディスクアクセスデータを、物理装置４００２に移動したディスクに書き込むことで、両者のディスクの差分を解消する。ここで、さらに瞬断時間を短くするためには、上述の通り、仮想装置全体ではなく、仮想ディスクのみをサスペンド状態に変更することも可能である。
（Ｆ５００５）
仮想装置のメモリデータを物理装置４００２上のメモリにコピーする。これは従来技術であるＬｉｖｅ  Ｍｉｇｒａｉｔｏｎを用いて行ってもよい。その後、新たにＲＡＩＤ１が構築されているディスクに対してディスクアクセス設定仮想装置を作成する。
（Ｆ５００６）
物理装置４００１上の仮想装置を削除し、物理装置４００２上の仮想装置を開始する。
（Ｆ５００７）
物理装置４００１上の残ったディスクをパーティション切替によって物理装置４００２に移動し、デバイス認識終了後、マウントする。
（Ｆ５００８）
移動したディスクをＲＡＩＤに参加させる。
以上のフローにより、パーティション切替によるディスクの移動、認識およびマウントの一連の動作をバックグランドで行い、ボトルネックとなっていた所要時間をサービス継続と無関係にすることで、もともとディスクデータを共有したシステムにおけるＬｉｖｅ  Ｍｉｇｒａｔｉｏｎと同等レベルのサービス継続性を実現する。
【００５７】
ここで、（Ｆ５００４）で、両者のディスクの差分情報を同期させるが、このデータ量が非常に多い場合は、最後にまとめてではなく、（Ｆ５００３）で監視を開始した瞬間から、徐々にデータを反映していく手法も可能である。
【００５８】
また、このアクセスデータは典型的にはメモリ上に確保した記憶領域に保存されるが、必ずしもその限りではなく、書き込みや読み出しなどの動作速度がボトルネックにならないような当該ディスク以外の記憶領域に保存される。たとえば、物理装置４００１および４００２以外の専用ハードウェアなどで行うことも可能である。
【００５９】
また、ディスク間のミラーリングとしてＲＡＩＤ１を例に説明したが、必ずしもこれに限るものではなく、両者の間で同期がとれる冗長化手段であればよい。
【００６０】
次に、本発明の第二の実施例について図面を用いて詳細に説明する。図６を参照すると、本発明の第二の実施例は、第一の実施の形態に対して、各物理装置上に管理エージェント６１３０および６２３０を有する点で異なる。図中に明にネットワークインターフェースを書いていないが、システム管理手段６００５はＮＷ手段６００６を通して物理的に接続され、管理エージェント６１３０および６２３０と通信することが可能である。システム管理手段６００５はコンピュータ資源上に実装された管理ソフトウェアアプリケーションであり、管理者へのインターフェースを有し、またＮＷ手段６００６を通して接続されたＮＷ設定を制御することが可能である。管理エージェント６１３０は一般には物理装置６００１上にインストールされたソフトウェアアプリケーションであり、第一の実施の形態にて説明した一連の動作フローを実現するため、システム管理手段６００５からの命令によって各種設定・制御を行う。ただし動作フローの実現は、必ずしもすべてシステム管理手段６００５からの命令を契機に始める必要はなく、管理エージェントから自律的に行うことも可能である。
【００６１】
本発明の動作を、図６および図７を用いて詳細に説明する。
（Ｆ７００１）
管理者がシステム管理手段６００５にＭｉｇｒａｔｉｏｎ  Ｓｔａｒｔコマンド発行
（Ｆ７００２）システム管理手段６００５から管理エージェント６１３０にＭｉｇｒａｔｉｏｎ開始コマンド発行
（Ｆ７００３）
管理エージェント６１３０はVMM６１０７を操作し、ディスクアクセス管理６１１０を制御しアクセス監視によるアクセスデータのバッファリング動作を開始する。
（Ｆ７００４）
システム管理手段６００５からNW手段６００６に切替操作コマンド発行する。
（Ｆ７００５）
NW手段６００６はディスク６００４を物理装置６００２へ移動するよう切替設定を行う。
（Ｆ７００６）
物理／仮想資源管理手段６１０５はディスクが削除されたことを検出し、物理装置６００１からはディスク６００４は削除されたように見え、ＲＡＩＤコントローラ６１０９によってミラーリングされたディスクシステムは一方のディスクが故障したように取り扱い、仮想ディスク６１２３への書き込みはすべてディスク６００３のディスクデータ６０２１のみに反映される。
（Ｆ７００７）
物理装置６００２はディスク６００４を認識し、物理／仮想資源管理手段６２０５がマウント完了を確認後、管理エージェント６２３０はディスク６００４をもちいてRAIDを構成するようにRAIDコントローラ６２０９に設定し、処理完了をシステム管理手段６００５に通知する。ディスクはひとつしかないため、もう片方のディスクは現段階では故障したものとして取り扱われる。
（Ｆ７００８）
システム管理手段６００５は管理エージェント６１３０にＭｉｇｒａｔｉｏｎ開始命令発行し、仮想装置６１２１のＬｉｖｅ  Ｍｉｇｒａｔｉｏｎ動作（仮想装置６１２１のメモリデータの逐次コピー）を開始させる。
（Ｆ７００９）
最後のダーティメモリのコピーの直前に、仮想ディスク６１２３およびコピー先の仮想ディスク６２２３をサスペンド状態にし、管理エージェント６１３０はバッファリングデータを管理エージェント６２３０に転送、ディスク６００４に反映する。
（Ｆ７０１０）
最後のダーティメモリをコピーし終わったら、仮想ディスク６２２３のサスペンド状態を解除し、仮想装置６１２１を削除、仮想装置６２２１を開始する。
（Ｆ７０１１）
仮想装置６２２１の動作のバックグラウンドでディスク６００３をディスク６００４と同様に物理装置６００２へ移動する。
（Ｆ７０１２）
ＲＡＩＤコントローラ６２０９はディスク６００３をＲＡＩＤのメンバーに加え、６００４と同期させる
ここで（Ｆ７００４）〜（Ｆ７００７）は切替からマウントまでに数秒オーダーの時間がかかるが、これらはユーザに対するサービス提供に対して、バックグラウンドで行われるため、サービスの継続性に影響を及ぼさない。
【００６２】
仮想ディスクのサスペンドにより、仮想装置そのものは動作を継続するため、ディスクアクセス以外の処理の継続性は、最後のダーティメモリのコピーのぎりぎりまで保たれる。また、の処理の途中で、バッファリング用のメモリ容量が限界に達した場合は、その時点で仮想ディスクをサスペンド状態にすることで、バッファ溢れを防ぐことができる。
【００６３】
管理手段６００５とＮＷ手段６００５はネットワークスイッチにより接続されてもよいし、専用線により接続されてもよい。
【００６４】
次に、本発明の第三の実施例について図面を用いて詳細に説明する。
【００６５】
図８を参照すると、かかる実施例は、本発明の第一の実施の形態に対応する。
【００６６】
本実施例は、Ethernetスイッチ８０４１によって互いに接続された、システム管理手段として管理サーバ８０４０を、切替手段としてPCIバスに代表されるバスをコントロールするパーティション制御機能付バスコントローラ８００５を、物理装置としてCPU、メモリなどを有する物理サーバ８００１および８００２を備える。
【００６７】
また、物理サーバ８００１および８００２はＣＰＵ８００７および８００９、メモリ８００６および８００８、ネットワークインターフェース（ＮＩＣ）８０５１および８０５２、ＮＷアダプタ８０６１および８０６２をそれぞれ備える。
【００６８】
パーティション制御機能付バスコントローラ８００５はディスク８００３および８００４を物理サーバ８００１および８００２のどちらかに所属するように設定することが可能である。ディスク８００３および８００４はＮＷアダプタを通して認識されるが、ＮＷアダプタはたとえばブリッジデバイスとして認識される。
【００６９】
物理サーバ８００１上では、仮想化手段としてＸｅｎ８０１０が動作し、マネジメントインターフェース８０１２を通して管理ドメイン８０１４から仮想装置８０３１を制御・管理する機能を提供する。
【００７０】
管理ドメイン８０１４は、管理専用の仮想装置であり、主に仮想装置８０３１の管理とデバイスアクセス機能を提供し、内部に管理エージェントソフトウェア８０１５およびソフトウェアＲＡＩＤ８０１８、バックエンドドライバ８０１９を有する。ソフトウェアＲＡＩＤ８０１８はディスク８００３と８００４をミラーリングし、ひとつのディスクのように見せる機能を提供し、その各種設定や制御は管理エージェントソフトウェア８０１５内のＲＡＩＤコントロール機能８０１６が行う。
【００７１】
仮想装置８０３１上で動作するアプリケーションプロセスがデバイス、特にはディスク８００３および８００４にアクセスするには仮想ドライバであるフロントドライバ８０２０にアクセス要求を出し、その要求を管理ドメイン８０１４内のバックエンドドライバ８０１９に転送し、バックエンドドライバ８０１９はソフトウェアＲＡＩＤ８０１８によってひとつの仮想ディスクとして見えているディスクデバイスにアクセス要求を出す。アクセス監視機能８０１７はこのバックエンドドライバ８０１９が行う仮想ディスクへのアクセスを監視する。
【００７２】
以下、仮想装置８０３１を物理サーバ８００２上に移動する動作を詳細に説明する。
【００７３】
管理サーバ８０４０は管理エージェントソフトウェア８０１５に対して、仮想装置８０３１のＭｉｇｒａｔｉｏｎ開始命令を出すと、管理エージェントソフトウェア８０１５は仮想装置８０３１の仮想デバイス（ここではフロントエンドドライバ８０２０）の状態をサスペンドにし、アクセス監視機能８０１７を起動しアクセスデータの取得を開始した後、再びフロントエンドドライバ８０２０を開始する。ここで、仮想装置８０３１ごと一時停止してもよいが、その場合は一般に仮想装置上のすべての動作が一時停止する。管理サーバ８０４０はパーティション制御機能付バスコントローラ８００５を制御し、ディスク８００４を物理サーバ８００２に移動する。
【００７４】
物理サーバ８００２はディスク８００４が自分のシステムバスに追加されたことを認識し、ファイルシステムにマウントし、ソフトウェアＲＡＩＤ８０２５によってＲＡＩＤ１を構成する。これはＬｉｎｕｘなどに標準でサポートされているＨｏｔＰｌｕｇ機能とソフトウェアＲＡＩＤによって実現されるが、この一連の移動の処理は一般に数秒オーダーの時間を要する。
【００７５】
移動が完全に完了したら、管理エージェントソフトウェア８０２２は管理サーバ８０４０に完了通知を発行し、管理サーバ８０４０は管理エージェントソフトウェア８０１５に仮想装置のＭｉｇｒａｔｉｏｎ開始コマンドを通知する。管理エージェントソフトウェア８０１５はＬｉｖｅ  Ｍｉｇｒａｔｉｏｎコマンドを発行し、仮想装置８０３１に関するメモリデータをＸｅｎ８０１１上に新たに作られた仮想装置８０３２のメモリ領域にコピーする。この際、データをコピーしている間に新たに書き換わったメモリデータ（ダーティーメモリ）をさらにまたコピーする、という逐次コピーを行う作業を繰り返し、新たなメモリ書き込み量と、ダーティメモリ量がつりあいだしたら、仮想装置を一時停止し、最後のコピーを行う。ここで、最後のコピーの直前にまず仮想ディスクつまりはフロントエンドドライバ８０２０と８０２７をサスペンド状態にし、バッファリングしたデータを管理エージェントソフトウェア８０２２に転送し、ディスク８００４に書き込むことでディスク８００３と８００４の同期を取る。このバッファリングデータのコピーは上記のように最後に一括して行ってもよいし、途中で逐次的にコピーを繰り返してもよい。
【００７６】
バッファリングデータの書き込みの終了を確認したら仮想装置８０３１を一時停止し、最後のダーティメモリのコピーを行い、フロントエンドドライバ８０２７のサスペンド状態を解除し、仮想装置８０３１を削除し、仮想装置８０３２の動作を開始する。
【００７７】
その後、ディスク８００３をパーティション制御機能付バスコントローラ８００５を制御して物理サーバ８００２に移動し、ＨｏｔＰｌｕｇ機能で物理サーバ８００２上のファイルシステムにマウントされたら先に作成したＲＡＩＤ１に追加し、ディスク８００４とミラーリング処理を行う。
【００７８】
以上により、ディスクを移動し、ファイルシステムにマウントされるまでの時間によるサービス停止時間をメモリコピーのみにかかる時間オーダーまで削減することが可能である。
【００７９】
次に、本発明の第四の実施例について図面を用いて詳細に説明する。
【００８０】
図１０を参照すると、かかる実施例は、本発明の第一の実施の形態に対応する。
【００８１】
本実施例は、Ethernetスイッチ９００３によって互いに接続された、システム管理手段として管理サーバ９００１を、切替手段としてPCIバスに代表されるバスをコントロールするパーティション制御機能付バスコントローラ９００５を、物理装置としてCPU、メモリなどを有する物理サーバ９１００および９２００を備える。
【００８２】
管理サーバ９００１はシステム内に存在するアクセラレータ情報のレポジトリ９００２を備えてもよい。
【００８３】
また、物理サーバ９１００および９２００はＣＰＵ９１０２および９２０２、メモリ９１０１および９２０１、ネットワークインターフェース（ＮＩＣ）９１０４および９２０４、ＮＷアダプタ９１０３および９２０３をそれぞれ備える。
【００８４】
パーティション制御機能付バスコントローラ９００５はアクセラレータ９００４を物理サーバ９１００および９２００のどちらかに所属するように設定することが可能である。アクセラレータ９００４はＴＣＰオフロードエンジンに代表される機能デバイスであるが、必ずしもこれに限るものではない。アクセラレータはＮＷアダプタを通して物理装置に接続されたデバイスとして認識されるが、ＮＷアダプタはたとえばブリッジデバイスとして認識される。
【００８５】
物理サーバ９１００上では、仮想化手段としてＸｅｎ９１０５が動作し、マネジメントインターフェース９１０６を通して管理ドメイン９１０９から仮想装置９１１２を制御・管理する機能を提供する。仮想化手段としてＸｅｎを例にしたが、必ずしもこの限りではない。
【００８６】
管理ドメイン９１０９は、管理専用の仮想装置であり、主に仮想装置９１１２の管理とデバイスアクセス機能を提供し、内部に管理エージェントソフトウェア９１１０、バックエンドドライバ９１０７、アクセラレータドライバ９１０８を有する。
【００８７】
仮想装置９１１２上で動作するアプリケーションプロセスがアクセラレータ９００４を利用するには、仮想資源であるところの仮想ドライバであるフロントドライバ９１１３にアクセス要求を出し、その要求を管理ドメイン９１０９内のバックエンドドライバ９１０７に転送し、バックエンドドライバ９１０８はアクセラレータドライバ９１０８に処理を転送し、アクセラレータ９１０８はその処理を９００４にアクセスすることで実現する。
【００８８】
管理エージェント９１１０はその内部にアクセラレータエミュレーション機能を備える。
【００８９】
以下、仮想装置９１１２を物理サーバ９２００上に移動する動作を詳細に説明する。
【００９０】
管理サーバ９００１は管理エージェントソフトウェア９１１０に対して、仮想装置９１１２のＭｉｇｒａｔｉｏｎ開始命令を発行すると、管理エージェントソフトウェア９１１０はまずエミュレーション機能９１１３をＥｎａｂｌｅ状態にし、アクセラレータ９００４の利用要求であるアクセラレータドライバ９１０８へのバックエンドドライバ９１０７の処理をすべてエミュレーション９１１３に転送するよう設定する。エミュレーション９１１３は物理的資源である９００４で行われる処理をソフトウェア的に処理する機能を有する。たとえばアクセラレータがＴＣＰオフロードエンジンであった場合、ＴＣＰプロトコル処理をアクセラレータを用いる代わりにエミュレーション９１１３によってソフトウェアとして処理する。このエミュレーション機能はあらかじめ登載しておいてもよいし、Ｍｉｇｒａｔｉｏｎ開始コマンド発行をトリガーに、管理サーバ９００１のアクセラレータ情報レポジトリ９００２に登録してある情報を問い合わせ、必要なソフトウェアをダウンロード、インストールしてもよい。
【００９１】
管理サーバ９００１はエミュレーション９１１３によるアクセラレータエミュレーション開始を確認すると、パーティション制御機能付バスコントローラ９００５の設定を変更することでアクセラレータ９００４を物理サーバ９１００から９２００へ移動処理を開始する。
【００９２】
管理エージェントソフトウェア９２１０はアクセラレータ９００４のマウントを確認すると、必要なソフトウェアを管理サーバ９００１からダウンロード、インストールし、アクセラレータ利用可能状態を確認後、管理サーバ９００１に通知する。
【００９３】
管理サーバ９００１は管理エージェントソフトウェア９１１０に仮想装置９１１２のＬｉｖｅ  Ｍｉｇｒａｔｉｏｎ開始コマンドを発行し、仮想装置９１１２のメモリデータは仮想装置９２１２のメモリ領域にコピーされ、仮想装置９２１２がアクセラレータ９００４を利用できるようにバックエンドドライバ９２０７とアクセラレータドライバ９２０８の間の転送チャネルを確立して、上述のように仮想装置のＬｉｖｅ  Ｍｉｇｒａｔｉｏｎが完了する。
【００９４】
上記の動作は、物理装置９１００でのアクセラレータのエミュレーションへの切替→アクセラレータのパーティション移動→仮想装置のＬｉｖｅ  Ｍｉｇｒａｔｉｏｎ、という順序で説明したが、これ以外にも、物理装置９２００でのアクセラレータのエミュレーション機能のＥｎａｂｌｅ→仮想装置のＬｉｖｅ  Ｍｉｇｒａｔｉｏｎ→アクセラレータのパーティション移動→物理装置９２００でのアクセラレータのエミュレーション機能のＤｉｓａｂｌｅとアクセラレータドライバへのアクセスへの切替、という順序で同様の処理を行ってもよい。
【産業上の利用可能性】
【００９５】
本発明は、複数のコンピュータ装置からなる資源利用効率のよい仮想化環境でのIT/NWシステム構成・管理といった用途に適用できる。
【図面の簡単な説明】
【００９６】
【図１】図１は従来のメモリデータとディスクデータコピーによるＶＭ  Ｍｉｇｒａｔｉｏｎを説明する為の図である。
【図２】図２は従来のメモリデータコピーとディスクデータを有するディスクのパーティション切替によるＶＭ  Ｍｉｇｒａｔｉｏｎを説明する為の図である。
【図３】図３は従来のメモリデータコピーと共有ディスクシステムによるＶＭのＬｉｖｅ  Ｍｉｇｒａｔｉｏｎを説明する為の図である。
【図４】図４は本発明の実施の形態におけるメモリコピーとディスクのパーティション切替え装置と冗長化機能と同期制御による無瞬断Ｍｉｇｒａｔｉｏｎを説明する為の図である。
【図５】図５は本発明の実施の形態１における動作フロー図である
【図６】図６は本発明の実施例１を説明するブロック図である。
【図７】図７は本発明の実施例１における動作フロー図である。
【図８】図８は本発明の実施例２を説明するブロック図である。
【図９】図９は本発明の実施例３を説明するブロック図である。
【図１０】図１０は本発明の実施例４を説明するブロック図である。
【符号の説明】
【００９７】
１００            ユーザインターフェース手段
１０１            ＮＷ手段
１０２            システム管理手段
１０３            物理資源管理手段
１０４            仮想装置管理手段
１１１，１３１    パーティション
１１２，１３２    演算手段
１１３，１３３    記憶手段
１１４，１３４    物理資源
１１５，１３５    物理・仮想資源管理手段
１１６，１３６    仮想化手段
１１７，１３７    記憶装置アクセス手段
１１８            物理資源アクセス手段
１１９，１３９    仮想装置
【図１】
2008225546.tif 000003
【図２】
2008225546.tif 000004
【図３】
2008225546.tif 000005
【図４】
2008225546.tif 000006
【図５】
2008225546.tif 000007
【図６】
2008225546.tif 000008
【図７】
2008225546.tif 000009
【図８】
2008225546.tif 000010
【図９】
2008225546.tif 000011
【図１０】
2008225546.tif 000012