JP2008033483A - 計算機システム、計算機および計算機動作環境の移動方法 - Google Patents

計算機システム、計算機および計算機動作環境の移動方法 Download PDF

Info

Publication number
JP2008033483A
JP2008033483A JP2006204286A JP2006204286A JP2008033483A JP 2008033483 A JP2008033483 A JP 2008033483A JP 2006204286 A JP2006204286 A JP 2006204286A JP 2006204286 A JP2006204286 A JP 2006204286A JP 2008033483 A JP2008033483 A JP 2008033483A
Authority
JP
Japan
Prior art keywords
copy
computer
disk
image
list
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
JP2006204286A
Other languages
English (en)
Inventor
Kenichi Senoo
賢一 妹尾
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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2006204286A priority Critical patent/JP2008033483A/ja
Priority to US11/878,768 priority patent/US20080028402A1/en
Publication of JP2008033483A publication Critical patent/JP2008033483A/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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】第1ディスクを使用する第1計算機の動作環境を、第2ディスクを使用する第2計算機に移動させる際に、業務の中断時間を短縮することができる技術を提供すること。
【解決手段】本発明に係る動作環境移動方法は、(A)第1計算機100の動作を中断するステップと、(B)上記(A)ステップの後、第1ディスク110上のコピーイメージCIに含まれるファイルのリストCLを作成するステップと、(C)上記(A)ステップの後、第1計算機100の実行コンテキストECを、第2計算機200にコピーするステップと、(D)上記(B)及び(C)ステップの後、第2計算機200において上記動作を再開させるステップと、(E)上記(D)ステップの後、上記リストCLを参照して、コピーイメージCIを第1ディスク110から第2ディスク(210)にコピーするステップと、を有する。
【選択図】図4

Description

本発明は、計算機システムにおいて、ある計算機の動作環境を他の計算機に移動させるための技術に関する。
ネットワークを介して様々なサービスを提供するサーバシステムが知られている。サーバシステムにおいて、パフォーマンス増強、負荷分散、メンテナンスなどを目的として、運用中のサーバによる業務を他のサーバに移行させる場合がある。その場合、運用中のサーバの業務が中断され、そのサーバの動作環境を、他のサーバにそっくり移動させることが必要である。特に、ディスクが共有されていない場合は、運用中のサーバのディスクイメージを、他のサーバのディスクにコピーすることが必要である。
従来のサーバ動作環境の移動方法は、次の通りである。まず、動作環境の移動に先立って、移動元サーバと移動先サーバとの間でハードウェア構成(IOカードのスロット位置など)の比較が行われ、ディスクイメージの継承が可能であることが確認される。その後、動作環境の移動が開始する。動作環境の移動処理においては、図1に示されるフローが実行される。
まず、移動元サーバの動作が中断される(ステップS110)。続いて、移動元サーバのディスクから移動先サーバのディスクに、移動元サーバのディスクイメージがコピーされる(ステップS120)。また、移動元サーバから移動先サーバに、「実行コンテキスト(execution contexts)」がコピーされる(ステップS130)。ここで、実行コンテキストとは、実行中のプログラムが利用しているレジスタセットやメインメモリの内容である。ディスクイメージ及び実行コンテキストのコピーが完了すると、移動先サーバの動作が開始させられる。これにより、中断していた業務が、移動先サーバにおいて再開する(ステップS140)。このようにして、移動元サーバの業務が、移動先サーバに引き継がれる。
尚、関連する従来技術として、次のものが知られている。
特許文献1には、複数の実計算機上に構築される仮想計算機システム間で、ある仮想計算機(VM:Virtual Machine)を移動させる方式が記載されている。この方式によれば、移動元計算機と移動先計算機は、磁気ディスク装置を共有している。移動元の仮想計算機システムには、移動させるVMの構成情報と対応する実資源の論理名称を通知する手段が設けられる。移動先の仮想計算機システムには、受信した論理名称に基づいて同一のVM構成を生成する手段が設けられる。
特開平10−283210号公報
本願発明者は、次の点に着目した。ディスクイメージのサイズは数Gbyteと大きく、ディスクイメージのコピー(ステップS120)に要する時間は非常に長い。サーバ動作環境の移動時間、すなわち業務中断(ステップS110)から業務再開(ステップS140)までの時間は、ディスクイメージのコピー時間にほぼ律速されていると言える。サービス提供者の観点から、業務の中断時間はできる限り短いことが望ましい。
従って、本発明の目的は、ある計算機の動作環境を他の計算機に移動させる際に、業務の中断時間を短縮することができる技術を提供することにある。
以下に、[発明を実施するための最良の形態]で使用される番号・符号を用いて、[課題を解決するための手段]を説明する。これらの番号・符号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]との対応関係を明らかにするために括弧付きで付加されたものである。ただし、それらの番号・符号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
本発明の第1の観点において、第1ディスク(110)を使用する第1計算機(100)の動作環境を、第2ディスク(210)を使用する第2計算機(200)に移動させる動作環境移動方法が提供される。その動作環境移動方法は、(A)第1計算機(100)の動作を中断するステップと、(B)上記(A)ステップの後、第1ディスク(110)のディスクイメージ(10)の少なくとも一部であるコピーイメージ(CI)に含まれるファイルのリスト(CL)を作成するステップと、(C)上記(A)ステップの後、第1計算機(100)の実行コンテキスト(EC)を、第2計算機(200)にコピーするステップと、(D)上記(B)及び(C)ステップの後、第2計算機(200)において上記動作を再開させるステップと、(E)上記(D)ステップの後、上記リスト(CL)を参照して、コピーイメージ(CI)を第1ディスク(110)から第2ディスク(210)にコピーするステップと、を有する。
本発明によれば、第1計算機(100)の動作中断から第2計算機(200)における動作再開までの間に、実行コンテキスト(EC)が第2計算機(200)にコピーされる。一方、第1ディスク(110)上のコピーイメージ(CI)に関しては、それに含まれるファイルのリスト(CL)だけが作成され、コピーイメージ(CI)の実体のコピーは行われない。コピーイメージ(CI)の実体のコピーは、第2計算機(200)における動作再開後、作成されたリスト(CL)を参照することにより行われる。従って、第1計算機(100)の動作中断から第2計算機(200)における動作再開までの時間が短縮される。すなわち、本発明によれば、業務の中断時間を短縮することが可能となる。
本発明の第2の観点において、計算機が提供される。その計算機は、コピー判定モジュール(40)とコピーモジュール(50)を備えている。コピー判定モジュール(40)は、ディスク(210)へのアクセス時、アクセス対象である対象データの実体が存在するか否かの判定を行う。対象データの実体が存在しない場合、コピーモジュール(50)は、対象データが格納された移動元ディスク(110)にアクセス可能な装置(100,120,130,300)に対して、自身のディスク(210)への対象データのコピーを要求する。
このような構成を有する計算機は、業務の最中にコピー処理を行うことが可能である。第1計算機(100)の動作環境が第2計算機(200)に移動される際、第1計算機(100)の動作中断から第2計算機(200)における動作再開までの間、業務は中断する。その業務中断期間において、第2計算機(200)は、第1計算機(100)の実行コンテキスト(EC)と、コピーが必要なファイルのリスト(CL)だけを受け取ればよい。その業務中断期間に、第2計算機(200)が第1計算機(100)のディスク(110)上のコピーイメージ(CI)の実体を受け取る必要はない。それは、第2計算機(200)における動作再開後、受け取ったリスト(CL)を参照することによって、そのコピーイメージ(CI)の実体をコピーすることが可能だからである。従って、業務の中断時間が短縮される。
本発明の第3の観点において、第1ディスク(110)を使用する第1計算機(100)の動作環境を、第2ディスク(210)を使用する第2計算機(200)に移動させる計算機システムが提供される。その計算機システムは、コピーリスト作成モジュール(20)と、コンテキストコピーモジュール(30)とを備えている。コピーリスト作成モジュール(20)は、第1計算機(100)の動作中断後、第1ディスク(110)のディスクイメージ(10)の少なくとも一部であるコピーイメージ(CI)に含まれるファイルのリスト(CL)を作成する。作成されたリスト(CL)は、第2ディスク(210)に格納される。コンテキストコピーモジュール(30)は、第1計算機(100)の動作中断後、第1計算機(100)の実行コンテキスト(EC)を、第2計算機(200)にコピーする。
本発明によれば、第2計算機(200)は、上記実行コンテキスト(EC)と上記リスト(CL)を受け取ると直ぐに、業務を再開させることができる。それは、上記リスト(CL)を参照することによって、第1ディスク(110)上のコピーイメージ(CI)の実体を、第2計算機(200)の動作再開後にコピーすることが可能だからである。第1計算機(100)の動作中断から第2計算機(200)における動作再開までの間、第2計算機(200)がコピーイメージ(CI)の実体を受け取る必要はない。従って、動作中断から動作再開までの時間、すなわち、業務の中断時間を短縮することが可能となる。
本発明によれば、ある計算機の動作環境を他の計算機に移動させる際に、業務の中断時間を短縮することが可能となる。
添付図面を参照して、本発明の実施の形態に係る計算機システムおよび計算機動作環境の移動方法を説明する。計算機システムとして、自律コンピューティングシステム、ユーティリティ・コンピューティングシステム、グリッドシステム、仮想化システムなどが挙げられる。本実施の形態において、計算機システムとして、様々なサービスを提供するサーバシステムが例示される。
1.概要
まず、本発明の概要を説明する。図2は、本発明の実施の形態に係るサーバシステム1を概念的に示している。本実施の形態において、移動元サーバ100の「動作環境」が、移動先サーバ200に移動させられる。移動元サーバ100は移動元ディスク110を使用し、移動先サーバ200は移動先ディスク210を使用する。移動元ディスク110は、移動先サーバ200によって共有されていないとする。
移動元サーバ100の動作環境とは、移動元ディスク110のディスクイメージ10に加えて、移動元サーバ100の実行コンテキストECを含む。実行コンテキストECとは、実行中のプログラムが利用しているCPU中のレジスタの内容や、メインメモリ(RAM)の内容である。つまり、実行コンテキストECは、ある時点における計算機の動作状態(実行状態)を再現することができる情報の束である。
図3は、本実施の形態に係るサーバ動作環境の移動方法を示すフローチャートである。図2及び図3を参照して、本実施の形態に係る動作環境移動方法を説明する。まず、移動元サーバ100の動作が中断される(ステップS10)。これにより、移動元サーバ100による業務が中断する。
次に、移動元ディスク110から移動先ディスク210にコピーされるべきコピーイメージCIに含まれるファイルのリスト(インデックス)が作成される。ここで、コピーイメージCIは、移動元ディスク100のディスクイメージ10の全体の少なくとも一部である。また、作成されるリストは、以下、「コピーリストCL」と参照される。作成されたコピーリストCLは、移動先サーバ200がアクセス可能なディスクに格納される。例えば図2に示されるように、コピーリストCLは、移動先ディスク210に格納される(ステップS20)。更に、移動元サーバ100の実行コンテキストECが、移動先サーバ200にコピーされる。つまり、実行コンテキストECが、移動元サーバ100から移動先サーバ200に移動する(ステップS30)。
次に、移動先サーバ200において動作が再開される(ステップS40)。つまり、移動先サーバ200は、実行コンテキストECを受け取った段階で、中断していた業務を再開する。この段階で、コピーイメージCIの実体は未だコピーされていない。その代わり、コピーイメージCIのファイルリストであるコピーリストCLが、移動先サーバ200がアクセス可能なディスクに格納されている。
その後、移動先サーバ200の業務の最中に、コピーイメージCIが、移動元ディスク110から移動先ディスク210にコピーされる(ステップS50)。コピーイメージCIのコピーは、上記コピーリストCLに基づいて行われる。例えば、コピーイメージCIのコピーは、移動先サーバ200の要求に応答してオンデマンド方式で行われる。また、コピーイメージCIは、移動先サーバ200の動作のバックグラウンドでコピーされてもよい。コピーイメージCIのコピーが完了すると、動作環境の移動処理は終了する。
図4は、従来技術と本発明との比較を示している。従来技術によれば、時刻t0における業務中断の後、ディスクイメージ全体のコピー(ステップS120)及び実行コンテキストのコピー(ステップS130)が実行される。その後、時刻t1において、移動先サーバで業務が再開される。
本発明によれば、時刻t0における業務中断から時刻t1’における業務再開までの間、実行コンテキストECはコピーされる(ステップS30)。しかし、移動元ディスク110上のコピーイメージCIに関しては、そのファイルリストであるコピーリストCLだけが作成され(ステップS20)、コピーイメージCIの実体のコピーは行われない。その段階で、移動先サーバ200において動作が再開される。コピーイメージCIの実体がコピーされないため、業務中断から業務再開までの期間がTAからTBに短縮される。すなわち、業務の中断時間が短縮される。
コピーイメージCIの実体に関しては、移動先サーバ200における動作再開後、業務の最中に、オンデマンド・コピーあるいはバックグラウンド・コピーを行うことが可能である。それは、移動先サーバ200がアクセス可能なようにコピーリストCLが作成されているからである。コピーイメージCIのコピーは、時刻t2に完了する。動作環境(=実行コンテキストEC+コピーイメージCI)全体のコピー時間は長くなる場合があるが、移動先サーバ200の業務開始までの時間は短縮される。このことは、サービス提供の継続性の観点から好ましい。
以下、本発明に係るサーバ動作環境の移動方法に関して詳細に説明する。
2.第1の実施の形態
第1の実施の形態において、移動元サーバ100及び移動先サーバ200は、サーバ仮想化技術によって実現される仮想マシン(VM:Virtual Machine)である。
2−1.構成
図5は、第1の実施の形態に係る構成を示している。図5において、実計算機120及び220が、LAN等のネットワークを介して相互に接続されている。実計算機120は、移動元ディスク110にアクセス可能であり、移動元マシン120と参照される。一方、実計算機220は、移動先ディスク210にアクセス可能であり、移動先マシン220と参照される。
実計算機120、220の各々には、仮想マシンモニタ(VMM:Virtual Machine Monitor)が搭載されている。VMMは、実計算機上で動作するソフトウェアであり、複数のVMを構築、制御することができる。具体的には、移動元マシン120に搭載された移動元VMM130が、仮想サーバである移動元サーバ100を提供し、またその動作を制御する。また、移動先マシン220に搭載された移動先VMM230が、仮想サーバである移動先サーバ200を提供し、またその動作を制御する。移動元サーバ100は移動元ディスク110を使用し、移動先サーバ200は移動先ディスク210を使用する。
本実施の形態においては、移動元サーバ100の動作環境の移動先サーバ200への移動は、移動元VMM130と移動先VMM230の協働によって実現される。そのため、移動元VMM130は、コピーリスト作成モジュール20とコンテキストコピーモジュール30を有している。また、移動先VMM230は、コピー判定モジュール40とコピーモジュール50を有している。
2−2.動作
次に、本実施の形態におけるサーバシステムの動作を説明する。動作環境の移動前、移動元マシン120において、移動元VMM130が移動元サーバ100を構築しており、移動元サーバ100のゲストOS(GOS)が様々な処理を実行している。一方、移動先マシン220において、移動先VMM230は移動先サーバ200の仮想ハードウェア構成を提供することができるが、ゲストOSは未定義であり、その移動先サーバ200は未だ稼動していない。また、VM環境の場合、動作環境の移動に先立って、移動元サーバ100と移動先サーバ200との間でハードウェア構成(IOカードのスロット位置など)の比較を行う必要はない。但し、移動先ディスク210の容量は、移動元ディスク110の容量以上である必要はある。
図3及び図5を参照して、本実施の形態におけるサーバ動作環境の移動方法を説明する。本実施の形態において、コピーイメージCIは、移動元ディスク110のディスクイメージ10の全体である。
ステップS10:
まず、ユーザによる指示に応答して、移動元VMM130は、移動元サーバ100の動作を中断させる。これにより、移動元サーバ100による業務が中断する。
ステップS20:
移動元VMM130のコピーリスト作成モジュール20は、移動元ディスク110上のコピーイメージCIを参照し、コピーリストCLを作成する。コピーリストCLは、コピーイメージCIに含まれるファイルのリストであり、移動先ディスク210へのコピーが必要なファイルのリストである。コピーリスト作成モジュール20は、作成されたコピーリストCLを移動先VMM230に転送する。移動先VMM230は、受け取ったコピーリストCLを移動先ディスク210に格納する。
図6は、コピーリストCLの一例を示している。図6に示されるように、コピーリストCLは、ヘッダ部CL−Hとボディ部CL−Bから構成されている。ヘッダ部CL−Hは、移動元サーバ100に関する情報を示しており、ネットワークアドレス、認証情報、ゲストOS情報などを含んでいる。例えば、ネットワークアドレスは、移動元サーバ100がネットワーク上のどこに存在するかを示し、ゲストOS情報は、移動されるゲストOSのIDを示している。
一方、ボディ部CL−Bは、コピーイメージCIのファイルリストを示している。例えば図6に示されるように、ボディ部CL−Bは、各ファイルに関する名前、格納されているディスクのID、そのディスク内の位置(開始ブロック)、ブロックサイズなどを示している。更に、ボディ部CL−Bは、各ファイルがコピー済か否かを示す「フラグ(コピー情報)」を有している。コピーリストCLの作成時、全てのフラグの状態は「未コピー」に設定されている。
後述されるように、アクセス対象のファイルは、コピーリストCLのボディ部CL−Bから検索される。その検索速度を高めるため、図7に示されるようなハッシュテーブルHTが利用されてもよい。ハッシュテーブルHTには、ハッシュキーとIDが対応付けられている。そのIDは、コピーリストCLのボディ部CL−Bに示されているIDと対応している。このようなハッシュテーブルHTを利用することによって、コピーリストCL上に当該ファイルエントリが存在するか否かを高速に検索することができる。ハッシュテーブルHTが利用される場合、コピーリスト作成モジュール20は、コピーリストCLの作成と同時に、コピーリストCL中のIDに基づいてハッシュテーブルHTを作成する。そして、コピーリスト作成モジュール20は、作成されたハッシュテーブルHTを移動先VMM230に転送する。移動先VMM230は、そのハッシュテーブルHTを移動先サーバ200のRAMに展開する。
ステップS30:
移動元VMM130のコンテキストコピーモジュール30は、移動元サーバ100の実行コンテキストECを、移動先VMM230に送信する。移動先VMM230は、その実行コンテキストECを移動先サーバ200に転送する。このようにして、移動元サーバ100の実行コンテキストECが、移動先サーバ200にコピーされる。この時点で、移動先サーバ200において、ゲストOS(GOS)が定義される。
ステップS40:
移動先VMM230は、移動先サーバ200の動作を再開させる。これにより、移動先サーバ200において、中断されていた業務が再開する。
ステップS50:
その後、移動先サーバ200の業務の最中に、コピーイメージCIが、移動元ディスク110から移動先ディスク210にコピーされる。コピーイメージCIのコピーは、オンデマンドあるいは/及びバックグラウンドで行われる。図8A及び図8Bは、ステップS50における処理を詳しく示すフローチャートである。
ステップS51:
図8Aに示されるオンデマンド・コピーの場合、まず、動作中のプログラム(例えば、ゲストOS)から移動先ディスク210へのアクセス(リード要求)が発生する。この時、後述のバックグラウンド・コピーは、一時中断される。
ステップS52:
移動先VMM230のコピー判定モジュール40は、アクセス対象である対象データの実体が移動先ディスク210に存在するか否かの判定を行う。本実施の形態において、コピー判定モジュール40は、上述のコピーリストCLを参照し、そのコピーリストCLに基づいて判定を行う。
具体的には、コピー判定モジュール40は、対象データがコピーリストCLに含まれているかを調べる。ここで、コピー判定モジュール40は、ハッシュテーブルHTを利用し、ハッシュテーブルHTにおいて当該ファイルがヒットするか否かを調べてもよい。対象データがコピーリストCLに含まれている場合、コピー判定モジュール40は、その対象データに対応するフラグを調べる(図6参照)。コピー判定モジュール40は、そのフラグが「コピー済」あるいは「未コピー」かによって、対象データの実体が移動先ディスク210に存在するか否かを判定することができる。
ステップS53:
フラグが「コピー済」の場合(ステップS53;No)、対象データは既にコピーされている。従って、移動先ディスク210上の指定されたブロックから、対象データが読み出される(ステップS56)。読み出されたデータは、データの要求元に返される。一方、フラグが「未コピー」の場合(ステップS53;Yes)、対象データは未だコピーされていない。つまり、未コピー領域へのアクセスが発生していることがわかる。その場合、処理は、ステップS54に移行する。
ステップS54:
移動先VMM230は、移動元VMM130に対して通信を行い、対象データのコピーを要求する。具体的には、移動先VMM230のコピーモジュール50は、コピーリストCLのヘッダ部CL−H及びボディ部CL−Bを参照し、移動元や対象データの格納情報を認識する(図6参照)。そして、コピーモジュール50は、それら情報に基づいて、移動元VMM130に対して対象データのコピーを要求する。そのコピー要求に応答して、移動元VMM130は、コピーイメージCI中の対象データを移動元ディスク110から読み出し、読み出された対象データを移動先VMM230に返す。移動先VMM230は、対象データを、移動先ディスク210上の指定されたブロックに書き込む。このようにして、対象データの実体が、移動元ディスク110から移動先ディスク210にコピーされる。
ステップS55:
対象データが移動先ディスク210にコピーされると、コピーモジュール50は、コピーリストCLを更新する。つまり、コピーモジュール50は、対象データに対応するフラグを、「未コピー」から「コピー済」に変更する。その後、移動先ディスク210上の指定されたブロックから、対象データが読み出される(ステップS56)。
バックグラウンド・コピーは、上記オンデマンド・コピーを補完する役割を果たす。コピーイメージCIにはなかなかアクセスされないファイルも含まれるため、オンデマンドコピーだけでは、コピーイメージCI全体のコピーが終了するまでの時間が長くなる可能性がある。バックグラウンド・コピーを併用することによって、コピーイメージCI全体のコピー時間が短縮される。バックグラウンド・コピーは、移動先VMM230によって同様に行われ得る。
ステップS57:
図8Bに示されるバックグラウンド・コピーの場合、移動先VMM230が、開始要求を発行する。例えば移動先VMM230が、システム負荷をモニタし、システム負荷が軽い場合にコピー判定モジュール40に対してバックグラウンド・コピーの開始を指示する。
ステップS58:
コピー判定モジュール40は、コピーリストCLを参照し、ファイルリストの先頭からファイルを選択する。
その後は、オンデマンド・コピーの場合と同様である。コピー判定モジュール40は、コピーリストCL中の選択されたファイルに対応するフラグを調べる(ステップS52)。フラグが「コピー済」の場合(ステップS53;No)、処理はステップS58に戻り、次のファイルが選択される。フラグが「未コピー」の場合(ステップS53;Yes)、上述のステップS54、S55が実行される。ステップS55が終わると、処理はステップS58に戻り、次のファイルが選択される。オンデマンド・コピーが発生したり、システム負荷が重くなった場合、移動先VMM230は、バックグラウンド・コピーを中断させる。
このようにして、移動先サーバ200の業務の途中に、コピーイメージCIを移動元ディスク110から移動先ディスク210にコピーすることが可能となる。従って、移動元サーバ100の動作中断から移動先サーバ200における動作再開までの間に、コピーイメージCIの実体をコピーする必要はない。その結果、業務の中断時間が短縮される。尚、本実施の形態において、移動元VMM130や移動先VMM230が行っていた処理は、所定の管理VM(仮想管理サーバ)によって実行されてもよい。
3.第2の実施の形態
第2の実施の形態において、移動元サーバ100及び移動先サーバ200は、実計算機によって実現される。尚、第1の実施の形態と同じ構成には同じ符号が付され、重複する説明は適宜省略される。
3−1.構成
図9は、第2の実施の形態に係る構成を示している。本実施の形態に係るサーバシステムは、LAN等のネットワークを介して相互に接続された移動元サーバ100、移動先サーバ200、及び管理サーバ300を備えている。管理サーバ300は、サーバ全体の管理を行うサーバである。移動元ディスク110は移動元サーバ100に直結されており、移動先ディスク210は移動先サーバ200に直結されている。管理サーバ300は、移動元ディスク110と移動先ディスク210の両方にアクセス可能である。
本実施の形態において、管理サーバ300が、コピーリスト作成モジュール20及びコンテキストコピーモジュール30を有している。これらモジュール20、30は、演算処理装置とソフトウェアの協働によって実現される。
また、本実施の形態において、移動先サーバ200が、コピー判定モジュール40及びコピーモジュール50を有している。例えば、移動先サーバ200には、ファームウェアが格納されたROM60が搭載されている。そのROM60に格納されたファームウェアによって、コピー判定モジュール40及びコピーモジュール50が実現される。
3−2.動作
次に、本実施の形態におけるサーバシステムの動作を説明する。動作環境の移動に先立って、移動元サーバ100と移動先サーバ200との間でハードウェア構成(IOカードのスロット位置など)の比較が行われ、ディスクイメージの継承が可能であることが確認される。
図3及び図9を参照して、本実施の形態におけるサーバ動作環境の移動方法を説明する。本実施の形態において、コピーイメージCIは、移動元ディスク110のディスクイメージ10の全体である。
ステップS10:
まず、ユーザあるいは管理サーバ300によって、移動元サーバ100の動作が中断される。これにより、移動元サーバ100による業務が中断する。
ステップS20:
管理サーバ300のコピーリスト作成モジュール20は、移動元ディスク110上のコピーイメージCIにアクセスし、コピーリストCLを作成する。コピーリスト作成モジュール20は、作成されたコピーリストCLを移動先ディスク210に格納する。また、コピーリスト作成モジュール20は、コピーリストCLの作成と同時に、ハッシュテーブルHTを作成してもよい。その場合、コピーリスト作成モジュール20は、作成されたハッシュテーブルHTを移動先サーバ200のRAMに展開する。
ステップS30:
管理サーバ300のコンテキストコピーモジュール30は、移動元サーバ100にアクセスし、移動元サーバ100の実行コンテキストECを得る。そして、コンテキストコピーモジュール30は、その実行コンテキストECを移動先サーバ200に送る。このようにして、移動元サーバ100の実行コンテキストECが、移動先サーバ200にコピーされる。
ステップS40:
移動先サーバ200において、動作が開始し、中断されていた業務が再開する。ROM60中のコピー判定モジュール40及びコピーモジュール50も動作を開始する。
ステップS50:
その後、移動先サーバ200の業務の最中に、コピーイメージCIが、移動元ディスク110から移動先ディスク210にコピーされる。そのコピーにおける処理フローは、既出の図8A及び図8Bに示されたフローと同様である。
ステップS51:
まず、動作中のOSあるいはプログラムから移動先ディスク210へのアクセス(リード要求)が発生する。この時、バックグラウンド・コピーは、一時中断される。
ステップS52:
アクセスが発生すると、コピー判定モジュール40は、アクセス対象である対象データの実体が移動先ディスク210に存在するか否かの判定を行う。具体的には、コピー判定モジュール40は、上述のコピーリストCLを参照し、対象データに対応するフラグに基づいて判定を行う。この際、ハッシュテーブルHTが利用されてもよい。
ステップS53:
フラグが「コピー済」の場合(ステップS53;No)、移動先ディスク210上の指定されたブロックから、対象データが読み出される(ステップS56)。読み出されたデータは、データの要求元に返される。一方、フラグが「未コピー」の場合(ステップS53;Yes)、処理は、ステップS54に移行する。
ステップS54:
移動先サーバ200のコピーモジュール50は、コピーリストCLのヘッダ部CL−H及びボディ部CL−Bを参照し、移動元や対象データの格納情報を認識する(図6参照)。そして、コピーモジュール50は、それら情報に基づいて、対象データのコピーを指示する。
例えば、コピーモジュール50は、管理サーバ300に対して、対象データのコピーを要求する。管理サーバ300は、そのコピー要求に基づいて移動元ディスク110にアクセスし、コピーイメージCIから対象データを読み出す。そして、管理サーバ300は、移動先ディスク210にアクセスし、指定されたブロックに対象データを書き込む。このようにして、対象データの実体が、移動元ディスク110から移動先ディスク210にコピーされる。
あるいは、対象データのコピーは、移動先サーバ200と移動元サーバ100との間のRPC(Remote Procedure Call)通信によって実現されてもよい。コピーモジュール50は、移動元サーバ100に対して、対象データのコピーを要求する。そのコピー要求に応答して、移動元サーバ100のOSは一時動作再開し、移動元ディスク110上のコピーイメージCIから対象データを読み出す。移動元サーバ100のOSは、読み出された対象データを、移動先サーバ200に送り返す。コピーモジュール50は、対象データを、移動先ディスク210上の指定されたブロックに書き込む。このようにして、対象データの実体が、移動元ディスク110から移動先ディスク210にコピーされる。
尚、このRPC通信の場合、移動先サーバ200が、対象データの具体的な場所やサイズを認識する必要はない。それは、移動元サーバ100が対象データの具体的な場所やサイズを認識しているからである。よって、本実施の形態において作成されるコピーリストCLは、図10に示されるように簡素化されてもよい。図6に示されたコピーリストCLと比較して、ディスクID、開始ブロック、サイズが省略されている。図10に示されるコピーリストCLは、ファイル名とフラグ(コピー情報)との対応関係を示している。この場合、コピーリストCLのサイズが縮小され、好適である。コピーモジュール50は、ファイル名を指定することによって、移動元サーバ100に対して対象データのコピーを要求する。
ステップS55:
対象データコピーが完了すると、コピーモジュール50は、対象データに対応するフラグを、「未コピー」から「コピー済」に変更する。その後、移動先ディスク210上の指定されたブロックから、対象データが読み出される(ステップS56)。
ステップS57:
バックグラウンド・コピーは、上記オンデマンド・コピーを補完する役割を果たす。移動先サーバ200のOSは、開始要求を発行する。例えばそのOSが、システム負荷をモニタし、システム負荷が軽い場合にコピー判定モジュール40に対してバックグラウンド・コピーの開始を指示する。
ステップS58:
コピー判定モジュール40は、コピーリストCLを参照し、ファイルリストの先頭からファイルを選択する。
その後は、オンデマンド・コピーの場合と同様である。コピー判定モジュール40は、コピーリストCL中の選択されたファイルに対応するフラグを調べる(ステップS52)。フラグが「コピー済」の場合(ステップS53;No)、処理はステップS58に戻り、次のファイルが選択される。フラグが「未コピー」の場合(ステップS53;Yes)、上述のステップS54、S55が実行される。ステップS55が終わると、処理はステップS58に戻り、次のファイルが選択される。オンデマンド・コピーが発生したり、システム負荷が重くなった場合、OSは、バックグラウンド・コピーを中断させる。
このようにして、移動先サーバ200の業務の途中に、コピーイメージCIを移動元ディスク110から移動先ディスク210にコピーすることが可能となる。従って、移動元サーバ100の動作中断から移動先サーバ200における動作再開までの間に、コピーイメージCIの実体をコピーする必要はない。その結果、業務の中断時間が短縮される。
4.第3の実施の形態
4−1.概念
既出の実施の形態では、ステップS50においてコピーされるコピーイメージCIは、ディスクイメージ10の全てであった。それに対し、第3の実施の形態では、ディスクイメージ10の一部が、業務中断前にあらかじめ移動先ディスク210に配布される。そして、業務再開後のステップS50においては、残りのイメージだけがコピーされる。例えば、移動元サーバ100におけるOSのインストール直後の汎用的なイメージが、移動先となり得る候補に予め配布される。その場合、OSインストール後の変更部分が、ステップS50において、コピーイメージCIとしてコピーされる。
より一般化すると、次の通りである。図11は、本実施の形態におけるディスクイメージ10の分割を概念的に示している。ディスクイメージ10は、第1のイメージ11と第2のイメージ12に区分けされる。第1のイメージ11は、コピーイメージCIの作成の基準となるイメージであり、「ベースイメージBI」と参照される。このベースイメージBIが、業務中断前に、移動先となり得る候補に予め配布される。一方、第2のイメージ12は、ディスクイメージ10とベースイメージBIとの差分である。ベースイメージBIの作成後に追加された部分、及び、ベースイメージBI中で変更された部分が、第2のイメージ12に含まれる。この第2のイメージ12が、ステップS50においてコピーイメージCIとしてコピーされる。
図12は、本実施の形態に係るサーバ動作環境の移動方法を示すフローチャートである。以下の説明において、既出の実施の形態と重複する部分は適宜省略される。
本実施の形態において、上述のステップS10より前に、新たにステップS0が設けられている。つまり、ステップS10より前のあるタイミングで、ベースイメージBIが作成される。そのベースイメージBIは、移動元ディスク110のディスクイメージ10の一部である。作成されたベースイメージBIは、所定のディスクに保管される。そして、ステップS10より前の段階で、そのベースイメージBIは、移動先サーバ200の移動先ディスク210に予め配布される。
コピーイメージCIもディスクイメージ10の一部である。このコピーイメージCIは、ステップS10の段階でのディスクイメージ10と上記ベースイメージBIとの差分である。ベースイメージBIの作成後に追加された部分、及び、ベースイメージBI中で変更された部分が、コピーイメージCIに含まれる。ステップS20においては、そのコピーイメージCIに関するコピーリストCLが作成される。ステップS50においては、そのコピーリストCLを参照することにより、コピーイメージCIがコピーされる。
本実施の形態によれば、既出の実施の形態と比較して、コピーイメージCIのサイズが縮小される。その結果、ステップS50に要する時間が短縮される。言い換えれば、図4で示された期間t0〜t2が短縮され、動作環境全体のコピーが完了するまでの期間が短縮される。尚、本実施の形態は、既出の実施の形態のいずれとも組み合わせることが可能である。以下、具体的な例を挙げて、本実施の形態を更に詳しく説明する。
4−2.構成
図13は、本実施の形態に係る構成の一例を示している。図13に示された構成は、第1の実施の形態で示された構成(VM環境)に対応している。移動元VMM130は、更に、ベースイメージ作成モジュール70とベースイメージ配布モジュール80を有している。ベースイメージ作成モジュール70は、ベースイメージBIを作成する。ベースイメージ配布モジュール80は、そのベースイメージBIを移動先ディスク210に配布する。
図14は、本実施の形態に係る構成の他の例を示している。図14に示された構成は、第2の実施の形態で示された構成(実計算機環境)に対応している。図14においては、管理サーバ300が、ベースイメージ作成モジュール70とベースイメージ配布モジュール80を有している。これらモジュール70、80は、演算処理装置とソフトウェアの協働によって実現される。
4−3.動作例
図12〜図14を参照して、本実施の形態におけるサーバ動作環境の移動方法を説明する。本実施の形態において、コピーイメージCIは、移動元ディスク110のディスクイメージ10の一部である。
ステップS0:
ステップS10より前に、ベースイメージ作成モジュール70は、移動元ディスク110にアクセスし、ベースイメージBIを作成する。このベースイメージBIは、現時点でのディスクイメージ10のバックアップであると言える。作成されたベースイメージBIは、所定のディスクに格納される。例えば、作成されたベースイメージBIは、移動元ディスク110に格納される。
あるいは、ベースイメージ作成モジュール70は、バックアップとしてのベースイメージBIを作成する代わりに、現時点でのディスクイメージ10のファイルのリストを作成してもよい。図15は、そのようなファイルリスト(以下、「ベースリストBL」と参照される)を示している。ベースリストBLは、ステップS0の時点における移動元ディスク110のディスクイメージ10に含まれるファイルをリスト形式で示している。
その後、移動元サーバ100の動作は継続し、移動元ディスク110上でファイルの追加・変更が行われる。
また、ステップS10以前のあるタイミングで、ベースイメージ配布モジュール80は、ベースイメージBIを読み出し、そのベースイメージBIを移動先となり得る候補に配布する。バックアップとしてのベースイメージBIが存在する場合、ベースイメージ配布モジュール80は、そのベースイメージBIをそのまま読み出す。一方、図15に示されたベースリストBLが作成されている場合、ベースイメージ配布モジュール80は、そのベースリストBLを参照して、移動元ディスク110からベースイメージBIに相当する部分を読み出す。図13に示されたVM環境の場合、移動元VMM130のベースイメージ配布モジュール80は、ベースイメージBIを移動先VMM230に送る。移動先VMM230は、そのベースイメージBIを移動先ディスク210に格納する。図14に示された実計算機環境の場合、管理サーバ300のベースイメージ配布モジュール80は、ベースイメージBIを移動先ディスク210に直接書き込むことができる。
ステップS10:
その後、ステップS10において、移動元サーバ100の動作が中断する。この時点でのディスクイメージ10と上記ベースイメージBIとの差分が、コピーイメージCIとなる。ステップS0後に追加された部分、及び、ベースイメージBI中で変更された部分が、コピーイメージCIに含まれる。
図16は、ベースイメージBIとコピーイメージCIに関する様々なパターンを示している。例えばパターン(a)の場合、移動元サーバ100におけるOSインストール直後のディスクイメージが、ベースイメージBIとして利用される。つまり、OSインストール直後に上記ステップS0が実行される。この場合のベースイメージBIは汎用的であり、移動先候補への配布が容易となる。一方、OSインストール後の追加・変更部分が、コピーイメージCIとなる。その追加・変更部分は、移動元ディスク110上のログファイルLOGに記録される。コピーイメージCIのファイルリストであるコピーリストCLは、そのログファイルLOGから作成することができる。
パターン(b)の場合、アプリケーションのインストール、業務・ユーザ設定が完了した時点におけるディスクイメージが、ベースイメージBIとして利用される。つまり、アプリケーションのインストール、業務・ユーザ設定が完了した時点で、上記ステップS0が実行される。そして、その後の追加・変更部分がコピーイメージCIとなる。その追加・変更部分は、移動元ディスク110上のログファイルLOGに記録される。この場合のベースイメージBIは、移動元サーバ100の業務に特化している。しかし、パターン(a)の場合と比較して、ステップS50でコピーされるコピーイメージCIのサイズが、より縮小されている。
パターン(c)の場合、移動元サーバ100の運用中の所定のタイミングが、“起点(ステップS0)”となる。その起点におけるディスクイメージが、スプリットミラー機能等によって瞬時に取り込まれ、ベースイメージBIとして利用される。そして、その起点以降の追加・変更部分がコピーイメージCIとなる。同様に、その追加・変更部分は、移動元ディスク110上のログファイルLOGに記録される。このパターン(c)の場合、ステップS50でコピーされるコピーイメージCIのサイズが、最も縮小されている。
ステップS0後、ログファイルLOGを作成するための方法の一例を、以下に説明する。図17は、ステップS0以降のディスクイメージの変更の一例を、概念的に示している。あるファイル/a/file1が削除される一方、他のファイル/b/c及び/b/c/file3が作成されている。図18は、図17で示された変更に対応する動作シーケンスの一例を示している。
1./a/file1に対する書き込み
2./a/file1の削除
3./a/file2に対する読み込み
4./b/cの作成
5./b/c/file3の作成
6./b/c/file3に対する書き込み
図18には、上記動作シーケンスに応じて作成されるログファイルLOGも示されている。ログファイルLOGの各エントリには、操作コードopとファイル名が対応付けられて格納される。操作コードopは、「M(modify)」あるいは「D(delete)」に設定される。書き込みの場合、ファイルの内容が変更されるため、「M」が選択される。読み込みの場合、ファイルの内容は変更されないため、ログファイルLOGに記録を残す必要はない。ファイルの削除の場合、「D」が選択される。ファイルの作成の場合、「M」が選択される。ファイルの移動の場合、移動元のファイルに関しては「D」が選択され、移動先のファイルに関しては「M」が選択される。このようにして、移動元ディスク110上のファイルに対する操作の履歴を示すログファイルLOGが作成される。
ステップS20:
コピーリスト作成モジュール20は、コピーイメージCIに含まれるファイルのリストであるコピーリストCLを作成する。ここで、上述のログファイルLOGは、ベースイメージBIの作成(ステップS0)から業務中断(ステップS10)までのファイルの変更情報を示している。従って、コピーリスト作成モジュール20は、ログファイルLOGを参照し解析することによって、コピーリストCLを作成することができる。
図19は、図18に示されたログファイルLOGからコピーリストCLが作成される例を示している。コピーリストCLにおいて、1つのファイルに1つのエントリが割り当てられている。ファイル名は、ログファイルLOGに現れるファイル名がそのまま使用されている。ログファイルLOGに同じファイル名で複数のエントリが存在する場合、ログファイルLOG中で最後に現れるエントリが参照される。
例えば、ファイル/a/file1に関しては、ログファイルLOG中のエントリ「D,/a/file1」が参照される。操作コードopが「D」の場合、コピーリストCL中のIDとして「−1」が割り振られる。ファイル/b/cに関しては、ログファイルLOG中のエントリ「M,/b/c」が参照される。操作コードopが「M」の場合、コピーリストCL中のIDとして「固有ID」が割り振られる。この場合、固有IDは「1」である。ファイル/b/c/file3に関しては、ログファイルLOG中のエントリ「M,/b/c/file3」が参照される。この場合、固有IDとして「2」が割り振られる。全てのフラグは、初期状態として「未コピー」に設定される。
このようにして、コピーリストCLが作成される。図19において、コピーリストCLの各エントリは、割り当てられたIDと、ファイル名と、フラグとを有している。更に、コピーリストCL中のIDに基づいて、上述のハッシュテーブルHTを作成することも可能である。
ステップS50におけるバックグラウンドコピーにおいて、IDが「−1」であるファイルは、移動先ディスク210から削除される。他の処理に関しては、既出の実施の形態と同様である。
尚、VM環境では、ある時点のイメージとそれ以降の変更部分を分けて管理する技術として、「VMware nonpersistent mode」や「UnionFS」といった機能も知られている。それら機能を利用することによって、ベースイメージBIとコピーイメージCIの管理が行われてもよい。
他の例として、図20は、ベースイメージBIとコピーイメージCIの分割が、移動元ディスク110のファイル管理によって実現される例を示している。図20に示されるように、移動元ディスク110は、第1の領域91と第2の領域92に分けて管理されている。第1の領域91には、プログラム等の変更されないファイルだけが格納される。一方、第2の領域92には、アプリケーションデータ等の変更され得るファイルが格納される。ファイルの書き換えは、第2の領域92に対してだけ実行される。この場合、第1の領域91のディスクイメージが、ベースイメージBIとして利用されるとよい。また、第2の領域92のディスクイメージが、コピーイメージCIとしてコピーされるとよい。この場合、変更部分を追跡するためのログファイルLOGは不要となる。また、コピーリスト作成モジュール20は、第2の領域92にアクセスすることによって、コピーリストCLを作成することができる。
本実施の形態によれば、既出の実施の形態と同じ効果が得られる。すなわち、業務の中断時間が短縮される。更に、ステップS50においてコピーすべき量が減少するため、図4における期間t0〜t2が短縮されるという追加的な効果が得られる。言い換えれば、動作環境全体のコピーが完了するまでの期間が短縮される。
図1は、従来技術に係るサーバ動作環境の移動方法を示すフローチャートである。 図2は、本発明に係るサーバシステムの構成を概略的に示すブロック図である。 図3は、本発明に係るサーバ動作環境の移動方法を示すフローチャートである。 図4は、本発明の効果を説明するための図である。 図5は、本発明の第1の実施の形態に係るサーバシステムの構成を示すブロック図である。 図6は、コピーリストの一例を示す概念図である。 図7は、ハッシュテーブルの一例を示す概念図である。 図8Aは、本実施の形態におけるコピーイメージのコピー方法を示すフローチャートである。 図8Bは、本実施の形態におけるコピーイメージのコピー方法を示すフローチャートである。 図9は、本発明の第2の実施の形態に係るサーバシステムの構成を示すブロック図である。 図10は、コピーリストの一例を示す概念図である。 図11は、本発明の第3の実施の形態におけるディスクイメージを示す概念図である。 図12は、第3の実施の形態に係るサーバ動作環境の移動方法を示すフローチャートである。 図13は、第3の実施の形態に係るサーバシステムの構成の一例を示すブロック図である。 図14は、第3の実施の形態に係るサーバシステムの構成の他の例を示すブロック図である。 図15は、第3の実施の形態におけるベースリストの一例を示す概念図である。 図16は、第3の実施の形態におけるベースイメージとコピーイメージの例を示す概念図である。 図17は、ディスクイメージの追加・変更の例を示す概念図である。 図18は、ログファイルの作成例を示す概念図である。 図19は、ログファイルからコピーリストを作成する例を示す概念図である。 図20は、第3の実施の形態におけるベースイメージをコピーイメージの他の例を示す概念図である。
符号の説明
1 サーバシステム
10 ディスクイメージ
11 第1のイメージ、ベースイメージ
12 第2のイメージ、コピーイメージ
20 コピーリスト作成モジュール
30 コンテキストコピーモジュール
40 コピー判定モジュール
50 コピーモジュール
60 ROM
70 ベースイメージ作成モジュール
80 ベースイメージ配布モジュール
100 移動元サーバ
110 移動元ディスク
120 移動元マシン
130 移動元VMM
200 移動先サーバ
210 移動先ディスク
220 移動先マシン
230 移動先VMM
300 管理サーバ
BI ベースイメージ
CI コピーイメージ
CL コピーリスト
CL−H ヘッダ部
CL−B ボディ部
EC 実行コンテキスト
GOS ゲストOS
HT ハッシュテーブル
LOG ログファイル

Claims (22)

  1. 第1ディスクを使用する第1計算機の動作環境を、第2ディスクを使用する第2計算機に移動させる動作環境移動方法であって、
    (A)前記第1計算機の動作を中断するステップと、
    (B)前記(A)ステップの後、前記第1ディスクのディスクイメージの少なくとも一部であるコピーイメージに含まれるファイルのリストを作成するステップと、
    (C)前記(A)ステップの後、前記第1計算機の実行コンテキストを、前記第2計算機にコピーするステップと、
    (D)前記(B)、(C)ステップの後、前記第2計算機において前記動作を再開させるステップと、
    (E)前記(D)ステップの後、前記リストを参照して、前記コピーイメージを前記第1ディスクから前記第2ディスクにコピーするステップと
    を有する
    動作環境移動方法。
  2. 請求項1に記載の動作環境移動方法であって、
    前記コピーイメージは、前記ディスクイメージの全てである
    動作環境移動方法。
  3. 請求項1に記載の動作環境移動方法であって、
    更に、(F)前記(A)ステップより前に、前記ディスクイメージの一部をベースイメージとして前記第2計算機に配布するステップを有し、
    前記コピーイメージは、前記ディスクイメージと前記ベースイメージとの差分である
    動作環境移動方法。
  4. 請求項3に記載の動作環境移動方法であって、
    前記(F)ステップは、
    (F1)前記(A)ステップより前のあるタイミングで、前記ベースイメージを作成するステップと
    (F2)前記作成されたベースイメージを前記第2計算機に配布するステップと
    を含み、
    前記(B)ステップにおいて、前記リストは、前記(F1)ステップから前記(A)ステップまでの間のファイルの変更情報を示すログファイルに基づいて作成される
    動作環境移動方法。
  5. 請求項4に記載の動作環境移動方法であって、
    前記あるタイミングは、前記第1計算機におけるOSのインストール直後である
    動作環境移動方法。
  6. 請求項1乃至5のいずれかに記載の動作環境移動方法であって、
    前記(B)ステップにおいて、前記作成されたリストは、前記第2ディスクに格納される
    動作環境移動方法。
  7. 請求項1乃至6のいずれかに記載の動作環境移動方法であって、
    前記(E)ステップにおいて、前記コピーイメージは、前記第2計算機の動作のバックグラウンドでコピーされる
    動作環境移動方法。
  8. 請求項1乃至6のいずれかに記載の動作環境移動方法であって、
    前記(E)ステップにおいて、前記コピーイメージは、前記第2計算機の要求に応答してオンデマンド方式でコピーされる
    動作環境移動方法。
  9. 請求項7又は8に記載の動作環境移動方法であって、
    前記(E)ステップは、
    (E1)前記第2計算機が前記第2ディスクへのアクセスする際、アクセス対象である対象データの実体が存在するか否かの判定を行うステップと、
    (E2)前記対象データの実体が存在しない場合、前記リストを参照して、前記コピーイメージ中の前記対象データを、前記第1ディスクから前記第2ディスクにコピーするステップと
    を含む
    動作環境移動方法。
  10. 請求項9に記載の動作環境移動方法であって、
    前記リストは、前記コピーイメージに含まれる各ファイルがコピー済か否かを示すコピー情報を有し、
    前記(E1)ステップにおいて、前記リスト中の前記対象データに対応する前記コピー情報に基づいて前記判定が行われ、
    前記(E2)ステップにおいて、前記対象データに対応する前記コピー情報がコピー済に変更される
    動作環境移動方法。
  11. ディスクへのアクセス時、アクセス対象である対象データの実体が存在するか否かの判定を行うコピー判定モジュールと、
    前記対象データの実体が存在しない場合、前記対象データが格納された移動元ディスクにアクセス可能な装置に対して、前記ディスクへの前記対象データのコピーを要求するコピーモジュールと
    を備える
    計算機。
  12. 請求項11に記載の計算機であって、
    前記ディスクには、コピーが必要なファイルのリストが格納されており、前記リストは、前記ファイルの各々がコピー済か否かを示すコピー情報を有し、
    前記コピー判定モジュールは、前記リスト中の前記対象データに対応する前記コピー情報に基づいて前記判定を行い、
    前記コピーモジュールは、前記対象データのコピーが完了した後、前記対象データに対応する前記コピー情報をコピー済に変更する
    計算機。
  13. 請求項12に記載の計算機であって、
    前記コピー判定モジュールは、前記リストに対応付けられたハッシュテーブルを利用することによって、前記リストから前記対象データに関する情報の検索を行う
    計算機。
  14. 請求項11乃至13のいずれかに記載の計算機であって、
    仮想マシンと、
    前記仮想マシンを制御する仮想マシンモニタと
    を具備し、
    前記仮想マシンモニタが、前記コピー判定モジュールと前記コピーモジュールを有する
    計算機。
  15. 第1ディスクを使用する第1計算機の動作環境を、第2ディスクを使用する第2計算機に移動させる計算機システムであって、
    前記第1計算機の動作中断後、前記第1ディスクのディスクイメージの少なくとも一部であるコピーイメージに含まれるファイルのリストを作成するコピーリスト作成モジュールと、
    前記第1計算機の動作中断後、前記第1計算機の実行コンテキストを、前記第2計算機にコピーするコンテキストコピーモジュールと
    を備え、
    前記作成されたリストは前記第2ディスクに格納される
    計算機システム。
  16. 請求項15に記載の計算機システムであって、
    前記コピーイメージは、前記ディスクイメージの全てである
    計算機システム。
  17. 請求項15に記載の計算機システムであって、
    更に、
    前記第1計算機の動作中断より前に、前記ディスクイメージの一部をベースイメージとして作成するベースイメージ作成モジュールと、
    前記第1計算機の動作中断より前に、前記ベースイメージを前記第2計算機に配布するベースイメージ配布モジュールと
    を備え、
    前記コピーイメージは、前記ディスクイメージと前記ベースイメージとの差分である
    計算機システム。
  18. 請求項17に記載の計算機システムであって、
    前記コピーリスト作成モジュールは、前記ベースイメージの作成から前記動作中断までの間のファイルの変更情報を示すログファイルに基づいて、前記コピーリストを作成する
    計算機システム。
  19. 請求項15乃至18のいずれかに記載の計算機システムであって、
    前記第1ディスクにアクセス可能な第1実計算機と、
    ネットワークを介して前記第1実計算機に接続され、前記第2ディスクにアクセス可能な第2実計算機と
    を具備し、
    前記第1計算機は、前記第1実計算機上で動作する第1仮想マシンモニタによって提供される仮想マシンであり、
    前記第2計算機は、前記第2実計算機上で動作する第2仮想マシンモニタによって提供される仮想マシンであり、
    前記第1仮想マシンモニタが、前記コピーリスト作成モジュール及び前記コンテキストコピーモジュールを有し、
    前記第1仮想マシンモニタは、前記第2仮想マシンモニタを介して、前記作成されたリスト及び前記実行コンテキストを前記第2ディスク及び前記第2計算機にコピーする
    計算機システム。
  20. 請求項15乃至18のいずれかに記載の計算機システムであって、
    ネットワークを介して前記第1計算機及び前記第2計算機に接続され、前記第1ディスク及び前記第2ディスクにアクセス可能な管理計算機を具備し、
    前記管理計算機が、前記コピーリスト作成モジュール及び前記コピーモジュールを有し、
    前記管理計算機は、前記作成されたリスト及び前記実行コンテキストを前記第2ディスク及び前記第2計算機にコピーする
    計算機システム。
  21. (a)第1ディスク上のファイルに対する操作の履歴を示すログファイルを解析するステップと、
    (b)前記履歴のうち最後に行われた前記操作がModifyの場合、当該ファイルに固有IDを割り当てるステップと、
    (c)前記割り当てられた固有IDと、当該ファイルの名前と、当該ファイルが第2ディスクにコピー済か否かを示すコピー情報とを含むエントリからなるリストを作成するステップと
    をコンピュータに実行させるためのプログラム。
  22. 請求項21に記載のプログラムであって、
    更に、(d)前記リスト中の固有IDに基づいて、前記リストの検索に用いられるハッシュテーブルを作成するステップ
    をコンピュータに実行させるためのプログラム。
JP2006204286A 2006-07-27 2006-07-27 計算機システム、計算機および計算機動作環境の移動方法 Pending JP2008033483A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006204286A JP2008033483A (ja) 2006-07-27 2006-07-27 計算機システム、計算機および計算機動作環境の移動方法
US11/878,768 US20080028402A1 (en) 2006-07-27 2007-07-26 Method of setting operation environment and computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006204286A JP2008033483A (ja) 2006-07-27 2006-07-27 計算機システム、計算機および計算機動作環境の移動方法

Publications (1)

Publication Number Publication Date
JP2008033483A true JP2008033483A (ja) 2008-02-14

Family

ID=38987918

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006204286A Pending JP2008033483A (ja) 2006-07-27 2006-07-27 計算機システム、計算機および計算機動作環境の移動方法

Country Status (2)

Country Link
US (1) US20080028402A1 (ja)
JP (1) JP2008033483A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012053869A (ja) * 2011-08-09 2012-03-15 Toshiba Corp 情報処理装置及びクライアント管理方法
JP2012221321A (ja) * 2011-04-11 2012-11-12 Nec Corp フォールトトレラント計算機システム、フォールトトレラント計算機システムの制御方法、及びフォールトトレラント計算機システムの制御プログラム
JP2013073289A (ja) * 2011-09-27 2013-04-22 Nec Corp 多重化システム、データ通信カード、状態異常検出方法、及びプログラム
US9021481B2 (en) 2012-03-27 2015-04-28 Fujitsu Limited Computer-readable recording medium, migration control method and control device
US9183060B2 (en) 2011-08-11 2015-11-10 Fujitsu Limited Computer product, migration executing apparatus, and migration method
JP7469524B2 (ja) 2020-06-23 2024-04-16 中興通訊股▲ふん▼有限公司 クラウドプラットフォーム間の仮想マシン移行方法、装置、記憶媒体及び電子機器

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7484208B1 (en) * 2002-12-12 2009-01-27 Michael Nelson Virtual machine migration
US9171024B1 (en) * 2009-03-31 2015-10-27 Symantec Corporation Method and apparatus for facilitating application recovery using configuration information
US8898668B1 (en) 2010-03-31 2014-11-25 Netapp, Inc. Redeploying baseline virtual machine to update a child virtual machine by creating and swapping a virtual disk comprising a clone of the baseline virtual machine
US8407804B2 (en) * 2010-09-13 2013-03-26 Sophos Plc System and method of whitelisting parent virtual images
US10289453B1 (en) * 2010-12-07 2019-05-14 Amazon Technologies, Inc. Allocating computing resources
US8689214B2 (en) * 2011-03-24 2014-04-01 Amazon Technologies, Inc. Replication of machine instances in a computing environment
US8577842B1 (en) 2011-09-19 2013-11-05 Amazon Technologies, Inc. Distributed computer system snapshots and instantiation thereof
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
US8631423B1 (en) * 2011-10-04 2014-01-14 Symantec Corporation Translating input/output calls in a mixed virtualization environment
US20130283267A1 (en) * 2012-04-23 2013-10-24 Hewlett-Packard Development Company Lp Virtual machine construction
US9361192B2 (en) * 2012-10-19 2016-06-07 Oracle International Corporation Method and apparatus for restoring an instance of a storage server
CN107533478A (zh) * 2015-07-31 2018-01-02 慧与发展有限责任合伙企业 计算机系统的迁移
CN113806021B (zh) * 2021-09-23 2023-12-15 上海德拓信息技术股份有限公司 一种虚拟机透传物理设备的方法与系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6795966B1 (en) * 1998-05-15 2004-09-21 Vmware, Inc. Mechanism for restoring, porting, replicating and checkpointing computer systems using state extraction
US6735601B1 (en) * 2000-12-29 2004-05-11 Vmware, Inc. System and method for remote file access by computer
US7603670B1 (en) * 2002-03-28 2009-10-13 Symantec Operating Corporation Virtual machine transfer between computer systems
US7484208B1 (en) * 2002-12-12 2009-01-27 Michael Nelson Virtual machine migration
JP4349871B2 (ja) * 2003-09-09 2009-10-21 株式会社日立製作所 ファイル共有装置及びファイル共有装置間のデータ移行方法
US7447854B1 (en) * 2005-12-30 2008-11-04 Vmware, Inc. Tracking and replicating changes to a virtual disk

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012221321A (ja) * 2011-04-11 2012-11-12 Nec Corp フォールトトレラント計算機システム、フォールトトレラント計算機システムの制御方法、及びフォールトトレラント計算機システムの制御プログラム
US8990617B2 (en) 2011-04-11 2015-03-24 Nec Corporation Fault-tolerant computer system, fault-tolerant computer system control method and recording medium storing control program for fault-tolerant computer system
JP2012053869A (ja) * 2011-08-09 2012-03-15 Toshiba Corp 情報処理装置及びクライアント管理方法
US9183060B2 (en) 2011-08-11 2015-11-10 Fujitsu Limited Computer product, migration executing apparatus, and migration method
JP2013073289A (ja) * 2011-09-27 2013-04-22 Nec Corp 多重化システム、データ通信カード、状態異常検出方法、及びプログラム
US8990632B2 (en) 2011-09-27 2015-03-24 Nec Corporation System for monitoring state information in a multiplex system
US9021481B2 (en) 2012-03-27 2015-04-28 Fujitsu Limited Computer-readable recording medium, migration control method and control device
JP7469524B2 (ja) 2020-06-23 2024-04-16 中興通訊股▲ふん▼有限公司 クラウドプラットフォーム間の仮想マシン移行方法、装置、記憶媒体及び電子機器

Also Published As

Publication number Publication date
US20080028402A1 (en) 2008-01-31

Similar Documents

Publication Publication Date Title
JP2008033483A (ja) 計算機システム、計算機および計算機動作環境の移動方法
US9003149B2 (en) Transparent file system migration to a new physical location
EP3762826B1 (en) Live migration of virtual machines in distributed computing systems
CN101727331B (zh) 升级活动虚拟机的客户操作系统的方法和设备
US8694828B2 (en) Using virtual machine cloning to create a backup virtual machine in a fault tolerant system
JP5026509B2 (ja) マシンから仮想マシンへの変換
EP3502877B1 (en) Data loading method and apparatus for virtual machines
US10289684B2 (en) Live migration of virtual machine persistent data using mirrored input-output operations
CN110088733A (zh) 虚拟机迁移的基于存储层的编排
US9459899B2 (en) Apparatus and method for providing services using a virtual operating system
WO2016165472A1 (zh) 一种创建虚拟机的方法和装置
JP2009522676A (ja) 異なる仮想マシン・イメージ間でファイルを共有するための方法、システム、およびコンピュータ読み取り可能媒体
JP6123626B2 (ja) 処理再開方法、処理再開プログラムおよび情報処理システム
EP3311272B1 (en) A method of live migration
JP2016167143A (ja) 情報処理システムおよび情報処理システムの制御方法
JP2008033500A (ja) 計算機、計算機システム、及びディスクイメージ配布方法
US8732427B2 (en) Systems and methods for collapsing a derivative version of a primary storage volume
KR20210061633A (ko) 가상화 시스템의 컨테이너 스케줄링 장치 및 방법
CN113296716A (zh) 虚拟机磁盘在线迁移方法、计算机可读存储介质和计算机
CN117093332B (zh) 一种虚拟机克隆的实现方法和装置
US11675735B1 (en) File transfer prioritization during replication
US20220413888A1 (en) Virtualization engine for virtualization operations in a virtualization system
US20230418649A1 (en) Copyless numa balancing hypervisor memory migration
JP2004005113A (ja) 複数の実計算機上で動作する仮想計算機システム及びその制御方法
JP2019139404A (ja) 情報処理装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080502

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080520

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080718

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090210