JP2009145931A - 仮想計算機と物理計算機との間のマイグレーション方法及びその計算機システム - Google Patents

仮想計算機と物理計算機との間のマイグレーション方法及びその計算機システム Download PDF

Info

Publication number
JP2009145931A
JP2009145931A JP2007319340A JP2007319340A JP2009145931A JP 2009145931 A JP2009145931 A JP 2009145931A JP 2007319340 A JP2007319340 A JP 2007319340A JP 2007319340 A JP2007319340 A JP 2007319340A JP 2009145931 A JP2009145931 A JP 2009145931A
Authority
JP
Japan
Prior art keywords
computer
memory area
contents
migration
memory
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.)
Pending
Application number
JP2007319340A
Other languages
English (en)
Inventor
Tomonori Sekiguchi
知紀 関口
Hidetoshi Sato
秀俊 佐藤
Yasunari Yoshino
泰成 芳野
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2007319340A priority Critical patent/JP2009145931A/ja
Priority to US12/165,887 priority patent/US20090150463A1/en
Publication of JP2009145931A publication Critical patent/JP2009145931A/ja
Pending legal-status Critical Current

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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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

Abstract

【課題】マイグレーションに伴うサービスの中断時間を短縮する。
【解決手段】第1の計算機と第2の計算機とのいずれか一方が仮想化機構を有する計算機であり、他方が仮想化機構を有さない計算機である。マイグレーションの指示に応答して、第1の計算機で実行中のOSを中断する。中断時点でそのOSのために用いている、第1の計算機のメモリ領域の内容を第2の計算機のメモリ領域に移行する。この移行には、OSの中断点を示す情報の格納領域を含む。第1の計算機と第2の計算機との間の仮想化機構に関わるメモリ領域管理方法を変換する。その後、第2の計算機は中断点を示す情報を参照し、移行されたメモリ領域の内容を用いてOSの実行を再開する。
【選択図】図1

Description

本発明は,仮想化機構や論理分割機構によりゲストOSを実行する計算機とこれらの機構が実行していない物理計算機との間のOSのマイグレーション方法及びその計算機システムに関する。
1台の計算機上に仮想的な計算機を構成し,複数のオペレーティングシステム(OS)を並行して実行する技術が広く普及し始めている。これらを実現する技術としては,仮想計算機方式と論理分割方式の2つがある。これらの技術を適用した計算機を仮想化機構を有する計算機と呼ぶ。仮想化機構の下で実行するOSをゲストOSと呼ぶ。
仮想計算機方式は,仮想計算機モニタ(VMM:Virtual Machine Monitor)と呼ばれる制御ソフトウェアが,計算機のハードウェアやプロセッサの動作を制御するためのレジスタ類を仮想化し,複数の仮想的な計算機(VM:Virtual Machine)を作り出す。ゲストOSは,VMMが作り出したVM上で実行する。具体的には,VMMは、ゲストOSが実行するI/O(入出力)命令や制御レジスタ操作等のCPUの特権命令をトラップしてエミュレートし,仮想計算機環境を作り出す。仮想計算機方式では,複数のゲストOSが1つの物理I/Oデバイスを共有できる。これは,VMMが,ゲストOSに見せている仮想的なI/Oデバイスへのアクセスをトラップして,実際の物理デバイスへのアクセスに変換して処理(エミュレート)するためである。これによって,計算機に搭載されているI/Oデバイスへの依存度の低い,柔軟な仮想計算機環境を実現できる。
仮想計算機方式のI/O制御では,ゲストOSによるI/O操作はVMMがエミュレートするためオーバーヘッドが発生する。また,仮想計算機のVMMは他の並行実行しているゲストOSのI/O操作もエミュレートするため,オーバーヘッドが他のゲストOSの処理に依存し,性能予測が難しいという課題がある。
一方,論理分割方式は,ハイパバイザと呼ばれる制御ソフトウェアが計算機の資源を論理的に分割することによって,複数の計算機を作り出す。ハイパバイザは,プロセッサや他のハードウェアが参照するテーブルやレジスタを操作して,計算機を論理的に分割する。ゲストOSは,ハイパバイザによって論理的に分割された区画(論理パーティション,LPAR:logical partition)内で実行する。ゲストOSが実行する一部の特権命令,特にI/O命令は,エミュレートされることなくプロセッサで直接実行される。このため,ゲストOSは同じ計算機で実行する他のゲストOSの影響を受け難く,高性能かつ高信頼な仮想計算機環境を実現できる。一方,論理分割方式はハードウェア資源を分割することによって複数のLPARを作り出すため,I/Oデバイスを複数のゲストOSで共有することはできない。論理分割方式においてゲスト間でI/Oデバイスを共有するには,デバイス側で共有のための対応が必要となる。
以上のように,仮想計算機は特権命令のエミュレーションによって,論理分割はハイパバイザによる計算機の分割によって,ゲストOSが実行する仮想的な計算機を構成する。
これらの技術は,従来は主にメインフレームと呼ばれる大型計算機で実現されていた。これらを高性能で実現するには,仮想計算機に対応したプロセッサ,VMMのエミュレーション処理をハードウェアで実行する機構等,特別なハードウェアが必要だったためである。近年のプロセッサの性能向上や仮想化機構の取り込みにより,これらの処理をプロセッサで実行しても十分な性能が得られるようになったため,仮想計算機や論路分割方式はメインフレーム以外の一般の計算機にも普及し始めている。以下、仮想計算機方式と論理分割方式を総称して仮想計算機方式と呼ぶことがある。
仮想計算機方式では,ある計算機上で定義されたVMを,VMMが実行している他の計算機上に移動して実行できるという特徴がある。これをVMのマイグレーションと呼んでいる。稼働中のVMを停止させることなく他の計算機に移動することも可能となっている。移動先の計算機のVMMが移動対象のVMが必要とするI/Oデバイスを,元々定義されたのと同じようにエミュレートするよう構成できれば,移動先の計算機上で移動前とまったく同じようにVMを実行できる。VMのマイグレーションは,基本的には,VMを構成する論理的な物理メモリ(VMからは物理的に見えているが、実体は論理的である物理メモリ)をコピーすることによって実現される。
これらの技術を用いて,複数の計算機で実行しているシステムの一台の計算機への統合,計算機の負荷に応じたゲストOSのマイグレーションによる負荷バランス,計算機障害時のゲストOSのマイグレーションによる計算機システムの高可用化等が実現されている。このようなシステム内の計算機へのVMの配置の例としては,特許文献1に計算機の稼働状況に応じたVM再配置の方法が示されている。
仮想化機構では,計算機に搭載されているI/OデバイスをVMに直接利用させる技術もある(非特許文献1)。これによれば,VM上のゲストOSに見せるI/Oデバイスと,仮想化機構なし(物理計算機)で実行する場合にOSに見えるI/Oデバイスを同じように構成可能である。
また,計算機の起動において,ネットワークから必要なファイルをダウンロードして,それによって計算機を起動するネットワークブートという技術がある。この例として,特許文献2に示されるような技術がある。特許文献2では,予め定めた起動プログラムによって計算機を起動する方法の例を示している。
米国公開特許 20060069761, 米国特許 7222229 "AMD I/O Virtualization Technology (IOMMU) Specification," pp.14, "2.2.5 Virtual Machine Guest Access to Devices," [online], 2006年2月掲載,米国AMD社,2006年7月24日検索,インターネット<URL:http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/34434.pdf>
VMを実行するホスト計算機を自由に決められるということは,ゲストOSの可用性の向上や,計算機リソースに余裕があるホスト計算機にマイグレートしてゲストOSの性能向上を図れる,といった観点で良さがある。
一方,VMをマイグレーションするためには,マイグレート先のホスト計算機においても仮想化機構が実行されていなければならない。計算機の仮想化にはリソースの仮想化に伴うオーバーヘッドが避けられないため,仮想化機構を実行するホスト計算機にVMをマイグレートするのでは,ゲストOSは、ホスト計算機(物理計算機)上で直接実行するOSに比べて高い性能を得ることはできないという課題がある。この課題は、マイグレーションによって向上が図れるゲストOSの性能は、オーバーヘッドがある仮想化機構を実行するホスト計算機に依存することを示している。
仮想化機構で構成される仮想計算機や論理分割で構成されるLPARの構成と同じハードウェア構成のホスト計算機(物理計算機)を用意すれば,論理的には、VMやLPARで実行するゲストOSを,そのホスト計算機で直接実行が可能である。つまり、ゲストOSの起動時に参照するストレージ(ブートストレージ)を,ホスト計算機でそのOSを起動するためのストレージ(ブートストレージ)として,そのまま利用することができる。この場合,ゲストOSをシャットダウンすることなく,ゲストOSの実行をホスト計算機で直接実行するようマイグレートすることはできず,ゲストOSをシャットダウンすることが必須となる。したがって、マイグレートの時点までにメモリ上に構築(バッファリング)されていたデータをストレージ内に確定させるシャットダウン処理に時間を要する、さらにそのデータも含めたOSのブート及び起動に時間がかかる,といった課題がある。
このような課題が生じる背景は、マイグレートしてゲストOSの性能向上を図ることが、VMを実行するホスト計算機を自由に決められるという特徴を持つ仮想計算機方式において考えられてきたもので、さらに性能向上を図るために仮想化機構を持たないホスト計算機(物理計算機)にマイグレートするという発想がなかったためである。すなわち、仮想化機構を持つ計算機と仮想化機構を持たない計算機とによる計算機システムを用いて、それらの計算機の間でOSをマイグレーションして、より性能向上を図る又は適切な性能を維持するという発想がなかったためである。
本発明の仮想計算機と物理計算機との間のマイグレーション方法及びその計算機システムは次のような構成により実現される。
第1の計算機と第2の計算機とのいずれか一方が仮想化機構を有する計算機であり、他方が仮想化機構を有さない計算機であることを前提とする。マイグレーションの指示に応答して、第1の計算機で実行中のOSを中断する。中断時点でそのOSのために用いている、第1の計算機のメモリ領域の内容を第2の計算機のメモリ領域に移行する。この移行には、OSの中断点を示す情報の格納領域を含む。第1の計算機と第2の計算機との間の仮想化機構に関わるメモリ領域管理方法を変換する。その後、第2の計算機は中断点を示す情報を参照し、移行されたメモリ領域の内容を用いてOSの実行を再開する。
本発明によれば、マイグレーション元のOSのシャットダウン処理やマイグレーション先のOS起動にかかる時間を短縮することができるので、サービスの中断時間が短くなる。
本発明を実施するための最良の形態の説明が分かり易い例として、仮想化機構を持つ第1の計算機から、仮想化機構を持たない第2の計算機(物理計算機)へOSをマイグレーションする形態を説明する。
まず、マイグレーションの指示に応答して、第1の計算機で実行中のOSを中断する。マイグレーションの指示は、計算機システムのユーザ(管理者)によるコマンド入力であっても良いし、第1の計算機の各VMや第2の計算機の負荷を監視し、その監視結果に基づいて、マイグレーションの指示を生成しても良い。この場合の監視及びマイグレーション指示の生成の主体は第1の計算機や第2の計算機自体であっても良いし、これらと接続する他の計算機であっても良い。
OSの中断に応じて、その中断点を示す情報をメモリの所定領域に格納する。中断点を示す情報とは、次に実行すべき命令のアドレスを示すPC(プログラムカウンタ)の内容である。仮想化機構の下で実行されている場合、PCに限らず各種レジスタの内容は、メモリの所定領域に格納されるように制御されている。ただし、中断したOSを実行しているVMから他のVMへ切り替わるタイミングでは、各種レジスタの内容がメモリの所定領域に格納されるが、中断したOSを実行しているVMが動作中は、メモリの所定領域への格納に伴うオーバーヘッドを軽減するために、逐次格納しない実装の場合がある。したがって、PCを含む各種レジスタの内容をメモリの所定領域に格納することが望ましい。この所定領域も含めた、中断したOSのために用いている第1の計算機のメモリ領域の内容を維持する(スナップショットをとる)。OSのために用いているメモリ領域とは、OS自体のプログラム格納領域を含め、各種パラメータや一時的データ領域等も含む。
第1の計算機のメモリ領域の内容(スナップショットをとったイメージ)を第2の計算機のメモリ領域に移行する。ここで、第1の計算機と前記第2の計算機との間の仮想化機構に関わるメモリ領域管理方法を変換する。具体的には、所定領域に格納されて移行された第1の計算機の(実際にはVMが使用していた)レジスタ類の内容を第2の計算機の対応する各レジスタにセットする。すなわち、メモリ領域管理方法の主たる内容は、仮想機構の下でのレジスタ類の取り扱いと物理計算機でのレジスタ類の取り扱いを変換することや、OSが使用するメモリ領域へアクセスするための基準となるアドレスを変換することである。
以上のようにすることにより、第2の計算機は中断点を示す情報を参照して、移行されたメモリ領域の内容を用いてOSの実行を再開することができる。
第1の計算機のメモリ領域の内容の第2の計算機のメモリ領域への移行は、第2の計算機上で実行するOSを外部から読み込むためのローダを用いて第2の計算機のメモリ領域に読み込む。より具体的には、第1の計算機と第2の計算機を接続するネットワークを経由して読み込んでも良いし、外部記憶装置を移行を仲介するための記憶装置として使用し、その外部記憶装置から読み込んでも良い。なお、ネットワーク経由の場合、ローダ(受け取り側)主体のPULL型であっても、送り側主体のPUSH型の転送のいずれでも実現できる。
上記説明は、2台の計算機間のマイグレーションであるが、複数台ある場合は、マイグレーション先を指定する必要がある。前述のマイグレーションの指示の場合と同様に、計算機システムのユーザ(管理者)によるコマンド入力であっても良いし、第1の計算機の各VMや第2の計算機の負荷を監視し、その監視結果に基づいて、マイグレーション先を指定しても良い。この指定のタイミングは、マイグレーとするOSの中断後でも良いし、マイグレーションの指示と同じタイミングでも良い。
上記の最良の形態において、第1の計算機で実行中のOSの中断と共に、中断するOSが使用中のI/Oデバイスの電源をオフ、又は動作しないようにすることが望ましい。要は、スナップショットをとったメモリ内容を破壊しないようにする必要がある。I/Oデバイスが動作していると、I/OデバイスからOSに割り込みが入り、その割り込み処理のプログラムによって、スナップショットをとったメモリ内容が破壊される可能性があるからである。この現象に対応するためには、電源をオフしなくても、プログラムの実行に伴ってスナップショットをとったメモリ内容が破壊されなければ良い。そのためには、スナップショットをとった後で実行されるプログラムの使用領域をスナップショットをとったメモリ領域とは異なる領域とする、メモリ内容の更新に伴って更新前の内容を他の領域に退避するコピー・オン・ライト(Copy on Write)技術を利用する、などの方法で対応できる。
以下、実施例1〜3により、具体的な構成及びその動作を説明する。上記の最良の形態において、仮想化機構を持つ第1の計算機から仮想化機構を持たない第2の計算機(物理計算機)へOSをマイグレーションする形態を説明したが、実施例1〜3の説明を通して、仮想化機構を持たない第2の計算機(物理計算機)から仮想化機構を持つ第1の計算機へOSをマイグレーションする形態も容易に実現できることが理解されるであろう。また、個々の実施例のマイグレーションの方法は、マイグレーション元とマイグレーション先とを入れ替えても実現可能な可逆的な方法であることが理解されるであろう。
さらに、上記した外部記憶装置を介在させてマイグレーションする方法においては、外部記憶装置の互いに異なり記憶領域を用い、第1の計算機と第2の計算機との間で同時にOSをマイグレーションする、すなわちOSを計算機間でスワップさせることも実現できることが理解されるであろう。
実施例1では,OSのハイバネーション(hibernation)機能を利用して,VMで実行するOSをシャットダウンすることなく,物理計算機上で直接実行するようにOS実行をマイグレートする方法を示す。
図1は,本実施例のシステム構成例を示す図である。ここではホスト計算機100のVM120で実行するゲストOS121を,ホスト計算機150で実行するように移動する方法を説明する。
管理サーバ180は,マイグレート管理部181を実行している。ユーザは,マイグレート管理部181にVMのマイグレート指示を出し,VMのマイグレーションを開始する。マイグレート管理部181は,ホスト計算機100で実行する管理VM110のマイグレート制御部111と連携して,VMのマイグレーション処理を実施する。また,管理サーバ180は,図1のシステムで実行するVMの構成,図1のシステムを構成するホスト計算機のハードウェア情報を管理している。
ホスト計算機100と150,および,管理サーバ180は,ネットワーク190で接続し,互いに通信可能である。
ホスト計算機100は,仮想化機構VMM130を実行する。VMM130上では,管理VM110とVM120が実行している。VM120はユーザが定義したVMで,この例ではゲストOS121を実行している。このゲストOS121は,ハイバネーションによるOSの休止・再開機能を持っている。
ハイバネーションとは,OS実行中断時点の物理メモリの内容を外部記憶装置に書き出して,実行再開時には外部記憶装置に書き出されたメモリ内容を読み出して,OSの実行を中断した時点から再開する機能である。換言すると、OS実行中断時点の物理メモリのスナップショットを外部記憶装置にとり、そのスナップショットファイル(イメージファイル)を基にOS実行中断時点から実行を再開する機能である。本実施例のように、ハイバネーション処理をOSの処理の一環として実行する場合は、ハイバネーション実行後にOSが中断することになり、OSの通常処理の中断点(ハイバネーション処理に入る前の時点)からメモリ内容が更新される可能性がある。これを避けるためには、ハイバネーション処理ではスナップショットの対象のメモリ領域と異なるメモリ領域の使用、又はコピー・オン・ライト(Copy on Write)技術を用い、スナップショット対象のメモリ領域の内容が更新されないようにする。
ここでOS実行中の物理メモリとは、ゲストOS自身のプログラム領域を含めてゲストOSが使用している(ゲストOSから見えている)メモリ領域とこのゲストOSの実行のためにVMが使用しているメモリ領域(たとえば、ゲストOSが使用しているレジスタをエミュレートしているメモリ領域)の物理アドレスに対応するメモリである。これらのメモリ領域へのアクセスのためには、基準とするアドレス(一般にはそのメモリ領域の先頭アドレス)を格納したレジスタを用いる。このレジスタもまたVMが使用しているメモリ領域にエミュレートされている。
なお、ゲストOSが使用している入出力装置のアドレス(I/Oアドレス)もVMが使用しているメモリ領域に格納されている。本実施例では、マイグレーションするためにマイグレート先に同じリソースが用意されていることは前提となるが、それらを使用するためのアドレスや名称は異なっていても良い。
また、ある命令の実行の終了に伴ってOSの実行を中断すると、次に実行すべき命令のアドレスはPC(プログラムカウンタ)に格納されており、そのPCはレジスタの一種であるのでメモリ領域にエミュレートされているので、マイグレーション先ではメモリ領域に格納されている次に実行すべき命令のアドレスをPCにセットすることで、OSの実行を中断した時点から再開できる。
ゲストOS121は,外部からの要求によりOSの実行をハイバネーションによって中断する,中断要求処理部122を実行する。
管理VM110はVMM130を制御するためのインタフェイスを提供するVMで,管理VM110上でもゲストOS(図では省略)が実行し,そこでマイグレート制御部111が実行している。マイグレート制御部111は,管理サーバ180のマイグレート管理部181からのマイグレート指示に応じてVMM130と連携して,VM120のマイグレート処理を実行する。
ホスト計算機150は,計算機起動時に実行されるブートローダ151と,ネットワーク経由で遠隔からホスト計算機150の電源制御を実行する電源制御部152を持っている。電源制御部152は,管理サーバ180からの指示を受けてホスト計算機150の電源をオンとして計算機を起動できる。ブートローダ151は,計算機150が起動すると実行を開始するよう構成されている,ホスト計算機150に組み込みのプログラムである。
計算機100と150は,ストレージネットワーク170を介して,ストレージ160に接続している。ストレージ160は,OSローダ161,OSカーネル162,ハイバネートイメージファイル163といったファイルを保持している。実際には,計算機はディスクアダプタを持っており,ストレージネットワークはストレージスイッチやストレージ装置で構成されるが,ここでは省略している。
OSローダ161は,ホスト計算機150の起動時にブートローダ151によって、ホスト計算機150のメモリに読み込まれて、そのCPUによって実行される。通常は,OSローダ161は,OSカーネル162をメモリに読み込んでOSの実行を開始する。
ハイバネーション機能により作成されたハイバネートイメージファイル163がストレージ160に存在している場合,OSローダ161は,ハイバネートイメージファイル163をメモリに読み込んで,物理メモリをハイバネート実行時の内容に再構築し,OSの実行の中断点から再開されるようにして、OSに制御を渡す。OSローダ161は、ハイバネートイメージファイル163の構成を予め記憶している。具体的には、OSが使用している領域や各種レジスタの内容が格納されている領域を認識している。
物理メモリをハイバネート実行時の内容に再構築するとは、OSが使用している領域の内容をホスト計算機150のメモリ上に展開し、そのアクセスのための基準アドレスを所定のレジスタにセットする。またハイバネートイメージファイル163内に格納されている、各種レジスタの内容を対応するレジスタにセットする。最後にハイバネートイメージファイル163内に格納されている中断点(次に実行すべき命令のアドレス)をホスト計算機150のPC(プログラムカウンタ)にセットすることで、ホスト計算機150上で、OSの実行が再開される。
VMM130は,VMで実行するゲストOS121にハイバネーションを開始させるため,VM電源制御部131を有する。VM電源制御部131は,VM120に対してハイバネーションを指示する仮想割り込みを送信する。VM120で実行するゲストOS121は,その仮想割り込みを受信して,ハイバネーション処理を開始する。電源制御の割り込みは,例えば,ACPI(Advanced Configuration and Power management Interface)といった仕様で規定されている。
図2は,本実施例の計算機構成例を示す図である。本実施例の計算機は,いずれも一般的な構成の計算機である。例えば,ホスト計算機100は,CPU201,メモリ202,ディスクアダプタ204,ネットワークアダプタ205,および,それらを接続するバス制御装置203で構成される。
ディスクアダプタ204は,ストレージスイッチ210を介してストレージ装置230に接続する。ストレージ装置230は,内部に論理的なディスクを構成できる。それによって,ストレージ装置230は,ホスト計算機100に接続するストレージボリューム160を構成している。図には他のストレージボリュームとして232,233を示している。
ネットワークアダプタ205は,ネットワークスイッチ220を介して,他のホスト計算機150や管理サーバ180と接続可能なネットワークを構成する。他の計算機も同様の構成である。
図3を用いて、本実施例のマイグレーションの処理フローを説明する。ここでは,ホスト計算機100上のVM120で実行するゲストOS121を,ホスト計算機150に移動して実行する手順として説明する。
ユーザは,管理サーバ180のマイグレート管理部181に,ゲストOS121のマイグレートを指示する。それを受けてマイグレート管理部181は,マイグレート対象のVM120を実行するホスト計算機100のマイグレート制御部111に,マイグレート指示を送信する(ステップ301)。マイグレート制御部111は,VMM130のVM電源制御部131に,VM120をハイバネートするように指示する(ステップ302)。続いて,VM電源制御部131は,VM120に対して仮想割り込みを生成して送信する(ステップ303)。
VM120で実行するゲストOS121は,送信された仮想割り込みを受信して,ハイバネート処理を実行して,OSの実行を中断する(ステップ304)。すなわち,VM120の論理的な物理メモリ(VM120から物理的に見えているが、実際は論理的なメモリであり、その実体としての物理メモリ)の内容をストレージ160のハイバネートイメージファイル163に記録(スナップショットをとる)し,OSの実行を中断する。この際,VM120も停止する。
ここでは,ゲストOS121に仮想割り込みを送ることによってVM120を中断したが,ゲストOS121で実行する中断要求処理部122に要求を送信して,ゲストOS121上の処理からゲストOS121をハイバネートする実装であってもよい。
マイグレート制御部111は,VM120が停止したのを検出すると,マイグレート管理部181にその旨を通知する(ステップ305)。それを受けて,マイグレート管理部181は,ゲストOSのマイグレート先であるホスト計算機150に起動信号を送信する(ステップ306)。ネットワークからのホスト計算機150の起動方法の実装は様々であり,電源制御のための特殊な形式のパケットに反応するネットワークアダプタを計算機に搭載しておく方法や,遠隔電源操作専用のデバイスを予め搭載しておく,といった実現が可能である。ここでは,ネットワークからの制御を受け付ける電源制御部152がホスト計算機150に搭載されているとする。
ホスト計算機150の電源制御部152は,起動信号を受信するとホスト計算機150を起動する(ステップ307)。計算機150は,ブートローダ151を実行し,引き続いてブートローダ151がOSローダ161をメモリに読み込んで実行する(ステップ308)。
OSローダ161は,ストレージ160にハイバネートイメージファイル163があることを検出して,ファイル163に格納されているデータを,ゲストOS121中断時のメモリ内容としてメモリに書き込む。メモリ内容を回復した後に,ゲストOS121の中断点から実行を再開するように,OS121に制御を渡す(ステップ309)。メモリ内容の回復及びゲストOS121の中断点からの実行の再開に関しては前述のとおりである。
以上により,ゲストOS121をシャットダウンすることなく,ゲストOS121の実行を,VM120上から,ホスト計算機150で直接実行するようにマイグレートすることができる。
これによって,ゲストOS121の実行によりメモリに蓄積されたデータ等を破棄することなく,ホスト計算機150上でOS121を継続して実行できる。これは,例えば,データベースのようにメモリをキャッシュとして利用するようなアプリケーションがOS121上で実行している場合に,マイグレート後もキャッシュを引き続き利用可能で,OSを実行する計算機の変更後の一時的な性能低下を招かないといった利点がある。
OS121のシャットダウンや起動処理に時間がかかる場合,ハイバネーションによってそれらの処理を回避することができるため,サービス停止時間を短縮できるといった利点もある。
本実施例では,VMから物理計算機へのマイグレーションとして説明したが,逆のマイグレーションも可能である。すなわち,物理計算機上で直接実行しているOSをハイバネーションで中断し,その計算機と同じ構成の仮想計算機を起動して,ハイバネートイメージファイル163からOS実行を再開させることも可能である。この場合,OS上で実行する中断要求処理部122がマイグレート管理部181の指示を受けて,OSをハイバネートすればよい。VMの生成,起動等は,管理VM110が提供するインタフェイスを通じて実現可能である。
実施例2について説明する。本実施例では,OSのハイバネーション機能を使わずに,VM上のゲストOSの実行を物理計算機にマイグレートする方法を説明する。
図4に,本実施例のシステム構成例を示す。図1に示した構成と同様であるが,追加の構成要素について以下に説明する。
VMM130は,ゲストメモリ管理部132を持つ。ゲストメモリ管理部132は,実行中のVMに割り当てている論理的な物理メモリを管理し,その内容にアクセスするインタフェイスを提供する。加えて,管理VM110は,ゲストメモリ送信部112を実行する。ゲストメモリ送信部112は,ネットワーク経由での要求に応じて,VM120の論理的な物理メモリの内容を,ゲストメモリ管理部132のインタフェイスを用いて取り出し,要求元に送信する。
ホスト計算機150は,ネットワークブートローダ156を搭載したネットワークアダプタ155を持っている。ネットワークブートローダ156は,ホスト計算機150の起動の過程で呼び出されて,OS起動に必要なOSローダ等のプログラム,起動処理に必要なパラメータ,ファイル等をネットワーク上のサーバから取得して,計算機を起動する。計算機150が,ネットワークブートローダ156で起動するか,ブートローダ151で起動するかは,計算機150の設定によって決まる。ネットワークブート機構の一般的な実現例としては,PXE(Pre−Boot Execution Environment)がある。
管理サーバ180では,ネットワークアドレス配信部182とローダ配信部183が実行する。ネットワークアドレス配信部182は,計算機の要求に応じてその計算機で利用可能なネットワークアドレスを配信する。本実施例では,計算機150の起動時にネットワークアダプタ155がネットワークアドレス配信部182に対してアドレスを要求する。このようなアドレス割り当ての一般的な実現例としては,DHCP(Dynamic Host Configuration Protocol)がある。
ローダ配信部183は,ネットワークブートローダ156の要求に応じて,計算機起動用のプログラム,パラメータ,ファイル等を配信するプログラムである。例えば,ローダ配信部183は,ホスト計算機150起動用のファイルとして,管理サーバ180に接続しているストレージに格納されているゲストメモリローダ184を配信する。
本実施例では,これらの追加の構成要素が連携して実行し,ゲストOS121をシャットダウンすることなく,ホスト計算機150で直接実行するよう移動する。
図5及び図6を用いて、本実施例のマイグレーションの処理フローを説明する。
図5は,ユーザからのマイグレート指示を受けてから,マイグレート先のホスト計算機に起動信号を送信するまでのフローである。実施1の図3のフローとほとんど同じである。同じ処理については説明を省略し、違う部分について,以下に説明する。
VM電源制御部131は,VM120に対して,ハイバネート処理を起動する仮想割り込みではなく,スリープ処理を起動する仮想割り込みを送信する(ステップ502,503)。
スリープは,メモリの内容を保持したままOSの実行を停止する処理であり,ACPI(Advanced Configuration and Power management Interface)で規定するS3状態に相当する。S3状態は,計算機に搭載されているI/Oデバイスの電源をオフ状態とし,メモリ内容を保持可能な状態でCPUの実行を停止する。スリープ処理は,CPUを停止する前にスリープから復帰した時にCPUが実行を開始する命令のアドレスを,メモリ中の定められたアドレスに登録してから,CPUを停止する。
S3状態への遷移を指示する仮想割り込みを受けたゲストOS121は,スリープ処理を実行してゲストOSの実行を中断する。このとき,VMも中断状態に遷移する(ステップ504)。
マイグレート制御部111は,VMの中断を検知すると,ゲストメモリ送信部112を起動して、VM120の論理的な物理メモリ内容の取得要求に対応する準備を整えてから,管理サーバ180のマイグレート管理部181にVM120が中断した旨を通知する(ステップ505)。
マイグレート管理部181は,通知を受けて,ネットワークアドレス配信部182を構成し(ステップ506),マイグレート先のホスト計算機150に起動信号を送信する(ステップ507)。ステップ506の構成とは,ホスト計算機150からの要求に応じる旨の設定と,ゲストメモリ送信部112のアドレスとして,マイグレート元の計算機であるホスト計算機100の管理VM110と通信するためのアドレスの登録を実施する。アドレス配信部182がホスト計算機150からの要求であるかどうかの判定を可能とするためには,例えば,ホスト計算機に搭載のネットワークアダプタ155のMACアドレスを登録すればよい。
続くホスト計算機150での処理フローを,図6に示す。起動したホスト計算機150は,起動処理の中でネットワークブートローダ156が有効な設定かどうか検査する(ステップ601)。有効でないならば,通常のブートローダ151によって計算機を起動する(ステップ610)。本実施例では,ネットワークブートローダ156が有効に設定されている。
有効である場合,ネットワークブートローダ156を起動する(ステップ602)。ネットワークブートローダ156は,ネットワークアドレス配信部182より,ブート処理で利用するネットワークアドレスを取得する(ステップ603)。
具体的には,ネットワークブートローダ156はアドレス取得要求をネットワークにブロードキャストする。アドレス配信部182は,ブロードキャストされたアドレス要求を受信すると,要求に応じるかの判定を実施する。応じる場合は,ホスト計算機150が使用するネットワークアドレス,ローダプログラムの配信処理を受け付ける計算機のアドレス,および,ゲストメモリ内容の配信要求を処理する計算機のアドレスを,要求元のネットワークブートローダ156に返送する。ゲストメモリ配信元のアドレスは,ステップ506で登録していることから,ホスト計算機100の管理VM110に接続可能なアドレスとなる。また,ローダプログラムの取得先アドレスは,本実施例では,管理サーバ180のアドレスとなる。
アドレス配信部182が要求に応じないとした場合,ネットワークブートローダ156は要求待ちをタイムアウトで終了し,ホスト計算機150は,通常のブートローダ151によって起動することとなる。
次に,取得したローダプログラムの取得先アドレスの計算機よりゲストメモリローダ184をダウンロードして,実行する(ステップ604)。本実施では,ローダプログラムは管理サーバ180によって管理されており,ローダ配信部183がネットワークブートローダ156の要求に応じて配信する。
ゲストメモリローダ184は,アドレス配信部182が配信したゲストメモリ要求先のアドレスより,ゲストメモリの内容を取得する(ステップ605)。具体的には,ゲストメモリローダ184は,ゲストメモリ送信部112に対して,スリープ状態で中断しているVMのメモリ内容の取得を要求する。ゲストメモリ送信部112は,VMM130内のゲストメモリ管理部132より,メモリ内容を取得して送信する。
ゲストメモリローダ184は,ゲストメモリ送信部112よりメモリ内容を取得して,OSが使用する範囲のメモリの内容をゲストOS121の中断時点の内容に再現し,OS実行の中断点よりOS実行を再開するように,OSに制御を渡す(ステップ606)。制御の渡し方は,ACPIのS3からの復帰の仕方と同じでよい。
以上により,仮想計算機で実行するゲストOSをシャットダウンすることなく,OSの実行を物理計算機上で再開することが可能となる。ハイバネーションの場合と異なり,OSが利用するストレージ内にハイバネートファイルを格納する必要がない。
ブートローダ151やネットワークブートローダ156は,計算機やネットワークアダプタに内蔵されているプログラムのため利用環境に応じた改変が難しいが,ダウンロードして実行されるゲストメモリローダ184は任意のプログラムとすることができるため,マイグレートに合わせてシステムの環境に応じた制御をさせることも可能となる。
本実施例では,VMを中断(スリープ)状態としてからマイグレート先のホスト計算機に起動信号を送信したが,起動信号の送信はマイグレート制御の開始時点でも構わない。この場合,ゲストメモリローダ184は,ゲストメモリ送信部112と同期してメモリ内容を取得するように実行する。
本実施例では,ネットワークアダプタ155に搭載のネットワークブートローダ156がロードしたゲストメモリローダ184がメモリ内容のコピーを実施したが,メモリコピーを実施するプログラムはこれに限らない。例えば,ストレージからロードされるプログラムであっても構わない。
実施例3について説明する。本実施例では,物理計算機上で実行するOSを,OSをシャットダウンすることなく仮想計算機上にマイグレートする方法について説明する。ここでは,実施例2と同様にOSのスリープ中にメモリ内容を取得して,それによってVMのメモリを構成する方法を示す。具体的には,OSの内部処理と連携してメモリ内容を取得する方法を示す。
図7に本実施例のシステム構成例を示す。ホスト計算機150で実行するOS710を,ホスト計算機100のVMM130上のVMで実行するようにマイグレートするとして説明する。
本実施例も前述の実施例1及び2と同様のシステム構成である。本実施例に特有の構成要素について以下に説明する。
ホスト計算機150で実行するOS710がマイグレート対象のOSである。OS710は,OS中断処理部711を実装している。OS中断処理部711は,前述のスリープ処理と同様の処理でOS実行を中断するが,CPUを停止せずに,物理メモリ内容の配信処理を実行する。
ホスト計算機150は,ファームウェアとして物理メモリ配信部157を持つ。これらはOS710の実行が中断している間も実行可能で,ネットワークアダプタ155によって物理メモリ内容を配信する処理を実行する。
図8を用いて、本実施例のマイグレーション処理について説明する。
マイグレート管理部181は,マイグレート対象のOS710に対して,OS中断を指示する(ステップ801)。OS710の中断処理部711は,ホスト計算機150に搭載されているI/Oデバイスの電源をオフ状態とし,中断再開後の実行開始アドレスをメモリ上に登録する。その後,ファームウェアの物理メモリ送信部を起動する(ステップ802)。この際,物理メモリ送信部157には,管理サーバ180のアドレスも連絡する。
物理メモリ送信部157は,OSが実行していなくとも、OSとは独立して実行可能なように構成されている。物理メモリ送信部157は,配信処理の準備が完了した旨を管理サーバ180のマイグレート管理部181に連絡する(ステップ803)。
連絡を受けたマイグレート管理部181は,マイグレート先のホスト計算機100で実行する管理VM110のマイグレート制御部111に,マイグレートの開始を指示する(ステップ804)。この時にマイグレート元のホスト計算機のアドレスも連絡する。
マイグレート制御部111は,マイグレート元のホスト計算機150と同じリソースを持つVM120を割り当てる(ステップ805)。割り当てたVM120は,中断状態としておく。
続いて,マイグレート制御部111は,マイグレート元の計算機150の物理メモリ送信部157より物理メモリ内容を取得し(ステップ806,809),ゲストメモリ管理部132によってVM120を構成するメモリを更新する(ステップ807)。ここでの処理は、実施例1における処理の逆になっていることが容易に理解されよう。すなわち、VM120を構成するメモリを更新するためには、マイグレート元の計算機150の物理メモリの内容だけでなく、各種レジスタ類の内容のマイグレート先メモリへの転送も必要である。各種レジスタの内容は、ステップ802において中断再開後の実行開始アドレスをメモリ上に登録するのと同時に、メモリ上に登録しておくことにより、これらの領域も含めてマイグレート先メモリへ転送される。
メモリ内容の更新完了後,マイグレート制御部111はVM120を起動する(ステップ808)。VM120は起動すると,OS中断前に登録された再開アドレスに制御を移し,OS121の実行を再開する。
以上により,物理計算機で実行しているOSを,シャットダウンすることなく仮想化機構のVMで実行するようにマイグレートできる。実施例1では,OSのハイバネーション機能を用いることで物理計算機から仮想計算機へのマイグレーションを実現できるとしたが,これと同様にして、物理計算機上で実行するOSを,OSをシャットダウンすることなく仮想計算機上にマイグレートすることも可能である。本実施例では,ハイバネーションを利用しないため,ハイバネートイメージファイルをストレージに置かなくて良いという利点がある。
実施例1のシステム構成例を示す図である。 実施例1の計算機の構成例を示す図である。 実施例1のマイグレーションの処理フローを示す図である。 実施例2のシステム構成例を示す図である。 実施例2のマイグレーションの処理フローを示す図である。 実施例2のマイグレーションの処理フローを示す図である。 実施例3のシステム構成例を示す図である。 実施例3のマイグレーションの処理フローを示す図である。
符号の説明
100…計算機,110…管理VM,111…マイグレート制御部,120…VM,121…ゲストOS,122…中断要求処理部,130…VMM,131…VM電源制御部,150…計算機,151…ブートローダ,152…電源制御部,160…ストレージ,161…OSローダ,162…OSカーネル,163…ハイバネートイメージファイル,170…ストレージネットワーク,180…管理サーバ,181…マイグレート管理部,190…ネットワーク,201…CPU,202…メモリ,203…バス制御装置,204…ディスクアダプタ,205…ネットワークアダプタ,210…ストレージスイッチ,220…ネットワークスイッチ,230…ストレージ装置,112…ゲストメモリ配信部,132…ゲストメモリ管理部,155…ネットワークアダプタ,156…ネットワークブートローダ,182…ネットワークアドレス配信部,183…ローダ配信部,184…ゲストメモリローダ,157…物理メモリ送信部,710…OS,711…OS中断処理部。

Claims (20)

  1. 第1の計算機と第2の計算機との間のOSマイグレーション方法であって、
    前記第1の計算機と前記第2の計算機とのいずれか一方が仮想化機構を有する計算機であり、他方が仮想化機構を有さない計算機であり、
    マイグレーションの指示に応答して、前記第1の計算機で実行中のOSを中断し、
    前記中断点を示す情報の格納領域を含む、前記中断時点で前記OSのために用いている、前記第1の計算機のメモリ領域の内容を前記第2の計算機のメモリ領域に移行し、
    前記第1の計算機と前記第2の計算機との間の前記仮想化機構に関わるメモリ領域管理方法を変換し、
    前記第2の計算機は前記中断点を示す情報を参照し、前記移行されたメモリ領域の内容を用いて前記OSの実行を再開する
    ことを特徴とするOSマイグレーション方法。
  2. 請求項1のOSマイグレーション方法であって,前記第1の計算機のメモリ領域の内容の前記第2の計算機のメモリ領域への移行は、前記第2の計算機上で実行するOSを外部から読み込むためのローダが、前記第2の計算機のメモリ領域に読み込むことを特徴とするOSマイグレーション方法。
  3. 請求項2のOSマイグレーション方法であって,前記第1の計算機で実行中のOSの中断後に、前記第2の計算機をマイグレーション先とする指定に応答して、前記第1の計算機のメモリ領域の内容の前記第2の計算機のメモリ領域への移行を開始することを特徴とするOSマイグレーション方法。
  4. 請求項3のOSマイグレーション方法であって,前記第1の計算機のメモリ領域の内容の前記第2の計算機のメモリ領域への移行は、前記第1の計算機のメモリ領域の内容を、前記第1の計算機と前記第2の計算機とを接続するネットワークを介して、前記ローダが前記第2の計算機のメモリ領域に読み込むことを特徴とするOSマイグレーション方法。
  5. 請求項4のOSマイグレーション方法であって,前記第2の計算機は、前記ネットワークに接続する第3の計算機から前記ローダを前記第2の計算機にダウンロードすることを特徴とするOSマイグレーション方法。
  6. 請求項4のOSマイグレーション方法であって,前記第1の計算機は、前記ローダからの要求に応じて、前記第1の計算機のメモリ領域の内容を前記ネットワークを介して前記第2の計算機へ転送することを特徴とするOSマイグレーション方法。
  7. 請求項6のOSマイグレーション方法であって,前記ローダは、前記第1の計算機のメモリ領域の内容の転送元のネットワークアドレスをパラメータとして有することを特徴とするOSマイグレーション方法。
  8. 請求項3のOSマイグレーション方法であって,前記第1の計算機のメモリ領域の内容の前記第2の計算機のメモリ領域への移行は、前記第1の計算機が外部記憶装置に格納した前記第1の計算機のメモリ領域の内容を、前記ローダが前記第2の計算機のメモリ領域に読み込むことを特徴とするOSマイグレーション方法。
  9. 請求項3のOSマイグレーション方法であって,前記第1の計算機で実行中のOSの中断と共に、前記中断するOSが使用中のI/Oデバイスの電源をオフすることを特徴とするOSマイグレーション方法。
  10. マイグレーションの指示に応答して、仮想化機構の下で実行中のOSを中断し、
    前記中断点を示す情報の格納領域を含む、前記中断時点で前記OSのために用いているメモリ領域の内容のスナップショットをとる、前記仮想化機構を有する第1の計算機、及び
    前記第1の計算機と接続し、前記スナップショットをとった前記第1の計算機のメモリ領域の内容をメモリ領域に移行し、前記移行したメモリ領域の中で前記OSがレジスタをエミュレートするために用いていた領域の内容を対応するレジスタに設定し、
    前記中断点を示す情報を参照し、前記移行されたメモリ領域の内容を用いて前記OSの実行を再開する第2の計算機
    を有することを特徴とするOSをマイグレーションする計算機システム。
  11. 前記第2の計算機は、前記第2の計算機上で実行するOSを外部から読み込むためのローダを有し、前記ローダが、前記第1の計算機のメモリ領域の内容を前記第2の計算機のメモリ領域へ読み込むことを特徴とする請求項10に記載のOSをマイグレーションする計算機システム。
  12. 前記第1の計算機で実行中のOSの中断後に、前記第2の計算機をマイグレーション先とする指定に応答して、前記ローダは前記第1の計算機のメモリ領域の内容を前記第2の計算機のメモリ領域への読み込みを開始することを特徴とする請求項11に記載のOSをマイグレーションする計算機システム。
  13. 前記第1の計算機と前記第2の計算機とを接続するネットワークを有し、前記ローダは前記ネットワークを介して前記第1の計算機のメモリ領域の内容を前記第2の計算機のメモリ領域へ読み込むことを特徴とする請求項12に記載のOSをマイグレーションする計算機システム。
  14. 前記第1の計算機が外部記憶装置に格納した、前記スナップショットをとった前記第1の計算機のメモリ領域の内容を、前記ローダが前記第2の計算機のメモリ領域に読み込むことを特徴とする請求項12に記載のOSをマイグレーションする計算機システム。
  15. 前記第1の計算機で実行中のOSの中断と共に、前記中断するOSが使用中のI/Oデバイスの電源をオフすることを特徴とする請求項12に記載のOSをマイグレーションする計算機システム。
  16. マイグレーションの指示に応答して、実行中のOSを中断し、
    前記中断点を示す情報の格納領域を含む、前記中断時点で前記OSのために用いているレジスタ及びメモリ領域の内容のスナップショットをとる、物理計算機として動作する第1の計算機、及び
    前記第1の計算機と接続し、前記スナップショットをとった前記第1の計算機のレジスタ及びメモリ領域の内容をメモリ領域に移行し、
    前記中断点を示す情報を参照し、前記移行されたメモリ領域の内容を用いて仮想化機構の下で前記OSの実行を再開する第2の計算機
    を有することを特徴とするOSをマイグレーションする計算機システム。
  17. 前記第2の計算機は、前記第2の計算機上で実行するOSを外部から読み込むためのローダを有し、前記ローダが、前記第1の計算機のメモリ領域の内容を前記第2の計算機のメモリ領域へ読み込むことを特徴とする請求項16に記載のOSをマイグレーションする計算機システム。
  18. 前記第1の計算機で実行中のOSの中断後に、前記第2の計算機をマイグレーション先とする指定に応答して、前記ローダは前記第1の計算機のレジスタ及びメモリ領域の内容を前記第2の計算機のメモリ領域への読み込みを開始することを特徴とする請求項17に記載のOSをマイグレーションする計算機システム。
  19. 前記第1の計算機が外部記憶装置に格納した、前記スナップショットをとった前記第1の計算機のメモリ領域の内容を、前記ローダが前記第2の計算機のメモリ領域に読み込むことを特徴とする請求項18に記載のOSをマイグレーションする計算機システム。
  20. 前記第1の計算機で実行中のOSの中断と共に、前記中断するOSが使用中のI/Oデバイスの電源をオフすることを特徴とする請求項18に記載のOSをマイグレーションする計算機システム。
JP2007319340A 2007-12-11 2007-12-11 仮想計算機と物理計算機との間のマイグレーション方法及びその計算機システム Pending JP2009145931A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007319340A JP2009145931A (ja) 2007-12-11 2007-12-11 仮想計算機と物理計算機との間のマイグレーション方法及びその計算機システム
US12/165,887 US20090150463A1 (en) 2007-12-11 2008-07-01 Method of migration between virtual machine and physical machine and machine system thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007319340A JP2009145931A (ja) 2007-12-11 2007-12-11 仮想計算機と物理計算機との間のマイグレーション方法及びその計算機システム

Publications (1)

Publication Number Publication Date
JP2009145931A true JP2009145931A (ja) 2009-07-02

Family

ID=40722756

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007319340A Pending JP2009145931A (ja) 2007-12-11 2007-12-11 仮想計算機と物理計算機との間のマイグレーション方法及びその計算機システム

Country Status (2)

Country Link
US (1) US20090150463A1 (ja)
JP (1) JP2009145931A (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011191807A (ja) * 2010-03-11 2011-09-29 Hitachi Ltd 計算機モニタリングシステム及びプログラム
JP2011253350A (ja) * 2010-06-02 2011-12-15 Mitsubishi Electric Corp 仮想計算機制御システム
JP2012098978A (ja) * 2010-11-04 2012-05-24 Seiko Epson Corp 情報処理装置およびデータの配布方法
JP2012190267A (ja) * 2011-03-10 2012-10-04 Fujitsu Ltd 移行プログラム、情報処理装置、及び移行方法
WO2014073024A1 (en) 2012-11-09 2014-05-15 Hitachi, Ltd. Management computer, computer system, and instance management method
JP2014215621A (ja) * 2013-04-22 2014-11-17 レノボ・シンガポール・プライベート・リミテッド オペレーティング・システムの管理方法、コンピュータ・プログラムおよびコンピュータ
US9430292B2 (en) 2014-04-24 2016-08-30 Fujitsu Limited Information processing system, method of controlling information processing system and storage medium
JP2017004141A (ja) * 2015-06-08 2017-01-05 富士通株式会社 情報処理システム、情報処理プログラムおよび情報処理装置
JP2021503650A (ja) * 2017-11-17 2021-02-12 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 階層型ストレージ・データ移動に基づいてクラウド・コンピューティング・システムにおいてクラウド資源を割り当てるための方法、システム、コンピュータ・プログラムおよび記録媒体
JP2021140404A (ja) * 2020-03-04 2021-09-16 株式会社日立製作所 管理システム及び基盤システムの管理方法
WO2022249240A1 (ja) * 2021-05-24 2022-12-01 三菱電機株式会社 起動システム及び起動方法

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5164628B2 (ja) * 2008-03-24 2013-03-21 株式会社日立製作所 ネットワークスイッチ装置、サーバシステム及びサーバシステムにおけるサーバ移送方法
US8019837B2 (en) * 2009-01-14 2011-09-13 International Business Machines Corporation Providing network identity for virtual machines
JP5617839B2 (ja) * 2009-04-24 2014-11-05 日本電気株式会社 パケット通信システム、パケット通信装置、パケット通信方法、パケット通信プログラムを記録したコンピュータ読み取り可能な記録媒体
US9778946B2 (en) * 2009-08-07 2017-10-03 Dell Software Inc. Optimized copy of virtual machine storage files
CN102081552A (zh) * 2009-12-01 2011-06-01 华为技术有限公司 一种物理机到虚拟机的在线迁移方法、装置和系统
US9626206B2 (en) * 2010-03-18 2017-04-18 Microsoft Technology Licensing, Llc Virtual machine homogenization to enable migration across heterogeneous computers
US9569446B1 (en) 2010-06-08 2017-02-14 Dell Software Inc. Cataloging system for image-based backup
US9052825B2 (en) * 2010-08-30 2015-06-09 Vmware, Inc. System software interfaces for space-optimized block devices
US9411517B2 (en) 2010-08-30 2016-08-09 Vmware, Inc. System software interfaces for space-optimized block devices
US8959323B2 (en) * 2010-10-27 2015-02-17 International Business Machines Corporation Remote restarting client logical partition on a target virtual input/output server using hibernation data in a cluster aware data processing system
CN102594575A (zh) * 2011-01-18 2012-07-18 鸿富锦精密工业(深圳)有限公司 控制服务器休眠与唤醒的系统及方法
CN102761566B (zh) 2011-04-26 2015-09-23 国际商业机器公司 迁移虚拟机的方法和装置
US8909912B2 (en) * 2011-07-29 2014-12-09 Cisco Technology, Inc. Apparatus and method for configuring a target machine with captured operational state comprising a static machine profile and a dynamic machine state to continue operations of a source machine
US8601474B2 (en) 2011-10-14 2013-12-03 International Business Machines Corporation Resuming execution of an execution plan in a virtual machine
KR101813641B1 (ko) * 2011-11-15 2018-01-02 에스프린팅솔루션 주식회사 화상형성장치 및 하이버네이션 기능을 갖는 화상형성장치를 부팅하는 방법
US9479575B2 (en) 2012-03-27 2016-10-25 International Business Machines Corporation Managing capacity on demand in a server cloud
WO2013160933A1 (en) * 2012-04-23 2013-10-31 Hitachi, Ltd. Computer system and virtual server migration control method for computer system
US20150244640A1 (en) * 2012-06-27 2015-08-27 Qatar Foundation Arrangement and method for use in managing resources of a plurality of computing devices
WO2014000779A1 (en) * 2012-06-27 2014-01-03 Qatar Foundation An arrangement configured to allocate resources of a plurality of data storage media to a plurality virtual machines and associated method
WO2015033384A1 (ja) * 2013-09-03 2015-03-12 株式会社アキブシステムズ I/oデバイスの仮想化のためのコンピュータシステム及びその運用方法並びにhub装置
US9411979B2 (en) * 2014-08-07 2016-08-09 Vmware, Inc. Embedding secret data in code
US9398019B2 (en) 2014-08-07 2016-07-19 Vmware, Inc. Verifying caller authorization using secret data embedded in code
US10922402B2 (en) 2014-09-29 2021-02-16 Vmware, Inc. Securing secret data embedded in code against compromised interrupt and exception handlers
US10591980B2 (en) 2015-01-02 2020-03-17 Mentor Graphics Corporation Power management with hardware virtualization
US9733918B2 (en) 2015-02-27 2017-08-15 International Business Machines Corporation Using cloud patterns for installation on unmanaged physical machines and appliances
CN107704314B (zh) * 2017-11-09 2023-09-12 北京百度网讯科技有限公司 用于迁移虚拟机的方法和装置
CN117743205A (zh) 2018-09-28 2024-03-22 英特尔公司 用dram作为可按字节寻址存储器的缓存的方法和装置
US11467886B2 (en) 2020-05-05 2022-10-11 Red Hat, Inc. Migrating virtual machines between computing environments

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02266457A (ja) * 1989-04-06 1990-10-31 Hitachi Ltd 処理の継続実行方法
JPH10283210A (ja) * 1997-04-01 1998-10-23 Hitachi Ltd 仮想計算機システム間の仮想計算機移動制御方式
JP2001216171A (ja) * 2000-01-31 2001-08-10 Toshiba Corp 仮想計算機システム
JP2005070952A (ja) * 2003-08-21 2005-03-17 Ntt Data Corp ノード移送装置、ノード代替装置及びそのプログラム
JP2007148839A (ja) * 2005-11-29 2007-06-14 Hitachi Ltd 障害回復方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6986033B2 (en) * 2002-09-10 2006-01-10 Veritas Operating Corporation System for automated boot from disk image
US20060069761A1 (en) * 2004-09-14 2006-03-30 Dell Products L.P. System and method for load balancing virtual machines in a computer network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02266457A (ja) * 1989-04-06 1990-10-31 Hitachi Ltd 処理の継続実行方法
JPH10283210A (ja) * 1997-04-01 1998-10-23 Hitachi Ltd 仮想計算機システム間の仮想計算機移動制御方式
JP2001216171A (ja) * 2000-01-31 2001-08-10 Toshiba Corp 仮想計算機システム
JP2005070952A (ja) * 2003-08-21 2005-03-17 Ntt Data Corp ノード移送装置、ノード代替装置及びそのプログラム
JP2007148839A (ja) * 2005-11-29 2007-06-14 Hitachi Ltd 障害回復方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011191807A (ja) * 2010-03-11 2011-09-29 Hitachi Ltd 計算機モニタリングシステム及びプログラム
JP2011253350A (ja) * 2010-06-02 2011-12-15 Mitsubishi Electric Corp 仮想計算機制御システム
JP2012098978A (ja) * 2010-11-04 2012-05-24 Seiko Epson Corp 情報処理装置およびデータの配布方法
US9116743B2 (en) 2011-03-10 2015-08-25 Fujitsu Limited Storage medium, information processing apparatus, and migration method
JP2012190267A (ja) * 2011-03-10 2012-10-04 Fujitsu Ltd 移行プログラム、情報処理装置、及び移行方法
WO2014073024A1 (en) 2012-11-09 2014-05-15 Hitachi, Ltd. Management computer, computer system, and instance management method
JP2014215621A (ja) * 2013-04-22 2014-11-17 レノボ・シンガポール・プライベート・リミテッド オペレーティング・システムの管理方法、コンピュータ・プログラムおよびコンピュータ
US9753739B2 (en) 2013-04-22 2017-09-05 Lenovo (Singapore) Pte. Ltd. Operating system management of second operating system
US9430292B2 (en) 2014-04-24 2016-08-30 Fujitsu Limited Information processing system, method of controlling information processing system and storage medium
JP2017004141A (ja) * 2015-06-08 2017-01-05 富士通株式会社 情報処理システム、情報処理プログラムおよび情報処理装置
US10248454B2 (en) 2015-06-08 2019-04-02 Fujitsu Limited Information processing system and apparatus for migrating operating system
JP2021503650A (ja) * 2017-11-17 2021-02-12 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 階層型ストレージ・データ移動に基づいてクラウド・コンピューティング・システムにおいてクラウド資源を割り当てるための方法、システム、コンピュータ・プログラムおよび記録媒体
JP7160449B2 (ja) 2017-11-17 2022-10-25 インターナショナル・ビジネス・マシーンズ・コーポレーション 階層型ストレージ・データ移動に基づいてクラウド・コンピューティング・システムにおいてクラウド資源を割り当てるための方法、システム、コンピュータ・プログラムおよび記録媒体
JP2021140404A (ja) * 2020-03-04 2021-09-16 株式会社日立製作所 管理システム及び基盤システムの管理方法
WO2022249240A1 (ja) * 2021-05-24 2022-12-01 三菱電機株式会社 起動システム及び起動方法

Also Published As

Publication number Publication date
US20090150463A1 (en) 2009-06-11

Similar Documents

Publication Publication Date Title
JP2009145931A (ja) 仮想計算機と物理計算機との間のマイグレーション方法及びその計算機システム
JP5018252B2 (ja) デバイス割り当て変更方法
US9996396B2 (en) Cross architecture virtual machine migration
US10261800B2 (en) Intelligent boot device selection and recovery
US9317314B2 (en) Techniques for migrating a virtual machine using shared storage
US8984510B1 (en) Blocking file system for on-the-fly migration of a virtual execution environment
US8166477B1 (en) System and method for restoration of an execution environment from hibernation into a virtual or physical machine
KR101376952B1 (ko) 머신을 가상 머신으로 변환하는 방법
US8694828B2 (en) Using virtual machine cloning to create a backup virtual machine in a fault tolerant system
EP3985504B1 (en) Virtual machine migration
US20120084775A1 (en) Techniques for Streaming Virtual Machines from a Server to a Host
JP2007508623A (ja) 複数のノードにわたってシステムリソースを割り当てて管理する仮想データセンタ
JP2011100431A (ja) 仮想マシン制御装置及び仮想マシン制御方法
WO2022135429A1 (zh) 快速启动方法
JP2016173821A (ja) コンピュータシステム内における複数のハイパーバイザーの共同運用を容易にするためのシステムおよび方法
US11748094B2 (en) Techniques for non-disruptive operating system upgrade
Kooburat et al. The Best of Both Worlds with {On-Demand} Virtualization
US10248454B2 (en) Information processing system and apparatus for migrating operating system
US10747567B2 (en) Cluster check services for computing clusters
US20230359533A1 (en) User Triggered Virtual Machine Cloning for Recovery/Availability/Scaling

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100121

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110228

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111004