JP2012190267A - 移行プログラム、情報処理装置、及び移行方法 - Google Patents

移行プログラム、情報処理装置、及び移行方法 Download PDF

Info

Publication number
JP2012190267A
JP2012190267A JP2011053337A JP2011053337A JP2012190267A JP 2012190267 A JP2012190267 A JP 2012190267A JP 2011053337 A JP2011053337 A JP 2011053337A JP 2011053337 A JP2011053337 A JP 2011053337A JP 2012190267 A JP2012190267 A JP 2012190267A
Authority
JP
Japan
Prior art keywords
virtual
migration
unit
processing apparatus
information processing
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
JP2011053337A
Other languages
English (en)
Other versions
JP5724477B2 (ja
Inventor
Kazuhiro Suzuki
和宏 鈴木
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011053337A priority Critical patent/JP5724477B2/ja
Priority to US13/370,383 priority patent/US9116743B2/en
Publication of JP2012190267A publication Critical patent/JP2012190267A/ja
Application granted granted Critical
Publication of JP5724477B2 publication Critical patent/JP5724477B2/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/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/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
    • 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/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

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

Abstract

【課題】物理マシンから仮想マシンへOSの移行時におけるデバイスの不整合を解消すること。
【解決手段】移行プログラムは、コンピュータに、該コンピュータとネットワークを介して接続される他のコンピュータにおいて動作する仮想マシンが有する仮想デバイスの識別情報を用いて、該コンピュータのオペレーティングシステムによって利用される物理デバイスと、前記識別情報を有する仮想デバイスとの冗長構成を生成し、前記オペレーティングシステムのメモリ内容を、前記他のコンピュータに転送する処理とを実行させる。
【選択図】図5

Description

本発明は、OSを移行させる移行プログラム、情報処理装置、及び移行方法に関する。
物理マシンから仮想環境へのOS(Operating System)の移行(マイグレーション)は、物理マシンにおけるOSのディスクイメージ(HDD(Hard Disk Drive)等の補助記憶装置に保存されている情報)を仮想マシンにコピーすることにより行われる。これにより、或る物理マシン上で直接動作するOSを、他の物理マシンにおいて動作する仮想マシン上に移行することができる。
但し、OSのディスクイメージを物理マシンから仮想マシンへコピーする方式では、仮想マシンへコピーされたディスイメージに基づいて、仮想マシン上でOSを起動する必要があった。すなわち、移行の間において、移行対象のOSの再起動が必要とされた。OSが再起動されるということは、OS上で実行されている処理(サービス)の継続性が失われてしまうことを意味する。
また、特許文献1には、物理マシンから仮想マシンへのOSの移行に関して、サービスの中断時間の短縮を目的とした技術が開示されている。
特開2009−145931号公報
しかしながら、特許文献1では、物理マシンと仮想マシンとのデバイス(ネットワークカードやHDD等)の不整合の解消に関して言及されていない。すなわち、通常、移行元の物理マシンと移行先の仮想マシンとでは、同一のデバイスが使用可能であることは保証されない。物理マシンのデバイスと仮想マシンのデバイスが一致しない場合、移行前において行われていた、当該デバイスを用いた処理が、移行後において継続できない可能性が高い。すなわち、移行後において、デバイスに関する制御処理等が正常に動作しない可能性が高い。
そこで、1側面では、物理マシンから仮想マシンへOSの移行時におけるデバイスの不整合を解消することのできる移行プログラム、情報処理装置、及び移行方法の提供を目的とする。
一つの案では、移行プログラムは、コンピュータに、該コンピュータとネットワークを介して接続される他のコンピュータにおいて動作する仮想マシンが有する仮想デバイスの識別情報を用いて、該コンピュータのオペレーティングシステムによって利用される物理デバイスと、前記識別情報を有する仮想デバイスとの冗長構成を生成し、前記オペレーティングシステムのメモリ内容を、前記他のコンピュータに転送する処理とを実行させる。
一態様によれば、物理マシンから仮想マシンへOSの移行時におけるデバイスの不整合を解消することができる。
本発明の実施の形態におけるシステム構成例を示す図である。 本発明の実施の形態における情報処理装置のハードウェア構成例を示す図である。 本発明の実施の形態における情報処理装置のソフトウェア構成例を示す図である。 本実施の形態の物理マシンOSの移行の概要を説明するための図である。 移行元処理部及び移行先処理部の機能構成例を示す図である。 物理マシンOSの移行のための初期化処理の処理手順の一例を説明するためのシーケンス図である。 冗長構成の生成処理の処理手順を説明するためのフローチャートである。 仮想デバイス情報記憶部の構成例を示す図である。 NICに関する冗長構成の生成を説明するための図である。 HDDに関する冗長構成の生成を説明するための図である。 物理マシンから仮想マシンへの物理マシンOSの移行処理の処理手順を説明するためのシーケンス図である。 物理マシンOSのメモリ内容の転送を概念的に示す図である。 物理マシンのディスクイメージの転送を概念的に示す図である。 物理マシンOSが外部ディスクから起動されている場合について説明するための図である。 NICに関する冗長構成の解除を説明するための図である。 HDDに関する冗長構成の解除を説明するための図である。
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態におけるシステム構成例を示す図である。同図において、情報処理装置10Pと情報処理装置10Vとは、LAN(Local Area Network)等のネットワーク50を介して通信可能に接続されている。なお通信経路の一部又は全部に無線区間が存在してもよい。
情報処理装置10P及び情報処理装置10Vは、PC(Personal Computer)等の汎用的なコンピュータを用いてもよい。本実施の形態において、情報処理装置10Pは、移行又はマイグレーション(以下、「移行」という。)の対象とされるOS(Operating System:オペレーティングシステム)の移行元の情報処理装置である。情報処理装置10Vは、移行対象とされるOSの移行先の仮想マシン23が動作する情報処理装置である。情報処理装置10P及び10Pを区別しない場合、「情報処理装置10」という。
図2は、本発明の実施の形態における情報処理装置のハードウェア構成例を示す図である。図2の情報処理装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、及びインタフェース装置105等を有する。
情報処理装置10での処理を実現するプログラムは、記録媒体101によって提供される。プログラムを記録した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他の情報処理装置よりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従って情報処理装置10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
以下の説明において、図2に示されるハードウェアについて、情報処理装置10Pのハードウェアとして説明するときは、当該ハードウェアの符号の末尾に「P」を付加する。同様に、情報処理装置10Pのハードウェアとして説明するときは、当該ハードウェアの符号の末尾に「V」を付加する。
なお、記録媒体101の一例としては、CD−ROM、DVDディスク、又はUSBメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置102の一例としては、HDD(Hard Disk Drive)又はフラッシュメモリ等が挙げられる。記録媒体101及び補助記憶装置102のいずれについても、情報処理装置読み取り可能な記録媒体に相当する。
また、情報処理装置10には、液晶ディスプレイ等の表示装置や、マウス及びキーボード等の入力装置等が接続されていてもよい。
図3は、本発明の実施の形態における情報処理装置のソフトウェア構成例を示す図である。
同図において、情報処理装置10Pは、物理マシンOS11及び移行元処理部12等を有する。物理マシンOS11は、一般的なOS(Operating System:オペレーティングシステム)である。後述される仮想マシン上で動作するOS(仮想マシンOS24)と区別するために、本実施の形態では、便宜上、物理マシンOS11と呼ぶ。すなわち、物理マシンOS11は、仮想マシン上ではなく、情報処理装置10P上(すなわち、物理マシン上)で直接動作する。本実施の形態では、情報処理装置10Pにおいて動作中の物理マシンOS11が移行対象とされる。
移行元処理部12は、図4に示されるように、情報処理装置10Pにおいて動作中の物理マシンOS11を、情報処理装置10Vで動作する仮想マシン23上に移行(マイグレーション)するための処理を情報処理装置10PのCPU104Pに実行させる。例えば、移行元処理部12は、物理マシンOS11が管理する(物理マシンOS11がロードされた)仮想アドレス空間のメモリの内容(以下、単に「メモリ内容」という。)や物理マシンOS11のディスクイメージ等を、移行先の情報処理装置10Vに転送する。ディスクイメージとは、物理マシンOS11が情報処理装置10Pにインストールされることにより、補助記憶装置102Pに生成され、物理マシンOS11のロード元となるファイル群又はデータ群をいう。なお、仮想マシン23上に移行された後の物理マシンOS11は、便宜上、仮想マシンOS24と呼ぶ。
移行元処理部12は、また、物理マシンOS11が管理する(物理マシンOS11が利用する)デバイス(すなわち、情報処理装置10Pが有するデバイス)と、移行先の仮想マシン23において使用可能な仮想デバイスとの不整合を解消するための処理を実行する。当該不整合を解消するための処理として、移行元処理部12は、物理マシンOS11が管理するデバイスに関して、仮想デバイスとの冗長構成の生成(構築)を物理マシンOS11に実行させる。なお、物理マシンOS11が管理するデバイスとは、例えば、NIC(Network Interface Card)やHDD(Hard Disk Drive)等が挙げられる。NICは、インタフェース装置105Pの一例である。HDDは、補助記憶装置102Pの一例である。また、冗長構成とは、NICに関するボンディング(bonding)や、HDDに関するRAID(Redundant Array of Independent Disks)等、二つ以上のデバイスを、仮想的に一つのデバイスとして扱えるようにすることをいう。
なお、移行元処理部12は、物理マシンOS11の拡張点に対応したプログラムモジュール(拡張モジュール)として実装されるとよい。一般的なOSは、動的な機能拡張を可能とするために、拡張機能が実装された拡張モジュールをカーネルの一部としてロードするための機構及び拡張点としてのインタフェース等を有する。移行元処理部12が、斯かるインタフェースに従って実装されることにより、物理マシンOS11のソースコード等を改変することなく、物理マシンOS11のカーネル内に、移行元処理部12の機能を組み込むことができる。その結果、本実施の形態の汎用性が確保される。すなわち、本実施の形態を、市場において既に流通している一般的なOSに適用することができる。但し、移行元処理部12は、予め、物理マシンOS11のカーネルの一部として実装されてもよい。なお、移行元処理部12が物理マシンOS11のカーネルの一部として機能する必要があるのは、物理マシンOS11のメモリ内容を読み取れるのは、カーネルに限られるからである。
情報処理装置10Vは、ハイパーバイザ21及び移行先処理部22等を有する。ハイパーバイザ21は、仮想マシン23の実現を情報処理装置10VのCPU104Vに実行させるプログラムである。一般的に、ハイパーバイザは、仮想マシンモニタ又はVM(Virtual Machine)マネージャとも呼ばれる。例えば、ハイパーバイザ21は、仮想マシン23の定義ファイルに基づいて仮想マシン23を起動させ、仮想マシン23の稼働状態を管理又は監視する。仮想マシン23の定義ファイルとは、仮想マシン23に関する構成情報等が記述されているファイルである。
移行先処理部22は、移行元処理部12によって転送される、物理マシンOS11のメモリ内容やディスクイメージ等に基づいて、ハイパーバイザ21によって実現される仮想マシン23上に、物理マシンOS11を移行前の動作状態で復元するための処理を実行する。物理マシンOS11が移行前の動作状態で復元されるということは、物理マシンOS11の処理について、移行前後において、継続性が確保されることを意味する。すなわち、本実施の形態では、物理マシンOS11に関して、物理マシンから仮想マシン23へのライブマイグレーションを実現することができる。なお、移行先処理部22は、ハイパーバイザ21から独立したプログラムとして実装されてもよいし、ハイパーバイザ21の一部として実装されてもよい。
図5は、移行元処理部及び移行先処理部の機能構成例を示す図である。同図において、移行元処理部12は、冗長構成通知部121、冗長構成生成部122、読み出し部123、及び停止制御部124等を有する。
冗長構成生成部122は、物理デバイス検索部1221、仮想デバイス判定部1222、及び冗長デバイス生成部1223等を含む。物理デバイス検索部1221は、情報処理装置10Pが有するデバイスを検索する。すなわち、物理デバイス検索部1221によって、情報処理装置10Pが有するデバイスの一覧が生成される。なお、情報処理装置10Pが有する物理的なデバイスを、以下、「物理デバイス」という。仮想マシン23上の仮想的なデバイス(仮想デバイス)と区別するためである。
仮想デバイス判定部1222は、物理デバイス検索部1221によって検索された各物理デバイスについて、仮想デバイス情報記憶部1224を用いて、対応する仮想マシン23を判定する。対応する仮想マシン23とは、物理マシンOS11の移行先の仮想マシン23において、物理デバイスを代替することができる仮想的なデバイスをいう。
仮想デバイス情報記憶部1224は、移行先の仮想マシン23が有する各仮想デバイスの情報を記憶する。仮想デバイス情報記憶部1224は、例えば、補助記憶装置102Pを用いて実現可能である。
冗長デバイス生成部1223は、物理デバイス検索部1221によって検索された各物理デバイスについて、対応する仮想デバイスとの冗長構成の生成を物理マシンOS11に実行させる。
冗長構成通知部121は、冗長デバイス生成部1223が生成させた冗長構成の識別名の一覧を、移行先処理部22に通知する。なお、冗長構成通知部は、本実施の形態において、通知部の一例である。
読み出し部123は、メモリ内容読取部1231、ディスクイメージ読取部1232、レジスタ内容待避制御部1233、及び転送部1234等を有する。メモリ内容読取部1231は、動作中の物理マシンOS11のメモリ内容を読み取る(取得する)。ディスクイメージ読取部1232は、物理マシンOS11のディスクイメージを補助記憶装置102Pより読み取る(取得する)。レジスタ内容待避制御部1233は、情報処理装置10PのCPU104Pのレジスタ(プログラムカウンタ等)の内容について、物理マシンOS11のメモリ空間への待避(コピー)を、物理マシンOS11に実行させる。転送部1234は、メモリ内容読取部1231によって読み取られたメモリ内容、及びディスクイメージ読取部1232によって読み取られたディスクイメージを、インタフェース装置105Pを用いて情報処理装置10Vの移行先処理部22に転送する。
停止制御部124は、物理マシンOS11を停止させるための処理制御を行う。物理マシンOS11の停止は、情報処理装置10Pの電源を切ることと等価である。
移行先処理部22は、受信部221、メモリ構築部222、ディスクイメージ書込部223、コンテキストスイッチ制御部224、冗長構成解除部225、及びアンロード部226等を有する。
受信部221は、移行元処理部12より転送される、物理マシンOS11のメモリ内容及びディスクイメージをインタフェース装置105Vを用いて受信する。メモリ構築部222は、受信部221によって受信されたメモリ内容を、仮想マシン23において、仮想マシンOS24の仮想アドレス空間となるメモリ空間に書き込む。ディスクイメージ書込部223は、受信部221によって受信されたディスクイメージを、仮想マシン23の仮想的な補助記憶装置(仮想補助記憶装置241)に書き込む。
コンテキストスイッチ制御部224は、物理マシンOS11に関する処理制御を物理マシン(情報処理装置10P)から仮想マシン23に切り替えるための処理を行う。
以下、情報処理装置10P及び情報処理装置10Vが実行する処理手順について説明する。
図6は、物理マシンOSの移行のための初期化処理の処理手順の一例を説明するためのシーケンス図である。
ステップS101において、物理マシンOS11は、移行元処理部12の(厳密には、情報処理装置10Pを移行元処理部12として機能させるための拡張モジュール)のロード要求の入力をユーザより受け付ける。当該ロード要求は、例えば、情報処理装置10Pに接続された入力装置、又は情報処理装置10Pとネットワークを介して接続されている他の情報処理装置を介して入力される。また、当該ロード要求では、物理マシンOS11に対する所定のコマンドが入力される。例えば、当該コマンドでは、移行元処理部12に係る拡張モジュールのファイル名等が指定される。
続いて、物理マシンOS11のカーネルは、移行元処理部12をロードする(S102)。続いて、物理マシンOS11のカーネルは、移行元処理部12に対して初期化指示を行う(S103)。当該初期化指示は、移行元処理部12が有するインタフェース(エントリポイント)を介して入力される。なお、移行元処理部12がどのようなエントリポイントを有し、各エントリポイントが呼び出されるべきタイミングについては、例えば、移行元処理部12内に定義情報として含まれている。当該定義情報は、物理マシンOS11の拡張点のインタフェースに従って定義されればよい。ステップS103では、初期化時に呼び出されるべきエントリポイントがカーネルによって解釈され、当該エントリポイントがカーネルより呼び出されることにより、移行元処理部12に対して初期化指示が行われる。
初期化指示に応じ、移行元処理部12は、移行先処理部22の起動要求を情報処理装置10Vに送信する(S104)。その結果、情報処理装置10Vにおいて移行先処理部22が起動される。続いて、移行先処理部22の起動が完了したことが、情報処理装置10Vより移行元処理部12に通知される(S105)。なお、移行先の情報処理装置10Vの識別情報(IPアドレス等)は、例えば、情報処理装置10Pの補助記憶装置102Pに記憶されている。
続いて、移行元処理部12の冗長構成生成部122は、情報処理装置10Pが有する各物理デバイスについて、対応する仮想デバイスとの冗長構成を生成する(S106)。冗長構成の生成処理の詳細については後述される。冗長構成の生成処理が完了すると、物理マシンOS11は、移行元処理部12の初期化が完了したことを、情報処理装置10Pが有する表示装置、又は情報処理装置10Pとネットワークを介して接続されている情報処理装置の表示装置に表示させる(S108)。
続いて、ステップS107の詳細について説明する。図7は、冗長構成の生成処理の処理手順を説明するためのフローチャートである。
ステップS201において、移行元処理部12の物理デバイス検索部1221は、情報処理装置10Pが有する物理デバイスを検索する。物理デバイスの検索結果には、検索された物理デバイスのデバイス種別、デバイスID、及びデバイス名等が検索結果に含まれる。デバイス種別は、機能又は用途等に基づく物理デバイスの種別である。デバイスIDは、物理デバイスの識別子である。デバイス名は、物理デバイスの名前である。なお、物理デバイスの検索は、例えば、物理マシンOS11が提供するAPI(Application Program Interface)を呼び出すことにより行われればよい。
物理デバイスが一つ検索されると(S202でYes)、移行元処理部12の仮想デバイス判定部1222は、仮想デバイス情報記憶部1224より、検索された物理デバイス(以下、「カレント物理デバイス」という。)とデバイス種別が一致する仮想デバイスを検索する(S203)。
図8は、仮想デバイス情報記憶部の構成例を示す図である。同図において、仮想デバイス情報記憶部1224は、物理マシンOS11の移行先の仮想マシン23において使用可能な(仮想マシン23が有する)仮想デバイスごとに、デバイス種別、デバイスID、デバイス名、及び冗長化方式等を記憶する。冗長化方式は、仮想デバイスに適した(当該仮想デバイスに対応する物理デバイスに適した)冗長化の方式である。なお、デバイス種別、デバイスID、及びデバイス名は、仮想デバイスの識別情報の一例である。
なお、仮想デバイス情報記憶部1224には、情報処理装置10Pと仮想マシン23との間で不整合のある仮想デバイスに関して、図8に示される情報が記憶されていればよい。情報処理装置10Pと仮想マシン23との間で不整合のある仮想デバイスとは、物理マシンOS11の移行後において、正常な動作を継続できなくなる可能性のある物理デバイスに対応する仮想デバイスをいう。
該当する仮想デバイスが検索された場合(S204でYes)、冗長デバイス生成部1223は、検索された仮想デバイス(以下、「対応仮想デバイス」という。)のデバイスID及びデバイス名を仮想デバイス情報記憶部1224より取得する(S205)。続いて、冗長デバイス生成部1223は、取得されたデバイスID及びデバイス名を用いて、ダミーの対応仮想デバイスを、情報処理装置10Pに擬似的にアタッチする(S206)。ここで、アタッチとは、デバイスを物理的に情報処理装置10Pに接続することをいう。例えば、USBコネクタを有するデバイスであれば、USBコネクタが、情報処理装置10PのUSBポートに差し込まれることをいう。但し、ステップS206では、実際に(物理的に)デバイスが接続されるのではなく、冗長デバイス生成部1223が、デバイスが接続されたかのように情報処理装置10Pに対して偽装する。したがって、「擬似的にアタッチ」と表現されているのである。また、「ダミーの対応仮想デバイス」と表現しているのは、対応仮想マシン23の実体は、情報処理装置10Pは存在しないため、ステップS206では、対応仮想デバイスが情報処理装置10Pに存在するかのように偽装されているからである。
より詳しくは、冗長デバイス生成部1223は、対デバイスが接続されたことを示す信号を情報処理装置10PのPCIバス上に発生させる。当該信号はCPU104によって受信される。CPU104は、接続されたデバイスのデバイスID及びデバイス名を問い合わせる信号をPCIバスに流す。冗長デバイス当該信号に対して、対応仮想デバイスのデバイスID及びデバイス名を応答する。当該応答に基づいて、ダミー対応仮想デバイスが擬似的に情報処理装置10Pアタッチされる。
続いて、対応仮想デバイスの(擬似的な)アタッチに応じ、物理マシンOS11は、対応仮想デバイスを認識する(S207)。具体的には、例えば、プラグアンドプレイ(Plug and Play)の機構により、物理マシンOS11は、アタッチされた対応仮想デバイスのデバイスドライバのインストールを実行する。インストールの結果は、物理マシンOS11のメモリ内容及びディスクイメージに反映される。
続いて、冗長デバイス生成部1223は、対応仮想デバイスに対応付けられて記憶されている冗長化方式を、仮想デバイス情報記憶部1224より取得する(S208)。仮想デバイス情報記憶部1224において、仮想デバイスに対応付けられて冗長化方式が記憶されていることで、どのような冗長化方式によって冗長構成を生成するかについて、柔軟性及び拡張性を確保することができる。
続いて、冗長デバイス生成部1223は、カレント物理デバイスのデバイスID及びデバイス名と、対応仮想デバイスのデバイスID及びデバイス名とを指定して、カレント物理デバイスと対応仮想デバイスとの冗長構成の生成を物理マシンOS11に実行させる(S209)。冗長構成の生成の結果は、物理マシンOSのメモリ内容及びディスクイメージに反映される。ここでは、ステップS208において取得された冗長化方式に従った冗長構成が生成される。なお、生成された各冗長構成には、識別名が付与される。冗長デバイス生成部1223は、メモリ装置103P又は補助記憶装置102Pに、当該識別名の一覧を記録しておく。物理マシンOS11の移行とは関係なく冗長構成が生成される可能性が考えられるところ、物理マシンの移行に関連して生成された冗長構成を区別可能とするためのである。
続いて、冗長デバイス生成部1223は、対応仮想デバイスを擬似的にデタッチする(S210)。より詳しくは、対応仮想デバイスがデタッチされたことを示す信号を発生させる。それにより、物理マシンOS11には、対応仮想デバイスがデタッチされたことが認識される。なお、デタッチとは、デバイスとの物理的な接続が切断されることをいう。但し、対応仮想デバイスについては、物理的な接続(アタッチ)は行われていない。したがって、ステップS210において、冗長デバイス生成部1223は、デタッチを偽装するのである。ここで、対応仮想デバイスに関してデタッチが実行されるのは、ダミーの対応仮想デバイスがアタッチされたまま物理マシンOS11が移行されることにより、移行先の仮想マシン23上において、対応仮想デバイスの実体のアタッチが適切に行われないことを回避するためである。すなわち、ステップS207においてインストールされたデバイスドライバが、ダミーの対応仮想デバイスに占有されてしまい、仮想マシン23における対応仮想デバイスの実体を当該デバイスドライバによる制御対象にできなくなるのを回避するためである。
ステップS201以降の処理は、情報処理装置10Pにおいて検索される物理デバイスごとに実行される。
図7の処理内容を図面によって表現すると、例えば、図9又は図10のように示される。
図9は、NICに関する冗長構成の生成を説明するための図である。同図において、(A)は、冗長化前の状態を示す。すなわち、当初、情報処理装置10Pには、インタフェース装置105PとしてNIC(eth0)が接続されており、NIC(eth0)に対応するデバイスドライバd0がインストールされている。
(B)は、図7のステップS206〜S208が実行された状態を示す。すなわち、(B)では、ダミー仮想NIC(eth1)が擬似的にアタッチされ、ダミー仮想NIC(eth1)に対応するデバイスドライバd1がインストールされている。また、例えば、ボンディングによって、NIC(eth0)とダミー仮想NIC(eth1)とを含む冗長構成が生成されている。ダミー仮想NIC(eth1)は、NIC(eth0)に対する、ダミーの対応仮想デバイスである。なお、(B)に示される冗長構成において、物理マシンOS11上では、NIC(eth0)が運用系に相当し、ダミー仮想NIC(eth1)が待機系に相当する。運用系及び待機系の双方がActive状態とされてもよいし、待機系はStanby状態とされてもよい。
(C)は、図7のステップS210が実行された状態を示す。すなわち、(C)では、ダミー仮想NIC(eth1)がデタッチされている。但し、デバイスドライバd1はインストールされたままとなっている。この状態において、物理マシンOS11のメモリ内容及びディスクイメージには、デバイスドライバd1がインストールされた状態を示す情報が記録されている。また、NIC(eth0)とダミー仮想NIC(eth1)とを含む冗長構成が生成されていることを示す情報も、物理マシンOS11のメモリ空間及びディスクイメージに記録されている。
また、図10は、HDDに関する冗長構成の生成を説明するための図である。同図において、(A)は、冗長化前の状態を示す。すなわち、当初、情報処理装置10Pには、補助記憶装置102としてHDD(h0)が接続されており、HDD(h0)に対応するSATA(Serial Advanced Technology Attachment)ドライバd3がインストールされている。
(B)は、図7のステップS206〜S208が実行された状態を示す。すなわち、(B)では、ダミー仮想HDD(h1)が擬似的にアタッチされ、ダミー仮想HDD(h1)に対応するIDE(Integrated Drive Electronics)ドライバd2がインストールされている。また、例えば、RAID1(二重化)によって、HDD(h0)とダミー仮想HDD(h1)とを含む冗長構成が生成されている。ダミー仮想HDD(h1)は、HDD(h0)に対する、ダミーの対応仮想デバイスである。なお、(B)に示される冗長構成において、物理マシンOS11上では、HDD(h0)が運用系に相当し、ダミー仮想HDD(h1)が待機系に相当する。運用系及び待機系の双方がActive状態とされてもよいし、待機系はStanby状態とされてもよい。
(C)は、図7のステップS210が実行された状態を示す。すなわち、(C)では、ダミー仮想HDD(h1)がデタッチされている。但し、IDEドライバd2はインストールされたままとなっている。この状態において、物理マシンOS11のメモリ内容及びディスクイメージには、IDEドライバd2がインストールされた状態を示す情報が記録されている。また、HDD(h0)とダミー仮想HDD(h1)とを含む冗長構成が生成されていることを示す情報も、物理マシンOS11のメモリ空間及びディスクイメージに記録されている。
続いて、図6において説明した処理に続いて実行される、物理マシンOS11の移行処理について説明する。
図11は、物理マシンから仮想マシンへの物理マシンOSの移行処理の処理手順を説明するためのシーケンス図である。
ステップS301において、物理マシンOS11は、移行開始要求の入力を受け付ける。移行開始要求は、例えば、移行元処理部12の移行開始のエントリポイントに対応するシグナルを発生させることによって入力される。例えば、斯かるシグナルを発生させるコマンドが予め作成され、当該コマンドがユーザによって呼び出されてもよい。
続いて、物理マシンOS11は、移行の開始を移行元処理部12に通知する(S302)。当該通知に応じ、移行元処理部12は、移行の開始を情報処理装置10Vにおいて起動されている移行先処理部22に通知する(S303)。移行先処理部22は、移行の開始通知の受信に応じ、空の仮想マシン23を情報処理装置10Vのメモリ空間に生成する(S304)。
続いて、移行元処理部12の冗長構成通知部121は、冗長デバイス生成部1223によってメモリ装置103又は補助記憶装置102に記録されている、冗長構成の識別名の一覧を移行先処理部22の冗長構成解除部225に転送(送信)する(S305)。冗長構成解除部225は、受信された識別名の一覧を、メモリ装置103V又は補助記憶装置102Vに記録しておく。
続いて、移行元処理部12のメモリ内容読取部1231は、物理マシンOS11のメモリ内容を、例えば、ページ単位で読み取る。また、移行元処理部12のディスクイメージ読取部1232は、物理マシンOS11のディスクイメージを補助記憶装置102より読み取る。移行元処理部12の転送部1234は、読み取られたページ単位のメモリ内容及びディスクイメージを移行先処理部22に転送する(S306−1〜S306−n)。転送は、例えば、複数回に分けられて実行される。
転送部1234より送信されたメモリ内容又はディスクイメージは、移行先処理部22の受信部221によって受信される。メモリ構築部222は、受信部221によってページ単位のメモリ内容が受信されるたびに、当該メモリ内容を、仮想マシン23において仮想マシンOS24に割り当てられる仮想メモリ空間に書き込む。また、ディスクイメージ書込部223は、受信部221によってディスクイメージが受信されるたびに、当該ディスクイメージを仮想マシン23の仮想補助記憶装置231に書き込む(S307−1〜S307−n)。受信部221は、メモリ内容の書き込み又はディスクイメージの書き込みの完了に応じて、書き込み結果(書き込みの成否)を示す応答を、移行元処理部12の転送部1234に返信する(S308−1〜S308−n)。
なお、メモリ構築部222は、書き込まれたメモリ内容に係るページの仮想アドレス及び物理アドレスを、仮想マシン23におけるページテーブルへ書き込む。ここで、物理アドレスの値は、メモリ内容が書き込まれた結果に基づいて判定されればよい。
図12は、物理マシンOSのメモリ内容の転送を概念的に示す図である。同図に示されるように、物理マシンOS11のメモリ空間M1の内容(メモリ内容)は、移行元処理部12によって読み取られ、移行先処理部22に転送される。移行先処理部22は、受信されたメモリ内容を、仮想マシン23のメモリ空間M2に書き込む。その結果、物理マシンOS11のメモリ空間M1の内容が、仮想マシン23のメモリ空間M2内に復元される。なお、メモリ空間M1には、移行元処理部12がロードされた状態のカーネル自身も含まれている。したがって、移行元処理部12がロードされた状態も、仮想マシン23のメモリ空間において復元される。
なお、メモリ内容の転送の詳細は、例えば、仮想マシン23のライブマイグレーション技術おけるメモリ内容の転送処理を参考としてもよい。例えば、転送中に書き換えられた領域については、フラグが立てられ、再転送が行われる。
また、メモリ内容の転送は、必ずしもページ単位でなくてもよい。複数ページ単位であってもよいし、ページが所定の基準で分割された単位であってもよい。すなわち、受信側(移行先処理部22)において、ページの区切りを識別することができ、ページテーブルを構築することが可能であれば、どのような単位でメモリ内容の転送が行われてもよい。
また、図13は、物理マシンのディスクイメージの転送を概念的に示す図である。同図に示されるように、補助記憶装置102Pに記録されている、物理マシンOS11のディスクイメージは、移行元処理部12によって読み取られ、移行先処理部22に転送される。移行先処理部22は、受信されたディスクイメージを、仮想マシン23の仮想補助記憶装置231に書き込む。その結果、物理マシンOS11のディスクイメージが、仮想マシン23の仮想補助記憶装置231内に復元される。ところで、物理マシンOS11のディスクイメージは、カーネル以外でも読み取ることができる。したがって、カーネルから独立したプログラム(例えば、物理マシンOS11上でプロセスとして起動されるプログラム)によって、当該ディスクイメージの読み取り及び転送が実行されてもよい。
なお、物理マシンOS11のメモリ空間の内容の転送とディスクイメージの転送とは、並列的に行われてもよいし、直列的に行われてもよい。
ところで、情報処理装置10Pにおいて、物理マシンOS11が、SANブート又はiSCSIブート等によって、外部ディスク40から起動(ブート)されている形態も考えられる。この場合、ディスクイメージの転送は不要である。外部ディスク40とは、情報処理装置10Pとネットワークを介して接続されているストレージ装置(HDD等)をいう。
図14は、物理マシンOSが外部ディスクから起動されている場合について説明するための図である。同図において、外部ディスク40から情報処理装置10Pへの矢印は、情報処理装置10Pに対して、物理マシンOS11のロード先として外部ディスク40のIPアドレスが設定されていることを示す。この場合、物理マシンOS11の移行に際し、移行先の仮想マシン23に対して、仮想マシンOS24のロード先のIPアドレスとして外部ディスク40のIPアドレスが仮想マシン23に設定されればよい。そのための情報処理として、例えば、メモリ内容の転送と並行して、又はメモリ内容の転送の前後に、ディスクイメージ読取部1232は、物理マシンOS11より、外部ディスク40のIPアドレスを取得する。転送部1234は、当該IPアドレスを移行先処理部22に転送する。移行先処理部22の受信部221によって当該IPアドレスが受信されると、ディスクイメージ書込部223は、移行先の仮想マシン23の定義ファイルに、仮想マシンOS24のロード先を示す情報として当該IPアドレスを書き込む。
こうすることで、仮想マシン23は、ハイパーバイザ21によって起動される際、仮想マシンOS24のロード先は外部ディスク40であることを認識することができる。
全てのメモリ内容及び全てのディスクイメージ等の転送が完了し(S307−n)、当該転送に対する応答が受信されると(S308−n)、移行元処理部12のレジスタ内容待避制御部1233は、物理マシンOS11に対して、レジスタ内容の待避を要求する(S309)。物理マシンOS11は、CPU104Pのレジスタ(プログラムカウンタ等)の内容について、物理マシンOS11のメモリ空間への待避(コピー)を実行する。続いて、メモリ内容読取部1231は、メモリ空間に待避されたレジスタの内容(レジスタ内容)を物理マシンOS11のメモリ空間より読み取る(S310)。続いて、転送部1234は、読み取られたレジスタ内容を、移行先処理部22に転送する(S311)。移行先処理部22の受信部221によってレジスタ内容が受信されると、メモリ構築部222は、当該レジスタ内容を、仮想マシン23のメモリ空間の所定の領域に書き込む(S312)。
続いて、移行先処理部22のコンテキストスイッチ制御部224は、物理マシンOS11の停止要求を移行元処理部12に送信する(S313)。移行元処理部12の停止制御部124は、当該停止要求に応じ、情報処理装置10Pの電源を切断し、物理マシンOS11を停止(シャットダウン)させる(S314)。
続いて、コンテキストスイッチ制御部224は、ハイパーバイザ21に対し、仮想マシン23の起動を要求する(S315)。当該要求に応じ、ハイパーバイザ21は、仮想マシン23を起動状態とする(S316)。具体的には、ハイパーバイザ21は、仮想マシン23のメモリ空間に書き込まれているレジスタ内容を読み出し、当該レジスタ内容を仮想マシン23のCPUに設定する。したがって、プログラムカウンタ等も当該CPUに設定される。その結果、仮想マシン23上に移行された仮想マシンOS24は、プログラムカウンタが示すアドレスから処理を再開する。すなわち、物理マシンOS11について、再起動が実行されることなく、仮想マシンOS24として、仮想マシン23上での処理の継続が実現される。
仮想マシン23の起動に応じて、冗長構成が生成されているデバイスに関しては、運用系が正常に動作しなくなる。当該運用系は、情報処理装置10Pにおいて使用可能(有効)であるが、仮想マシン23においては使用可能でないからである。したがって、冗長構成の機能によって、処理制御が運用系から待機系に自動的に移る。一方、待機系は、仮想マシン23において使用可能なデバイスに合わせて構築されている。したがって、仮想マシン23の起動に応じ、待機系には、対応する仮想デバイスがアタッチされる。なお、アタッチされるのは、仮想デバイスのダミーではなく実体である。仮想マシン23は、当該実体を備えているからである。よって、処理制御が待機系に移されると、待機系は、仮想マシン23における仮想デバイスを用いて、移行前の運用系が実行していた処理を中断させることなく引き継ぐことができる。その結果、移行前後において、デバイスの不整合の顕在化を回避することができ、実質的に、シームレスにデバイスの処理を継続させることができる。例えば、NICに関しては、IPアドレスは移行前と同一のものを使用することができる。したがって、IPアドレスを用いた通信に関して、物理マシンOS11の移行前の通信相手は、物理マシンOS11が仮想マシンOS24に移行されたことを意識することなく、同一のIPアドレスを宛先として使用することができる。
続いて、移行元処理部12の冗長構成解除部225は、仮想マシン23における各仮想デバイスの冗長構成の解除(解消)を仮想マシンOS24に実行させる(S317)。解除の対象とされる冗長構成は、ステップS305に応じてメモリ装置103V又は補助記憶装置102Vに記録されている識別名に係る冗長構成である。したがって、解除対象を、物理マシンOS11の移行のために生成された冗長構成に限定することができ、移行とは無関係に生成された冗長構成が解除されてしまうことによる不都合の発生を回避することができる。
冗長構成解除部225は、冗長構成の解除後に、移行元における運用系のデバイスドライバのアンインストールを実行する。当該デバイスドライバは、移行先においては不要だからである。但し、当該デバイスドライバのアンインストールが実行されなくても、移行先における処理の実行に関して不都合が発生する可能性は低い。なお、当該デバイスドライバは、ステップS305に応じてメモリ装置103V又は補助記憶装置102Vに記録されている冗長構成の識別名に基づいて、仮想マシンOS24に問い合わせることにより特定することができる。
図15は、NICに関する冗長構成の解除を説明するための図である。同図において、(A)は、仮想マシン23の起動後における、NICの冗長構成(ボンディング)の状態を示す。(A)では、デバイスドライバd1に仮想NIC(eth1)がアタッチされている。また、デバイスドライバd0による処理制御が正常に動作しないことに応じて、待機系だったデバイスドライバd1に処理制御が移されている。なお、デバイスドライバd0による処理制御が正常に動作しないことは、デバイスドライバd0が破線によって示されていることで表現されている。
(B)は、ステップS317が実行された状態を示す。(B)では、冗長構成が解除され、デバイスドライバd0がアンインストールされている。なお、待機系であるデバイスドライバd1及び仮想NIC(eth1)による処理制御は既に確立されているため、デバイスドライバd0がアンインストールされても、デバイスドライバd1及び仮想NIC(eth1)を用いた処理(すなわち、通信処理)に影響は無い。
また、図16は、HDDに関する冗長構成の解除を説明するための図である。同図において、(A)は、仮想マシン23の起動後における、HDDの冗長構成(RAID1)の状態を示す。(A)では、IDEドライバd4に仮想HDD(h1)がアタッチされている。また、SATAドライバd3による処理制御が正常に動作しないことに応じて、待機系だったIDEドライバd4に処理制御が移されている。なお、SATAドライバd3による処理制御が正常に動作しないことは、SATAドライバd3が破線によって示されていることで表現されている。
(B)は、ステップS317が実行された状態を示す。すなわち、冗長構成が解除され、SATAドライバd3がアンインストールされている。なお、待機系であるIDEドライバd4及び仮想HDD(h1)による処理制御は既に確立されているため、SATAドライバd3がアンインストールされても、IDEドライバd4及び仮想HDD(h1)を用いた処理(すなわち、通信処理)に影響は無い。
続いて、移行元処理部12のアンロード部226は、仮想マシンOS24のカーネル内にロードされている移行先処理部22のアンロードを、仮想マシンOS24に実行させる(S318)。すなわち、仮想マシンOS24は、物理マシンOS11の動作状態が維持されたまま移行されたものである。したがって、物理マシンOS11のカーネルにロードされている移行元処理部12は、仮想マシンOS24のカーネルにおいてもロードされた状態となっている。ステップS318では、当該状態を解消させる処理である。
続いて、移行先処理部22は、移行処理の完了を示すメッセージ等を、情報処理装置10Vが有する表示装置、又は情報処理装置10Vとネットワークを介して接続されている情報処理装置の表示装置に表示させる(S319)。当該メッセージ等によって、移行処理の完了をユーザに通知するためのである。
上述したように、本実施の形態によれば、移行元の物理マシン(情報処理装置10P)が備えるデバイスについて、物理マシンOS11の移行元において、移行先の仮想マシン23が備えるデバイスとの冗長構成が生成される。したがって、移行先において、デバイスの不整合により、デバイスの制御処理が不正となる可能性を低減させることができる。
また、物理マシンOS11のディスクイメージのみならず、メモリ内容等が転送されることにより、物理マシンOS11の動作状態を維持したまま、物理マシンOS11を仮想マシン23上に移行することができる。すなわち、物理マシンOS11を再起動することなく、情報処理装置10Pから仮想マシン23への移行を実現することができる。
また、移行元処理部が拡張モジュールとして実装された場合、汎用的なOSに対して本実施の形態を適用することができる。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
以上の説明に関し、更に以下の項を開示する。
(付記1)
コンピュータに、
該コンピュータとネットワークを介して接続される他のコンピュータにおいて動作する仮想マシンが有する仮想デバイスの識別情報を用いて、該コンピュータのオペレーティングシステムによって利用される物理デバイスと、前記識別情報を有する仮想デバイスとの冗長構成を生成し、
前記オペレーティングシステムのメモリ内容を、前記他のコンピュータに転送する処理とを実行させる移行プログラム。
(付記2)
前記冗長構成を生成する処理は、前記仮想デバイスごとに冗長化方式を記憶する記憶部を参照し、当該コンピュータが有する物理デバイスに関して、当該物理デバイスに対応する前記仮想デバイスとの冗長構成を当該仮想デバイスに係る前記冗長化方式に基づいて生成する付記1記載の移行プログラム。
(付記3)
前記冗長構成を生成する処理が生成した前記冗長構成の識別名を前記他のコンピュータに転送する処理を前記コンピュータに実行させる付記1又は2記載の移行プログラム。
(付記4)
情報処理装置であって、
該情報処理装置とネットワークを介して接続される他の情報処理装置において動作する仮想マシンが有する仮想デバイスの識別情報を用いて、該情報処理装置のオペレーティングシステムによって利用される物理デバイスと、前記識別情報を有する仮想デバイスとの冗長構成を生成する冗長構成生成部と、
前記オペレーティングシステムのメモリ内容を、前記他の情報処理装置に転送する転送部とを有する情報処理装置。
(付記5)
前記冗長構成生成部は、前記仮想デバイスごとに冗長化方式を記憶する記憶部を参照し、当該情報処理装置が有する物理デバイスに関して、当該物理デバイスに対応する前記仮想デバイスとの冗長構成を当該仮想デバイスに係る前記冗長化方式に基づいて生成する付記4記載の情報処理装置。
(付記6)
前記冗長構成生成部が生成した前記冗長構成の識別名を前記他の情報処理装置に転送する通知部を有する付記4又は5記載の情報処理装置。
(付記7)
コンピュータが、
該コンピュータとネットワークを介して接続される他のコンピュータにおいて動作する仮想マシンが有する仮想デバイスの識別情報を用いて、該コンピュータのオペレーティングシステムによって利用される物理デバイスと、前記識別情報を有する仮想デバイスとの冗長構成を生成し、
前記オペレーティングシステムのメモリ内容を、前記他のコンピュータに転送する処理とを実行する移行方法。
(付記8)
前記冗長構成を生成する処理は、前記仮想デバイスごとに冗長化方式を記憶する記憶部を参照し、当該コンピュータが有する物理デバイスに関して、当該物理デバイスに対応する前記仮想デバイスとの冗長構成を当該仮想デバイスに係る前記冗長化方式に基づいて生成する付記7記載の移行方法。
(付記9)
前記冗長構成を生成する処理が生成した前記冗長構成の識別名を前記他のコンピュータに転送する処理を前記コンピュータに実行させる付記7又は8記載の移行方法。
11 物理マシンOS
12 移行元処理部
21 ハイパーバイザ
22 移行先処理部
23 仮想マシン
24 仮想マシンOS
40 外部ディスク
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
121 冗長構成通知部
122 冗長構成生成部
123 読み出し部
124 停止制御部
221 受信部
222 メモリ構築部
223 ディスクイメージ書込部
224 コンテキストスイッチ制御部
225 冗長構成解除部
226 アンロード部
231 仮想補助記憶装置
1221 物理デバイス検索部
1222 仮想デバイス判定部
1223 冗長デバイス生成部
1224 仮想デバイス情報記憶部
1231 メモリ内容読取部
1232 ディスクイメージ読取部
1233 レジスタ内容待避制御部
1234 転送部
B バス

Claims (5)

  1. コンピュータに、
    該コンピュータとネットワークを介して接続される他のコンピュータにおいて動作する仮想マシンが有する仮想デバイスの識別情報を用いて、該コンピュータのオペレーティングシステムによって利用される物理デバイスと、前記識別情報を有する仮想デバイスとの冗長構成を生成し、
    前記オペレーティングシステムのメモリ内容を、前記他のコンピュータに転送する処理とを実行させる移行プログラム。
  2. 前記冗長構成を生成する処理は、前記仮想デバイスごとに冗長化方式を記憶する記憶部を参照し、当該コンピュータが有する物理デバイスに関して、当該物理デバイスに対応する前記仮想デバイスとの冗長構成を当該仮想デバイスに係る前記冗長化方式に基づいて生成する請求項1記載の移行プログラム。
  3. 前記冗長構成を生成する処理が生成した前記冗長構成の識別名を前記他のコンピュータに転送する処理を前記コンピュータに実行させる請求項1又は2記載の移行プログラム。
  4. 情報処理装置であって、
    該情報処理装置とネットワークを介して接続される他の情報処理装置において動作する仮想マシンが有する仮想デバイスの識別情報を用いて、該情報処理装置のオペレーティングシステムによって利用される物理デバイスと、前記識別情報を有する仮想デバイスとの冗長構成を生成する冗長構成生成部と、
    前記オペレーティングシステムのメモリ内容を、前記他の情報処理装置に転送する転送部とを有する情報処理装置。
  5. コンピュータが、
    該コンピュータとネットワークを介して接続される他のコンピュータにおいて動作する仮想マシンが有する仮想デバイスの識別情報を用いて、該コンピュータのオペレーティングシステムによって利用される物理デバイスと、前記識別情報を有する仮想デバイスとの冗長構成を生成し、
    前記オペレーティングシステムのメモリ内容を、前記他のコンピュータに転送する処理とを実行する移行方法。
JP2011053337A 2011-03-10 2011-03-10 移行プログラム、情報処理装置、移行方法、及び情報処理システム Expired - Fee Related JP5724477B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011053337A JP5724477B2 (ja) 2011-03-10 2011-03-10 移行プログラム、情報処理装置、移行方法、及び情報処理システム
US13/370,383 US9116743B2 (en) 2011-03-10 2012-02-10 Storage medium, information processing apparatus, and migration method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011053337A JP5724477B2 (ja) 2011-03-10 2011-03-10 移行プログラム、情報処理装置、移行方法、及び情報処理システム

Publications (2)

Publication Number Publication Date
JP2012190267A true JP2012190267A (ja) 2012-10-04
JP5724477B2 JP5724477B2 (ja) 2015-05-27

Family

ID=46797076

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011053337A Expired - Fee Related JP5724477B2 (ja) 2011-03-10 2011-03-10 移行プログラム、情報処理装置、移行方法、及び情報処理システム

Country Status (2)

Country Link
US (1) US9116743B2 (ja)
JP (1) JP5724477B2 (ja)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8307177B2 (en) 2008-09-05 2012-11-06 Commvault Systems, Inc. Systems and methods for management of virtualization data
US11449394B2 (en) 2010-06-04 2022-09-20 Commvault Systems, Inc. Failover systems and methods for performing backup operations, including heterogeneous indexing and load balancing of backup and indexing resources
US9184981B2 (en) * 2012-03-09 2015-11-10 Futurewei Technologies, Inc. System and apparatus for distributed mobility management based network layer virtual machine mobility protocol
JP5804189B2 (ja) * 2012-03-19 2015-11-04 富士通株式会社 情報処理システム,情報処理方法,プログラム
US20140181046A1 (en) 2012-12-21 2014-06-26 Commvault Systems, Inc. Systems and methods to backup unprotected virtual machines
US9286086B2 (en) 2012-12-21 2016-03-15 Commvault Systems, Inc. Archiving virtual machines in a data storage system
US20140196038A1 (en) 2013-01-08 2014-07-10 Commvault Systems, Inc. Virtual machine management in a data storage system
US9459902B2 (en) * 2013-08-16 2016-10-04 Red Hat Israel, Ltd. Memory duplication by destination host in virtual machine live migration
US9454400B2 (en) 2013-08-16 2016-09-27 Red Hat Israel, Ltd. Memory duplication by origin host in virtual machine live migration
US9939981B2 (en) 2013-09-12 2018-04-10 Commvault Systems, Inc. File manager integration with virtualization in an information management system with an enhanced storage manager, including user control and storage management of virtual machines
US9158662B1 (en) * 2013-10-17 2015-10-13 American Megatrends, Inc. Automated operating system installation on multiple drives
US9563518B2 (en) 2014-04-02 2017-02-07 Commvault Systems, Inc. Information management by a media agent in the absence of communications with a storage manager
US9588796B2 (en) 2014-06-28 2017-03-07 Vmware, Inc. Live migration with pre-opened shared disks
US9672120B2 (en) 2014-06-28 2017-06-06 Vmware, Inc. Maintaining consistency using reverse replication during live migration
US10671545B2 (en) 2014-06-28 2020-06-02 Vmware, Inc. Asynchronous encryption and decryption of virtual machine memory for live migration
US9898320B2 (en) 2014-06-28 2018-02-20 Vmware, Inc. Using a delta query to seed live migration
US9766930B2 (en) 2014-06-28 2017-09-19 Vmware, Inc. Using active/passive asynchronous replicated storage for live migration
US9760443B2 (en) 2014-06-28 2017-09-12 Vmware, Inc. Using a recovery snapshot during live migration
US20160019317A1 (en) 2014-07-16 2016-01-21 Commvault Systems, Inc. Volume or virtual machine level backup and generating placeholders for virtual machine files
US9710465B2 (en) 2014-09-22 2017-07-18 Commvault Systems, Inc. Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations
US9436555B2 (en) 2014-09-22 2016-09-06 Commvault Systems, Inc. Efficient live-mount of a backed up virtual machine in a storage management system
US9417968B2 (en) 2014-09-22 2016-08-16 Commvault Systems, Inc. Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations
US10776209B2 (en) 2014-11-10 2020-09-15 Commvault Systems, Inc. Cross-platform virtual machine backup and replication
US9983936B2 (en) 2014-11-20 2018-05-29 Commvault Systems, Inc. Virtual machine change block tracking
US10565067B2 (en) 2016-03-09 2020-02-18 Commvault Systems, Inc. Virtual server cloud file system for virtual machine backup from cloud operations
CN106168883A (zh) * 2016-05-05 2016-11-30 诸葛晴凤 一种高效的数据组织与访问方法
US10747630B2 (en) 2016-09-30 2020-08-18 Commvault Systems, Inc. Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, including operations by a master monitor node
US10162528B2 (en) 2016-10-25 2018-12-25 Commvault Systems, Inc. Targeted snapshot based on virtual machine location
US10678758B2 (en) 2016-11-21 2020-06-09 Commvault Systems, Inc. Cross-platform virtual machine data and memory backup and replication
US20180276022A1 (en) 2017-03-24 2018-09-27 Commvault Systems, Inc. Consistent virtual machine replication
US10387073B2 (en) 2017-03-29 2019-08-20 Commvault Systems, Inc. External dynamic virtual machine synchronization
US10877928B2 (en) 2018-03-07 2020-12-29 Commvault Systems, Inc. Using utilities injected into cloud-based virtual machines for speeding up virtual machine backup operations
US11200124B2 (en) 2018-12-06 2021-12-14 Commvault Systems, Inc. Assigning backup resources based on failover of partnered data storage servers in a data storage management system
US10768971B2 (en) 2019-01-30 2020-09-08 Commvault Systems, Inc. Cross-hypervisor live mount of backed up virtual machine data
US10996974B2 (en) 2019-01-30 2021-05-04 Commvault Systems, Inc. Cross-hypervisor live mount of backed up virtual machine data, including management of cache storage for virtual machine data
US11467753B2 (en) 2020-02-14 2022-10-11 Commvault Systems, Inc. On-demand restore of virtual machine data
US11442768B2 (en) 2020-03-12 2022-09-13 Commvault Systems, Inc. Cross-hypervisor live recovery of virtual machines
US11099956B1 (en) 2020-03-26 2021-08-24 Commvault Systems, Inc. Snapshot-based disaster recovery orchestration of virtual machine failover and failback operations
US11500669B2 (en) 2020-05-15 2022-11-15 Commvault Systems, Inc. Live recovery of virtual machines in a public cloud computing environment
US11656951B2 (en) 2020-10-28 2023-05-23 Commvault Systems, Inc. Data loss vulnerability detection
US11556336B2 (en) 2021-02-16 2023-01-17 Bank Of America Corporation System for computer code development environment cloning and authentication using a distributed server network and machine learning

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09231104A (ja) * 1996-02-26 1997-09-05 Oki Tsushin Syst Kk 代表警報作成システムおよびその方法
JPWO2006040811A1 (ja) * 2004-10-12 2008-05-15 富士通株式会社 リソース交換処理プログラムおよびリソース交換処理方法
US20090007099A1 (en) * 2007-06-27 2009-01-01 Cummings Gregory D Migrating a virtual machine coupled to a physical device
JP2009145931A (ja) * 2007-12-11 2009-07-02 Hitachi Ltd 仮想計算機と物理計算機との間のマイグレーション方法及びその計算機システム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2405405C (en) * 2000-04-18 2011-03-22 Nelson Nahum Storage virtualization in a storage area network
US8209680B1 (en) * 2003-04-11 2012-06-26 Vmware, Inc. System and method for disk imaging on diverse computers
US7555596B2 (en) * 2004-12-10 2009-06-30 Microsoft Corporation Systems and methods for attaching a virtual machine virtual hard disk to a host machine
JP4704043B2 (ja) 2005-01-07 2011-06-15 富士通株式会社 移動処理プログラム、情報処理装置、コンピュータシステム及び移動処理プログラムを格納したコンピュータ読み取り可能な記録媒体
JP5427574B2 (ja) * 2009-12-02 2014-02-26 株式会社日立製作所 仮想計算機の移動管理方法、前記移動管理方法を用いた計算機、前記移動管理方法を用いた仮想化機構および前記移動管理方法を用いた計算機システム
JP5834939B2 (ja) * 2012-01-17 2015-12-24 富士通株式会社 プログラム、仮想マシン制御方法、情報処理装置および情報処理システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09231104A (ja) * 1996-02-26 1997-09-05 Oki Tsushin Syst Kk 代表警報作成システムおよびその方法
JPWO2006040811A1 (ja) * 2004-10-12 2008-05-15 富士通株式会社 リソース交換処理プログラムおよびリソース交換処理方法
US20090007099A1 (en) * 2007-06-27 2009-01-01 Cummings Gregory D Migrating a virtual machine coupled to a physical device
JP2009145931A (ja) * 2007-12-11 2009-07-02 Hitachi Ltd 仮想計算機と物理計算機との間のマイグレーション方法及びその計算機システム

Also Published As

Publication number Publication date
US20120233285A1 (en) 2012-09-13
US9116743B2 (en) 2015-08-25
JP5724477B2 (ja) 2015-05-27

Similar Documents

Publication Publication Date Title
JP5724477B2 (ja) 移行プログラム、情報処理装置、移行方法、及び情報処理システム
JP5655677B2 (ja) ハイパーバイザ置き換え方法および情報処理装置
US8694828B2 (en) Using virtual machine cloning to create a backup virtual machine in a fault tolerant system
US8943498B2 (en) Method and apparatus for swapping virtual machine memory
US9600369B2 (en) Operating system recovery method and apparatus, and terminal device
EP2652599B1 (en) System reset
US9507671B2 (en) Write cache protection in a purpose built backup appliance
US20110202919A1 (en) Hypervisor and server apparatus
CN102591675A (zh) 使用共享存储块管理多软件镜像的方法和系统
KR20140118093A (ko) 메모리 가상화 기반 스냅샷 부트 장치 및 방법
US8578064B2 (en) Interception and management of I/O operations on portable storage devices
JP2010086419A (ja) 情報処理装置
JP5728812B2 (ja) 分散型情報処理システム及び分散ストレージシステム
JP2009211517A (ja) 仮想計算機冗長化システム
JP2004234114A (ja) 計算機システム、計算機装置、オペレーティングシステムの移送方法及びプログラム
US10642782B2 (en) Multi-core processor and operation method thereof
JP2014059733A (ja) 情報処理システム、画像処理装置
JP2009129101A (ja) 情報処理装置の障害処理システム
CN113127263B (zh) 一种内核崩溃恢复方法、装置、设备及存储介质
US20160004539A1 (en) Operating environment switching between a primary and a secondary operating system
US9959278B1 (en) Method and system for supporting block-level incremental backups of file system volumes using volume pseudo devices
CN115495278A (zh) 异常修复方法、设备及存储介质
JP6160688B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP2008217202A (ja) ディスクアレイ装置及びファームウェア更新方法
JP2007264976A (ja) コンピュータシステム、データ退避方法、及び、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131129

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140610

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140617

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140814

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150316

R150 Certificate of patent or registration of utility model

Ref document number: 5724477

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees