(57)【要約】  本発明の一実施形態は、管理装置と、ストレージ装置と、物理サーバとを備える計算機システムである。管理装置は、稼動している第１の仮想サーバに対してストレージ装置が提供する第１のボリュームから作成されたマスタボリュームを登録する。物理サーバ上で稼動している第２の仮想サーバに対して前記ストレージ装置が提供する第２のボリュームが登録マスタボリュームに対して規定の類似条件を満足している場合に、ストレージ装置は、マスタボリュームと第２の仮想サーバのボリュームとの差分のデータを格納する差分ボリュームを作成する。第２の仮想サーバは、差分ボリュームとマスタボリュームとにアクセスする。
2012063315.tif 000002
【特許請求の範囲】
【請求項１】
管理装置と、ストレージ装置と、物理サーバとを備える計算機システムであって、
前記管理装置は、稼動している第１の仮想サーバに対して前記ストレージ装置が提供する第１のボリュームから作成されたマスタボリュームを登録し、
前記物理サーバ上で稼動している第２の仮想サーバに対して前記ストレージ装置が提供する第２のボリュームが前記登録マスタボリュームに対して規定の類似条件を満足している場合に、前記ストレージ装置は、前記マスタボリュームと前記第２の仮想サーバのボリュームとの差分のデータを格納する差分ボリュームを作成し、
前記第２の仮想サーバは、前記差分ボリュームと前記マスタボリュームとにアクセスする、計算機システム。
【請求項２】
前記第１のボリュームから作成した前記マスタボリュームの前記登録は、前記第１のボリュームに対して前記類似条件を満たすマスタボリュームが登録されていないことを条件とする、請求項１に記載の計算機システム。
【請求項３】
前記ストレージ装置は、前記第１の仮想サーバの差分ボリュームを作成し、前記マスタボリューム作成後の前記第１の仮想サーバの更新データを前記差分ボリュームに書き込む、請求項２に記載の計算機システム。
【請求項４】
前記類似条件は、前記第２のボリュームのハッシュ値配列と前記マスタボリュームのハッシュ値配列との間において、一致するハッシュ値の数が規定値に達していることを含み、
前記第２のボリュームのハッシュ値配列のハッシュ値のそれぞれは、１又は複数のブロックデータからなる規定サイズのデータから算出され、前記マスタボリュームのハッシュ値配列のハッシュ値のそれぞれは、１又は複数のブロックデータからなる前記規定サイズのデータから算出される、請求項２に記載の計算機システム。
【請求項５】
前記管理装置は、前記類似条件の判定において、前記第１のボリュームの規定の属性情報と前記マスタボリュームの規定の属性情報とが一致する場合に、前記ハッシュ値配列についての判定を行う、請求項４に記載の計算機システム。
【請求項６】
前記マスタボリュームは、前記第１のボリュームであり、
前記ストレージ装置は、前記第１の仮想サーバの差分ボリュームを作成し、前記マスタボリューム作成後の前記第１の仮想サーバの更新データを、前記仮想サーバの指示に従って前記差分ボリュームに書き込む、請求項５に記載の計算機システム。
【請求項７】
前記第２の仮想サーバの仮想化制御プログラムが動作している前記物理サーバへの他の物理サーバからのＯＳを含むサーバプログラムの移行において、前記サーバプログラムに割り当てられている第３のボリュームが前記登録マスタボリュームに対して前記規定の類似条件を満足している場合、
前記物理サーバは、前記ストレージ装置に、前記マスタボリュームと前記第３のボリュームとの差分のデータを格納する第２の差分ボリュームを作成し、
前記他の物理サーバは、前記第２の差分ボリュームに格納する前記差分データを選択的に、前記第３のボリュームから前記物理サーバに送信する、請求項１に記載の計算機システム。
【請求項８】
前記類似条件の判定において、前記第３のボリューム及び前記マスタボリュームのデータから算出したハッシュ値が使用され、
前記差分データは、前記第３のボリューム及び前記マスタボリュームのハッシュ値を使用して特定され、
前記差分データの特定において同一データから算出されるハッシュ値の数は、前記類似条件の判定において同一データから算出されるハッシュ値の数よりも多い、請求項７に記載の計算機システム。
【請求項９】
仮想サーバを実行する物理サーバと、前記物理サーバにボリュームを提供するストレージ装置と、を備える計算機システムにおいて、前記仮想サーバにボリュームを割り当てる方法であって、
前記物理サーバが、仮想化制御プログラム及び前記仮想化制御プログラム上で動作し前記ストレージ装置のボリュームにアクセスする前記仮想サーバを実行し、
前記ストレージ装置が、差分ボリュームを作成し、
前記物理サーバが、マスタボリュームと前記実行されている仮想サーバの前記ボリュームとの差分データを、前記差分ボリュームに格納し、
前記仮想サーバが、前記差分ボリューム及び前記マスタボリュームにアクセスする、方法。
【請求項１０】
前記マスタボリュームは、稼動している第２の仮想サーバに対して前記ストレージ装置が提供する第２のボリュームから作成され、テーブルに登録されており、
前記ボリュームと前記マスタボリュームとが、規定の類似条件を満足している場合に、前記差分ボリュームが作成される、請求項９に記載の方法。
【請求項１１】
前記マスタボリュームの前記テーブルへの登録は、前記テーブルに前記マスタボリュームと前記規定の類似条件を満足する登録マスタボリュームが存在しないことを条件とする、請求項１０に記載の方法。
【請求項１２】
管理装置と、仮想化制御プログラム及ぶ前記仮想化プログラム上で動作する仮想サーバを実行する物理サーバと、前記仮想サーバにボリュームを提供するストレージ装置と、を備えるシステムに処理を実行させるプログラムを格納する計算機読み取り可能な記憶媒体であって、前記処理において、
前記管理装置は、稼動している第１の仮想サーバに対して前記ストレージ装置が提供する第１のボリュームから作成されたマスタボリュームをテーブルに登録し、
前記管理装置は、第２の仮想サーバに対して前記ストレージ装置が提供する第２のボリュームと前記テーブルに登録されている前記マスタボリュームと間の規定の類似条件について判定し、
前記管理装置は、前記規定の類似条件が満たされている場合に、前記マスタボリュームと前記第２の仮想サーバのボリュームとの差分データを格納すると共に前記マスタボリュームと共に前記仮想サーバにアクセスされる差分ボリューム、を作成することを決定する、計算機読み取り可能な記憶媒体。
【請求項１３】
前記第１のボリュームから作成した前記マスタボリュームの前記登録は、前記第１のボリュームに対して前記類似条件を満たすマスタボリュームが登録されていないことを条件とする、請求項１２に記載の計算機読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は計算機システム、仮想サーバへのボリューム割り当て方法及び計算機読み取り可能な記憶媒体に関し、特に、ストレージ装置における仮想サーバに対するボリュームの割り当てに関する。
【背景技術】
【０００２】
近年、企業の情報システム部門は、情報技術に係る投資コストや運用コストの削減をますます求められるようになっている。このような課題を解決するため、ＣＰＵ、メモリ・デバイス、ストレージ装置などの計算機資源を有効に活用するための技術として、システム仮想化技術が利用されている。【０００３】
システム仮想化技術は、一台の物理的な計算機上で、複数の仮想計算機を作成し、一台の物理的な計算機があたかも複数台の計算機であるかのように処理を行うことができる。この技術は、余剰の計算機資源を有効活用する目的や、一台の高性能な計算機の上に数百台のゲストを集約するサーバ・コンソリデーション目的に活用されている。【０００４】
仮想計算機はソフトウェアにより実現されるサーバ環境であって、その上でオペレーティングシステム（ＯＳ）が動き、アプリケーションを動作させることができる。仮想環境においては、ＯＳインストール後にいくつかのミドルウェア導入や各種設定をした仮想サーバをテンプレートとして作成し、そのテンプレートデータをコピーして仮想サーバを作成することがある。仮想サーバのＯＳ部は、通常運用時には変更されることが少ないためストレージ装置内に大量の重複したデータが存在することになる。【０００５】
ストレージ装置おける重複データを削除する技術は、例えば、特許文献１に開示されている。特許文献１は、データのハッシュ値を比較して重複データを削除する記憶制御装置を示している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−２５１７２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ストレージ装置の実容量（記憶されているデータ量）を低減することは、構築済みのシステムにおいて重要である。具体的には、複数の仮想サーバが稼動している計算機システムにおいて、稼動している仮想サーバに割り当てられているボリュームの実用量を低減することが求められる。又、稼動している物理環境を仮想環境へ移行する場合に、新たに実装される仮想サーバのボリューム容量を効果的に低減することが求められる。【０００８】
このように、既存システムにおけるストレージ実容量の低減においては、システムの変更に対して対応可能であることが重要である。また、稼動中の仮想環境におけるストレージの実用量の低減においては、容量低減が求められている仮想サーバのボリュームにおいて大きな容量を速やかに効率的に低減することが重要である。
【課題を解決するための手段】
【０００９】
本発明の一態様は、管理装置と、ストレージ装置と、物理サーバとを備える計算機システムである。前記管理装置は、稼動している第１の仮想サーバに対して前記ストレージ装置が提供する第１のボリュームから作成されたマスタボリュームを登録する。前記物理サーバ上で稼動している第２の仮想サーバに対して前記ストレージ装置が提供する第２のボリュームが前記登録マスタボリュームに対して規定の類似条件を満足している場合に、前記ストレージ装置は、前記マスタボリュームと前記第２の仮想サーバのボリュームとの差分のデータを格納する差分ボリュームを作成する。前記第２の仮想サーバは、前記差分ボリュームと前記マスタボリュームとにアクセスする。
【発明の効果】
【００１０】
本発明の一態様よれば、構築済みの仮想環境において、ストレージ装置の実容量を効果的に低減することができる。
【図面の簡単な説明】
【００１１】
【図１Ａ】本実施形態の概略を説明する図である。
【図１Ｂ】本実施形態の概略を説明する図である。
【図２Ａ】本実施形態の計算機システムの全体構成を模式的に示す図である。
【図２Ｂ】本実施形態の計算機システムの全体構成を模式的に示す図である。
【図３】本実施形態の管理サーバの構成を模式的に示す図である。
【図４】本実施形態の物理サーバの構成を模式的に示す図である。
【図５Ａ】本実施形態の物理サーバの構成を模式的に示す図である。
【図５Ｂ】本実施形態の物理サーバの構成を模式的に示す図である。
【図６】本実施形態の物理サーバの構成を模式的に示す図である。
【図７】本実施形態において、仮想ディスクへのアクセスにおけるアドレス変換方法を示す図である。
【図８】本実施形態において、仮想ディスクへのアクセスにおけるアドレス変換で使用するマッピングテーブルの一例を示す図である。
【図９】本実施形態において、マスタディスクの登録を含む処理の流れを示すフローチャートである。
【図１０】本実施形態において、仮想イメージ管理テーブルの一例を示す図である。
【図１１】本実施形態において、仮想サーバ管理テーブルの一例を示す図である。
【図１２】本実施形態において、ディスクイメージ解析処理の流れを示すフローチャートである。
【図１３】本実施形態において、マスタディスク判定処理の流れを示すフローチャートである。
【図１４】本実施形態において、差分ディスク作成処理の流れを示すフローチャートである。
【図１５】本実施形態において、物理環境から仮想環境への移行処理の流れを示すフローチャートである。
【図１６】本実施形態において、物理環境から仮想環境への移行処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、図面を参照しつつ、本発明を実施するための形態を説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。又、各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略されている。
【００１３】
＜本実施形態の概要＞
図１Ａ及び図１Ｂは、本実施形態の概略を説明する図である。本実施形態は大きく２つの処理を行う。第１の処理は、稼動している仮想サーバのボリュームからマスタボリュームを作成し、それをリストに登録する。第２の処理は、他の仮想サーバのボリュームがマスタボリュームと類似する場合、それらから差分ボリュームを形成する。
【００１４】
この仮想サーバは、マスタボリュームと差分ボリュームとにアクセスする。仮想サーバはソフトウェアであり、オペレーティングシステム（ＯＳ）及びその他のプログラムモジュールを含むプログラムである。ボリュームはストレージ装置において画定されたデータ記憶領域及びそのデータであり、論理的なボリュームである。マスタボリュームの作成は、仮想サーバのボリュームをコピーしてもよいし、そのままそれをマスタボリュームとしてもよい。
【００１５】
上記他の仮想サーバのボリュームにおいてマスタボリュームと共通する部分の領域は、空き領域となる（データ消去）。これにより、ストレージ装置が記憶するデータ量（実容量）を低減することができる。仮想サーバのボリューム全体をマスタボリュームと比較し、その共通部分を共有するため、ボリュームにおける重複部分を一括して効率的に削減することができ、容量削減処理の開始から速やかに大きな容量を削減することができる。
【００１６】
本構成は、稼動している仮想サーバのボリュームからマスタボリュームを作成するので、構築済みシステムにおいて仮想サーバのボリューム容量を適切に低減することができると共に、物理環境から仮想環境への移行においても、新たに実装される仮想サーバのボリューム容量を低減することができる。
【００１７】
図１Ａは、上記第１の処理を模式的に示している。図１Ａにおいて、物理サーバ１０８において、仮想化制御プログラム１２０が動作しており、その仮想化制御プログラム１２０上で仮想サーバ１０９ａ〜１０９ｄが動作している。仮想サーバ１０９ａ〜１０９ｄには、それぞれ、ボリューム１３３ａ〜１３３ｄが割り当てられている。
【００１８】
図１Ａにおいて、システムは、仮想サーバ１０９ｄのボリューム１３３ｄをマスタボリューム１３５として選択している。仮想サーバ１０９ｄによるボリューム１３３ｄへのアクセスにおいて、ボリューム１３５が参照される。仮想ディスク１３３ｄのデータのその後の更新は、仮想サーバ１０９ｄの差分ボリュームが格納する。
【００１９】
図１Ｂは、上記第２の処理を模式的に示している。図１Ｂにおいて、ボリューム１３３ｂ、１３３ｃのＯＳは、マスタボリューム１３５と同一である。システムは、マスタボリューム１３５を参照してボリューム１３３ｂ、１３３ｃから、差分ボリュームを生成する。ボリューム１３３ｂ、１３３ｃにおけるマスタボリューム１３５との共通部分へのアクセスは、マスタボリューム１３５を参照する。図１Ｂにおいて、ＯＳ[２]のイメージ（データ）が共通化されている。
【００２０】
典型的なストレージ装置は、複数のディスク装置を備えている。そこで、以下において、仮想サーバがアクセスするボリュームをディスクと呼ぶ。本実施形態は、ディスク装置と異なるデータ記憶装置（記憶媒体）を有するストレージ装置を備えるシステムにも適用できる。
【００２１】
＜全体構成＞
次に、本実施形態の計算式システムの全体構成を説明する。図２Ａ及び図２Ｂは、本実施形態の計算機システムの全体構成を模式的に示している。図２Ａに示すように、本実施形態の計算機システムは、管理装置である管理サーバ１０１、複数の物理サーバ１０８ａ〜１０８ｃ、そしてストレージ装置１３０を含む。管理サーバ１０１及び物理サーバ１０８ａ〜１０８ｃは、実行するプログラム及び処理するデータを含む計算機装置である。
【００２２】
複数の物理サーバ１０８ａ〜１０８ｄとストレージ装置１３０とは、データネットワーク１１２ｂにより接続されている。管理サーバ１０１、物理サーバ１０８ａ〜１０８ｄ及びストレージ装置１３０は、管理ネットワーク１１２ａで接続されている。
【００２３】
データネットワーク１１２ｂは、ストレージ装置１３０が格納するデータを通信するためのネットワークであって、典型的には、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）である。データネットワーク１１２ｂは、データ通信用のネットワークであればＳＡＮ以外のネットワークでもよく、例えばＩＰネットワークでもよい。
【００２４】
管理ネットワーク１１２ａは、管理データ通信用のネットワークであって、典型的には、ＩＰネットワークである。管理ネットワーク１１２ａは、データ通信用のネットワークであればＩＰネットワーク以外のネットワークでもよく、例えばＳＡＮでもよい。データネットワーク１１２ｂ及び管理ネットワーク１１２ａは、同一のネットワークであってもよい。
【００２５】
管理サーバ１０１は、物理サーバ１０８ａ〜１０８ｄを管理するための計算機装置である。本実施形態においては、特に、物理サーバ１０８ａ〜１０８ｄのマスタディスク及び差分ディスクの作成処理を管理する。この詳細は後述する。物理サーバ１０８ａ〜１０８ｃは、仮想化技術により、１つ以上の仮想サーバを実行することができる計算機装置である。一方、物理サーバ１０８ｄには、仮想化機構（仮想化管理プログラム）が実装されていない。物理サーバ１０８ｄには、ＯＳ[２]１０９ｅがインストールされている。ＯＳ[ｋ]におけるｋは、ＯＳの種別を示しており、kの値が同一のＯＳは、同一種別のＯＳである。
【００２６】
物理サーバ１０８ａは、仮想化制御プログラムＡ１２０ａを実行し、ＯＳ[１]１０９ａを含む仮想サーバＡ１１０ａが仮想化制御プログラムＡ１２０ａで動作している。物理サーバ１０８ｂは、仮想化制御プログラムＢ１２０ｂを実行し、ＯＳ[２]１０９ｂを含む仮想サーバＢ１１０ｂ及びＯＳ[２]１０９ｃを含む仮想サーバ１１０Ｃｃが仮想化制御プログラム１２０Ｂｂで動作している。
【００２７】
物理サーバ１０８ｃは、仮想化制御プログラムＣ１２０ｃを実行し、ＯＳ[２]１０９ｄを含む仮想サーバＤ１１０ｄが仮想化制御プログラムＣ１２０ｃで動作している。物理サーバ１０８ａ〜１０８ｃは、管理サーバ１０１の指示に従って、マスタディスク及び差分ディスクの作成処理を行う。物理サーバ１０８ｄは、物理環境から仮想環境への移行処理において、差分ディスクの作成に寄与する。この詳細は後述する。
【００２８】
図２Ｂに示すように、ストレージ装置１３０は、物理サーバ１０８ａ〜１０８ｄにボリュームを提供する。図２Ｂにおいて、ボリューム１３２は、物理サーバＤ１０８ｄに割り当てられているボリュームである。管理ディスク１３１は物理サーバＡ１０８〜物理サーバＣ１０８ｃに割り当てられているデータ記憶領域である。図２Ｂにおいては、ボリューム１３３ａ、１３４ａ、１３４ｂ、１３５が示されている。
【００２９】
ベーシックディスクＡ１３３ａは、仮想サーバＡに割り当てられているディスク（ボリューム）である。差分ディスクＢ１３４ａ、差分ディスクＣ１３４ｂは、それぞれ、仮想サーバＢ１１０ｂ、仮想サーバＣ１１０ｃの差分ディスクである。マスタディスクＤ１３５は、仮想サーバＤに割り当てられているベーシックディスクから作成したマスタディスクである。
【００３０】
マスタディスクＤ１３５は、差分ディスク１３４ａ、１３４ｂに対するマスタディスクである。ベーシックディスクは、マスタディスク及び差分ディスクとは異なり、最初に仮想サーバに割り当てられている通常のボリュームである。マスタディスク及び差分ディスクは、ベーシックディスクから作成される。
【００３１】
＜管理サーバ１０１の構成＞
図３に示すように、管理サーバ１０１は計算機装置であり、メモリ２０１、プロセッサ２０２、ネットワークインターフェース２０３、二次記憶デバイス２０４、入力デバイス２０５及び表示デバイス２０６を備えている。管理サーバ１０１において、各デバイスはバスにより接続されている。管理サーバ１０１は、ネットワークインターフェース２０３を介して管理ネットワーク１１２ａに接続している。
【００３２】
本実施形態における計算機システムの管理者は、表示デバイス２０６においてシステムの管理情報見ることができる。管理者は入力デバイス２０５により、コマンドを含むデータを管理サーバ１０１に入力することができる。なお、管理者は、ネットワークを介して管理サーバ１０１にアクセスし、管理サーバ１０１の機能を利用してもよい。
【００３３】
プロセッサ２０２は、メモリ２０１に記憶されているプログラムを実行することによって管理サーバ１０１の所定の機能を実現する。メモリ２０１は、プロセッサ２０２によって実行されるプログラム及びプログラムの実行に必要なデータを記憶するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の記憶デバイスである。
【００３４】
二次記憶デバイス２０４は、管理サーバ１０１の所定の機能を実現するために必要なプログラム（例えば、図３においてメモリ２０１に格納されているプログラム）及びデータを格納する不揮発性記憶媒体を備える記憶デバイスである。典型的には、ハードディスクドライブである。管理サーバ１０１が使用するデータの二次記憶装置として、フラッシュメモリなどの不揮発性半導体記憶装置を使用してもよいし、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などを介して接続された外部の記憶装置（例えばストレージ装置１３０）でもよい。
【００３５】
図３において、便宜的には、メモリ２０１内に、プログラム及びテーブルが図示されている。管理サーバ１０１の処理において必要とされるデータ（プログラムを含む）は、典型的に、二次記憶デバイス２０４からメモリ２０１にロードされる。物理サーバ管理部１０２、仮想機構管理部１０３及び仮想イメージ管理部１０４は、プログラムである。プロセッサは、これらプログラムに従って動作することで、物理サーバ管理部１０２、仮想機構管理部１０３及び仮想イメージ管理部１０４として機能する。仮想イメージ管理部１０４は、ディスクイメージ情報管理部２１０及びディスクイメージ解析結果取得部２１１を含む。これらプログラムの処理の詳細は後述する。
【００３６】
プログラムはプロセッサによって実行されることで、定められた処理を記憶デバイス及び通信インターフェースを用いながら行う。従って、本実施形態においてプログラムを主語とする説明は、プロセッサを主語とした説明でもよい。プログラムが実行する処理は、そのプログラムが動作する計算機が行う処理である。この点は、以下に説明する物理サーバにおいて同様である。
【００３７】
管理サーバ１０１は、さらに、複数のテーブル備えている。具体的には、物理サーバ管理テーブル１０５、仮想サーバ管理テーブル１０６、そして仮想イメージ管理テーブル１０７である。物理サーバ管理テーブル１０５は、物理サーバの管理情報を格納し、例えば、各物理サーバの識別子及びネットワーク上のアドレスを格納している。
【００３８】
仮想サーバ管理テーブル１０６は仮想サーバの管理上情報を格納し、仮想イメージ管理テーブル１０７は、仮想ディスクの管理情報を格納する。仮想サーバ管理テーブル１０６及び仮想イメージ管理テーブル１０７は、図１０及び図１１に一例が示されており、これらの詳細は後述する。
【００３９】
本構成例においては、管理サーバ１０１のシステム運用管理に使用される情報は、各テーブルに格納されている。しかし、本実施形態において、データ記憶領域に格納される情報はデータ構造に依存せず、どのようなデータ構造で表現されていてもよい。例えば、上記複数のテーブルの情報は一つのテーブルに格納されていてもよく、より多くのテーブルに格納されていてもよい。必要な情報を格納していれば、テーブルはどのような構成（カラム及びレコード）を有していてもよい。この点は、以下に説明する物理サーバにおいて同様である。
【００４０】
＜物理サーバＣ１０８ｃの構成＞
図４は、物理サーバＤ１０８ｄの構成を模式的に示す図である。図４が示すように、物理サーバＤ１０８ｄは、メモリ３０１、プロセッサ３０２、ネットワークインターフェース３０３及びディスクインタフェース３０４を有する計算機装置である。各構成要素は、バスにより通信可能に接続されている。物理サーバＤ１０８ｄは、ネットワークインターフェース３０３において管理ネットワーク１１２ａと接続し、ディスクインタフェース３０４においてデータネットワーク１１２ｂに接続する。
【００４１】
プロセッサ３０２は、ディスクインタフェース３０４及びデータネットワーク１１２ｂを介して、ストレージ装置１３０のボリューム１３２にアクセスする。プロセッサ３０２は、メモリ３０１に記憶されているプログラムを実行することによって物理サーバＣ１０８ｃの所定の機能を実現する
【００４２】
メモリ３０１は、プロセッサ３０２により実行されるＯＳを含むプログラム及びプログラムの実行に必要なデータを記憶する。図４において、メモリ３０１が記憶するプログラムのうち、ディスクイメージ送信部１２１、ディスクイメージ解析部１２２、物理サーバ管理部１２６が示されている。これらプログラムの処理は後述する。これらプログラムは、典型的には、図示しない物理サーバＤ１０８ｄの二次記憶装置又はストレージ装置１３０の不揮発性記憶媒体からロードされる。
【００４３】
＜物理サーバＢ１０８ｂの構成＞
図５Ａは、物理サーバＢ１０８ｂの構成を模式的に示している。物理サーバＢ１０８ｂは計算機装置であり、そのハードウェア構成は管理サーバ１０１及び物理サーバＤ１０８ｄと実質的に同様である。具体的には、物理サーバＢ１０８ｂは、メモリ５０１、プロセッサ５０２、ネットワークインターフェース５０３及びディスクインタフェース５０４を有する計算機装置である。各構成要素は、バスにより通信可能に接続されている。
【００４４】
物理サーバＢ１０８ｂは、ネットワークインターフェース５０３において管理ネットワーク１１２ａと接続し、ディスクインタフェース５０４においてデータネットワーク１１２ｂに接続する。
【００４５】
物理サーバＢ１０８ｂでは、仮想化制御プログラム１２０ｂ上で、仮想サーバ１１０ｂ、１１０ｃが動作している。仮想化制御プログラム１２０ｂは、物理サーバＢ１０８ｂの備えるメモリ５０１やプロセッサ５０２などの物理リソースを論理的に分割し、仮想サーバに割り当てることによって、物物理サーバＢ１０８ｂにおいて１つ以上の仮想サーバを実行するためのプログラムである。
【００４６】
仮想サーバ１１０ｂ、１１０ｃは、それぞれ、仮想化制御プログラム１２０ｂによって実行されるプログラムである。仮想サーバ１１０ｂ、１１０ｃは、仮想化制御プログラム１２０ｂに実行されることにより、１台の計算機装置であるかのように振る舞う。
【００４７】
仮想サーバ１１０ｂ、１１０ｃは、ＯＳ及びアプリケーションプログラムなどのプログラム及び制御データ及びユーザなどを含む。図２Ａに示す構成例において、仮想サーバ１１０ｂ、１１０ｃは、それぞれ、ＯＳ[２]１０９ｂ、ＯＳ[２]１０９ｃを含む。これらは同一種別のＯＳである。なお、仮想サーバ１１０ｂ、１１０ｃが含むプログラム及びデータはシステム構成に依存する。
【００４８】
図５Ａに示すように、仮想化制御プログラム１２０ｂは、複数のプログラムモジュールとテーブルを含む。具体的には、仮想イメージ制御部１２３ｂ、ディスクイメージ解析部１２４ｂ及びディスクイメージ受信部１２５ｂの各モジュールを含む。仮想イメージ制御部１２３ｂは、アドレス変換部４０２ｂ及びマスタ・差分イメージ変換部４０３ｂの各モジュールを含む。仮想化制御プログラム１２０ｂは、さらに、仮想ディスクマッピングテーブル４０１ｂを備えている。仮想ディスクマッピングテーブル４０１及び仮想サーバ各プログラムの処理は後述する。
【００４９】
図５Ａにおいて、ストレージ装置１３０は、ベーシックディスクＢ１３３ｂ及ベーシックディスクＣ１３３ｃを格納している。これらは、それぞれ、仮想サーバＢ１１０ｂ及び仮想サーバＣ１１０ｃに割り当てられている初期ボリュームである。仮想ディスクＢ１１１ｂ、仮想ディスクＣ１１１ｃは、仮想サーバＢ１１０ｂ及び仮想サーバＣ１１０ｃがアクセスするアドレス空間を定義する。アドレスは、ストレージ装置１３０に与えるアドレス（論理アドレス）である。
【００５０】
仮想ディスクＢ１１１ｂのアドレスはベーシックディスクＢ１３３ｂのアドレス（ストレージに与えるアドレス）に対応づけられ、仮想サーバＢ１１０ｂはベーシックディスクＢ１３３ｂのみにアクセスする。同様に、仮想ディスクＣ１１１ｃはベーシックディスクＣ１３３ｃのアドレス（ストレージに与えるアドレス）に対応づけられ、仮想サーバＣ１１０ｃはベーシックディスクＣ１３３ｃのみにアクセスする。
【００５１】
図５Ｂに示すように、本実施形態は、これらベーシックディスク１３３ｂ、１３３ｃをマスタディスクと比較し、差分ディスクを作成する。図５Ｂにおいて、ストレージ装置１３０はマスタディスクＤ１３５を格納している。マスタディスクＤ１３５は、仮想サーバＤのベーシックディスクから作成したマスタディスクである。
【００５２】
本計算機システムは、ベーシックディスク１３３ｂ、１３３ｃそれぞれとマスタディスクＤ１３５とを比較し、差分ディスクＢ１３４ｂ、差分ディスクＣ１３４ｃを作成する。仮想サーバ１１０ｂ、１１０ｃは、ベーシックディスク１３３ｂ、１３３ｃへのアクセスと同一のアドレスにより、マスタディスクＤ１３５及び差分ディスクＢ１３４ｂ、差分ディスクＣ１３４ｃにアクセスすることができる。
【００５３】
つまり、仮想ディスクＢ１１１ｂ、仮想ディスクＣ１１１ｃ（のアドレス）は、それぞれ、マスタディスク１３５及び差分ディスクＢ１３４ｂ（のアドレス）、マスタディスク１３５及び差分ディスクＣ１３４ｃ（のアドレス）に対応付けられている。仮想サーバ１１０ｂ、１１０ｃは、それぞれ、仮想ディスクＢ１１１ｂ、仮想ディスクＣ１１１ｃ（のアドレス）へのアクセスにより、マスタディスク１３５及び差分ディスクＢ１３４ｂ、差分ディスクＣ１３４ｃにアクセスすることができる。このアドレス変換は仮想化制御プログラム１２０ｂが実行する。この点は図７を参照して後述する。
【００５４】
＜物理サーバＢ１０８ｃの構成＞
図６は、物理サーバＣ１０８ｃの構成を模式的に示している。物理サーバＣ１０８ｃは、メモリ６０１、プロセッサ６０２、ネットワークインターフェース６０３及びディスクインタフェース６０４を有する。物理サーバＣ１０８ｃのハードウェア及びソフトウェア構成は、図５Ａに示す物理サーバＢ１０８ｂと略同様であり、重複する説明を省略する。物理サーバＣ１０８ｃにおいて、仮想サーバ１１０ｄが仮想化制御プログラム１２０ｃ上で動作している。仮想化制御プログラム１２０ｃの機能（モジュール）は仮想化制御プログラム１２０ｂと同様であり、重複する説明を省略する。
【００５５】
ストレージ装置１３０は、マスタディスクＤ１３５及び差分ディスクＤ１３４ｄを格納している。計算機システムは、好ましくは、稼働中の仮想ディスク（ベーシックディスク）からマスタディスクを作成すると、その仮想ディスクの差分ディスクを作成し、その後、その仮想サーバは、その差分ディスクに変更部分を記録する。
【００５６】
マスタディスクは変更が禁止されたボリュームであり、その内容は維持される。本計算機システムは、ベーシックディスクのコピー・ディスクを作成し、それをマスタディスクとして使用すると共に、そのベーシックディスクを使用し続けてもよい。しかし、ベーシックディスクからマスタディスクを作成し、さらに、その差分ディスクを作成することで、マスタディスク作成によるディスク実用量の増加を抑えることができる。
【００５７】
また、マスタディスクの作成は、ベーシックディスクのコピーを生成し、それをマスタディスクとして使用してもよいが、ベーシックディスクをそのままマスタディスクと使用することで処理を効率化することができる。図６の例においては、計算機システムは、仮想ディスクＤのベーシックディスクＤをマスタディスクＤ１３５と定義し、さらに、差分ディスクＤ１３４ｄを作成する。仮想サーバＤ１１０ｄは、マスタディスクＤ１３５及び差分ディスクＤ１３４ｄにアクセスし、差分ディスク１３４ｄが変更データを格納する。
【００５８】
効率的処理の点から、本計算機システムは、稼動いしてるベーシックディスクから、それと同一構成のマスタディスクを作成することが好ましい。具体的には、ベーシックディスク自体をマスタディスクとして登録する又はベーシックディスクをコピーして同一内容のディスクを作成する。
【００５９】
仮想ディスクの差分ディスクは、マスタディスクの作成後に新たに書き込まれたデータを格納する。設計によっては、ベーシックディスクの一部のみからマスタディスクを作成してもよい。なお、物理サーバ１０８ａは、物理サーバ１０８ｂ、１０８ｃと略同様の構成を有しており、説明を省略する。
【００６０】
＜仮想ディスクアドレスマッピング＞
図７は、マスタディスクＤ１３５及び差分ディスク１３４ｂ、１３４ｃが格納するデータ（によって構成されるイメージ）へのアクセスにおける仮想ディスクマッピングを示す図である。仮想ディスクＢ１１１ｂの全論理ブロックは、ＯＳイメージ部の論理ブロックとデータ部の論理ブロックとから構成されている。同様に、仮想ディスクＣの全論理ブロック１１１ｃは、ＯＳイメージ部の論理ブロックとデータ部の論理ブロックとから構成されている。
【００６１】
仮想サーバ１１０ｂ、１１０ｃは、それぞれ、仮想ディスクＢ、仮想ディスクＣの論理ブロック１１１ｂ、１１１ｃのアドレスにより、ストレージ装置１３０にアクセスする。論理ブロックは、仮想サーバ１１０ｂ、１１０ｃのアクセス単位であり、アクセス可能なデータの最小サイズである。
【００６２】
ＯＳイメージ部は、マスタディスク１３５との共通部分であり、マスタディスク１３５は、ＯＳイメージ部と同一のデータを格納している。ＯＳイメージ部は、ＯＳの他、プログラム及びデータを含むことができる。データ部は、ＯＳイメージ部以外のデータを格納している論理ブロックであり、マスタディスク１３５と共通化されていない部分である。データ部は、典型的にはユーザデータを含む、それに加えてプログラムを含むこともある。
【００６３】
仮想サーバ１１０ｂ、１１０ｃからのアクセスにおいて、仮想化制御プログラム１２０ｂのアドレス変換部４０２ｂが、アドレス変換を行う。アドレス変換部４０２ｂは、仮想ディスクマッピングテーブル４０１ｂを使用する。アドレス変換部４０２ｂは、仮想サーバ１１０ｂ、１１０ｃからアクセス先のアドレス（仮想ディスクＢ、仮想ディスクＣにおける論理ブロックのアドレス）を受付け、そのアドレスをストレージ装置１３０におけるマスタディスクＤ１３５又は差分ディスク１３４ｂ、１３４ｃのアドレス（物理ブロックのアドレス）に変換する。
【００６４】
具体的には、仮想ディスクＢ、仮想ディスクＣ１１１ｂ、１１１ｃの各論理ブロックのアドレスは、差分ディスク１３４ｂ、１３４ｃの作成前後で変化しない。仮想サーバ１１０ｂ、１１０ｃは、ベーシックディスク１３３ｂ、１３３ｃへのアクセスと同一のアドレスを使用する。
【００６５】
アドレス変換部４０２ｂは、仮想ディスクＢ１１１ｂ、仮想ディスクＣ１１１ｃにおける論理ブロックのアドレスを仮想サーバ１１０ｂ、１１０ｃから取得する。アドレス変換部４０２ｂは、仮想ディスクマッピングテーブル４０１ｂを参照して、取得したアドレスをマスタディスクＤ１３５又は差分ディスク１３４ｂ、１３４ｃの物理ブロックのアドレスに変換する。物理ブロックはストレージ装置におけるブロックであり、物理ブロックのアドレスはストレージ装置１３０に送信される論理アドレスである。
【００６６】
本計算機システムは、差分ディスクをストレージ装置１３０においてそのベーシックディスクと全く異なる領域に作成してもよいし、ベーシックディスクの物理記憶領域を使用してもよい。この構成において、差分ディスク１３４ｂ、１３４ｃにおける物理ブロックのアドレスは、ベーシックディスク１３３ｂ、１３３ｃにおける同一の論理ブロックの対応物理ブロックアドレスと同一である。ベーシックディスク１３３ｂ、１３３ｃにおいてマスタディスクＤ１３５と一致しない物理ブロックのデータは、差分ディスク１３４ｂ、１３４ｃにおいても、同一の物理ブロックアドレスに格納される。
【００６７】
計算機システムは、マスタディスクの使用によりベーシックディスクにおいて空き領域となった部分を、新たな論理ブロックのアドレスと対応付けて、その差分ディスクに追加してもよいし、又は、他の仮想サーバに割り当ててもよい。
【００６８】
図８は、仮想ディスクマッピングテーブル４０１ｂの一例を示している。仮想ディスクマッピングテーブル４０１ｂは、仮想ディスク識別子のカラム８０４、マスタディスクのカラム１００２、論理ブロック番号のカラム１００３及び物理ブロックの論理アドレス（Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓ：ＬＢＡ）のカラム１００４を含む。
【００６９】
図８は、仮想ディスクマッピングテーブル４０１ｂにおいて、仮想サーバＢ１１０ｂの仮想ディスクＢ及び仮想サーバＣ１１０ｃの仮想ディスクＣのマッピングデータを示している。図８が示すように、マスタディスクのカラム１００２は、仮想ディスク識別子で特定される仮想ディスクに関連付けられているマスタディスクの識別子を格納している。これらは、仮想サーバＤ１１０ｄのベーシックディスクＤ１３３ｄから作成されたマスタディスクＤ１３５に関連付けられている。
【００７０】
論理ブロック番号カラムは、識別子で特定されている仮想ディスクの論理ブロック番号である。本例において、仮想ディスクＢ、Ｃ及びＤにおける論理ブロック番号は、同様の方法により付けられている。具体的には、先頭ブロックの番号を１として、その後、１ずつ論理ブロック番号は増加している。又、論理ブロックのサイズも同一である。
【００７１】
物理ブロックＬＢＡ１００４は、論理ブロックに割り当てられている物理ブロックのＬＢＡを格納している。物理ブロックＬＢＡ１００４において、「−１」は識別子で特定されている仮想ディスクのブロックとマスタディスクのブロックとが同一であることを示している。「−１」以外の数字の論理ブロックは、マスタディスクに存在しておらず、独自の物理ブロックＬＢＡが対応付けられている。これらは、差分ディスク１３４ｂ、１３４ｃの物理ブロックＬＢＡである。
【００７２】
アドレス変換部４０２ｂは、共通論理ブロックへのアクセスにおいて、仮想ディスクＤのアドレス変換テーブル（不図示）をさらに参照して、マスタディスクの物理ブロックのＬＢＡを算出する。差分ディスク１３４ｂ、１３４ｃへのアクセスにおいて、アドレス変換部４０２ｂは、仮想サーバ１１０ｂ、１１０ｃから取得した論理ブロック番号を、仮想ディスクマッピングテーブル４０１ｂに登録されている物理ブロックＬＢＡに変換する。物理ブロックＬＢＡは、コマンドと共にストレージ装置１３０に送られる。
【００７３】
詳細を図示していないが、物理サーバＡ１０８ａ、物理サーバＣ１０８ｃの仮想化制御プログラム１２０ａ、仮想化制御プログラム１２０ｃは、それぞれ、仮想化制御プログラム１２０ｂと同様に、仮想サーバＡ１０８ａ、仮想サーバＤ１０８ｄのための仮想ディスクマッピングテーブルを備え、それらを参照して、仮想サーバＡ１０８ａ、仮想サーバＤ１０８ｄから取得したアドレスの変換処理を実行する。
【００７４】
＜新たなマスタディスクの登録＞
上述のように、本実施形態の計算機システムは、稼動している仮想サーバに割り当てられているベーシックディスクからマスタディスクを作成し、さらに作成したマスタディスクを参照して、他の仮想サーバの差分ディスクを作成する。マスタディスク及び差分ディスクのアドレス情報は、図８を参照して説明した仮想ディスクマッピングテーブルに格納される。
【００７５】
以下において、仮想イメージ管理テーブル１０７への情報登録処理を、図９のフローチャートを参照して説明する。管理サーバ１０１がこの処理を実行する。管理サーバ１０１の構成については、図３を参照されたい。マスタディスクは仮想イメージ管理テーブル１０７に登録されており、図９の仮想ディスク容量削減処理は、マスタディスクの仮想イメージ管理テーブル１０７への登録を含む。図１０は、仮想イメージ管理テーブル１０７の一例を示している。図１０の仮想イメージ管理テーブル１０７については、図９のフローチャートの説明において説明する。
【００７６】
図９に示すように、管理サーバ１０１における仮想化機構管理部１０３は、ディスク実容量削減を望む仮想サーバの識別子を、その仮想サーバが動作している物理サーバのディスクイメージ解析部に送信する（Ｓ９０１）。以下において、仮想サーバＤ１１０ｄの仮想ディスＤを例として処理を説明する。本処理の開始において、仮想サーバＤ１１０ｄの仮想ディスクＤは、ベーシックディスク１３４ｄに対応付けられている。
【００７７】
図６に示すように、物理サーバＣ１０８ｃにおいて、仮想サーバＤ１１０ｄは、仮想化制御プログラムＣ１２０ｃ上で動作している。仮想化制御プログラムＣ１２０ｃにおいて、ディスクイメージ解析部１２４ｃが動作している。仮想化機構管理部１０３は、このディスクイメージ解析部１２４ｃに、仮想サーバＤ１１０ｄの識別子を送信する。
【００７８】
ステップ９０１において、仮想化機構管理部１０３は、仮想サーバ管理テーブル１０６（図３を参照）を参照する。図１１は、仮想サーバ管理テーブル１０６の一例を示している。仮想サーバ管理テーブル１０６は、仮想サーバ識別子８０１、仮想サーバのＯＳ種別８０２、仮想化制御プログラム識別子８０３、仮想ディスク識別子８０４、物理サーバ識別子８０５、ディスクフォーマット８０６及びブロックサイズ８０７を格納している。システム管理者は、予めこのテーブルを作成しておく。仮想サーバ管理テーブル１０６は、これらのデータを互いに関連付ける。
【００７９】
仮想化機構管理部１０３は、管理者の入力コマンド又はプログラムからのコマンドに従って、ステップ９０１を実行する。コマンドが含む仮想サーバ識別子から、送信先の仮想化制御プログラム（ディスクイメージ解析部）及び物理サーバを特定することができる。物理サーバのアドレスは、物理サーバ管理テーブル１０５に格納されている。
【００８０】
次に、管理サーバ１０１におけるディスクイメージ解析結果取得部２１１は、仮想化制御プログラム１２０ｃから、ディスクイメージ解析部１２４ｃの解析結果を取得する（Ｓ９０２）。ディスクイメージ解析部１２４ｃの解析方法は図１２を参照して、後述する。次に、ディスクイメージ情報管理部２１０は、マスタディスク判別処理を実行する（Ｓ９０３）。この処理は、図１３を参照して後に説明する。
【００８１】
容量削減対象の仮想ディスクに対して規定の類似条件を満足するマスタディスクが、仮想イメージ管理テーブル１０７に登録されていない場合（Ｓ９０４におけるＮ）、処理はステップ９２１に進む。本例において、仮想ディスクＤのマスタディスクは存在していないため、管理サーバ１０３はステップ９２１に進む。
【００８２】
登録されているマスタディスクの一つが、対象仮想ディスクに対して規定の類似条件を満たしている場合（Ｓ９０４におけるＹ）、管理サーバ１０１は、対象仮想サーバが動作している仮想化制御プログラムの仮想イメージ制御部に、対象仮想ディスクとマスタディスクの識別子を送信する（Ｓ９１１）。この点は、後述する。
【００８３】
ステップ９２１において、ディスクイメージ情報管理部２１０は、仮想イメージ管理テーブル１０７に、ステップ９０３で取得したハッシュ値を登録する。具体的には、仮想イメージ管理テーブル１０７の仮想化ディスク識別子８０４のカラムにおいて、処理対象の仮想化ディスクの識別子を特定し、そのレコードにおけるディスクハッシュ９０５のフィールドにハッシュ値を格納する。
【００８４】
後に説明するが、本構成において、解析結果は複数ブロックのハッシュ値からなるハッシュ値配列を含む。ディスクハッシュ９０５のフィールドは、この配列（値）を格納する。本例において、図１０に示すように、仮想ディスクＤのレコードには、ハッシュ値ＨＵＳＨ１が登録されている。
【００８５】
図１０の仮想イメージ管理テーブル１０７の例は、仮想ディスクＡ〜仮想ディスクＤの情報を格納している。マスタフラグ９０４は、仮想ディスクがマスタディスクとして登録されているか否かを示している。ＴＲＵＥの仮想ディスク（本例において仮想ディスクＤのみ）は、マスタディスクとして登録されている。また、マスタディスク９０７は、仮想ディスクに対するマスタディスクを格納している。図１０の例においては、仮想ディスクＢ、仮想ディスクＣのマスタディスクは、仮想ディスクＤから作成したマスタディスクＤである。仮想ディスクＡは、ベーシックディスクであって、マスタ登録もなされておらず、対応マスタディスクも存在しない。
【００８６】
次に、ディスクイメージ情報管理部２１０は、仮想イメージ管理テーブル１０７において、対象仮想ディスクのレコードにおけるマスタフラグ９０４のフィールドに、「ＴＲＵＥ」を格納する（Ｓ９２２）。図１０に示すように、本例においては、仮想ディスクＤのレコードにおいて、マスタフラグの値は「ＴＲＵＥ」に設定されている。マスタフラグの値「ＴＲＵＥ」は、そのレコードの仮想ディスク（のベーシックディスク）から作成したマスタディスクが存在していることを示している。
【００８７】
このように、管理サーバ１０３は、仮想イメージ管理テーブル１０７に登録されているマスタディスクと指示された仮想ディスク（ベーシックディスク）とを比較し、類似するマスタディスクが登録されていない場合には、そのベーシックディスクから作成したマスタディスクを登録する。マスタディスクは、そのベーシックディスクそのもの、そのベーシックディスクの一部、又はそれらのコピーがありうる。
【００８８】
マスタディスクの選定のため、稼動している全ての仮想サーバの仮想ディスクを比較することも可能である。しかし、上述のように、対象仮想サーバのマスタディスクを、登録されているマスタディスクから選択することで、効率的な処理により対象仮想サーバのマスタディスクを決定することができる。
【００８９】
仮想サーバに関連付けられているマスタディスクを変更する処理は負荷が大きいため、好ましくは、一度設定された関係は維持される。上述のように、規定の類似条件を満足するマスタディスクが登録されていない場合に差分ディスクを作成しないことで、システム全体の容量削減の点から不適切な関係付けを避け、より適切にストレージ装置における実用量を低減することができる。
【００９０】
上記構成は、対象仮想サーバに対して適切なマスタディスクが登録されていない場合、その仮想サーバの仮想ディスク（から作成したディスク）をマスタディスクとして登録する。これにより、類似している他のベーシックディスクの実用量のその後の削減を図ることができる。特に、システムへの仮想サーバの追加に対して適切かつ容易に対応することができる。
【００９１】
＜差分ディスクの作成指示＞
図９のフローチャートにおいて、対象仮想ディスク（ベーシックディスク）とマスタディスクとが規定の類似条件を満たしていると（Ｓ９０４におけるＹ）、管理サーバ１０３は、ステップ９１１において、仮想イメージ制御部に仮想ディスク及びマスタディスクの識別子を送る。識別子を受信した仮想イメージ制御部は、差分ディスクを作成する。
【００９２】
以下において、仮想サーバＢ１１０ｂの差分ディスクＢ１３４ｂを作成する例を説明する。最初に、図９を参照して、管理サーバ１０３が、仮想ディスクＢの実用量削減要求を行う処理の例を説明する。仮想サーバＣ１１０ｃについても同様の処理を行うことができる。
【００９３】
仮想化機構管理部１０３は、仮想サーバＢ１１０ｂの識別子を、物理サーバ１０８ｂのディスクイメージ解析部１２４ｂに送信する（Ｓ９０１）。次に、ディスクイメージ解析結果取得部２１１は、仮想化制御プログラム１２０ｂから、ディスクイメージ解析部１２４ｂの解析結果を取得する（Ｓ９０２）。ディスクイメージ解析部１２４ｂの解析方法は、図１２を参照して、後述する。次に、ディスクイメージ情報管理部２１０は、マスタディスク判定処理を実行する（Ｓ９０３）。この処理は、図１３を参照して後に説明する。
【００９４】
本例において、登録されているマスタディスクＤ１３５が、仮想ディスクＢのマスタディスクの条件を満足している（Ｓ９０４におけるＹ）。管理サーバ１０１は、仮想サーバＢ１１０ｂが動作している仮想化制御プログラム１２０ｂの仮想イメージ制御部１２３ｂに、仮想ディスクＢの識別子及びマスタディスクＤ１３５の識別子を、送信する（Ｓ９１１）。
【００９５】
＜ディスクイメージ解析処理＞
登録マスタディスクと仮想ディスク（ベーシックディスク）との比較は、ディスクイメージ解析部の解析結果を使用する。以下において、図１２のフローチャートを参照して、ディスクイメージ解析部の処理を説明する。この処理は、容量削減要求の対象である仮想サーバを実行する仮想化制御プログラムのディスクイメージ解析部により実行される。上記仮想ディスクＤの処理例（マスタディスク登録の例）においてはディスクイメージ解析部１２４ｃがこの処理を行い、仮想ディスクＢの処理例（差分ディスク作成の例）においては、ディスクイメージ解析部１２４ｂがこの処理を実行する。
【００９６】
以下において、ディスクイメージ解析部１２４ｂの処理例を説明する。ディスクイメージ解析部１２４ｃの処理も同様である。図１２に示すように、ディスクイメージ解析部１２４ｂは、対象仮想ディスクの読み取り位置（アドレス）を、先頭の論理ブロックにセットする（Ｓ１２０１）。
【００９７】
次に、ディスクイメージ解析部１２４ｂは、読み取り位置の論理ブロックアドレスに対応するベーシックディスク１３３ｂの物理ブロックアドレスをアドレス変換部４０２ｂから取得して、読み取り位置の物理ブロックから１００ブロックを読み取る。ディスクイメージ解析部１２４ｂは、読み取った１００ブロックのデータのハッシュ値を算出する（Ｓ１２０２）。処理効率の点から、好ましくは、１００ブロックに対する算出ハッシュ値は１つであるが、異なる複数種類の方法により複数のハッシュ値を算出してもよい。
【００９８】
次に、ディスクイメージ解析部１２４ｂは、これまでに読み取ったブロックのデータ量が２００ＭＢよりも大きいか又は最終ブロックを読み取ったかを判定する（Ｓ１２０３）。読み取りブロックが２００ＭＢ以下であり、最終ブロックが読み取られてもいない場合（Ｓ１２０３におけるＮ）、ディスクイメージ解析部１２４ｂは、読み取り位置を現在の位置から１００論理ブロック先の位置にセットする（Ｓ１２０４）。さらに、ハッシュ値配列に、算出したハッシュ値を追加する（Ｓ１２０５）。その後、ディスクイメージ解析部１２４ｂは、ステップ１２０２を再実行する。
【００９９】
ステップ１２０３の判定において、読み取りブロックが２００ＭＢよりも大きい又は最終ブロックを読み取り済みの場合（Ｓ１２０３におけるＹ）、ディスクイメージ解析部１２４ｂは、ハッシュ値配列を管理サーバ１０３に送信する（Ｓ１２０６）。このハッシュ値配列が、ディスクイメージ解析部１２４ｂによる仮想ディスクＢの解析結果である。
【０１００】
上記処理例は、ハッシュ値を１００ブロックデータから算出するが、ハッシュ値算出のブロックサイズは、設計により適切な値に設定される。好ましくは、複数ブロックからなる単位でハッシュ値を算出する。これにより、効率的かつ適切に、類似比較を行うことができる。また、２００ＭＢのデータについてハッシュ値を算出するとディスク解析を終了するが、そのデータサイズも、設計により適切な値に設定される。好ましく、本構成例のように、ディスクイメージ解析部はボリューム内の一部のデータについてのみハッシュ値を算出して、処理を効率化する。
【０１０１】
上述のように、典型的には、ディスクイメージ解析部は、先頭ブロックからの所定のブロック数について、ハッシュ値配列を計算する。一般的に、この領域はＯＳを格納しており、類似する他のボリュームと共通性が高いからである。設計によっては、異なる領域のハッシュ値配列を使用してもよい。
【０１０２】
＜マスタディスク判定処理＞
図９を参照して説明したように、ディスクイメージ情報管理部２１０（管理サーバ）は、ディスクイメージ解析部（仮想化制御プログラム）の解析結果を使用して、マスタディスク判定処理（Ｓ９０４）を実行する。この処理は、対象仮想ディスクのマスタディスクとなりえるマスタディスクが、仮想イメージ管理テーブル１０７に登録されているかを判定する。以下において、図１３のフローチャートを参照して、この処理を説明する。
【０１０３】
まず、ディスクイメージ情報管理部２１０は、管理サーバ１０１内の仮想サーバ管理テーブル１０６における管理情報の中から、対象仮想ディスクの属性情報を取得する。ディスク属性情報は、具体的には、そのＯＳ種別、ファイルフォーマット及びブロックサイズを含む。ディスクイメージ情報管理部２１０は、ディスクイメージ解析部から、その解析結果において、上記属性応報を取得してもよい。さらに、ディスクイメージ情報管理部２１０は、その対象ディスクの解析結果（図１２のフローチャートを参照）であるハッシュ値配列を取得する（Ｓ１３０１）。
【０１０４】
対象仮想ディスクは、上記マスタディスク登録の例においては仮想ディスクＤ、差分ディスク作成の例においては仮想ディスクＢである。以下においては、仮想ディスクＢのための判定処理の例を説明する。仮想ディスクＤの判定処理も、それと同様である。
【０１０５】
ディスクイメージ情報管理部２１０は、仮想イメージ管理テーブル１０７の最初のレコードを取得する（Ｓ１３０２）。読み出したレコードのマスタフラグのフィールドの値により、そのレコードがマスタディスクのレコードであるか判定する（Ｓ１３０３）。マスタフラグの値がＦＡＵＬＳＥであり、そのレコードがマスタディスクのレコードではない場合（Ｓ１３０３におけるＦ）、ディスクイメージ情報管理部２１０は、現在のレコードが最後のレコードであるか判定する（Ｓ１３０４）。
【０１０６】
現在レコードが最後のレコードの場合（Ｓ１３０４におけるＹ）、ディスクイメージ情報管理部２１０は、仮想ディスクＢに対して適切なマスタディスクは存在していないと判定し（Ｓ１３０５）、処理を終了する。最後のレコードでなければ（Ｓ１３０４におけるＮ）、次のレコードを読み出して（Ｓ１３０６）、ステップ１３０３に戻る。
【０１０７】
ステップ１３０２において、読み出したレコードのマスタフラグの値がＴＲＵＥであり、読み出したレコードがマスタディスクのレコードである場合、ディスクイメージ情報管理部２１０は、仮想ディスクＢの属性情報と読み出したレコードのディスク属性情報とを比較する（Ｓ１３０７）。ディスク属性情報（の少なくとも一部）が一致していない場合（Ｓ１３０７におけるＮ）、処理はステップ１３０４に進む。
【０１０８】
仮想ディスクＢと現在レコードのディスク属性情報が一致する場合（Ｓ１３０７におけるＹ）、ディスクイメージ情報管理部２１０は、仮想ディスクＢと現在レコードのハッシュ値配列を比較する（Ｓ１３０８）。この比較は、２つのハッシュ値配列において同一位置にあるハッシュ値を、順に、比較する。
【０１０９】
ハッシュ値配列の一致度が規定値に達しる場合（Ｓ１３０８におけるＹ）、ディスクイメージ情報管理部２１０は、現在レコードのマスタディスクを、仮想ディスクＢのマスタディスクと判定する（Ｓ１３０９）。ハッシュ配列の一致度が規定値未満である場合（Ｓ１３０８におけるＮ）、処理は、ステップ１３０４に進む。
【０１１０】
一致度は、例えば、２つのハッシュ値配列の同一位置のハッシュ値からなるペアの全体数に対する、値が一致するハッシュ値ペアの数の比率を使用することができる。例えば、ハッシュ値配列のうち、８０％以上のハッシュ値ペアの値が一致する場合、一致度が規定値に達していると判定する。
【０１１１】
仮想ディスクＢに対して適切なマスタディスクが仮想イメージ管理テーブル１０７に登録されていない場合、図９を参照して説明したように、管理サーバ１０１は、仮想ディスクＢをマスタディスクとして仮想イメージ管理テーブル１０７に登録する。
【０１１２】
本例においては、仮想ディスクＢにとって適切なマスタディスクとして、仮想ディスクＤが登録されている。仮想ディスクＤのマスタディスクＤ１３５は、仮想ディスクＢに対する上記規定類似条件を満足している。つまり、同一のディスク属性情報を有し、さらに、そのハッシュ値配列と仮想ディスクＢのハッシュ値配列との一致度が、規定値に達している。
【０１１３】
本構成例において、ディスクイメージ情報管理部２１０は、仮想ディスクＢとマスタディスクのハッシュ値配列におけるハッシュ値を順次比較し、一致するハッシュ値の数が規定値に達している場合、それらの一致度が基準を満足していると判定する。条件となる一致するハッシュ値の数は、設計により適切な値に設定される。
【０１１４】
ハッシュ値配列の比較は、相応の処理時間を必要とする。対象仮想ディスクとマスタディスクのディスク属性情報を比較し、それらが一致しない場合には、ハッシュ値配列の比較をすることなく、そのマスタディスクが適切なマスタディスクではないと判定することで、マスタディスク判定処理を効率的に行うことができる。
【０１１５】
比較判定のためディスク属性情報は、設計により適切な情報を含む。本構成のように、好ましくは、ＯＳ種別、ファイルフォーマット及びブロックサイズを含む。特に、ＯＳ種別及びファイルフォーマットを含むことが好ましい。これらが異なるディスクは、ほとんどの場合、類似性が低いからである。
【０１１６】
上記構成は、ハッシュ値を規定数のブロックから算出している。従って、ブロックサイズが異なるディスク間では、ハッシュ値を算出するデータのサイズが異なる。設計によっては、ディスク解析部は、異なるブロックサイズのディスクに対して共通サイズのデータからハッシュ値を算出してもよい。
【０１１７】
例えば、図１１に示す例においては、ディスク解析部は、仮想ディスクＢについて５０データブロック毎にハッシュ値を算出し、仮想ディスクＡについて、１００データブロック毎にハッシュ値を算出する。この構成は、ブロックサイズは比較判定のためのディスク属性情報から除いてよい。
【０１１８】
上記構成例は、対象仮想ディスクとマスタディスクとを順次比較し、比較対象のマスタディスクが条件を満足すると、それを対象仮想ディスクのマスタディスクと判定する。これと異なり、ディスクイメージ情報管理部２１０は、登録されている全てのマスタディスクと対象仮想ディスクとを比較してもよい。マスタディスク選定の条件を満足するマスタディスクにおいて、ハッシュ値配列の一致度が最も高いマスタディスクを、対象仮想ディスクのマスタディスクとして選択する。
【０１１９】
＜差分ディスク作成処理＞
上記図１３を参照して説明した処理は、対象仮想ディスクのマスタディスクを決定した。次に、決定したマスタディスクと対象仮想ディスク（ベーシックディスク）とから、差分ディスクを作成する処理を説明する。図１４のフローチャートは、この処理のフローチャートである。対象仮想サーバの仮想化制御プログラムがこの処理を実行する。以下においては、仮想サーバＢ１１０ｂの仮想化管理プログラム１２０ｂを例としてこの処理を説明する。
【０１２０】
図１４に示すように、仮想化管理プログラム１２０ｂのマスタ・差分イメージ変換部４０３ｂ（図５Ａを参照）は、マスタディスクの識別子、本例において仮想ディスクＤのマスタディスクＤ１３５を示す識別子と、対象の仮想ディスクＢ（ベーシックディスク）の識別子とを、管理サーバ１０１から受信する（Ｓ１４０１）。
【０１２１】
次に、マスタ・差分イメージ変換部４０３ｂは、マスタディスクの読み取り位置を、マスタディスクの先頭ブロックにセットする（Ｓ１４０２）。さらに、仮想ディスクＢの読み取り位置を、仮想ディスクＢの先頭ブロックにセットする（Ｓ１４０３）。次に、マスタ・差分イメージ変換部４０３ｂは、仮想ディスクＢの差分ディスクＢを作成する（Ｓ１４０４）。この差分ディスクＢは、データをまだ格納していないディスク領域である。
【０１２２】
次に、マスタ・差分イメージ変換部４０３ｂは、マスタディスクの読み取り位置のブロックと仮想ディスクＢの読み取り位置のブロックとを比較する（Ｓ１４０５）。二つのブロックのデータが一致する場合（Ｓ１４０６におけるＹ）、マスタ・差分イメージ変換部４０３ｂは、仮想ディスクマッピングテーブル４０１ｂにおいて、差分ディスクＢのそのブロックのレコードに、一致フラグ「−１」をセットする（Ｓ１４０７）。
【０１２３】
二つのブロックのデータが一致しない場合（Ｓ１４０６におけるＮ）、マスタ・差分イメージ変換部４０３ｂは、仮想ディスクマッピングテーブル４０１ｂに物理ブロックのＬＢＡをセットする。さらに、マスタ・差分イメージ変換部４０３ｂは、そのＬＢＡにベーシックディスクＢの読み取り位置のブロック（データ）をコピーする（Ｓ１４０８）。
【０１２４】
読み取ったブロックが最終ブロックである場合（Ｓ１４０９におけるＹ）、本処理は終了する。最終ブロックでない場合（Ｓ１４０９におけるＮ）、マスタ・差分イメージ変換部４０３ｂは、マスタディスクＤ１３５の読み取り入りを次のブロックにセットし（Ｓ１４１０）、さらに、対象ディスクＤの読み取り位置を次のブロックにセットする（Ｓ１４１１）。その後、処理はステップ１４０５に戻る。
【０１２５】
本処理により、マスタディスクと対象のベーシックディスクとから、同一アドレスのデータブロックを順次取得し、それらを比較することで、ベーシックディスクにおいてマスタディスクと共通の（同一内容の）データブロックと、マスタディスクとは異なるデータブロックとを特定することができる。
【０１２６】
本処理は、対象のベーシックディスクにおいてマスタディスクと異なるデータブロックからなる差分データを格納する差分ディスクを作成し、その後の仮想サーバによるアクセスのためアドレス変換データを仮想ディスクマッピングテーブルに格納する。これにより、仮想サーバは、以前と同様のアドレスにより、差分ディスク及びマスタディスクにアクセスすることができる。仮想ディスクマッピングテーブル及びそれによりアドレス変換については、図７、図８及びそれらの説明を参照されたい。
【０１２７】
上記処理は、マスタディスクと対象ディスクのブロックデータ自体を比較する。これにより、ブロックデータの一致／不一致を確実に判定することができる。設計によっては、マスタ・差分イメージ変換部４０３ｂは、ブロックデータのハッシュ値を使用してブロックデータの一致／不一致を判定してもよい。マスタ・差分イメージ変換部４０３ｂは、取得したブロックのそれぞれからハッシュ値を算出し、それらを比較する。一致する場合には、２つのブロックデータは同一であると判定する。
【０１２８】
異なるブロックデータを同一であると判定することを避けるために、各ブロックデータから複数のハッシュ値を算出することが好ましい。異なる計算方法による異なる種類のハッシュ値を算出する。ディスク間の類似性の比較よりもブロックデータ一致の判定の正確性を求められるため、そのハッシュ値の種類の数は、類似性判定におけるハッシュ値の種類よりも多いことが好ましい。処理効率と正確な判定の点からは、類似判定において一つのハッシュ値のみを使用し、差分ディスクへの格納ブロックの特定において２種類のハッシュ値を比較することが好ましい。
【０１２９】
上記処理は、差分ディスクに格納するデータを、ベーシックディスクからコピーし、ベーシックディスク内の物理領域とは異なる領域に格納する。設計によっては、差分ディスクの領域がベーシックディスクの領域を含み、差分データのブロックは、ベーシックディスク内の同一領域にとどまっていてもよい。２つのボリュームのブロックサイズが異なる場合、大きなサイズのブロックデータと小さいサイズの複数のブロックデータとを比較すればよい。
【０１３０】
＜物理サーバから仮想サーバへの移行＞
以下において。物理サーバの環境を仮想環境に移行する処理（Ｐ２Ｖ）を説明する。具体的には、本実施形態は、物理サーバのデータ（ボリューム）を仮想環境に移すとき、適切なマスタディスクが存在する場合には、移行するボリュームとマスタディスクとを比較して、新たな差分ディスクを作成する。これにより、仮想環境への移行後の差分ディスク作成処理を省略することができる。さらに、本実施形態は、好ましい方法として、差分ディスクに格納するデータのみを新たな物理サーバに移動する。これにより、仮想環境への移行処理を効率的に行うことができる。
【０１３１】
本処理は、マスタディスクの存在の有無の判定並びに差分ディスクの作成及びその差分ディスクへのデータの格納の処理を含む。図１５を参照して、マスタディスクの判定を含む処理を説明する。図１５の処理は、図９の処理に対応している。以下においては、物理サーバＤのボリュームのデータを、物理サーバＢのボリュームに移す処理を例として説明する。
【０１３２】
最初に、管理サーバ１０１における物理サーバ管理部１０２は、物理サーバ１０８ｄの物理サーバ管理部１２６（図４を参照）に、ディスクイメージ解析を指示する（Ｓ１５０１）。物理サーバ管理部１２６からの指示により、物理サーバ１０８ｄにおけるディスクイメージ解析部１２２は、ディスクイメージ解析を実行する。解析方法は、図１２を参照して説明した方法と同様である。物理サーバ管理部１２６は、この解析結果を管理サーバ１０１に送る。管理サーバ１０１のディスクイメージ解析取得部２１１は、その解析結果を取得する（Ｓ１５０２）。
【０１３３】
管理サーバ１０１のディスクイメージ情報管理部２１０は、マスタディスク判定処理を実行する（Ｓ１５０４）。この処理は、図１３のフローチャートにおける処理と同様である。適切なマスタディスクが存在している場合（Ｓ１５０５におけるＹ）、管理サーバ１０１は、物理サーバ１０８ｄの物理サーバ管理部１２６と移行先の仮想化制御プログラム１２０ｂにマスタディスクの識別子と移行処理の指令を送る（Ｓ１５０６）
【０１３４】
適切なマスタディスクが存在していない場合（Ｓ１５０５におけるＮ）、物理サーバ１０８ｄの物理サーバ管理部１２６と移行先の仮想化制御プログラム１２０ｂに、差分ディスクを作成いない（差分化しない）通常の移行処理の指令を送る（Ｓ１５０７）。さらに、ディスクイメージ譲歩管理部２１０は、仮想イメージ管理テーブル１０７に、新たな仮想ディスクの識別子を含むレコードを登録する。このレコードにおいて、マスタフラグはＴＲＵＥにセットされる（Ｓ１５０８）。
【０１３５】
次に、図１６のフローチャートを参照して、差分ディスクの作成を含む処理を説明する。物理サーバＢ１０８ｂのマスタ・差分イメージ変換部４０３ｂは、管理サーバ１０１からマスタディスクの識別子を取得する（Ｓ１６０１）。次に、マスタ・差分イメージ変換部４０３ｂは、マスタディスクの読み取り位置を先頭ブロックにセットする（Ｓ１６０２）。次に、マスタ・差分イメージ変換部４０３ｂは、差分ディスクを作成する（Ｓ１６０３）。
【０１３６】
次に、マスタ・差分イメージ変換部４０３ｂは、物理サーバ１０８ｄの物理サーバ管理部１２６から、最初のブロックの２つハッシュ値を取得する（Ｓ１６０４）。ハッシュ値は、ディスクイメージ解析部１２２が算出する。ディスクイメージ解析部１２２は、異なる２つの計算方法を使用して、２つのハッシュ値を算出する。
【０１３７】
マスタ・差分イメージ変換部４０３ｂは、マスタブロックの読み取り位置のブロックの２つのハッシュ値（ハッシュ値ペア）を取得する（Ｓ１６０５）。ハッシュ値は、ディスクイメージ解析部１２４ｂが算出する。算出方法は、ディスクイメージ解析部１２２のそれと同じである。テーブルにハッシュ値配列にハッシュ値が登録されていれば、その値を使用してもよい。
【０１３８】
マスタ・差分イメージ変換部４０３ｂは、２つのブロックデータのハッシュ値ペアを比較する（Ｓ１６０６）。ハッシュ値ペアが同一である場合（Ｓ１６０６におけるＹ）、つまり、異なる算出方法のハッシュ値のそれぞれが同一である場合、マスタ・差分イメージ変換部４０３ｂは、２つのブロックのデータが一致していると判定する。いずれか一方の種類の２つのハッシュ値が一致しない場合（Ｓ１６０６におけるＮ）、２つのブロックのデータが一致していないと判定する。
【０１３９】
２つのブロックデータのハッシュ値ペアが一致している場合（Ｓ１６０６におけるＹ）、マスタ・差分イメージ変換部４０３ｂは、マッピングテーブルにおいて、そのブロックのレコードの物理ブロックＬＢＡのフィールドに一致フラグ「−１」をセットする（Ｓ１６０７）。マスタ・差分イメージ変換部４０３ｂは、現在のブロックが最後のブロックであるか判定し（Ｓ１６０８）、最後のブロックであれば（Ｓ１６０８におけるＹ）処理を終了する。
【０１４０】
最後のブロックでなければ（Ｓ１６０８におけるＮ）、マスタ・差分イメージ変換部４０３ｂは、マスタディスクの読み取り位置を次のブロックにセットし（Ｓ１６０９）、さらに、物理サーバＤ１０８ｄから次のブロックデータのハッシュ値ペアを取得する（Ｓ１６１０）。その後、マスタ・差分イメージ変換部４０３ｂはステップ１６０５移行のステップを実行する。
【０１４１】
ステップ１６０６において、２つのブロックのデータが不一致の場合（Ｓ１６０６におけるＮ）、マスタ・差分イメージ変換部４０３ｂは、ディスクイメージ受信部１２５ａに、ブロックデータの受信を指示する。
【０１４２】
ディスクイメージ受信部１２５ａは、物理サーバ１０８ｄのディスクイメージ送信部に指令を送り、ディスクイメージ送信部から該当のブロックデータを受信する。マスタ・差分イメージ変換部４０３ｂは、仮想サーバマッピングテーブル４０１ｂに、そのブロックデータの物理ブロックＬＢＡを書き込み、さらに、差分ディスクにおけるそのアドレスに受信したブロックデータを書き込む（Ｓ１６１１）。処理は、その後、ステップ１６０８に進む。
【０１４３】
本処理は、物理環境から仮想環境への移行において、差分ディスクを作成し、マスタディスクと対象ディスクと間の差分データを格納する。従って、移行後のストレージ実容量を低減することができる。さらに、好ましい方法として、ボリュームデータにおいて、マスタディスクと異なるブロックデータを選択的に移すので、移行処理を効率的に行うことができる。設計によっては、マスタ・差分イメージ変換部は、移行元のボリュームからブロックデータを順次取得し、マスタディスクの同一ブロックのブロックデータと比較してもよい。
【０１４４】
上記処理は、ブロックデータの比較において、２つのハッシュ値を使用する。ブロックデータの比較をより正確に行うため、複数種類のハッシュ値を使用することが好ましい。使用するハッシュ値の演算方法の数は、設計により適切な値を選択する。設計によっては、１つのハッシュ値のみで同一性を判定してもよい。
【０１４５】
差分ディスクへのデータ格納におけるブロックデータの一致判定は、ディスク間の類似性判定におけるデータ一致性判定よりも正確性が求められる。従って、そのハッシュ値の種類の数は、類似性判定におけるハッシュ値の種類よりも多いことが好ましい。処理効率と正確な判定の点からは、類似判定において１つのハッシュ値のみを使用し、差分ディスクへの格納ブロックの特定において２種類のハッシュ値を比較することが好ましい。
【０１４６】
以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。例えば、プログラムの一部は、専用ハードウェアによって実現されてもよい。プログラムは、プログラム配布サーバや、非一時的な計算機読み取り可能な記憶媒体によって各計算機にインストールすることができ、各計算機の非一時的記憶媒体を備える記憶装置に格納することができる。
【０１４７】
本実施形態における各処理は、上記各主体が実行することが好ましいが、物理サーバが実行する処理の一部を管理サーバが実行する、又は、管理サーバが実行する処理の一部を管理サーバが実装してもよい。本実施形態において、稼動している仮想サーバのボリュームからマスタボリュームを作成することが好ましいが、稼動している仮想サーバとは別に用意されたマスタボリュームを参照して、稼動している仮想サーバのボリュームから差分ボリュームを作成してもよい。
【０１４８】
上述のように、差分ディスクを作成するマスタディスクとベーシックディスクとは同一の物理サーバに割り当てられていてもよいし、異なる物理サーバに割り当てられていてもよい。ストレージ装置は、１つ又は複数のストレージサブシステムから構成することができる。上記構成例において、ストレージ装置はディスク装置にデータを格納するが、ストレージ装置はディスク装置とは異なるデータ記憶媒体にデータを格納することができる。
【産業上の利用可能性】
【０１４９】
本発明は、仮想サーバを実行する物理サーバとその仮想サーバのボリュームを提供するストレージ装置とを含む計算機システムにおいて利用することができる。
【図１Ａ】
2012063315.tif 000003
【図１Ｂ】
2012063315.tif 000004
【図２Ａ】
2012063315.tif 000005
【図２Ｂ】
2012063315.tif 000006
【図３】
2012063315.tif 000007
【図４】
2012063315.tif 000008
【図５Ａ】
2012063315.tif 000009
【図５Ｂ】
2012063315.tif 000010
【図６】
2012063315.tif 000011
【図７】
2012063315.tif 000012
【図８】
2012063315.tif 000013
【図９】
2012063315.tif 000014
【図１０】
2012063315.tif 000015
【図１１】
2012063315.tif 000016
【図１２】
2012063315.tif 000017
【図１３】
2012063315.tif 000018
【図１４】
2012063315.tif 000019
【図１５】
2012063315.tif 000020
【図１６】
2012063315.tif 000021
【国際調査報告】
2012063315.tif 000022
2012063315.tif 000023
2012063315.tif 000024
2012063315.tif 000025
2012063315.tif 000026
2012063315.tif 000027
2012063315.tif 000028
2012063315.tif 000029