(57)【要約】【課題】仮想ディスクのデータのバックアップ時におけるネットワーク負荷を減らし、また、計算機仮想化処理のディスク領域の圧迫を抑止することを目的とする。【解決手段】仮想側データバックアップ処理部１２１は、計算機仮想化処理部１２０がデータを仮想側データファイル１３１に書き込むときにデータのブロック位置を計算機仮想化処理部１２０から取得、記録して更新位置情報１２２を生成するとともに、バックアップ指示信号を入力すると、更新位置情報１２２を検索し仮想側データファイル１３１に書き込まれたブロック単位のデータが存在するかを探索し、存在すると、存在するデータに対応するブロック位置の記録を更新位置情報１２２からクリアし、クリアしたブロック位置のデータをブロック位置に基づき仮想側データファイル１３１から読み出し、データとそのデータのブロック位置とをバックアップ用サーバ２００に送信する。【選択図】図３
2008257576.tif 000002
【特許請求の範囲】
【請求項１】
論理的に設定された仮想的な記憶部である仮想記憶部を有するとともに、自己の処理したデータをブロック単位であるブロック単位データとして、かつ、他のブロック単位データに対するそのブロック単位データの位置を示すブロック位置情報に従って、前記仮想記憶部に書き込む仮想計算機と、
ハードウェアとしての記憶装置である物理記憶部と、
前記仮想計算機がブロック単位データを前記仮想記憶部に書き込むことと連動して、前記仮想記憶部に書き込まれるブロック単位データとそのブロック単位データのブロック位置とを前記仮想計算機から取得し、取得したブロック単位データをそのブロック単位データのブロック位置に従って前記物理記憶部に書き込む計算機仮想化処理部と、
前記計算機仮想化処理部がブロック単位データを前記物理記憶部に書き込むときにブロック単位データのブロック位置を前記計算機仮想化処理部から取得し、取得したブロック位置を記録することにより前記物理記憶部に書き込まれるブロック単位データのブロック位置を示す書込済みデータ位置情報を生成するとともに、ブロック単位データのバックアップを指示するバックアップ指示信号を所定のタイミングで出力する所定の出力先からバックアップ指示信号を入力すると、前記書込済みデータ位置情報を検索することにより前記物理記憶部に書き込まれているブロック単位データが存在するかどうかを探索し、探索の結果存在する場合には、その存在するブロック単位データに対応するブロック位置の記録を前記書込済みデータ位置情報からクリアするとともに、クリアしたブロック位置に対応するブロック単位データをブロック位置に基づき前記物理記憶部から読み出し、読み出したブロック単位データとそのブロック単位データのブロック位置とを、ブロック単位データのブロック位置に従ってそのブロック単位データを格納するバックアップ用サーバに送信する仮想側データバックアップ処理部と
を備えたことを特徴とする仮想計算機実行装置。
【請求項２】
前記仮想側データバックアップ処理部は、
前記書込済みデータ位置情報として、ビットマップであってビットに予めブロック位置が対応付けられているビットマップを使用することを特徴とする請求項１記載の仮想計算機実行装置。
【請求項３】
前記仮想側データバックアップ処理部は、
前記バックアップ用サーバにブロック単位データとそのブロック単位データのブロック位置とを送信する際に、データ圧縮をして送信することを特徴とする請求項１または２記載の仮想計算機実行装置。
【請求項４】
論理的に設定された仮想的な記憶部である仮想記憶部を有するとともに自己の処理したデータをブロック単位であるブロック単位データとして、かつ、他のブロック単位データに対するそのブロック単位データの位置を示すブロック位置情報に従って前記仮想記憶部に書き込む仮想計算機を実現するとともに、ハードウェアとしての記憶装置である物理記憶部を備えたコンピュータに以下の処理を実行させることを特徴とするバックアッププログラム
（１）前記仮想計算機がブロック単位データを前記仮想記憶部に書き込むことと連動して、前記仮想記憶部に書き込まれるブロック単位データとそのブロック単位データのブロック位置とを前記仮想計算機から取得し、取得したブロック単位データをそのブロック単位データのブロック位置に従って前記物理記憶部に書き込む処理
（２）ブロック単位データを前記物理記憶部に書き込むときにブロック単位データのブロック位置を取得し、取得したブロック位置を記録することにより前記物理記憶部に書き込まれているブロック単位データのブロック位置を示す書込済みデータ位置情報を生成するとともに、ブロック単位データのバックアップを指示するバックアップ指示信号を所定のタイミングで出力する所定の出力先からバックアップ指示信号を入力すると、前記書込済みデータ位置情報を検索することにより前記物理記憶部に書き込まれるブロック単位データが存在するかどうかを探索し、探索の結果存在する場合には、その存在するブロック単位データに対応するブロック位置の記録を前記書込済みデータ位置情報からクリアするとともに、クリアしたブロック位置に対応するブロック単位データをブロック位置に基づき前記物理記憶部から読み出し、読み出したブロック単位データとそのブロック単位データのブロック位置とを、ブロック単位データのブロック位置に従ってそのブロック単位データを格納するバックアップ用サーバに送信する処理
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、仮想計算機の処理したデータのバックアップ処理を行う仮想計算機実行装置に関する。
【背景技術】
【０００２】
従来の計算機仮想化処理は、仮想ディスク装置と物理ディスク装置の対応付けを行い、仮想ディスク装置のイメージファイルを物理ディスク装置の上に作成している（例えば特許文献１）。また、データのバックアップでは、更新したデータのデータの位置とデータの内容を記録しておくことにより、データの復元時にはそれを用いて行う方法がある（例えば特許文献２）。
【特許文献１】特開平６−２０８５１２号公報
【特許文献２】特開２００１−１２５８１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来の計算機仮想化処理で仮想ディスクのバックアップを行う場合、仮想ディスク全体をバックアップする必要があり、仮想ディスクサイズが大きくなるとバックアップに時間がかかり、またバックアップサーバとの間のネットワークに大きな負荷かがかかるという課題がある。また、更新位置と更新したデータの内容を用いてバックアップを行う場合は更新データを記録する領域が必要で、更新データ量が増大すると仮想計算機を処理する計算機が持つ物理ディスク領域を圧迫するという課題がある。
【０００４】
この発明は上記の課題を解決するためになされたもので、仮想ディスク内の更新したブロックの位置を記録しておき、バックアップを行う場合は、更新したブロック位置とデータをバックアップサーバに送り、バックアップ時のネットワーク負荷を減らし、また、計算機仮想化処理のディスク領域の圧迫を抑止することを目的とする。
【課題を解決するための手段】
【０００５】
この発明の仮想計算機実行装置は、
論理的に設定された仮想的な記憶部である仮想記憶部を有するとともに、自己の処理したデータをブロック単位であるブロック単位データとして、かつ、他のブロック単位データに対するそのブロック単位データの位置を示すブロック位置情報に従って、前記仮想記憶部に書き込む仮想計算機と、
ハードウェアとしての記憶装置である物理記憶部と、
前記仮想計算機がブロック単位データを前記仮想記憶部に書き込むことと連動して、前記仮想記憶部に書き込まれるブロック単位データとそのブロック単位データのブロック位置とを前記仮想計算機から取得し、取得したブロック単位データをそのブロック単位データのブロック位置に従って前記物理記憶部に書き込む計算機仮想化処理部と、
前記計算機仮想化処理部がブロック単位データを前記物理記憶部に書き込むときにブロック単位データのブロック位置を前記計算機仮想化処理部から取得し、取得したブロック位置を記録することにより前記物理記憶部に書き込まれるブロック単位データのブロック位置を示す書込済みデータ位置情報を生成するとともに、ブロック単位データのバックアップを指示するバックアップ指示信号を所定のタイミングで出力する所定の出力先からバックアップ指示信号を入力すると、前記書込済みデータ位置情報を検索することにより前記物理記憶部に書き込まれているブロック単位データが存在するかどうかを探索し、探索の結果存在する場合には、その存在するブロック単位データに対応するブロック位置の記録を前記書込済みデータ位置情報からクリアするとともに、クリアしたブロック位置に対応するブロック単位データをブロック位置に基づき前記物理記憶部から読み出し、読み出したブロック単位データとそのブロック単位データのブロック位置とを、ブロック単位データのブロック位置に従ってそのブロック単位データを格納するバックアップ用サーバに送信する仮想側データバックアップ処理部と
を備えたことを特徴とする。
【発明の効果】
【０００６】
この発明により、仮想ディスクのデータのバックアップ時におけるネットワーク負荷を減らし、また、計算機仮想化処理のディスク領域の圧迫を抑止することができる。
【発明を実施するための最良の形態】
【０００７】
実施の形態１．
図１は、コンピュータである仮想計算機実行装置１００の概観の一例を示す図である。図１において、仮想計算機実行装置１００は、システムユニット８３０、ＣＲＴ（Ｃａｔｈｏｄｅ・Ｒａｙ・Ｔｕｂｅ）やＬＣＤ（液晶）の表示画面を有する表示装置８１３、キーボード８１４（Ｋｅｙ・Ｂｏａｒｄ：Ｋ／Ｂ）、マウス８１５、ＦＤＤ８１７（Ｆｌｅｘｉｂｌｅ・Ｄｉｓｋ・  Ｄｒｉｖｅ）、コンパクトディスク装置８１８（ＣＤＤ：Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｄｒｉｖｅ）、プリンタ装置８１９などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
【０００８】
システムユニット８３０は、コンピュータであり、また、ネットワークに接続されている。ネットワークには、バックアップ用サーバ２００が接続されている。仮想計算機実行装置１００は、ネットワークを介してバックアップ用サーバ２００と通信可能である。仮想計算機実行装置１００はバックアップ用サーバ２００にバックアップ用のデータを送信する。
【０００９】
図２は、実施の形態１における仮想計算機実行装置１００のハードウェア資源の一例を示す図である。図２において、仮想計算機実行装置１００は、プログラムを実行するＣＰＵ８１０（中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ８１０は、バス８２５を介してＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）８１１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８１２、表示装置８１３、キーボード８１４、マウス８１５、通信ボード８１６、ＦＤＤ８１７、ＣＤＤ８１８、プリンタ装置８１９、磁気ディスク装置８２０（物理記憶装置）と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置８２０の代わりに、光ディスク装置、フラッシュメモリなどの物理記憶装置でもよい。
【００１０】
ＲＡＭ８１２は、揮発性メモリの一例である。ＲＯＭ８１１、ＦＤＤ８１７、ＣＤＤ８１８、磁気ディスク装置８２０等の記憶媒体は、不揮発性メモリの一例である。これらは、物理記憶部の一例である。
【００１１】
通信ボード８１６、キーボード８１４、ＦＤＤ８１７などは、入力部、入力装置の一例である。また、通信ボード８１６、表示装置８１３、プリンタ装置８１９などは、出力部、出力装置の一例である。
【００１２】
通信ボード８１６は、ネットワーク（ＬＡＮ等）に接続されている。通信ボード８１６は、ＬＡＮに限らず、インターネット、ＩＳＤＮ等のＷＡＮ（ワイドエリアネットワーク）などに接続されていても構わない。
【００１３】
磁気ディスク装置８２０には、オペレーティングシステム８２１（ＯＳ）、ウィンドウシステム８２２、プログラム群８２３、ファイル群８２４が記憶されている。プログラム群８２３のプログラムは、ＣＰＵ８１０、オペレーティングシステム８２１、ウィンドウシステム８２２により実行される。
【００１４】
上記プログラム群８２３には、以下に述べる実施の形態の説明において「〜部」、「仮想計算機」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ８１０により読み出され実行される。
【００１５】
ファイル群８２４には、「〜の判定結果」、「〜の算出結果」、「〜の検索結果」、「〜の生成結果」、「〜の処理結果」としての情報や、データや信号値や変数値やパラメータなどが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ８１０によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのＣＰＵの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【００１６】
また、以下に述べる実施の形態の説明においては、データや信号値は、ＲＡＭ８１２のメモリ、ＦＤＤ８１７のフレキシブルディスク、ＣＤＤ８１８のコンパクトディスク、磁気ディスク装置８２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｋ）等の記録媒体に記録される。また、データや信号は、バス８２５や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００１７】
また、以下に述べる実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「手段」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ＲＯＭ８１１に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ８１０により読み出され、ＣＰＵ８１０により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。
【００１８】
図３は、仮想計算機１１０の処理したデータをバックアップするバックアップシステム１０００を示す図である。バックアップシステム１０００は、仮想計算機を実行する仮想計算機実行装置１００と、仮想計算機の処理したデータをバックアップするバックアップ用サーバ２００とを備える。
【００１９】
仮想計算機実行装置１００は、仮想計算機１１０、計算機仮想化処理部１２０、仮想側物理ディスク１３０（物理記憶部）、ＣＰＵ１４０を備える。仮想計算機１１０は、アプリケーション１１１、ＯＳ１１２、ディスクドライバ１１３、仮想ディスク１１４（仮想記憶部）を備える。計算機仮想化処理部１２０は、仮想側データバックアップ処理部１２１を備える。仮想側データバックアップ処理部１２１は、更新位置情報１２２（書込済みデータ位置情報）を有する。
【００２０】
仮想計算機実行装置１００は、計算機仮想化処理部１２０及び計算機仮想化処理部１２０上で動作する仮想計算機１１０を実行する。
【００２１】
（仮想計算機１１０）
仮想計算機１１０は、アプリケーション１１１、ＯＳ１１２を実行する。仮想計算機１１０は仮想ディスク１１４を備え、ＯＳ１１２の中のディスクドライバ１１３は、アプリケーション１１１からの要求によりデータを仮想ディスク１１４に書き込む。
【００２２】
（計算機仮想化処理部１２０）
計算機仮想化処理部１２０は、仮想計算機１１０に対してＣＰＵ１４０の割付と、仮想ディスク１１４への書き込みを仮想側物理ディスク１３０への書き込みに置き換える制御とを実行する。計算機仮想化処理部１２０は、仮想側データバックアップ処理部１２１を備えている。仮想側データバックアップ処理部１２１は、更新位置情報１２２を持つ。
【００２３】
（仮想側物理ディスク１３０）
仮想側物理ディスク１３０は、仮想ディスク１１４の内容を保持する仮想側データファイル１３１と、仮想計算機実行装置１００の電源を切ったときに更新位置情報１２２を保持するための更新位置情報ファイル１３２を保持する。
【００２４】
（バックアップ用サーバ２００）
バックアップ用サーバ２００は、サーバ側データバックアップ処理部２１０、サーバ側物理ディスク２２０、サーバ側テープ装置２３０を備える。サーバ側物理ディスク２２０は、サーバ側ファイル２２１を備える。
【００２５】
図４は、計算機仮想化処理部１２０の「ディスク書き込み処理」において、計算機仮想化処理部１２０が仮想側データバックアップ処理部１２１を呼び出す処理のフローチャートである。
【００２６】
図５は、計算機仮想化処理部１２０が「ディスク更新時」に呼び出す仮想側データバックアップ処理部１２１の処理のフローチャートである。
【００２７】
図６は、仮想側データバックアップ処理部１２１が「データのバックアップ」を行う処理のフローチャートである。
【００２８】
図７は、サーバ側データバックアップ処理部２１０が「データのバックアップ」を行う処理のフローチャートである。
【００２９】
次に動作について説明する。
【００３０】
まず、図３を参照して仮想計算機１１０の仮想ディスク１１４にデータを書き込む場合の処理を説明する。
（１）アプリケーション１１１が、ＯＳ１１２に対して、「書き込みブロック位置（ブロック位置情報）とデータ（ブロック単位データ）」とを含む仮想ディスク１１４への「書き込み要求」を出す。
（２）「書き込み要求」を受信すると、ＯＳ１１２は、ディスクドライバ１１３を呼び出し、ディスクドライバ１１３に、「書き込みブロック位置とデータ」を渡す。
（３）ディスクドライバ１１３は、「書き込みブロック位置とデータ」を元に、仮想ディスク１１４にデータを書き込む。
（４）ディスクドライバ１１３が仮想ディスク１１４に書き込みを行うと、計算機仮想化処理部１２０は、仮想側物理ディスク１３０上の仮想側データファイル１３１の該当するブロック位置に、渡されたデータ（仮想ディスク１１４に書き込まれたデータ）の書き込みを行う。
【００３１】
本実施の形態１では、図４のフローチャートにおいて、計算機仮想化処理部１２０がＳ２０２で従来の技術により仮想側データファイル１３１に書き込みを行う前に、Ｓ２０１において、仮想側データバックアップ処理部１２１の書き込み時の処理（図５）を呼び出す。
【００３２】
計算機仮想化処理部１２０に呼び出された仮想側データバックアップ処理部１２１は、更新するブロック位置を元に、更新位置情報１２２を更新する（Ｓ３０１）。更新の内容は次の様である。
【００３３】
（更新位置情報１２２）
図３には、更新位置情報１２２の一例を示している。図３に示す更新位置情報１２２は、例えば、仮想ディスク１１４の各ブロックに対応して、１または０の値を持つビットマップにより、データが更新されている場合に１、更新されていない場合に０の値を持つものとする。仮想側データバックアップ処理部１２１は、仮想計算機実行装置１００が停止される際は、更新位置情報１２２の内容を更新位置情報ファイル１３２に書き込む。また、仮想側データバックアップ処理部１２１は、仮想計算機実行装置１００が起動された際は、更新位置情報ファイル１３２からデータを更新位置情報１２２に読み出す。
【００３４】
なお、本実施の形態１において、「データの更新」は「データの書き込み」と同じ意味である。これは、データはブロック単位で書き込まれるため、あるブロックが更新されるということは、そのブロックのデータが新たに書き込まれることを意味するからである。すなわち、ブロックの一部にのみ変更がある場合であっても、変更のない他の部分も含めてブロック全体が新たに書き込まれ、更新される。このため「データの更新」は「データの書き込み」と同じ意味である。
【００３５】
（データのバックアップの動作）
次に、図６を参照して、データのバックアップを行う処理を説明する。
（１）例えば専用ＯＳ（所定の出力先の一例）からのデータのバックアップ開始の指示（バックアップ指示信号）により、仮想側データバックアップ処理部１２１は、更新位置情報１２２により、データが更新されたブロックを求める（Ｓ４０１）。なお、データのバックアップ開始の指示については次の様である。通常、仮想計算機では、仮想計算機の起動・停止するコマンドやプログラムＩ／Ｆ（Ｉｎｔｅｒ  Ｆａｃｅ）があるが、バックアップ開始制御もそれらと同じインターフェースを使用する。こうしたコマンドやプログラムＩ／Ｆは、これらを実行するために仮想計算機上で例えば専用ＯＳを動かし、この上で実行する。この専用ＯＳから計算機仮想化処理部１２０を制御するためには、ＣＰＵの専用の命令を実行したり、あるいは仮想的なＨ／Ｗを計算機仮想化処理部１２０が専用ＯＳに見せてそれをアクセスすることにより実現する。
（２）仮想側データバックアップ処理部１２１は、更新位置情報１２２を元にして、更新されたブロックが存在するかどうかをチェックする（Ｓ４０２）、更新されたブロックが存在しなければ、仮想側データバックアップ処理部１２１は、サーバ側データバックアップ処理部２１０に、バックアップ完了を通知する（Ｓ４０７）。
（３）更新されたブロックが存在する場合は、仮想側データバックアップ処理部１２１は、更新されたブロックの中の１つに対しブロックの位置を求める（Ｓ４０３）。
（４）そして、更新位置情報１２２の該当するブロックの更新情報をクリアする（Ｓ４０４）。例えば、図３に示すように、第１ブロック位置を示す「１」がクリアされ「０」となる。
（５）そして、仮想側データバックアップ処理部１２１は、該当するブロックのデータを仮想側データファイル１３１から読み出し（４０５）、ブロック位置とそのブロックのデータをサーバ側データバックアップ処理部２１０に送る（Ｓ４０６）。
（６）仮想側データバックアップ処理部１２１は、再びＳ４０２で更新されたブロックを求め、更新されたブロックが存在する間これらの処理を繰り返す。
（７）仮想計算機１１０が停止している状態でバックアップする場合は、バックアップ中に仮想ディスク１１４の内容が更新されないので、バックアップ中も更新位置情報１２２も変わらない。しかし、仮想計算機１１０が動作している状態でバックアップを行う場合は、バックアップしている間もディスクドライバ１１３から仮想ディスク１１４への書き込みが行われるため、バックアップデータを既に送ったブロックが後から更新されていることもある。
（８）この場合は、Ｓ４０３でブロックを１つ選ぶ際、前回選んだブロックよりも後ろのブロックから選択する。これは更新頻度の低いブロックを先にバックアップするためである。
もし前回選んだブロックよりも後ろのブロックで更新されたものがない場合は、先頭に近いブロックから更新されたブロックを選択する。これらの処理を行うのは、頻繁に更新されるものは後回しにして、ビットマップの更新位置情報１２２では、できるだけ「０」（更新の無い場合を０とした）を多くするためである。
（９）書き込み要求はいずれ途絶えるので、Ｓ４０２で更新ブロックが存在しないケースが発生し、Ｓ４０７の完了処理が行われる。なお、書き込み要求はいずれ途絶えるというのは、実際のアプリケーションの処理では、常に新しいブロックに書き込むということはあまり無く、書き込みが行われるブロックは、ある程度限られているということを意味する。
【００３６】
図７はサーバ側データバックアップ処理部２１０の動作を示すフローチャートである。図７を参照してサーバ側データバックアップ処理部２１０の動作を説明する。
【００３７】
（１）サーバ側データバックアップ処理部２１０は、仮想側データバックアップ処理部１２１から送られてくるブロック位置とデータを受け取る（Ｓ５０１）。
（２）サーバ側データバックアップ処理部２１０は、バックアップ終了通知であれば終了する（Ｓ５０２）。バックアップ終了通知ではない場合、サーバ側データバックアップ処理部２１０は、受信した更新ブロック位置とデータとを元に、サーバ側物理ディスク２２０上のサーバ側ファイル２２１の該当位置に、データを書き込む（サーバ側ファイル２２１は仮想側データファイル１３１と同じ内容を保持するファイルである）。そして、仮想側データバックアップ処理部１２１から次に送られてくるデータを受け取り（Ｓ５０４）、再びＳ５０２の処理を行う。
【００３８】
図７の処理が完了したならば、サーバ側ファイル２２１をサーバ側テープ装置２３０のテープにコピーして保管する。
【００３９】
以上の実施の形態１では装置としての仮想計算機実行装置１００を説明したが、仮想計算機実行装置１００の仮想側データバックアップ処理部１２１等の各構成要素の動作を処理ととらえることにより、仮想計算機実行装置１００の動作をコンピュータに実行させるバックアッププログラムとして把握することも可能である。
【００４０】
以上のように、仮想側データバックアップ処理部１２１を計算機仮想化処理部１２０に設け、更新位置情報１２２を保持することにより、仮想ディスク１１４の更新部分のみの差分バックアップを行うことが可能となり、短時間のバックアップと、バックアップ用サーバ２００との間のデータ通信路に対する負荷の軽減が可能になる。また、Ｒｅｄｏログのように更新前後のデータを持たないので、仮想側物理ディスク１３０の容量を圧迫しないという利点がある。また、ＯＳレベルで更新されたブロックをバックアップする方式では、ＯＳごとに対応した処理プログラムを開発する必要があるが、この方式では計算機仮想化処理部１２０に変更を加えるだけですむ。
【００４１】
実施の形態２．
以上の実施の形態１では、サーバ側ファイル２２１に差分のデータが書き込まれたが、バックアップ内容をサーバ側ファイル２２１に蓄積しておくことで、実施の形態１の差分バックアップが完了した状態でサーバ側ファイル２２１にはフルバックアップと同じディスクの内容にすることも可能である。
【００４２】
実施の形態３．
以上の実施の形態では、仮想側データバックアップ処理部１２１とサーバ側データバックアップ処理部２１０の間の通信ではデータをそのまま送っていたが、仮想側データバックアップ処理部１２１がデータを圧縮してサーバ側データバックアップ処理部２１０に送ることにより、通信路に対する負荷をさらに軽減することも可能である。
【００４３】
実施の形態４．
以上の実施の形態２のサーバ側ファイル２２１をそのまま計算機仮想化処理部１２０に渡すことも可能である。例えば災害対策用に遠隔地においた計算機で上記の仮想計算機１１０を動作させる場合、その計算機の中にサーバ側データバックアップ処理部２１０を設け、そこに作られるサーバ側ファイル２２１をそのまま仮想計算機１１０のデータファイルとして用いることが可能である。
【図面の簡単な説明】
【００４４】
【図１】実施の形態１における仮想計算機実行装置１００の外観を示す図。
【図２】実施の形態１における仮想計算機実行装置１００のハードウェア構成を示す図。
【図３】実施の形態１におけるバックアップシステム１０００を示す図。
【図４】実施の形態１における「ディスク書き込み処理」で仮想側データバックアップ処理部１２１を呼び出すフローチャート。
【図５】実施の形態１における「ディスク更新時」に呼び出される仮想側データバックアップ処理部１２１のフローチャート。
【図６】実施の形態１における仮想側データバックアップ処理部１２１による「データのバックアップ」のフローチャート。
【図７】実施の形態１におけるサーバ側データバックアップ処理部２１０による「データのバックアップ」のフローチャート。
【符号の説明】
【００４５】
１００  仮想計算機実行装置、１１０  仮想計算機、１１１  アプリケーション、１１２  ＯＳ、１１３  ディスクドライバ、１１４  仮想ディスク、１２０  計算機仮想化処理部、１２１  仮想側データバックアップ処理部、１２２  更新位置情報、１３０  仮想側物理ディスク、１３１  仮想側データファイル、１３２  更新位置情報ファイル、２００  バックアップ用サーバ、２１０  サーバ側データバックアップ処理部、２２０  サーバ側物理ディスク、２２１  サーバ側ファイル、２３０  サーバ側テープ装置、１０００  バックアップシステム。
【図１】
2008257576.tif 000003
【図２】
2008257576.tif 000004
【図３】
2008257576.tif 000005
【図４】
2008257576.tif 000006
【図５】
2008257576.tif 000007
【図６】
2008257576.tif 000008
【図７】
2008257576.tif 000009