(57)【特許請求の範囲】
【請求項１】
情報処理装置により提供される情報処理サービスの障害復旧方法であって、
仮想マシンイメージを生成する仮想マシンイメージ生成装置と、前記仮想マシンイメージに基づき仮想マシンを実現する仮想マシン実現装置と、を設け、
前記仮想マシンイメージ生成装置が、前記情報処理サービスの正常稼働時における前記情報処理サービスを実現しているシステムデータ及びハードウェア構成情報に基づき、前記仮想マシンイメージを生成して記憶し、
前記仮想マシン実現装置が、前記情報処理サービスに障害が発生した際、前記仮想マシンイメージに基づき前記情報処理サービスの機能を提供する仮想マシンを実現し、
前記情報処理装置は、
前記情報処理サービスにおいて使用するデータを記憶するための記憶装置の未使用記憶領域が所定の閾値を下回ったと判定した場合、前記記憶装置内で所定期間使用されていないと判定されるデータを抽出して前記仮想マシンが使用する仮想記憶装置に格納し、前記データ抽出元である前記記憶装置内の当該データを削除し、前記抽出したデータの属性を記録しているメタデータと前記仮想記憶装置における前記データの保存場所を示す情報とを当該データの抽出元である前記記憶装置に格納し、
前記情報処理サービスの障害復旧処理を実行する場合、前記データの抽出元である前記記憶装置に記憶されている全データについて、各データの保存場所を示す情報及び当該データのメタデータのみを記憶するのに必要な記憶容量を前記仮想記憶装置に設定する
ことを特徴とする情報処理サービスの障害復旧方法。
【請求項２】
請求項１に記載の情報処理サービスの障害復旧方法であって、
前記情報処理装置は、前記仮想マシンイメージ生成装置と通信可能に接続し、
前記情報処理装置が、前記システムデータ及び前記ハードウェア構成情報の内容が変更された場合に、前記変更内容を前記仮想マシンイメージ生成装置に送信し、
前記仮想マシンイメージ生成装置が、前記変更内容に従って、記憶している前記仮想マシンイメージを変更後の内容に更新する
ことを特徴とする情報処理サービスの障害復旧方法。
【請求項３】
請求項１に記載の情報処理サービスの障害復旧方法であって、
前記仮想マシンイメージ生成装置は、前記仮想マシン実現装置と通信可能に接続し、
前記仮想マシン実現装置が、前記情報処理サービスに障害が発生した際に、前記仮想マシンイメージ生成装置から前記仮想マシンイメージを取得し、
前記仮想マシン実現装置が、取得した前記仮想マシンイメージに従って前記情報処理装置をエミュレートすることによって、前記情報処理サービスの機能を提供する前記仮想マシンを実現する
ことを特徴とする情報処理サービスの障害復旧方法。
【請求項４】
請求項３に記載の情報処理サービスの障害復旧方法であって、
前記仮想マシン実現装置による前記仮想マシンイメージ生成装置からの前記仮想マシンイメージの取得は、
前記情報処理サービスに障害が発生した際に、前記仮想マシン実現装置が、前記仮想マシンイメージの取得要求の入力を契機に、前記仮想マシンイメージ生成装置に、前記仮想マシンイメージの送信要求を送信し、
前記仮想マシンイメージ生成装置が、前記送信要求に応じて、記憶している前記仮想マシンイメージを前記仮想マシン実現装置に送信することにより行われる
ことを特徴とする情報処理サービスの障害復旧方法。
【請求項５】
請求項１に記載の情報処理サービスの障害復旧方法であって、
前記情報処理装置は、
前記情報処理サービスの障害復旧処理を実行する場合、前記情報処理装置が使用する前記記憶装置から所定のデータを抽出し、当該抽出したデータの属性を記録しているメタデータと前記記憶装置における前記データの保存場所を示す情報とを前記仮想記憶装置に格納する
ことを特徴とする情報処理サービスの障害復旧方法。
【請求項６】
請求項３に記載の情報処理サービスの障害復旧方法であって、
前記情報処理装置は、通信可能に接続されたサービス利用装置からデータ入出力要求を受信し、前記データ入出力要求に応じて前記情報処理装置が有する記録媒体に対してデータの読み出し及び書き込みを行い、その実行結果を前記サービス利用装置に送信するサービスを前記情報処理サービスとして提供し、
前記情報処理装置が有する前記記録媒体の第１記憶領域には、前記読み出し及び書き込みの対象となるデータが記憶され、前記記録媒体の第２記憶領域には、前記情報処理装置による前記情報処理サービスを実現している前記システムデータ及び前記ハードウェア構成情報が記憶されており、
前記仮想マシン実現装置は、前記第１記憶領域に記録されているデータの複製を記憶するバックアップ装置と通信可能に接続され、
前記仮想マシンが、前記サービス利用装置から受信する前記データ入出力要求に応じて、前記バックアップ装置に記憶されている前記データの複製に対する読み出し及び書き込みを行うことにより、前記情報処理サービスを提供する
ことを特徴とする情報処理サービスの障害復旧方法。
【請求項７】
請求項６に記載の情報処理サービスの障害復旧方法であって、
前記仮想マシン実現装置が、前記仮想マシンが前記データ入出力要求に応じてデータの読み出し及び書き込みを行う際に利用する記憶領域の、前記仮想マシンへの割り当て方法を指定する入力を受け付け、
第１の割り当て方法が指定された場合には、前記仮想マシン実現装置が、前記仮想マシンを実現する際に、前記仮想マシン実現装置が有する記録媒体の記憶領域のうち、前記バックアップ装置が記憶している前記データの複製の前記バックアップ装置における記憶位置を示すアドレス情報の総データ量に基づいて算出される記憶容量を有する記憶領域を前記仮想マシンに割り当て、
第２の割り当て方法が指定された場合には、前記仮想マシン実現装置が、前記仮想マシンを実現する際に、前記仮想マシン実現装置が有する記録媒体の記憶領域のうち、前記情報処理装置が有する前記記録媒体の記憶容量に基づいて算出される記憶容量を有する記憶領域を前記仮想マシンに割り当て、
第３の割り当て方法が指定された場合には、前記仮想マシン実現装置が、前記仮想マシンに割り当てる記憶容量を指定する入力をさらに受け付け、前記仮想マシンを実現する際に、前記仮想マシン実現装置が有する記録媒体の記憶領域のうち、前記バックアップ装置が記憶している前記データの複製の前記バックアップ装置における記憶位置を示すアドレス情報の総データ量に基づいて算出される記憶容量に、指定された前記記憶容量を加えた記憶容量を有する記憶領域を前記仮想マシンに割り当てる
ことを特徴とする情報処理サービスの障害復旧方法。
【請求項８】
請求項７に記載の情報処理サービスの障害復旧方法であって、
前記第１の割り当て方法が指定された場合には、
前記仮想マシン実現装置が、前記仮想マシンを実現する際に、前記バックアップ装置から、前記データの複製の前記バックアップ装置における記憶位置を示すアドレス情報を取得し、
前記仮想マシン実現装置が、取得した前記アドレス情報を、前記仮想マシン実現装置が前記仮想マシンに割り当てた前記記憶領域に記憶し、
前記仮想マシンが、前記サービス利用装置から受信する前記データ入出力要求のうちデータ入力要求のみを受け付け、前記データ入力要求の対象とされているデータの前記バックアップ装置における記憶位置を前記アドレス情報により特定し、記憶位置を特定した前記データに対して読み出しを行うことにより、前記情報処理サービスを提供する
ことを特徴とする情報処理サービスの障害復旧方法。
【請求項９】
請求項７に記載の情報処理サービスの障害復旧方法であって、
前記第２の割り当て方法が指定された場合には、
前記仮想マシン実現装置が、前記仮想マシンを実現する際に、前記バックアップ装置に記憶されている前記データの複製を前記バックアップ装置から取得し、
前記仮想マシン実現装置が、取得した前記データの複製を、前記仮想マシン実現装置が前記仮想マシンに割り当てた前記記憶領域に記憶し、
前記仮想マシンが、前記サービス利用装置から受信する前記データ入出力要求に応じて、前記記憶領域に記憶されている前記データの複製に対して読み出し及び書き込みを行うことにより、前記情報処理サービスを提供する
ことを特徴とする情報処理サービスの障害復旧方法。
【請求項１０】
請求項７に記載の情報処理サービスの障害復旧方法であって、
前記第３の割り当て方法が指定された場合には、
前記仮想マシン実現装置が、前記仮想マシンを実現する際に、前記バックアップ装置から、前記データの複製の前記バックアップ装置における記憶位置を示すアドレス情報を取得し、  前記仮想マシン実現装置が、取得した前記アドレス情報を、前記仮想マシン実現装置が前記仮想マシンに割り当てた前記記憶領域に記憶し、
前記仮想マシンが、前記サービス利用装置から受信する前記データ入出力要求のうちデータ入力要求に対しては、前記データ入力要求の対象とされているデータの前記バックアップ装置における記憶位置を前記アドレス情報により特定し、記憶位置を特定した前記データに対して読み出しを行い、データ出力要求に対しては、前記データ出力要求の対象とされているデータを前記仮想マシンに割り当てられた前記記憶領域に書き込むことにより、前記情報処理サービスを提供する
ことを特徴とする情報処理サービスの障害復旧方法。
【請求項１１】
請求項３に記載の情報処理サービスの障害復旧方法であって、
前記仮想マシン実現装置は、前記仮想マシンが前記情報処理サービスの提供を開始してから所定期間経過後に、前記仮想マシンによる前記情報処理サービスの提供を停止する
ことを特徴とする情報処理サービスの障害復旧方法。
【請求項１２】
請求項６に記載の情報処理サービスの障害復旧方法であって、
前記情報処理装置による前記情報処理サービスの障害が回復した場合には、
前記情報処理装置が、前記バックアップ装置から、前記バックアップ装置に記憶されているデータ取得し、
前記情報処理装置が、取得した前記データを前記情報処理装置が有する前記記録媒体の前記第１記憶領域に記憶し、
前記情報処理装置が、前記サービス利用装置から受信する前記データ入出力要求に応じて、前記第１記憶領域に記憶されている前記データに対して読み出し及び書き込みを行うことにより、前記情報処理サービスを行う
ことを特徴とする情報処理サービスの障害復旧方法。
【請求項１３】
請求項１に記載の情報処理サービスの障害復旧方法であって、
前記情報処理装置は、前記仮想マシンイメージ生成装置と通信可能に接続し、
前記情報処理装置が、前記システムデータ及び前記ハードウェア構成情報の内容が変更された場合に、前記変更内容を前記仮想マシンイメージ生成装置に送信し、
前記仮想マシンイメージ生成装置が、前記変更内容に従って、記憶している前記仮想マシンイメージを変更後の内容に更新し、
前記仮想マシンイメージ生成装置が、前記仮想マシン実現装置と通信可能に接続されている場合には、
前記仮想マシン実現装置が、前記情報処理サービスに障害が発生した際に、前記仮想マシンイメージ生成装置から前記仮想マシンイメージを取得し、
前記仮想マシン実現装置が、取得した前記仮想マシンイメージに従って前記情報処理装置をエミュレートすることによって、前記情報処理サービスの機能を提供する前記仮想マシンを実現し、
前記仮想マシン実現装置による前記仮想マシンイメージ生成装置からの前記仮想マシンイメージの取得は、
前記情報処理サービスに障害が発生した際に、前記仮想マシン実現装置が、前記仮想マシンイメージ生成装置に、前記仮想マシンイメージの送信要求を送信し、
前記仮想マシンイメージ生成装置が、前記送信要求に応じて、記憶している前記仮想マシンイメージを前記仮想マシン実現装置に送信することにより行われ、
前記仮想マシンイメージ生成装置には、複数の前記情報処理装置の前記仮想マシンイメージが、それぞれの前記情報処理装置の識別情報と対応付けて記憶されている場合には、
前記仮想マシン実現装置による前記仮想マシンイメージ生成装置からの前記仮想マシンイメージの取得は、
前記情報処理サービスに障害が発生した際に、前記仮想マシン実現装置が、前記仮想マシンイメージ生成装置に、前記情報処理サービスに障害が発生した前記情報処理装置の識別情報を指定して前記仮想マシンイメージの送信要求を送信し、
前記仮想マシンイメージ生成装置が、前記送信要求により指定された前記識別情報と対応付けて記憶されている前記仮想マシンイメージを、前記仮想マシン実現装置に送信することにより行われ、
前記情報処理装置が、通信可能に接続されたサービス利用装置からデータ入出力要求を受信し、前記データ入出力要求に応じて前記情報処理装置が有する記録媒体に対してデータの読み出し及び書き込みを行い、その実行結果を前記サービス利用装置に送信するサービスを前記情報処理サービスとして提供し、
前記情報処理装置が有する前記記録媒体の第１記憶領域には、前記読み出し及び書き込みの対象となるデータが記憶され、前記記録媒体の第２記憶領域には、前記情報処理装置による前記情報処理サービスを実現している前記システムデータ及び前記ハードウェア構成情報が記憶されており、
前記仮想マシン実現装置は、前記第１記憶領域に記録されているデータの複製を記憶するバックアップ装置と通信可能に接続されている場合には、
前記仮想マシンが、前記サービス利用装置から受信する前記データ入出力要求に応じて、前記バックアップ装置に記憶されている前記データの複製に対する読み出し及び書き込みを行うことにより、前記情報処理サービスを提供し、
前記仮想マシン実現装置が、前記仮想マシンが前記データ入出力要求に応じてデータの読み出し及び書き込みを行う際に利用する記憶領域の、前記仮想マシンへの割り当て方法を指定する入力を受け付ける場合には、
第１の割り当て方法が指定された場合には、前記仮想マシン実現装置が、前記仮想マシンを実現する際に、前記仮想マシン実現装置が有する記録媒体の記憶領域のうち、前記バックアップ装置が記憶している前記データの複製の前記バックアップ装置における記憶位置を示すアドレス情報の総データ量に基づいて算出される記憶容量を有する記憶領域を前記仮想マシンに割り当て、
第２の割り当て方法が指定された場合には、前記仮想マシン実現装置が、前記仮想マシンを実現する際に、前記仮想マシン実現装置が有する記録媒体の記憶領域のうち、前記情報処理装置が有する前記記録媒体の記憶容量に基づいて算出される記憶容量を有する記憶領域を前記仮想マシンに割り当て、
第３の割り当て方法が指定された場合には、前記仮想マシン実現装置が、前記仮想マシンに割り当てる記憶容量を指定する入力をさらに受け付け、前記仮想マシンを実現する際に、前記仮想マシン実現装置が有する記録媒体の記憶領域のうち、前記バックアップ装置が記憶している前記データの複製の前記バックアップ装置における記憶位置を示すアドレス情報の総データ量に基づいて算出される記憶容量に、指定された前記記憶容量を加えた記憶容量を有する記憶領域を前記仮想マシンに割り当て、
前記第１の割り当て方法が指定された場合には、
前記仮想マシン実現装置が、前記仮想マシンを実現する際に、前記バックアップ装置から、前記データの複製の前記バックアップ装置における記憶位置を示すアドレス情報を取得し、
前記仮想マシン実現装置が、取得した前記アドレス情報を、前記仮想マシン実現装置が前記仮想マシンに割り当てた前記記憶領域に記憶し、
前記仮想マシンが、前記サービス利用装置から受信する前記データ入出力要求のうちデータ入力要求のみを受け付け、前記データ入力要求の対象とされているデータの前記バックアップ装置における記憶位置を前記アドレス情報により特定し、記憶位置を特定した前記データに対して読み出しを行うことにより、前記情報処理サービスを提供し、
前記第２の割り当て方法が指定された場合には、
前記仮想マシン実現装置が、前記仮想マシンを実現する際に、前記バックアップ装置に記憶されている前記データの複製を前記バックアップ装置から取得し、
前記仮想マシン実現装置が、取得した前記データの複製を、前記仮想マシン実現装置が前記仮想マシンに割り当てた前記記憶領域に記憶し、
前記仮想マシンが、前記サービス利用装置から受信する前記データ入出力要求に応じて、前記記憶領域に記憶されている前記データの複製に対して読み出し及び書き込みを行うことにより、前記情報処理サービスを提供し、
前記第３の割り当て方法が指定された場合には、
前記仮想マシン実現装置が、前記仮想マシンを実現する際に、前記バックアップ装置から、前記データの複製の前記バックアップ装置における記憶位置を示すアドレス情報を取得し、
前記仮想マシン実現装置が、取得した前記アドレス情報を、前記仮想マシン実現装置が前記仮想マシンに割り当てた前記記憶領域に記憶し、
前記仮想マシンが、前記サービス利用装置から受信する前記データ入出力要求のうちデータ入力要求に対しては、前記データ入力要求の対象とされているデータの前記バックアップ装置における記憶位置を前記アドレス情報により特定し、記憶位置を特定した前記データに対して読み出しを行い、データ出力要求に対しては、前記データ出力要求の対象とされているデータを前記仮想マシンに割り当てられた前記記憶領域に書き込むことにより、前記情報処理サービスを提供し、
前記仮想マシン実現装置は、前記仮想マシンが前記情報処理サービスの提供を開始してから所定期間経過後に、前記仮想マシンによる前記情報処理サービスの提供を停止し、
前記情報処理装置による前記情報処理サービスの障害が回復した場合には、
前記情報処理装置が、前記バックアップ装置から、前記バックアップ装置に記憶されているデータ取得し、
前記情報処理装置が、送信された前記データを前記情報処理装置が有する前記記録媒体の前記第１記憶領域に記憶し、
前記情報処理装置が、前記サービス利用装置から受信する前記データ入出力要求に応じて、前記第１記憶領域に記憶されている前記データに対して読み出し及び書き込みを行うことにより、前記情報処理サービスを行う
ことを特徴とする情報処理サービスの障害復旧方法。
【請求項１４】
情報処理装置により提供される情報処理サービスの障害復旧に用いる仮想マシンイメージ生成装置であって、
前記情報処理サービスの正常稼働時における前記情報処理サービスを実現しているシステムデータを前記情報処理装置から取得するシステムデータ取得部と、
取得した前記システムデータに基づき、前記情報処理サービスの機能を提供する仮想マシンを実現するための仮想マシンイメージを生成して記憶する仮想マシンイメージ生成部と
を備え、
前記情報処理装置は、
前記情報処理サービスにおいて使用するデータを記憶するための記憶装置の未使用記憶領域が所定の閾値を下回ったと判定した場合、前記記憶装置内で所定期間使用されていないと判定されるデータを抽出して前記仮想マシンが使用する仮想記憶装置に格納し、前記データ抽出元である前記記憶装置内の当該データを削除し、前記抽出したデータの属性を記録しているメタデータと前記仮想記憶装置における前記データの保存場所を示す情報とを当該データの抽出元である前記記憶装置に格納し、
前記情報処理サービスの障害復旧処理を実行する場合、前記データの抽出元である前記記憶装置に記憶されている全データについて、各データの保存場所を示す情報及び当該データのメタデータのみを記憶するのに必要な記憶容量を前記仮想記憶装置に設定する
ことを特徴とする仮想マシンイメージ生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理サービスの障害復旧方法及び仮想マシンイメージ生成装置に関する。
【背景技術】
【０００２】
近年、コンピュータ関連技術の進歩に伴い、遠隔地に設置される情報処理装置により提供される情報処理サービスをクライアントから利用するようにした、情報処理サービスの利用形態が普及している。
このような情報処理サービスの可用性を向上させる技術の一つとして、情報処理装置をクラスタ化する技術がある（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−３０５３５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
この技術は、情報処理サービスの提供を行う本番用の情報処理装置のほかに専用の待機用の情報処理装置を用意しておき、本番用の情報処理装置に障害等が発生し、情報処理サービスの提供を行えなくなった場合に、待機用の情報処理装置が本番用の情報処理装置から実行中の情報処理を引き継ぎ、クライアントに対する情報処理サービスの提供を継続することを可能にする技術である。
【０００５】
ところで、情報処理装置をクラスタ化する場合、本番用の情報処理装置の他に、１台以上の待機用の情報処理装置を専用に用意し、常に稼働させておく必要がある。このため、装置導入コストやランニングコストが大きい。また、２台以上の情報処理装置で１つの情報処理サービスを運用するため、管理コストも大きくなる。情報処理装置をクラスタ化するソフトウェアの設定や、待機用の情報処理装置のＩＰアドレスの準備やハードウェア障害を監視するためのハートビートＬＡＮの設定など、煩雑な管理が必要である。
【０００６】
一方でこのようなクラスタ化のデメリットを回避するために、情報処理装置のクラスタ化を行わないことも考えられる。しかし、クラスタ化せずに情報処理サービスの提供を行うようにした場合には、情報処理装置のハードウェアに障害等が発生し、情報処理サービスの提供を行えなくなると、新たな情報処理装置の調達や、ＯＳ（Operating System）、アプリケーションプログラムのインストール、システムの再設定等の作業が終わるまでの期間に亘り、情報処理サービスの提供が停止してしまうことになる。
【０００７】
本発明はこのような背景を鑑みてなされたもので、情報処理サービスを提供する情報処理装置をクラスタ化しなくても、障害が発生した情報処理サービスを直ちに復旧することを可能にする情報処理サービスの障害復旧方法、及び仮想マシンイメージ生成装置を提供することを一つの目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するための手段の一つは、情報処理装置により提供される情報処理サービスの障害復旧方法であって、仮想マシンイメージを生成する仮想マシンイメージ生成装置と、前記仮想マシンイメージに基づき仮想マシンを実現する仮想マシン実現装置と、を設け、前記仮想マシンイメージ生成装置が、前記情報処理サービスの正常稼働時における前記情報処理サービスを実現しているシステムデータ及びハードウェア構成情報に基づき、前記仮想マシンイメージを生成して記憶し、前記仮想マシン実現装置が、前記情報処理サービスに障害が発生した際、前記仮想マシンイメージに基づき前記情報処理サービスの機能を提供する仮想マシンを実現し、前記情報処理装置は、前記情報処理サービスにおいて使用するデータを記憶するための記憶装置の未使用記憶領域が所定の閾値を下回ったと判定した場合、前記記憶装置内で所定期間使用されていないと判定されるデータを抽出して前記仮想マシンが使用する仮想記憶装置に格納し、前記データ抽出元である前記記憶装置内の当該データを削除し、前記抽出したデータの属性を記録しているメタデータと前記仮想記憶装置における前記データの保存場所を示す情報とを当該データの抽出元である前記記憶装置に格納し、前記情報処理サービスの障害復旧処理を実行する場合、前記データの抽出元である前記記憶装置に記憶されている全データについて、各データの保存場所を示す情報及び当該データのメタデータのみを記憶するのに必要な記憶容量を前記仮想記憶装置に設定する。
その他、本願が開示する課題、及びその解決方法は、発明を実施するための形態の欄の記載、及び図面の記載等により明らかにされる。
【発明の効果】
【０００９】
本発明によれば、情報処理サービスを提供する情報処理装置をクラスタ化しなくても、障害が発生した情報処理サービスを直ちに復旧することが可能になる。
【図面の簡単な説明】
【００１０】
【図１】実施形態に係る情報処理システムの全体構成を示す図である。
【図２】実施形態に係る情報処理システムのハードウェア構成を示す図である。
【図３】実施形態に係るサービス提供サーバのソフトウェア構成を示す図である。
【図４】実施形態に係る仮想アプライアンス配布サーバのソフトウェア構成を示す図である。
【図５】実施形態に係る仮想マシンイメージのひな型を示す図である。
【図６】実施形態に係る仮想マシン構成定義ファイルを示す図である。
【図７】実施形態に係る管理テーブルを示す図である。
【図８】実施形態に係る仮想マシンイメージの概要を示す図である。
【図９】実施形態に係る仮想マシンイメージの作成および更新処理のフローチャートである。
【図１０】実施形態に係る仮想マシン稼働サーバのソフトウェア構成を示す図である。
【図１１】実施形態に係る仮想マシンイメージのダウンロードページを示す図である。
【図１２】実施形態に係る仮想マシンを示す図である。
【図１３】実施形態に係る仮想メモリ上で動作するプログラムの構成を示す図である。
【図１４】実施形態に係る情報処理システムの概要を示す図である。
【図１５】実施形態に係る情報処理システムのハードウェア構成を示す図である。
【図１６】実施形態に係るファイルサーバのソフトウェア構成を示す図である。
【図１７】実施形態に係るバックアップサーバのソフトウェア構成を示す図である。
【図１８】実施形態に係る仮想マシン稼働サーバのソフトウェア構成を示す図である。
【図１９】実施形態に係る仮想アプライアンス配布サーバのソフトウェア構成を示す図である。
【図２０】実施形態に係るマイグレーション処理のフローチャートである。
【図２１】実施形態に係る保存ファイルリストを示す図である。
【図２２】実施形態に係る通常ファイルとスタブファイルのデータ構成を示す図である。
【図２３】実施形態に係る仮想マシンイメージのダウンロードページを示す図である。
【図２４】実施形態に係る仮想マシンを示す図である。
【図２５】実施形態に係る仮想メモリ上で動作するプログラムの構成を示す図である。
【図２６】実施形態に係るリストア処理のフローチャートである。
【図２７】実施形態に係る全ファイルのマイグレーション処理のフローチャートである。
【図２８】実施形態に係る情報処理サービスの流れを示すフローチャートである。
【図２９】実施形態に係る仮想マシンイメージの生成、更新の流れを示すフローチャートである。
【図３０】実施形態に係る障害発生時の情報処理サービスの流れを示すフローチャートである。
【図３１】実施形態に係る障害復旧時の情報処理サービスの流れを示すフローチャートである。
【発明を実施するための形態】
【００１１】
＝＝第一の実施形態＝＝
＜全体構成＞
本発明の第一の実施形態に係る情報処理システム１０００の全体構成を図１に示す。
【００１２】
本実施形態に係る情報処理システム１０００は、サービス提供サーバ（情報処理装置）１０３と、仮想マシン稼動サーバ（仮想マシン実現装置）１０８と、仮想アプライアンス配布サーバ（仮想マシンイメージ生成装置）１１１と、が通信可能に接続されて構成される。
【００１３】
サービス提供サーバ１０３は、通信可能に接続されるクライアント１０２から情報処理サービスの提供要求を受信し、それに応じて情報処理を実行し、その実行結果をクライアント１０２に送信する情報処理サービスを提供するコンピュータである。
【００１４】
サービス提供サーバ１０３は、例えば、インターネットを介してクライアント１０２から送信されるリクエストに応じて、Ｗｅｂページや動画データ等のコンテンツデータ１０７をクライアント１０２に送信する情報処理サービスを提供するコンピュータである。サービス提供サーバ１０３は、サービス提供プログラム１０５を実行することによって、上記情報処理サービスの提供を行う。サービス提供サーバ１０３は、サービス提供プログラム１０５を実行し、クライアント１０２からのサービス要求を受信し、コンテンツデータ１０７をクライアント１０２に送信する。
【００１５】
またサービス提供サーバ１０３はシステム設定プログラム１０４を実行し、管理サーバ１０１と連携することにより、サービス提供サーバ１０３のシステムの設定や変更を行う。例えば、システム管理者は、管理サーバ１０１にログインし、サービス提供サーバ１０３のＩＰアドレスやユーザの追加/削除等のシステムデータ１０６の設定や変更を行うことができる。またサービス提供サーバ１０３は、例えばサービス提供プログラム１０５がwebサーバの場合は、webサービスを提供する上での色々な設定情報も保存する。
【００１６】
またサービス提供サーバ１０３は、管理サーバ１０１から送信されるシステム設定変更要求に応じ、サービス提供サーバ１０３内のシステムデータ１０６の内容を変更する。システムデータ１０６には、サービス提供サーバ１０３のＯＳ（Operating System）やプログラム、IPアドレス等のシステム設定データが格納されている。システム設定プログラム１０４が管理サーバ１０１から送信されるシステム設定変更要求を受信し、システムデータ１０６を更新する。
クライアント１０２は、サービス提供サーバ１０３から情報処理サービスの提供を受けるコンピュータである。
仮想アプライアンス配布サーバ１１１は、サービス提供サーバ１０３の仮想マシンイメージ１１８を作成し、記憶しておくコンピュータである。
【００１７】
仮想アプライアンス配布サーバ１１１は、仮想マシン作成プログラム１１２を実行することにより、サービス提供サーバ１０３が正常に情報処理サービスを提供している際のシステムデータ１０６やハードウェア構成情報に基づいて、仮想マシンイメージ１１８を生成する。詳細は後述するが、仮想マシン作成プログラム１１２内の仮想マシンイメージ作成部１１５が、サービス提供サーバ１０３の仮想マシンイメージ１１８を生成し、ディスク１１７内に記憶する。
【００１８】
なお、仮想マシンイメージ１１８内のシステムデータ１１９は、サービス提供サーバ１０３のシステムデータ１０６に基づいて生成される。また仮想マシンイメージ１１８内のコンテンツデータ１２０は、サービス提供サーバ１０３のコンテンツデータ１０７に基づいて生成される。
【００１９】
サービス提供サーバ１０３は、管理サーバ１０１からシステム設定変更要求を受信した場合には、サービス提供サーバ１０３は、そのシステム設定変更要求の内容に従ってシステムデータ１０６に記述されているシステム設定を変更する。またサービス提供サーバ１０３は、その変更内容を、仮想アプライアンス配布サーバ１１１に送信する。そうすると、仮想アプライアンス配布サーバ１１１内の設定受信部１１３は、設定反映部１１４に、システム設定の変更内容を転送する。そして設定反映部１１４は、仮想マシンイメージ１１８の内容を、その変更内容に応じて更新する。
【００２０】
なお、サービス提供サーバ１０３のハードウェア構成が変更された場合も同様に、サービス提供サーバ１０３は、その変更内容を仮想アプライアンス配布サーバ１１１に送信し、設定反映部１１４は仮想マシンイメージ１１８の内容をその変更内容に応じて更新する。
【００２１】
このようにして、仮想アプライアンス配布サーバ１１１は、サービス提供サーバ１０３と同様の情報処理サービスを提供可能な仮想マシンを実現するための仮想マシンイメージ１１８をディスク１１７内に保持しておく。
【００２２】
仮想マシン稼働サーバ１０８は、仮想マシンを実現可能な環境を有するコンピュータである。仮想マシン稼働サーバ１０８は、仮想マシンイメージ１１８を取得し、サービス提供サーバ１０３をエミュレートすることによって、サービス提供サーバ１０３により提供される情報処理サービスの機能を提供する仮想マシンを実現する。
【００２３】
本実施形態では、仮想マシン稼働サーバ１０８は、Webブラウザ１０９を介して、仮想アプライアンス配布サーバ１１１に対して仮想マシンイメージ１１８の送信要求を送信し、仮想アプライアンス配布サーバ１１１内のWebサーバ１１６から、仮想マシンイメージ１１８を取得する。そして仮想マシン稼動サーバ１０８は、仮想マシンモニタ１１０を用いて、取得した仮想マシンイメージ１１８に基づいて仮想マシンを実現する。仮想マシンイメージ１１８により実現される仮想マシンは、サービス提供サーバ１０３と同様の情報処理サービスを、クライアント１０２に対して提供する。
【００２４】
なお図１では、サービス提供サーバ１０３から情報処理サービスの提供を受けるクライアント１０２は１台のみだが、複数のクライアント１０２がサービス提供サーバ１０３から情報処理サービスの提供を受けてもよい。
【００２５】
また図１では、仮想アプライアンス配布サーバ１１１が作成し、配布する仮想マシンイメージ１１８は、１台のサービス提供サーバ１０３の仮想マシンイメージ１１８のみだが、サービス提供サーバ１０３が複数台ある場合には、それらのサービス提供サーバ１０３の仮想マシンイメージ１１８を作成、記憶し、配布するようにしてもよい。なおその場合、仮想アプライアンス配布サーバ１１１は、各サービス提供サーバ１０３の仮想マシンイメージ１１８を、各サービス提供サーバ１０３の識別情報と対応付けて記憶しておき、仮想マシン稼働サーバ１０８は、Webブラウザ１０９を介して、仮想マシンイメージ１１８を取得するサービス提供サーバ１０３の識別情報を指定して仮想マシンイメージ１１８の送信要求を仮想アプライアンス配布サーバ１１１に送信し、その識別情報に対応付けて記憶されている仮想マシンイメージ１１８を、仮想アプライアンス配布サーバ１１１内のWebサーバ１１６から取得する。
【００２６】
＜ハードウェア構成＞
次に、本実施形態における管理サーバ１０１、クライアント１０２、サービス提供サーバ１０３、仮想マシン稼動サーバ１０８、仮想アプライアンス配布サーバ１１１のハードウェア構成を図２に示す。
【００２７】
--管理サーバ--
管理サーバ１０１は、CPU（Central Processing Unit）２０２とメモリ２０３、記憶装置２０４とNIC（Network Interface Card）２０５を備えて構成される。
それぞれの構成部位は内部バス又は内部ネットワークにて接続される。CPU、メモリ、NIC、記憶装置の数は図２に示す個数に限定されるものではない。
CPU２０２は、メモリ２０３に格納されるプログラムを実行する。  
メモリ２０３は、例えば半導体メモリであり、CPU２０２が実行するプログラムやプログラムが参照するデータが格納される主記憶装置である。 
【００２８】
NIC２０５は管理サーバ１０１がサービス提供サーバ１０３、仮想マシン稼働サーバ１０８とLAN（Local Area Network）２１１を介して、データの送受信を行うために用いる。
【００２９】
記憶装置２０４は管理サーバ１０１が使用するプログラムやファイルを格納するための二次記憶装置である。管理サーバ１０１は、SSD（Solid State Drive）、HDD（Hard Disk Drive）、テープ装置等を二次記憶装置として、利用することができる。記憶装置２０４は図２に示す例では内部バスによって、他の構成部位と接続しているが、 RAID（Redundant Array of Indexing Disk）コントローラのようなストレージコントローラを介して、他の構成部位と接続してもよい。また、FC（Fiber Channel） HBA（Host Bus Adaptor）を介して、SAN（Storage Area Network）上の記憶装置２０４と他の構成部位が接続してもよい。
【００３０】
--クライアント--
クライアント１０２はCPU２０７とメモリ２０８、記憶装置２０９とNIC２１０から構成される。それぞれの構成部位は内部バス又は内部ネットワークにて接続される。CPU、メモリ、記憶措置、NIC、の数は図２に示す個数に限定されるものではない。
CPU２０７はメモリ２０８に格納されたプログラムを実行する。
メモリ２０８は、例えば半導体メモリであり、CPU２０７が実行するプログラムやプログラムが参照するデータが格納される主記憶装置である。
NIC２１０はクライアント１０２がサービス提供サーバ１０３、仮想マシン稼働サーバ１０８とLAN２１１を介して、データの送受信を行うために用いる。
【００３１】
記憶装置２０９はクライアント１０２が使用するプログラムやファイルを格納するための二次記憶装置である。クライアント１０２はSSD、HDD、テープ装置等を二次記憶装置として、利用することができる。記憶装置２０９は図２に示す例では内部バスによって、他の構成部位と接続しているが、RAIDコントローラのようなストレージコントローラを介して、他の構成部位と接続してもよい。また、FC HBAを介して、SAN上の記憶装置２０９と他の構成部位が接続してもよい。
【００３２】
--サービス提供サーバ--
サービス提供サーバ１０３はCPU２１７とメモリ２１８、記憶装置２１９とNIC２２０、NIC２２１から構成される。それぞれの構成部位は内部バス又は内部ネットワークにて接続される。CPU、メモリ、記憶装置、NIC、の数は図２に示す個数に限定されるものではない。
CPU２１７はメモリ２１８に格納されたプログラムを実行する。
メモリ２１８は、例えば半導体メモリであり、CPU２１７が実行するプログラムやプログラムが参照するデータが格納される主記憶装置である。
NIC２２０はサービス提供サーバ１０３が、LAN２１１を介して、管理サーバ１０１、クライアント１０２とデータの送受信を行うために用いる。
【００３３】
NIC２２１はサービス提供サーバ１０３が、WAN（Wide Area Network）２２８を介して、仮想アプライアンス配布サーバ１１１とデータの送受信を行うために用いる。
【００３４】
記憶装置２１９はサービス提供サーバ１０３が使用するプログラムやファイルを格納するための二次記憶装置である。サービス提供サーバ１０３はSSD、HDD、テープ装置等を二次記憶装置として、用いることができる。記憶装置２１９は図２に示す例では内部バスによって、他の構成部位と接続しているが、RAIDコントローラのようなストレージコントローラを介して、他の構成部位と接続してもよい。また、FC HBAを介して、SAN上の記憶装置２１９と他の構成部位が接続してもよい。
【００３５】
--仮想マシン稼動サーバ--
仮想マシン稼働サーバ１０８はCPU２２３とメモリ２２４、記憶装置２２５とNIC２２６、NIC２２７から構成される。それぞれの構成部位は内部バス又は内部ネットワークにて接続される。CPU、メモリ、記憶装置、NIC、の数は図２に示す個数に限定されるものではない。
CPU２２３はメモリ２２４に格納されたプログラムを実行する。
メモリ２２４は、例えば半導体メモリであり、CPU２２３が実行するプログラムやプログラムが参照するデータが格納される主記憶装置である。
NIC２２６は仮想マシン稼働サーバ１０８が、LAN２１１を介して、管理サーバ１０１、クライアント１０２とデータの送受信を行うために用いる。
NIC２２７は仮想マシン稼働サーバ１０８が、WAN２２８を介して、仮想アプライアンス配布サーバ１１１とデータの送受信を行うために用いる。
【００３６】
記憶装置２２５は仮想マシン稼働サーバ１０８が使用するプログラムやファイルを格納するための二次記憶装置である。仮想マシン稼働サーバ１０８はSSD、HDD、テープ装置等を二次記憶装置として、用いることができる。記憶装置２２５は図２に示す例では内部バスによって、他の構成部位と接続しているが、RAIDコントローラのようなストレージコントローラを介して、他の構成部位と接続してもよい。また、FC HBAを介して、SAN上の記憶装置２２５と他の構成部位が接続してもよい。
【００３７】
--仮想アプライアンス配布サーバ--
仮想アプライアンス配布サーバ１１１はCPU２３３とメモリ２３４、記憶装置２３５とNIC２３６から構成される。それぞれの構成部位は内部バス又は内部ネットワークにて接続される。CPU、メモリ、記憶措置、NIC、の数は図２に示す個数に限定されるものではない。
CPU２３３はメモリ２３４に格納されたプログラムを実行する。
メモリ２３４は、例えば半導体メモリであり、CPU２３３が実行するプログラムやプログラムが参照するデータが格納される主記憶装置である。
【００３８】
NIC２３６は仮想アプライアンス配布サーバ１１１が、サービス提供サーバ１０３、仮想マシン稼働サーバ１０８と、WAN２２８を介して、データの送受信を行うために用いる。
【００３９】
記憶装置２３５は仮想アプライアンス配布サーバ１１１が使用するプログラムやファイルを格納するための二次記憶装置である。仮想アプライアンス配布サーバ１１１はSSD、HDD、テープ装置等を二次記憶装置として、利用することができる。記憶装置２３５は図２に示す例では内部バスによって、他の構成部位と接続しているが、RAIDコントローラのようなストレージコントローラを介して、他の構成部位と接続してもよい。また、FC HBAを介して、SAN上の記憶装置２３５と他の構成部位が接続してもよい。
【００４０】
--通信路--
通信路２１２、２１３、２１４、２１５、２２９、２３０、２３１には、例えばEthernet（登録商標）を用いることが考えられるが、通信可能であればこれ以外の媒体でも良い。
【００４１】
図２では、管理サーバ１０１、クライアント１０２、サービス提供サーバ１０３、仮想マシン稼働サーバ１０８がLANを介して接続しているが、WANを介して接続してもかまわない。 
図２では、サービス提供サーバ１０３、仮想マシン稼働サーバ１０８、仮想アプライアンス配布サーバ１１１がWANを介して接続しているが、LANを介して接続してもかまわない。
【００４２】
図２では、LAN２１１を介して、サービス提供サーバ１０３に接続しているクライアント１０２は１台のクライアント１０２のみだが、複数のクライアント１０２が、LAN２１１に接続し、サービス提供サーバ１０３と通信をしてもかまわない。
図２では、WAN２２８を介して、仮想アプライアンス配布サーバ１１１に接続しているサービス提供サーバ１０３は１台のサービス提供サーバ１０３のみだが、複数のサービス提供サーバ１０３が、WAN２２８に接続し、仮想アプライアンス配布サーバ１１１と通信をしてもかまわない。    
【００４３】
＜動作の説明＞
--サービス提供サーバ--
本実施形態に係るサービス提供サーバ１０３の動作について説明する。
図３は、サービス提供サーバ１０３が有するメモリ２１８に格納されているプログラムの構成を示す。
【００４４】
システム設定プログラム１０４は管理サーバ１０１からのシステム設定要求やシステム設定の変更要求（IPアドレスやユーザアカウントの追加／削除等）を受信し、サービス提供サーバ１０３のシステム設定や変更を行う。システム設定プログラム１０４は、管理サーバ１０１からシステム設定要求や変更要求を受信した際に、サービス提供サーバ１０３の記憶装置２１９に格納されているシステムデータ１０６の設定や更新を行う。
【００４５】
また、システム設定プログラム１０４は受信したシステム設定要求や変更要求を、仮想アプライアンス配布サーバ１１１上で動作する仮想マシン作成プログラム１１２の設定受信部１１３に転送する。
サービス提供プログラム１０５はクライアント１０２に情報処理サービスを提供するプログラムである。例えば、Webサーバ等がこれに当たる。サービス提供プログラム１０５はクライアント１０２からの要求に応じ、サービス提供サーバ１０３の記憶装置２１９に格納されている、コンテンツデータ１０７の提供等を行う。
【００４６】
--仮想アプライアンス配布サーバ--
本実施形態に係る仮想アプライアンス配布サーバ１１１の動作について説明する。
図４は、仮想アプライアンス配布サーバ１１１が有するメモリ２３４に格納されているプログラムとプログラムが参照するデータの構成を示す。
仮想マシン作成プログラム１１２は、サービス提供サーバ１０３の仮想マシンイメージ１１８を作成するプログラムである。
【００４７】
仮想マシン作成プログラム１１２の設定受信部１１３は、サービス提供サーバ１０３のシステム設定プログラム１０４から、サービス提供サーバ１０３へのシステム設定変更要求を受信する。受信したシステム設定の変更要求は設定反映部１１４に転送される。
【００４８】
また、設定受信部１１３は、システム設定プログラム１０４から、初めて設定変更要求を受信した際に、仮想マシンイメージ作成部１１５に、サービス提供サーバ１０３の仮想マシンイメージ１１８の作成要求を行う。
【００４９】
仮想マシンイメージ作成部１１５は、設定受信部１１３から仮想マシンイメージ１１８の作成要求を受信すると、サービス提供サーバ１０３の仮想マシンイメージ１１８を生成するためのひな型に基づいて、サービス提供サーバ１０３の仮想マシンイメージ１１８を作成する。サービス提供サーバ１０３の仮想マシンイメージ１１８を生成するためのひな型は、あらかじめ仮想アプライアンス配布サーバ１１１の記憶装置２３５に格納されている。
【００５０】
サービス提供サーバ２１６の仮想マシンイメージのひな型の一例を図５に示す。ひな形６０１は、仮想ディスク６０２と仮想マシン構成定義ファイル６０３から構成される。
【００５１】
仮想ディスク６０２には、サービス提供サーバ１０３の記憶装置２１９に格納されているデータ（OS、システム設定データ、プログラム、コンテンツデータ、その他のデータ）と同様のデータが格納されている。
【００５２】
仮想マシン構成定義ファイル６０３には、サービス提供サーバ１０３の仮想マシンイメージ１１８の仮想ハードウェア構成情報が記載されている。初期状態では、サービス提供サーバ１０３のハードウェア構成情報を模した仮想ハードウェア情報が記載されている。
【００５３】
仮想マシン構成定義ファイル６０３の一例を図６に示す。「Virtual Disk setting」なる記述７０１は、以降の記述が、仮想マシンが備える仮想ディスク６０２の設定であることを示している。なお仮想ディスク６０２の設定とは、仮想マシン稼動サーバ１０８で実現される仮想マシンに割り当てられる記憶領域の設定を意味する。
【００５４】
「Disk location:/use/home/usr1/vm/node1/disk1.vmkd」なる記述７０２は、仮想ディスク６０２が格納されている場所を示す。「Disk size:100GB」なる記述７０３は、仮想ディスク６０２のサイズを示す。仮想ディスク６０２のサイズはサービス提供サーバ１０３が有する記憶装置２１９と同様の容量としておくことができる。
【００５５】
「Virtual Network setting」なる記述７０４は、以降の記述が仮想NICの設定であることを示している。なお仮想NICの設定とは、仮想マシン稼動サーバ１０８で実現される仮想マシンに割り当てられるNICの設定を意味する。
【００５６】
「Number of NIC:2」なる記述７０５は、仮想マシン稼動サーバ１０８で実現される仮想マシンに割り振る仮想NICの個数を示す。仮想NICの個数はサービス提供サーバ１０３が持つNICの個数と同様の個数とする必要がある。
【００５７】
「Virtual CPU setting」なる記述７０６は、以降の記述が仮想CPUの設定であることを示している。仮想CPUの設定とは、仮想マシン稼動サーバ１０８で実現される仮想マシンに割り当てられるCPUの設定を意味する。
「Number of CPU:1」なる記述７０７は、仮想マシン稼動サーバ１０８で実現される仮想マシンに割り振るCPUの個数を示す。
【００５８】
「Virtual Memory setting」なる記述７０８は、以降の記述が仮想メモリの設定であることを示す。仮想メモリの設定とは、仮想マシン稼動サーバ１０８で実現される仮想マシンに割り当てられるメモリの設定を意味する。
「Memory:4GB」なる記述７０９は、仮想マシン稼動サーバ１０８で実現される仮想マシンに割り振るメモリのサイズを示す。
【００５９】
仮想マシンイメージ作成部１１５は、上述したような仮想マシンイメージのひな型６０１をコピーすることで、サービス提供サーバ１０３の仮想マシンイメージ１１８を生成する。仮想マシンイメージ作成部１１５は、ひな形６０１をコピーした際に、仮想マシン構成定義ファイル６０３の「Disk location:/use/home/usr1/vm/node1/disk1.vmkd」なる記述７０２の内容を、ひな形６０１のコピーの記憶先を示す内容に書き換える。
【００６０】
仮想アプライアンス配布サーバ１１１は、Webサーバ１１６を用いて、作成したサービス提供サーバ１０３の仮想マシンイメージ１１８を、仮想マシン稼働サーバ１０８に送信する。仮想マシン稼働サーバ１０８は、取得した仮想マシンイメージ１１８を、仮想マシンモニタ１１０を用いて実行する。仮想マシンイメージ１１８の実行については、後述する。
【００６１】
仮想アプライアンス配布サーバ１１１が、複数のサービス提供サーバ１０３の仮想マシンイメージ１１８を記憶している場合、どのサービス提供サーバ１０３がどの仮想マシンイメージ１１８に対応するかを管理する必要がある。
【００６２】
これを実現するため、サービス提供サーバ１０３のシステム設定プログラム１０４は、システム設定の変更内容を仮想アプライアンス配布サーバ１１１に送信する際に、サービス提供サーバ１０３ごとに一意に割り振られた識別子を含めて送信する。この識別子は、サービス提供サーバ１０３の記憶装置２１９内のシステム設定データにあらかじめ記録されているものとする。
【００６３】
仮想アプライアンス配布サーバ１１１の設定受信部１１３は、サービス提供サーバ１０３の識別子を含むシステム設定変更要求を仮想マシンイメージ作成部１１５に転送する。
【００６４】
仮想マシンイメージ作成部１１５は、当該サービス提供サーバ１０３の仮想マシンイメージ１１８を作成する際に、管理テーブル４０６に当該サービス提供サーバ１０３用のエントリを追加し、各サービス提供サーバ１０３と、作成した仮想マシンイメージ１１８と、を対応づけて記憶しておく。
【００６５】
管理テーブル４０６に、サービス提供サーバ１０３の識別子と仮想マシンイメージ１１８の識別子とが対応付けて記憶される様子を図７に示す。「識別子」欄８０１は、サービス提供サーバ１０３の識別子を記憶する。「仮想マシンイメージ」欄８０２は、対応する仮想マシンイメージ１１８の識別子を記憶する。
【００６６】
また、仮想マシンイメージ作成部１１５は、仮想マシンイメージ１１８の作成時に、ひな形６０１の仮想ディスク６０２内のシステム設定データに記録されているサービス提供サーバの識別子を、受信した識別子に書き換える処理を行う。
【００６７】
仮想アプライアンス配布サーバ１１１の設定反映部１１４は、設定受信部１１３から転送された、サービス提供サーバ１０３への設定変更要求の内容に従い、サービス提供サーバ１０３の仮想マシンイメージ１１８を更新する。その様子を図８に示す。
【００６８】
仮想マシンイメージ１１８は、仮想ディスク９０２と仮想マシン構成定義ファイル９０３とを含んで構成される。仮想ディスク９０２は、ひな形６０１の仮想ディスク６０２に基づいて生成されたものであり、前述したとおり、サービス提供サーバ１０３の記憶装置２１９に格納されているデータと同様のデータ（OS、システム設定データ、プログラム、コンテンツデータ、その他のデータ）が格納されている。
【００６９】
仮想アプライアンス配布サーバ１１１の設定反映部１１４は、設定受信部１１３から受信したサービス提供サーバ１０３のシステム設定変更要求の内容にしたがって、仮想ディスク９０２内のシステムデータ１１９を更新する。この際、設定反映部１１４は、システム設定の変更要求に含まれる、サービス提供サーバ１０３の識別子と管理テーブル４０６の内容を参照し、システムの設定変更を要求してきたサービス提供サーバ１０３に対応する仮想マシンイメージ１１８のシステムデータ１１９を更新する。
【００７０】
仮想ディスク９０２内のシステムデータ１１９を更新する方法としては、仮想アプライアンス配布サーバ１１１内に、仮想マシンイメージに基づいて仮想マシンを実現するためのソフトウェアである仮想マシンモニタをインストールした上で、仮想マシンイメージ１１８を実行することにより仮想マシンを実現し、設定反映部１１４が、仮想マシン上で実行されるシステム設定プログラム１０４にシステム設定変更を要求する方法や、仮想アプライアンス配布サーバ１１１のファイルシステムに仮想ディスク９０２をマウントした上で、設定反映部１１４がシステムデータ１１９を更新する方法などがある。
【００７１】
サービス提供サーバ１０３と同様のシステムデータ１１９を持つ仮想マシンを、仮想マシン稼働サーバ１０８が実現することにより、サービス提供サーバ１０３と同様の情報処理サービスをクライアント１０２に提供することが可能となる。
【００７２】
次に、仮想マシンイメージ１１８の作成処理および仮想マシンイメージ１１８の更新処理の流れを図９に示すフローチャートを参照しながら説明する。
まず、管理サーバ１０１は、システム管理者によるシステム設定指示を受け付けて、サービス提供サーバ１０３のシステム設定変更を行う（S1001）。次に、サービス提供サーバ１０３のシステム設定プログラム１０４が、システム設定の変更要求を受信する（S1002）。システム設定プログラム１０４は、システム設定変更要求の内容に従い、サービス提供サーバ１０３の記憶装置２１９に格納されているシステムデータ１０６を更新する（S1003）。次に、システム設定プログラム１０４は、システム設定の変更要求を仮想アプライアンス配布サーバ１１１上で動作する仮想マシン作成プログラム１１２の設定受信部１１３に転送する（S1004）。
【００７３】
仮想アプライアンス配布サーバ１１１の設定受信部１１３は、システム設定の変更要求を受信する（S1005）。設定受信部１１３は、それが最初のシステム設定変更要求かどうか判定する（S1006）。
【００７４】
最初のシステム変更要求だった場合、設定受信部１１３は仮想マシンイメージ１１８の作成を仮想マシンイメージ作成部１１５に要求する（S1007）。要求を受けた仮想マシンイメージ作成部１１５は、ひな形６０１をコピーすることによって、サービス提供サーバ１０３の仮想マシンイメージ１１８を作成する（S1008）。そして仮想マシンイメージ作成部１１５は、仮想マシンイメージ１１８の作成後、作成が終了したことを設定受信部１１３に通知する（S1009）。設定受信部１１３は、作成が終了した旨の通知を受信する（S1010）。
【００７５】
そうすると設定受信部１１３は、上記作成した仮想マシンイメージ１１８とひな形６０１との差分を更新すべく、システム設定の変更要求を設定反映部１１４に転送する（S1011）。設定反映部１１４はシステム設定の変更要求を受信する（S1012）。そして設定反映部１１４は、前述したとおりに仮想マシンイメージ１１８を更新する（S1013）。
【００７６】
一方、S1006において、最初のシステム変更要求でなかった場合は、設定受信部１１３は、作成済みの仮想マシンイメージ１１８に変更内容を反映すべく、システム設定の変更要求を設定反映部１１４に転送する（S1011）。設定反映部１１４はシステム設定の変更要求を受信する（S1012）。そして設定反映部１１４は、前述したとおりに仮想マシンイメージ１１８を更新する（S1013）。
以上の処理は、管理者が管理サーバ１０１を用いて、サービス提供サーバ１０３のシステム設定変更を行うたびに行われる。
【００７７】
--仮想マシン稼動サーバ--
本実施形態に係る仮想マシン稼動サーバ１０８の動作について説明する。
仮想マシン稼動サーバ１０８のメモリ２２４に格納されているプログラムの構成を図１０に示す。
Webブラウザ１０９は、仮想アプライアンス配布サーバ１１１から、仮想マシンイメージ１１８を取得する際に用いるプログラムである。
仮想マシンモニタ１１０は、仮想アプライアンス配布サーバ１１１から取得した仮想マシンイメージ１１８に従ってサービス提供サーバ１０３をエミュレートすることにより、サービス提供サーバ１０３を仮想マシンとして実現する際に用いるプログラムである。
【００７８】
仮想マシン稼動サーバ１０８が仮想マシンイメージ１１８を実行することにより、仮想マシンイメージ１１８に基づいてサービス提供サーバ１０３による情報処理サービスを復旧する処理の流れを説明する。
【００７９】
まず、サービス提供サーバ１０３にハードウェア障害が発生した際に、システム管理者は、管理サーバ１０１から仮想マシン稼働サーバ１０８にログインする。そしてシステム管理者は、Webブラウザ１０９を用いて、ハードウェア障害が発生したサービス提供サーバ１０３の識別子を指定した仮想マシンイメージ１１８の送信要求を、仮想アプライアンス配布サーバ１１１に送信する。仮想アプライアンス配布サーバ１１１は、上記送信要求に応じて、指定されたサービス提供サーバ１０３の仮想マシンイメージ１１８を検索し、仮想マシン稼動サーバ１０８に送信する。
【００８０】
サービス提供サーバ１０３に一意に割り振られた識別子をWebブラウザ１０９上のページから指定することで、システム管理者は、仮想アプライアンス配布サーバ１１１が持つ仮想マシンイメージ１１８のなかから、上記識別子により特定されるサービス提供サーバ１０３に対応する仮想マシンイメージ１１８をダウンロードできる。
【００８１】
Webサーバ１１６は、システム管理者が上記仮想マシンイメージ１１８の送信要求を指示するためのWebページを仮想マシン稼動サーバ１０８に送信する。そうすると仮想マシン稼動サーバ１０８のWebブラウザ１０９は、図１１に示すようなWebページ（ダウンロードページ）を仮想マシン稼動サーバ１０８のモニタ等の出力装置に表示する。
【００８２】
仮想マシン稼動サーバ１０８は、ダウンロードページの入力欄５０２にサービス提供サーバの識別子が入力され、ダウンロードボタン５０３がマウス等でクリックされると、識別子と共に仮想マシンイメージ１１８の送信要求をWebサーバ１１６に送信する。
【００８３】
Webサーバ１１６は、管理テーブル４０６を参照し、受信した識別子により特定されるサービス提供サーバ１０３に対応する仮想マシンイメージ１１８をWebブラウザ１０９に送信する。
【００８４】
以上のようにして、仮想マシン稼動サーバ１０８は、Webブラウザ１０９により仮想マシンイメージ１１８をダウンロードする。そして仮想マシン稼動サーバ１０８は、仮想マシンイメージ１１８を記憶装置２２５に保存する。
【００８５】
仮想マシン稼動サーバ１０８は、仮想マシンイメージ１１８を受信すると、仮想マシンイメージ１１８に基づいて、仮想マシンを実現する。具体的には、仮想マシン稼動サーバ１０８は、仮想マシンモニタ１１０を実行し、仮想マシンモニタ１１０が、仮想マシンイメージ１１８に従ってサービス提供サーバ１０３をエミュレートする。これにより、サービス提供サーバ１０３による情報処理サービスの機能を再現する仮想マシンが実現される。仮想マシンモニタ１１０が仮想マシンイメージ１１８を実行することで、サービス提供サーバ１０３が提供していたサービスを復旧することができる。
【００８６】
図１２は、仮想マシンモニタ１１０が仮想マシンイメージ１１８を実行した際に実現される仮想マシン１１０１の構成と、仮想マシン稼働サーバ１０８を構成する各ハードウェアとの関係を示している。
【００８７】
仮想マシンイメージ１１８を実行する際、まず、仮想マシンモニタ１１０内の、仮想マシンイメージ作成部１１１２が、仮想ディスク９０２内のOS、プログラムおよびプログラムが参照されるデータが格納される仮想メモリ１１０６用の領域を、仮想マシン稼動サーバ１０８のメモリ２２４内に確保する。この際、仮想メモリ１１０６のサイズは、仮想マシン構成定義ファイル９０３の内容に従う。
【００８８】
次に、仮想マシンイメージ作成部１１１２は、仮想メモリ１１０６上のOS、プログラムが実行されるcoreを、CPU２２３から、仮想マシン１１０１に割り当てる。coreとはCPU内において、演算処理を実行する機能を持った構成要素である。割り当てるcoreの数は、仮想マシン構成定義ファイル９０３の内容に従う。図１２では、core１１０２が仮想マシン１１０１に割り当てられている。
【００８９】
次に、仮想マシンイメージ作成部１１１２は、仮想メモリ１１０６上のOS、プログラムが、外部のコンピュータと通信を行うための、仮想NICを割り当てる。割り当てる仮想NICの個数は仮想マシン構成定義ファイル９０３の内容に従う。図１２では、仮想NIC１１０８、仮想NIC１１０９が、仮想マシン１１０１に割り当てられている。
【００９０】
OS、プログラムから、各仮想NIC１１０８、１１０９に送られたデータは、仮想マシンモニタ１１０内のネットワークI/O実行部１１１０に転送される。ネットワークI/O実行部１１１０は、送られたデータの宛先を参照し、適切なNIC（物理ハードウェア）にデータを転送する。
【００９１】
外部のコンピュータから仮想マシン１１０１に送られてきたデータはNIC（物理ハードウェア）を介して、ネットワークI/O実行部１１１０に転送される。ネットワークI/O実行部１１１０は、データの宛先を参照し、適切な仮想NICにデータを転送する。
【００９２】
次に、仮想マシンイメージ作成部１１１２は、仮想メモリ１１０６上のOSやプログラムが、仮想ディスク９０２に読み書きを行うための、仮想ディスクコントローラ１１０７を割り当てる。仮想メモリ１１０６上のOSやプログラムは、仮想ディスクコントローラ１１０７を介して、仮想ディスク９０２上のデータの読み書きを行う。仮想ディスクコントローラ１１０７は、仮想マシンモニタ１１０内のディスクI/O実行部１１１１にOS、プログラムからのデータの読み書き要求を転送する。ディスクI/O実行部は、仮想ディスク９０２へのデータの読み書き要求の実行結果を仮想ディスクコントローラ１１０７に転送する。
図１３は、仮想メモリ１１０６上に格納される、プログラムおよびプログラムが参照するデータの構成を示す。
システム設定プログラム１１０１Ａは、システム設定プログラム１０４と同様に動作する。
【００９３】
サービス提供プログラム１１０２Ａは、サービス提供プログラム１０５と同様に動作し、クライアント１０２に対して、サービス提供サーバ１０３と同様のサービスを提供する。
【００９４】
本実施の形態では、情報処理サービスを提供するサービス提供サーバ１０３の仮想マシンイメージ１１８を仮想アプライアンス配布サーバ１１１に記憶しておき、情報処理サービスに障害が発生した際に、仮想マシンイメージ１１８に基づき情報処理サービスの機能を提供する仮想マシン１１０１を実現することにより、情報処理サービスを提供するサービス提供サーバ１０３をクラスタ化しなくても、障害が発生した情報処理サービスを直ちに復旧することが可能になる。これにより、ユーザが情報処理サービスを受けられなくなる期間を短縮することが可能となる。
【００９５】
またサービス提供サーバ１０３のシステム設定の変更やハードウェア構成等が変更された場合に、サービス提供サーバ１０３がその変更内容を仮想アプライアンス配布サーバ１１１に送信し、仮想アプライアンス配布サーバ１１１が、その変更内容に応じて仮想マシンイメージ１１８を更新後の内容に更新しておくようにすることによって、サービス提供サーバ１０３に障害が発生した際に、障害発生直前の時点での最新状態のサービス提供サーバ１０３を再現した仮想マシン１１０１を実現できる。このため、クライアント１０２は、サービス提供サーバ１０３の障害発生後も、障害発生前と同様の情報処理サービスの提供を受けることが可能となる。
【００９６】
また、仮想アプライアンス配布サーバ１１１から仮想マシン稼動サーバ１０８への仮想マシンイメージ１１８の送信を、仮想マシン稼動サーバ１０８のWebブラウザ１０９からのリクエストに応じて行うようにすることにより、サービス提供サーバ１０３に障害が発生した場合に、例えば、システム管理者の判断によって、クライアント１０２への情報処理サービスの提供を中止することも可能となる。
【００９７】
あるいは、サービス提供サーバ１０３に障害が発生した場合に、システム管理者の判断によって、障害が発生したサービス提供サーバ１０３により提供される情報処理サービスとは異なるサービス（例えば、障害発生に伴う臨時運転中であることをユーザに知らせつつサービスを提供する）を提供可能なサービス提供サーバ１０３の仮想マシンイメージ１１８を仮想マシン稼動サーバ１０８にダウンロードして仮想マシン１１０１を実現し、クライアント１０２に情報処理サービスの提供を行うようなことも可能となる。
【００９８】
＝＝第二の実施形態＝＝
＜全体構成＞
以下に、第二の実施形態を説明する。
図１４は、第二の実施形態における情報処理システム１０１０の全体構成を示す。
第二の実施形態は、ファイルサーバ１２０３がクライアント１２０２にファイルサービスを提供する場合を想定している。
管理サーバ１２０１は、ファイルサーバ（情報処理装置）１２０３内で動作するシステム設定プログラム１２０５と連携し、ファイルサーバ１２０３のシステム設定を行う。システム管理者は、管理サーバ１２０１にログインし、ファイルサーバ１２０３のIPアドレスやユーザの追加/削除等のシステム設定を行うことができる。またこれによりファイルサーバ１２０３は、例えばファイルサービスを提供する上での色々な設定情報も保存する。
【００９９】
クライアント（サービス利用装置）１２０２は、ファイルサーバ１２０３から、ネットワークファイルシステム１２０４を介してファイルサービスを受けるコンピュータである。クライアント１２０２は、ネットワークファイルシステム１２０４を介して、ファイルサーバ１２０３の記憶装置上に構築されているファイルシステム１２０６にファイルオペレーション（ファイルの読み書きやファイルの作成/削除等、データ入出力要求とも記す）を要求することができる。
【０１００】
ファイルサーバ１２０３は、クライアント１２０２に対して、ファイルサービスを提供するファイルサーバ装置等のコンピュータである。ネットワークファイルシステム１２０４が、クライアント１２０２からのファイルオペレーションを受信し、ファイルシステム１２０６に転送する。ファイルシステム１２０６は、要求されたファイルオペレーションを記憶装置上のユーザデータ１２０８（記憶装置上に格納されているクライアントが利用するファイル群）に対して実行し、実行結果をネットワークファイルシステムに１２０４に返す。実行結果を受信したネットワークファイルシステム１２０４は実行結果をクライアント１２０２に送信する。
【０１０１】
また、ファイルサーバ１２０３は、管理サーバ１２０１からのシステム設定変更要求に応じ、自身のシステム設定を変更する。システムデータ１２０７には、ファイルサーバ１２０３のOS、プログラム、システム設定データが格納されている。システム設定プログラム１２０５が管理サーバ１２０１からのシステム設定変更要求を受信し、システムデータ１２０７内のシステム設定データを、受信したシステム設定変更要求に応じ、更新する。
【０１０２】
また、ファイルサーバ１２０３は、バックアップサーバ１２２２と連携し、ユーザデータ１２０８をバックアップサーバ１２２２上の記憶装置にバックアップする機能を持つ。
【０１０３】
ファイルシステム１２０６は、ファイルサーバ１２０３の記憶装置の残容量が所定値（あるいは所定割合）を下回った際に、ユーザデータ１２０８のなかから、所定期間使用されていないファイルを抽出し、バックアッププログラム１２２３を介し、バックアップサーバ１２２２の記憶装置に転送し、バックアップデータ１２２４に格納する。ファイルシステム１２０６は、バックアップサーバ１２２２にバックアップしたファイルをスタブファイルと呼ぶ特殊なファイルに変換する。スタブファイルは、ファイルのアクセス権限等が記録されているメタデータと当該ファイルがバックアップサーバ１２２２上のどこに保存されているかという位置情報のみで構成される（ファイルの実態であるデータ部分は削除される）。
【０１０４】
ファイルシステム１２０６は、クライアント１２０２がスタブファイルに対して、書き込みを要求した際には、スタブファイルに記録されたバックアップファイルの位置情報を参照し、バックアッププログラム１２２３を介して、バックアップデータ１２２４から、当該スタブファイルに対応するファイルのデータを取得する。そして、位置情報をスタブファイルから削除し、代わりに、取得したファイルのデータをファイルに付加し、スタブファイルを通常のファイルに変換する。そして、保存したファイルに書き込みを実行する。
【０１０５】
クライアント１２０２が、スタブファイルに対して読み込みを要求した場合は、ファイルシステム１２０６は、ファイルのデータを、バックアッププログラム１２２３を介して取得し、ネットワークファイルシステム１２０４を介して、クライアント１２０２に転送する。この際、スタブファイルを通常のファイルに変換する処理は行わなくても良い。
【０１０６】
仮想アプライアンス配布サーバ（仮想マシンイメージ生成装置）１２１２は、ファイルサーバ１２０３と同様のファイルサービスを提供可能な仮想マシンを実現するための仮想マシンイメージを作成し、配布するためのサーバ装置等のコンピュータである。
【０１０７】
仮想マシン作成プログラム１２１３内の仮想マシンイメージ作成部１２１６は、ファイルサーバ１２０３の仮想マシンイメージ１２１９をディスク１２１８内に作成する。仮想マシンイメージ１２１９内のシステムデータ１２２０はファイルサーバ１２０３のシステムデータ１２０７と同様のデータを格納する。仮想マシンイメージ１２１９内のユーザデータ１２２１は、ファイルを格納せず空のデータとしておいて良い。
【０１０８】
システム設定プログラム１２０５は、管理サーバ１２０１からシステム設定変更要求を受信した際、前述したとおり、ファイルサーバ１２０３のシステム設定を変更すると同時に、システム設定の変更内容を、仮想マシン作成プログラム１２１３内の設定受信部１２１４に送信する。システム設定の変更内容を受信した設定受信部１２１４は、仮想マシン作成プログラム１２１３内の設定反映部１２１５に、システム設定の変更内容を転送する。システム設定の変更内容を受信した設定反映部１２１５は、システムデータ１２２０内のシステム設定データを、システム設定の変更内容に応じて更新する。このようにして、仮想アプライアンス配布サーバ１２１２は、ファイルサーバ１２０３と同様のファイルサービスを提供可能な仮想マシンイメージ１２１９をディスク１２１８内に保持する。
【０１０９】
仮想マシン稼働サーバ１２０９は、仮想アプライアンス配布サーバ１２１２が保持する仮想マシンイメージ１２１９を実行するサーバ装置等のコンピュータである。仮想マシン稼働サーバ１２０９は、Webブラウザ１２１０を介して、仮想アプライアンス配布サーバ１２１２内のWebサーバ１２１７から、仮想マシンイメージ１２１９を取得し、仮想マシンモニタ１２１１を用いて実行する。実行された仮想マシンイメージ１２１９は、バックアップサーバ１２２２のバックアップデータ１２２４から、ファイルサーバ１２０３がバックアップしたファイルをユーザデータ１２２１にリストアすることで、ファイルサーバ１２０３と同様のファイルサービスを、クライアント１２０２に対して提供することが可能である。
【０１１０】
図１４では、ファイルサーバ１２０３からファイルサービスの提供を受けるクライアントは、クライアント１２０２のみだが、複数のクライアントがファイルサーバ１２０３からサービスの提供を受けてもよい。
【０１１１】
図１４では、仮想アプライアンス配布サーバ１２２３が作成し、配布する仮想マシンイメージは、ファイルサーバ１２０３の仮想マシンイメージ１２１９のみだが、複数のファイルサーバの仮想マシンイメージを作成、配布してもよい。
【０１１２】
＜ハードウェア構成＞
図１５は第二の実施形態におけるシステム全体のハードウェア構成図を示す。
--管理サーバ--
管理サーバ１３０１は、CPU１３０２とメモリ１３０３、記憶装置１３０４とNIC１３０５から構成される。それぞれの構成部位は内部バス又は内部ネットワークにて接続される。CPU、メモリ、NIC、記憶装置の数は図１５中に示す個数に限定されるものではない。
CPU１３０２は、メモリ１３０３に格納されるプログラムを実行する。
メモリ１３０３は、例えば半導体メモリであり、CPU１３０２が実行するプログラムやプログラムが参照するデータが格納される主記憶装置である。 
【０１１３】
NIC１３０５は管理サーバ１３０１がファイルサーバ１３１６、仮想マシン稼働サーバ１３２２とLAN１３１１を介して、データの送受信を行うために用いる。
【０１１４】
記憶装置１３０４は管理サーバ１３０１が使用するプログラムやファイルを格納するための二次記憶装置である。管理サーバ１３０１は、SSD、HDD、テープ装置等を二次記憶装置として、利用することができる。記憶装置１３０４は図１５中では内部バスによって、他の構成部位と接続しているが、 RAIDコントローラのようなストレージコントローラを介して、他の構成部位と接続してもよい。また、FC HBAを介して、SAN上の記憶装置１３０４と他の構成部位が接続してもよい。
【０１１５】
--クライアント--
クライアント１３０６はCPU１３０７とメモリ１３０８、記憶装置１３０９とNIC１３１０から構成される。それぞれの構成部位は内部バス又は内部ネットワークにて接続される。CPU、メモリ、記憶措置、NIC、の数は図１５中に示す個数に限定されるものではない。
CPU１３０７はメモリ１３０８に格納されたプログラムを実行する。
メモリ１３０８は、例えば半導体メモリであり、CPU１３０７が実行するプログラムやプログラムが参照するデータが格納される主記憶装置である。
【０１１６】
NIC１３１０はクライアント１３０６がファイルサーバ１３１６、仮想マシン稼働サーバ１３２２とLAN１３１１を介して、データの送受信を行うために用いる。
【０１１７】
記憶装置１３０９はクライアント１３０６が使用するプログラムやファイルを格納するための二次記憶装置である。クライアント１３０６はSSD、HDD、テープ装置等を二次記憶装置として、利用することができる。記憶装置１３０９は図１５中では内部バスによって、他の構成部位と接続しているが、RAIDコントローラのようなストレージコントローラを介して、他の構成部位と接続してもよい。また、FC HBAを介して、SAN上の記憶装置１３０９と他の構成部位が接続してもよい。
【０１１８】
--ファイルサーバ--
ファイルサーバ１３１６はCPU１３１７とメモリ１３１８、記憶装置１３１９とNIC１３２０、NIC１３２１から構成される。それぞれの構成部位は内部バス又は内部ネットワークにて接続される。CPU、メモリ、記憶装置、NIC、の数は図１５中に示す個数に限定されるものではない。
CPU１３１７はメモリ１３１８に格納されたプログラムを実行する。
メモリ１３１８は、例えば半導体メモリであり、CPU１３１７が実行するプログラムやプログラムが参照するデータが格納される主記憶装置である。
NIC１３２０はファイルサーバ１３１６が、LAN１３１１を介して、管理サーバ１３０１、クライアント１３０６とデータの送受信を行うために用いる。
【０１１９】
NIC１３２１はファイルサーバ１３１６が、WAN１３２８を介して、仮想アプライアンス配布サーバ１３３３、バックアップサーバ１３３８とデータの送受信を行うために用いる。
【０１２０】
記憶装置１３１９はファイルサーバ１３１６が使用するプログラムやファイルを格納するための二次記憶装置である。ファイルサーバ１３１６はSSD、HDD、テープ装置等を二次記憶装置として、用いることができる。記憶装置１３１９は図１５中では内部バスによって、他の構成部位と接続しているが、RAIDコントローラのようなストレージコントローラを介して、他の構成部位と接続してもよい。また、FC HBAを介して、SAN上の記憶装置１３１９と他の構成部位が接続してもよい。
【０１２１】
なお記憶装置１３１９は、第１記憶領域と第２記憶領域とを有しており、第１記憶領域には、ユーザデータ（読み出し及び書き込みの対象となるデータ）１２０８が記録される。
【０１２２】
また第２記憶領域には、ファイルサーバ１３１６のシステムデータ１２０７やハードウェア構成情報が記憶されている。また、第１記憶領域と第２記憶領域とは、記憶装置１３１９の同一筐体内に形成されていてもよいし、異なる筐体にそれぞれ形成されていてもよい。また記憶装置１３１９は、ファイルサーバ１３１６に内蔵されている形態としてもよいし、外付けされている形態としても良い。
【０１２３】
--仮想マシン稼動サーバ--
仮想マシン稼働サーバ１３２２はCPU１３２３とメモリ１３２４、記憶装置１３２５とNIC１３２６、NIC１３２７から構成される。それぞれの構成部位は内部バス又は内部ネットワークにて接続される。CPU、メモリ、記憶装置、NIC、の数は図１５中に示す個数に限定されるものではない。
CPU１３２３はメモリ１３２４に格納されたプログラムを実行する。
メモリ１３２４は、例えば半導体メモリであり、CPU１３２３が実行するプログラムやプログラムが参照するデータが格納される主記憶装置である。
【０１２４】
NIC１３２６は仮想マシン稼働サーバ１３２２が、LAN１３１１を介して、管理サーバ１３０１、クライアント１３０６とデータの送受信を行うために用いる。
【０１２５】
NIC１３２７は仮想マシン稼働サーバ１３２２が、WAN１３２８を介して、仮想アプライアンス配布サーバ１３３２、バックアップサーバ１３３８とデータの送受信を行うために用いる。
【０１２６】
記憶装置１３２５は仮想マシン稼働サーバ１３２２が使用するプログラムやファイルを格納するための二次記憶装置である。仮想マシン稼働サーバ１３２２はSSD、HDD、テープ装置等を二次記憶装置として、用いることができる。記憶装置１３２５は図１５中では内部バスによって、他の構成部位と接続しているが、RAIDコントローラのようなストレージコントローラを介して、他の構成部位と接続してもよい。また、FC HBAを介して、SAN上の記憶装置１３２５と他の構成部位が接続してもよい。
【０１２７】
--仮想アプライアンス配布サーバ--
仮想アプライアンス配布サーバ１３３３はCPU１３３４とメモリ１３３５、記憶装置１３３６とNIC１３３７から構成される。それぞれの構成部位は内部バス又は内部ネットワークにて接続される。CPU、メモリ、記憶措置、NIC、の数は図１５中に示す個数に限定されるものではない。
CPU１３３４はメモリ１３３５に格納されたプログラムを実行する。
メモリ１３３５は、例えば半導体メモリであり、CPU１３３４が実行するプログラムやプログラムが参照するデータが格納される主記憶装置である。
【０１２８】
NIC１３３７は仮想アプライアンス配布サーバ１３３２が、ファイルサーバ１３１６、仮想マシン稼働サーバ１３２２と、WAN１３２８を介して、データの送受信を行うために用いる。
【０１２９】
記憶装置１３３６は仮想アプライアンス配布サーバ１３３３が使用するプログラムやファイルを格納するための二次記憶装置である。仮想アプライアンス配布サーバ１３３３はSSD、HDD、テープ装置等を二次記憶装置として、利用することができる。記憶装置１３３６は図１５中では内部バスによって、他の構成部位と接続しているが、RAIDコントローラのようなストレージコントローラを介して、他の構成部位と接続してもよい。また、FC HBAを介して、SAN上の記憶装置１３３６と他の構成部位が接続してもよい。
【０１３０】
--バックアップサーバ--
バックアップサーバ１３３８はCPU１３３９とメモリ１３４０、記憶装置１３４１とNIC１３４２から構成される。それぞれの構成部位は内部バス又は内部ネットワークにて接続される。CPU、メモリ、記憶措置、NIC、の数は図１５中に示す個数に限定されるものではない。
CPU１３３９はメモリ１３４０に格納されたプログラムを実行する。
メモリ１３４０は、例えば半導体メモリであり、CPU１３３９が実行するプログラムやプログラムが参照するデータが格納される主記憶装置である。
【０１３１】
NIC１３４２はバックアップサーバ１３３８が、ファイルサーバ１３１６、仮想マシン稼働サーバ１３２２と、WAN１３２８を介して、データの送受信を行うために用いる。
【０１３２】
記憶装置１３４１はバックアップサーバ１３３８が使用するプログラムやファイルを格納するための二次記憶装置である。バックアップサーバ１３３８はSSD、HDD、テープ装置等を二次記憶装置として、利用することができる。記憶装置１３４１は図１５中では内部バスによって、他の構成部位と接続しているが、RAIDコントローラのようなストレージコントローラを介して、他の構成部位と接続してもよい。また、FC HBAを介して、SAN上の記憶装置１３４１と他の構成部位が接続してもよい。
記憶装置１３４１には、ファイルサーバ１３１６のユーザデータ１２０８の複製が記録されている。
【０１３３】
--通信路--
通信路１３１２、１３１３、１３１４、１３１５、１３２９、１３３０、１３３１、１３３２には、例えばEthernet（登録商標）を用いることが考えられるが、通信可能であればこれ以外の媒体でも良い。
【０１３４】
図１５では、管理サーバ１３０１、クライアント１３０６、ファイルサーバ１３１６、仮想マシン稼働サーバ１３２２がLANを介して接続しているが、WANを介して接続してもかまわない。
図１５では、ファイルサーバ１３１６、仮想マシン稼働サーバ１３２２、仮想アプライアンス配布サーバ１３３３、バックアップサーバ１３３８がWANを介して接続しているが、LANを介して接続してもかまわない。
【０１３５】
図１５では、LAN１３１１を介して、ファイルサーバ１３１６に接続しているクライアントはクライアント１３０６のみだが、複数のクライアントが、LAN１３１１に接続し、ファイルサーバ１３１６と通信をしてもかまわない。
【０１３６】
図１５では、WAN１３２８を介して、仮想アプライアンス配布サーバ１３３３に接続しているファイルサーバはファイルサーバ１３１６のみだが、複数のファイルサーバが、WAN１３２８に接続し、仮想アプライアンス配布サーバ１３３３と通信をしてもかまわない。
【０１３７】
＜動作の説明＞
--ファイルサーバ--
図１６は、ファイルサーバ１３１６のメモリ１３１８上に格納されるプログラムの構成を示す。
システム設定プログラム１４０１は、第一の実施形態におけるシステム設定プログラム１０４と同様に動作する。
ネットワークファイルシステムプログラム１４０２は、クライアント１３０６から、記憶装置１３１９上のファイルに実行されるファイルオペレーションを受信し、ファイルシステムプログラム１４０３のファイルオペレーション実行部１４０４に転送する。そして、ファイルオペレーションの実行結果をファイルシステムプログラム１４０３から、取得し、クライアント１３０６に転送する。本実施形態では、ネットワークファイルシステムプログラムとして、例えばNFS（Network FileSystem）やCIFS（Common Internet FileSystem）を想定している。
【０１３８】
ファイルシステムプログラム１４０３のマイグレーション実行部１４０５は、記憶装置１３１９の残容量が所定値（または所定割合）を下回った際に、所定期間アクセスされていない記憶装置１３１９上のファイルを抽出し、バックアップサーバ１３２２にマイグレーションし、スタブファイルを記憶装置１３１９上に作成する。
【０１３９】
ファイルオペレーション実行部１４０４は、ネットワークファイルシステムプログラム１４０２から転送されたクライアント１３０６からのファイルオペレーションを処理する。ファイルオペレーションの対象がスタブファイルであった場合、ファイルオペレーション実行部１４０４は、バックアップサーバ１３２２から、当該スタブファイルに対応するファイルのデータを取得する。ファイルオペレーションが書き込み処理だった場合、バックアップサーバ１３２２から取得したファイルのデータを用い、スタブファイルを通常のファイルに変換し、書き込み処理を実行する。ファイルオペレーションが読み込み処理だった場合、バックアップサーバ１３２２から取得したファイルのデータを、ネットワークファイルシステムプログラム１４０２に転送する（スタブファイルを通常のファイルに変換する処理は行わなくても良い）。
【０１４０】
リストア実行部１４０６は、バックアップサーバ１３３８にバックアップされたファイルサーバ１３１６のファイルを、ファイルサーバ１３１６上の記憶装置１３１９にリストアする機能を持つ。ファイルサーバ１３１６にハードウェア障害が発生した際、ファイルサーバ１３１６の仮想マシンイメージがリストア実行部を用いて、ファイルサーバ１３１６のファイルを仮想ディスク上にリストアする際に用いる。
【０１４１】
--バックアップサーバ--
図１７は、バックアップサーバ１３３８のメモリ１３４０上に格納されるプログラムおよびプログラムが参照するデータの構成を示す。
バックアッププログラム１５０１内のマイグレーション処理部１５０２は、マイグレーション実行部１４０５から送信されたファイルを受信し、バックアップサーバ１３３８の記憶装置１３４１にバックアップする。
【０１４２】
ファイルオペレーション処理部１５０３は、ファイルオペレーション実行部１４０４からの要求に従い、バックアップサーバ１３３８の記憶装置１３４１上にバックアップされたファイルのデータをファイルオペレーション実行部１４０４に送信する。また、ファイルオペレーション実行部１４０４からの要求に従い、バックアップサーバ１３３８の記憶装置１３４１上にバックアップされたファイルの削除を行う。
リストア処理部１５０４は、リストア実行部１４０６の要求に従い、バックアップサーバ１３３８の記憶装置１３４１上にバックアップされたファイルをリストア実行部１４０４に送信する。
保存ファイルリスト１５０５は、ファイルサーバ１３１６からバックアップサーバ１３３８にバックアップされたファイルのリストを管理するテーブルである。
【０１４３】
--仮想マシン稼動サーバ--
図１８は、仮想マシン稼動サーバ１３２２のメモリ１３２４上に格納されるプログラムの構成を示す。
仮想マシンモニタ１６０１は、第一の実施形態における仮想マシンモニタ１１０と同様に動作する。
Webブラウザ１６０２は、第一次の実施形態におけるWebブラウザ１０９と同様に動作する。
【０１４４】
--仮想アプライアンス配布サーバ--
図１９は、仮想アプライアンス配布サーバ１３３３のメモリ１３３５に格納されるプログラムおよびプログラムが参照するデータの構成を示す。
仮想マシン作成プログラム１７０１および、仮想マシン作成プログラム１７０１内の設定受信部１７０２、設定反映部１７０３、仮想マシンイメージ作成部１７０４はそれぞれ、第一の実施形態における仮想マシン作成プログラム１１２、設定受信部１１３、設定反映部１１４、仮想マシンイメージ作成部１１５と同様に動作する。
管理テーブル１７０６は、第一の実施形態における管理テーブル４０６と同様である。    
【０１４５】
Webサーバ１７０５は、第一の実施形態におけるWebサーバ１１６と同様に動作し、ファイルサーバ１３１６の仮想マシンイメージを仮想マシン稼働サーバ１３２２にアップロードする役割を持つ。これに加え、Webサーバ１７０５は、ファイルサーバ１３１６に対応する仮想マシンイメージの仮想ディスクの容量を、システム管理者の要求に従い、変更する機能を持つ。
【０１４６】
--マイグレーション処理--
マイグレーション実行部１４０５によって実行されるマイグレーション処理について説明する。
図２０は、マイグレーション処理のフローチャートを示す。
マイグレーション実行部１４０５は、ファイルサーバ１３１６の記憶装置１３１９上の残容量が所定値（または所定割合）を下回った際に、マイグレーション処理を開始する（S1801）。
【０１４７】
マイグレーション実行部１４０５は、ファイルサーバ１３１６の記憶装置１３１９上のファイルを走査し、所定期間アクセスされていないファイルを、マイグレーション対象のファイルとして抽出する（S1802）。
【０１４８】
次に、マイグレーション実行部１４０５は、マイグレーションの開始を、バックアップサーバ１３３８のマイグレーション処理部１５０２に送信する（S1803）。
【０１４９】
次に、マイグレーション実行部１４０５は、ファイルサーバ１３１６に一意に割り振られている識別子をバックアップサーバ１３３８のマイグレーション処理部１５０２に送信する（S1804）。ファイルサーバ１３１６の識別子は、当該ファイルサーバ１３１６のシステム設定データ内にあらかじめ記録されているものとする。
【０１５０】
次に、マイグレーション実行部１４０５は、マイグレーション対象のファイルのパス（ファイルサーバ１３１６の記憶装置１３１９に構築されているファイルシステムにおいて当該ファイルが保存されている場所を示す情報）を、バックアップサーバ１３３８のマイグレーション処理部１５０２に送信する（S1805）。
【０１５１】
そして、マイグレーション実行部１４０５は、S1805において送信したパスに対応するファイルを、バックアップサーバ１３３８のマイグレーション処理部１５０２に送信する（S1806）。
【０１５２】
バックアップサーバ１３３８のマイグレーション処理部１５０２は、ファイルを受信すると（S1807）、当該ファイルを記憶装置１３４１上に保存する（S1808）。
【０１５３】
そして、バックアップサーバ１３３８のマイグレーション処理部１５０２は、S1804において受信したファイルサーバ１３１６の識別子と、S1805において受信したファイルのパスをもとに、保存ファイルリスト１５０５に、保存したファイルのエントリを追加する（S1809）。保存ファイルリスト１５０５は、バックアップサーバ１３３８がバックアップしているファイルのリストを記録している。
【０１５４】
図２１は、保存ファイルリスト１５０５の概要を示している。カラム１９０２は、バックアップしたファイルが元々保存されていたファイルサーバの識別子である。カラム１９０３は、バックアップしたファイルのバックアップサーバ１３３８上でのパスである（バックアップサーバ１３３８の記憶装置１３４１に構築されているファイルシステムにおいて当該ファイルが保存されている場所）。カラム１９０４は、当該ファイルのファイルサーバ１３１６上でのパスである。
【０１５５】
図２０に戻って、バックアップサーバ１３３８のマイグレーション処理部１５０２は、バックアップしたファイルのバックアップサーバ１３３８上のパスを、ファイルサーバ１３１６のマイグレーション実行部１４０５に送信する（S1810）。
【０１５６】
ファイルサーバ１３１６のマイグレーション実行部１４０５はパスを受信すると、マイグレーションしたファイルのデータ部分を削除し、代わりにS1810において受信したパスをファイルのデータ部分に記録し、スタブファイル化する（S1811）。
【０１５７】
図２２は、通常のファイルとスタブファイルのデータ構造を示す。通常ファイル２００１は、図２２に示す通り、ファイルのアクセス権限やファイルサイズ等が記録されるファイルのメタデータとファイルの実態であるファイルデータから成り立っている。それに対し、スタブファイル２００２には、ファイルの実態であるファイルデータは存在せず、代わりに、当該ファイルのバックアップ先（バックアップサーバ１３３８上のパス）が記録されている。
【０１５８】
図２０に戻って、ファイルサーバ１３１６のマイグレーション実行部１４０５は、全マイグレーション対象ファイルをバックアップサーバ１３３８のマイグレーション処理部１５０２に送信したか判定する（S1812）。
【０１５９】
全ファイルを送信していなかった場合、ファイルサーバ１３１６のマイグレーション実行部１４０５、及びバックアップサーバ１３３８のマイグレーション処理部１５０２は、全ファイルを送信するまで、S1805からS1812までの処理を繰り返す。
【０１６０】
一方、全ファイルを送信していた場合、ファイルサーバ１３１６のマイグレーション実行部１４０５は、バックアップサーバ１３３８のマイグレーション処理部１５０２に、マイグレーションが終了したことを通知し（S1813）、マイグレーション処理を終了する（S1814）。
【０１６１】
--スタブファイルに対するファイルオペレーション--
スタブファイルに対するファイルオペレーションについて説明する。
ファイルオペレーション実行部１４０４は、ネットワークファイルシステムプログラム１４０２から転送されてきたスタブファイルに対するファイルオペレーションが書き込み要求だった場合、スタブファイルに記録されているバックアップ先を参照し、バックアップサーバ１３３８のファイルオペレーション処理部１５０３に、バックアップしたファイルのデータの取得を要求する。バックアップサーバ１３３８のファイルオペレーション処理部１５０３は、要求されたファイルのデータをファイルサーバ１３１６のファイルオペレーション実行部１４０４に送信する。
【０１６２】
ファイルオペレーション実行部１４０４はファイルのデータを取得し、スタブファイルに記録されているバックアップ先を示す情報を削除し、代わりに受信したファイルのデータを記録することで、スタブファイルを通常のファイルに変換する。そして、ファイルオペレーション実行部１４０４は、変換した通常のファイルに書き込み処理を実行し、書き込み処理の結果をネットワークファイルシステムプログラム１４０２に送信する。
【０１６３】
一方、ネットワークファイルシステムプログラム１４０２から転送されてきたスタブファイルに対するファイルオペレーションが読み込み要求だった場合、ファイルシステム１３１６のファイルオペレーション実行部１４０４は、スタブファイルに記録されているバックアップ先を参照し、バックアップサーバ１３３８のファイルオペレーション処理部１５０３に、バックアップしたファイルのデータの取得を要求する。バックアップサーバ１３３８のファイルオペレーション処理部１５０３は、要求されたファイルのデータをファイルサーバ１３１６のファイルオペレーション実行部１４０４に送信する。
【０１６４】
ファイルサーバ１３１６のファイルオペレーション実行部１４０４は、ファイルのデータを取得すると、所得したデータをネットワークファイルシステムプログラム１４０２に転送する。この際、書き込み処理時のように、スタブファイルを通常のファイルに変換する処理は行わなくても良い。
【０１６５】
また、ネットワークファイルシステムプログラム１４０２から転送されてきたスタブファイルに対するファイルオペレーションがファイルの削除要求だった場合、ファイルサーバ１３１６のファイルオペレーション実行部１４０４は、当該スタブファイルに記録されているバックアップ先を参照し、バックアップファイルの削除を、バックアップサーバ１３３８のファイルオペレーション処理部１５０３に要求する。
【０１６６】
要求を受信したファイルオペレーション処理部１５０３は、当該ファイルをバックアップサーバ１３３８の記憶装置１３４１上から削除し、当該ファイルのエントリを保存ファイルリスト１５０５から削除する。
【０１６７】
そしてバックアップサーバ１３３８のファイルオペレーション処理部１５０３は、当該ファイルの削除終了通知をファイルサーバ１３１６のファイルオペレーション実行部１４０４に送信する。
【０１６８】
ファイルサーバ１３１６のファイルオペレーション実行部１４０４は、ファイルの削除終了通知を受信すると、当該スタブファイルを削除し、削除要求に対する実行結果をネットワークファイルシステムプログラム１４０２に送信する。
【０１６９】
ところで、ファイルサーバ１３１６に障害が発生した際、システムの管理者は、仮想アプライアンス配布サーバ１３３３が作成したファイルサーバ１３１６の仮想マシンイメージを仮想マシンモニタ１６０１上で実行し、ファイルサーバ１３１６と同様のサービスを復旧出来る。このとき、仮想マシン稼動サーバ１３２２により実現される仮想マシンは、ファイルサービスを復旧するために、バックアップサーバ１３３８にバックアップされているファイルサーバ１３１６のバックアップファイルを利用する。例えば具体的には、仮想マシンは、ファイルサーバ１３１６のバックアップファイルをバックアップサーバ１３３８から仮想ディスク２２１４にリストアして、ファイルサービスを復旧する。
【０１７０】
本実施形態においては、そのため、仮想マシン稼動サーバ１３２２により実現される仮想マシンの仮想ディスクのサイズは、ファイルサーバ１３１６の記憶装置１３１９と同様のサイズとしても良いが、ファイルサーバ１３１６の記憶装置１３１９の記憶容量は数TB（terabyte）以上にも及ぶ巨大なサイズであることもある。
【０１７１】
そのため、仮想マシンの仮想ディスクサイズをファイルサーバ１３１６の記憶装置１３１９の容量と同様のサイズとした場合、仮想マシン稼働サーバ１３２２が持つ記憶装置１３２５の容量では足りず、仮想マシンイメージ１３１９を仮想マシン稼働サーバ１３２２の記憶装置１３２５に保存することが困難となる可能性がある。
【０１７２】
そこで、本実施形態では、ファイルサーバ１３１６に対応する仮想マシンの仮想ディスクサイズを仮想マシン稼働サーバ１３２２の環境に合わせて、変更する機能をWebサーバ１７０５に設ける。
【０１７３】
図２３は、Webサーバ１７０５が、Webブラウザ１６０２に提示する仮想マシンイメージのダウンロードページ２１０１を示す。
入力欄２１０２には、仮想マシンイメージをダウンロードするファイルサーバ１３１６の識別子を入力する。ダウンロードボタン２１０３が押下されることで、仮想マシン稼動サーバ１３２２は、当該ファイルサーバ１３１６に対応する仮想マシンイメージを、仮想アプライアンス配布サーバ１３３３からダウンロードする。
【０１７４】
その際、minimunと記載されたチェックボックス２１０４が選択された場合（第１の割り当て方法が指定された場合）には、Webサーバ１７０５は、仮想ディスクのサイズを、バックアップサーバ１３３８にバックアップされている当該ファイルサーバの全バックアップファイルをスタブファイル化した場合の合計サイズを基準に算出されるサイズに変換し、仮想マシンイメージをWebブラウザ１６０２にアップロードする。
【０１７５】
この際、Webサーバ１７０５は、Webブラウザ１６０２から受信したファイルサーバ１３１６の識別子を、バックアップサーバ１３３８のバックアッププログラム１５０１に送信する。識別子を受信したバックアッププログラム１５０１は、受信した識別子と保存ファイルリスト１５０５を参照し、当該ファイルサーバ１３１６の全バックアップファイルをスタブファイル化した際の合計サイズを計算する。各ファイルをスタブファイル化した際のサイズは、各ファイルのメタデータに各ファイルのバックアップサーバ１３３８上のパス情報を付与した際のサイズである。
【０１７６】
そして、バックアップサーバ１３３８は、計算した合計サイズをWebサーバ１７０５に送信する。Webサーバ１７０５は受信した合計サイズをもとに、仮想ディスクのサイズを変更する。この場合の仮想ディスクのサイズをminimumモードの仮想ディスクサイズと定義する。
【０１７７】
一方、originalと記載されたチェックボックス２１０５が選択された場合（第２の割り当て方法が指定された場合）には、Webサーバ１７０５は、仮想ディスクのサイズを当該ファイルサーバ１３１６の記憶装置１３１９の容量を基準に算出されるサイズとし、仮想マシンイメージをWebブラウザ１６０２にアップロードする。この場合の仮想ディスクのサイズをoriginalモードの仮想ディスクサイズと定義する。
【０１７８】
また、入力欄２１０７に数値を入力して、customと記載さされたチェックボックス２１０６が選択された場合（第３の割り当て方法が指定された場合）には、Webサーバ１７０５は、仮想ディスクのサイズを、minimumモードの場合の記憶容量に、入力欄２１０７に入力された記憶容量を足したサイズに変換し、仮想マシンイメージをWebブラウザ１６０２にアップロードする。この場合の仮想ディスクのサイズをcustomモードの仮想ディスクサイズと定義する。
【０１７９】
図２４は、仮想マシンモニタ１６０１が、仮想アプライアンス配布サーバ１３３３からダウンロードしたファイルサーバ１３１６に対応する仮想マシンイメージ２２１３を実行した際に、仮想マシン稼動サーバ１３２２のメモリ１３２４上に格納される仮想マシン２２０１の構成と、仮想マシン稼働サーバ１３２２を構成する各ハードウェアの関係を示している。
【０１８０】
仮想マシンモニタ１６０１は、仮想マシンイメージ２２１３を実行する際、まず、仮想マシンモニタ１６０１内の、仮想マシンイメージ作成部２２１２が、仮想ディスク２２１４内のOS、プログラムおよびプログラムが参照されるデータが格納される仮想メモリ２２０６用の領域をメモリ１３２４上に確保する。この際、仮想メモリ２２０６のサイズは、仮想マシン構成定義ファイル２２１５の内容に従う。
【０１８１】
次に、仮想マシンイメージ作成部２２１２は、仮想メモリ２２０６上のOS、プログラムが実行されるcoreを、CPU１３２３から、仮想マシン２２０１に割り当てる。coreとはCPUの演算部分である。割り当てるcoreの数は、仮想マシン構成定義ファイル２２１５のCPU設定の内容に従う。図２４では、core２２０２が仮想マシン２２０１に割り当てられている。
【０１８２】
次に、仮想マシンイメージ作成部２２１２は、仮想メモリ２２０６上のOS、プログラムが、外部のコンピュータと通信を行うための、仮想NICを割り当てる。割り当てる仮想NICの個数は仮想マシン構成定義ファイル２２１５の内容に従う。図２４では、仮想NIC２２０８、仮想NIC２２０９が、仮想マシン２２０１に割り当てられている。
【０１８３】
OS、プログラムから、各仮想NICに送られたデータは、仮想マシンモニタ１６０１内のネットワークI/O実行部２２１０に転送される。ネットワークI/O実行部２２１０は、送られたデータの宛先を参照し、適切なNIC（物理ハードウェア）にデータを転送する。
【０１８４】
外部から仮想マシン２２０１に送られてきたデータはNIC（物理ハードウェア）を介して、ネットワークI/O実行部２２１０に転送される。ネットワークI/O実行部２２１０は、データの宛先を参照し、適切な仮想NICにデータを転送する。
【０１８５】
次に、仮想マシンイメージ作成部２２１２は、仮想メモリ２２０６上のOS、プログラムが、仮想ディスク２２１４に読み書きを行うための、仮想ディスクコントローラ２２０７を割り当てる。仮想ディスクコントローラ２２０７を介して、仮想メモリ２２０６上のOS、プログラムは、仮想ディスク２２１４上のデータの読み書きを行う。仮想ディスクコントローラ２２０７は、仮想マシンモニタ２２０１内のディスクI/O実行部２２１１にOS、プログラムからのデータの読み書き要求を転送する。ディスクI/O実行部２２１１は、仮想ディスク２２１４へのデータの読み書きを処理し、実行結果を仮想ディスクコントローラ２２０７に転送する。
【０１８６】
なお仮想マシン稼動サーバ１３２２の記憶装置１３２５上に格納される仮想ディスク２２１４のサイズは、ダウンロードページ２１０１において、どのチェックボタンが選択されたかに応じて異なる。
【０１８７】
第１の割り当て方法が選択された場合には、仮想マシン稼動サーバ１３２２は、仮想マシン稼動サーバ１３２２が有する記憶装置１３２５の記憶領域のうち、バックアップサーバ１３３８が記憶しているデータのバックアップサーバ１３３８における記憶位置を示すアドレス情報の総データ量に基づいて算出される記憶容量を有する記憶領域を仮想マシン２２０１に割り当てる。つまり、仮想ディスク２２１４のサイズは、バックアップサーバ１３３８にバックアップされているファイルサーバ１３１６の全バックアップファイルをスタブファイル化した場合の合計サイズを基準に算出されるサイズとなる。例えば、全スタブファイルの合計サイズにシステムデータのサイズを加えたサイズとする。
【０１８８】
そしてこの場合、仮想マシン稼動サーバ１３２２は、仮想マシン２２０１を実現する際に、バックアップサーバ１３３８から全データのスタブファイルを取得し、取得したスタブファイルを、仮想マシン２２０１に割り当てた仮想ディスク２２１４に記憶する。
【０１８９】
第２の割り当て方法が選択された場合には、仮想マシン稼動サーバ１３２２は、仮想マシン稼動サーバ１３２２が有する記憶装置１３２５の記憶領域のうち、ファイルサーバ１３１６が有する記憶装置１３１９の記憶容量に基づいて算出される記憶容量を有する記憶領域を仮想マシン２２０１に割り当てる。つまり、仮想ディスク２２１４のサイズは、ファイルサーバ１３１６の記憶装置１３１９の容量を基準に算出されるサイズとなる。例えば、ファイルサーバ１３１６の記憶装置１３１９の容量にシステムデータのサイズを加えたサイズとする。
【０１９０】
そしてこの場合、仮想マシン稼動サーバ１３２２は、仮想マシン２２０１を実現する際に、バックアップサーバ１３３８に記憶されているデータをバックアップサーバ１３３８から取得し、取得したデータを、仮想マシン稼動サーバ１３３２が仮想マシン２２０１に割り当てた仮想ディスク２２１４に記憶する。
【０１９１】
第３の割り当て方法が選択された場合には、仮想マシン稼動サーバ１３２２は、仮想マシン稼動サーバ１３２２が有する記憶装置１３２５の記憶領域のうち、バックアップサーバ１３３８が記憶しているデータのバックアップサーバ１３３８における記憶位置を示すアドレス情報の総データ量に基づいて算出される記憶容量に、入力された記憶容量を加えた記憶容量を有する記憶領域を仮想マシン２２０１に割り当てる。
【０１９２】
この場合は、仮想マシン稼動サーバ１３２２は、仮想マシン２２０１を実現する際に、バックアップサーバ１３３８から全データのスタブファイルを取得し、取得したスタブファイルを、仮想マシン２２０１に割り当てた仮想ディスク２２１４に記憶する。
【０１９３】
--仮想マシン--
図２５は仮想メモリ２２０６上で実行されるプログラムおよびプログラムが参照するデータの構成を示す。
システム設定プログラム２３０１は、ファイルサーバ１３１６のメモリ１３１８に記憶されるシステム設定プログラム１４０１と同様に動作する。
ネットワークファイルシステムプログラム２３０２は、ファイルサーバ１３１６のメモリ１３１８に記憶されるネットワークファイルシステムプログラム１４０２と同様に動作する。これによりファイルサーバ１３１６と同様のファイルサービスが、クライアント１３０６に提供される。
【０１９４】
ファイルシステムプログラム２３０３のファイルオペレーション実行部２３０４は、ファイルサーバ１３１６のメモリ１３１８に記憶されるファイルオペレーション実行部１４０４と同様に動作し、仮想ディスク２２１４に保存されているファイルおよびスタブファイルに対するファイルオペレーションを処理する。
【０１９５】
マイグレーション実行部２３０５は、ファイルサーバ１３１６のメモリ１３１８に記憶されるマイグレーション実行部１４０５と同様に動作し、仮想ディスク２２１４の残容量が、所定値を下回った際に、仮想ディスク２２１４に保存されているファイルから、所定期間アクセスされていないファイルを抽出し、バックアップサーバ１３３８にマイグレーションする。
【０１９６】
また、マイグレーション実行部２３０５は、仮想ディスク２２１４上の全ファイルをバックアップサーバ１３３８にマイグレーションする機能も持つ。このマイグレーションは、ファイルサーバ１３１６によるファイルサービスが復旧可能になった場合に、仮想マシン２２０１を用いたファイルサービスの提供を中止し、ファイルサーバ１３１６を用いたファイルサービスに復旧（本復旧）する際に行われる。ファイルサーバ１３１６を用いたファイルサービスの提供を再開する際に、バックアップサーバ１３３８にマイグレーションされたデータは、ファイルサーバ１３１６によってリストアされる。
【０１９７】
リストア実行部２３０６は、仮想ディスク２２１４に、ファイルサーバ１３１６のバックアップファイルをリストアする機能を持つ。
ファイルサーバ１３１６のバックアップファイルを仮想ディスク２２１４にリストアする処理について説明する。リストア処理のフローチャートを図２６に示す。
リストア処理は、システム管理者が管理サーバ１３０１から仮想マシン２２０１にログインし、仮想マシン２２０１のリストア実行部２３０６にリストア処理の開始を指示した際に開始される（S2401）。
【０１９８】
まず、仮想マシン２２０１のリストア実行部２３０６は、バックアップサーバ１３３８のリストア処理部１５０４にリストア処理の開始を通知する（S2402）。
【０１９９】
次に、仮想マシン２２０１のリストア実行部２３０６は、ファイルサーバ１３１６の識別子をバックアップサーバ１３３８のリストア処理部１５０４に送信し、その識別子により特定されるファイルサーバ１３１６のバックアップファイルのリストアを開始することを通知する（S2403）。
【０２００】
次に、バックアップサーバ１３３８のリストア処理部１５０４は、ファイルサーバ１３１６の識別子を受信する。そしてバックアップサーバ１３３８のリストア処理部１５０４は、保存ファイルリスト１５０５を参照し、受信した識別子により特定されるファイルサーバ１３１６の各ファイル（リストア対象のファイル）について、ファイルサーバ１３１６におけるパスとバックアップサーバ１３３８におけるパスとを抽出する（S2404）。
【０２０１】
次に、バックアップサーバ１３３８のリストア処理部１５０４は、リストア対象のファイルのファイルサーバ１３１６上のパスを、保存ファイルリスト１５０５のカラム１９０４を参照し、仮想マシン２２０１のリストア実行部２３０６に送信する（S2405）。
【０２０２】
次に、バックアップサーバ１３３８のリストア処理部１５０４は、リストア対象のファイルを仮想マシン２２０１のリストア実行部２３０６に送信する。ここで、図２３に示すダウンロードページ２１０１において、minimumモードあるいはcustomモードが選択されていた場合には、バックアップサーバ１３３８のリストア処理部１５０４は、リストア対象のファイルをスタブファイルに変換し（S2406）、仮想マシン２２０１のリストア実行部２３０６に送信する。これにより、全リストア対象のファイルをそのまま送信する場合に比べリストアに要する時間を短縮することが可能となる。なおスタブファイルへの変換は、バックアップサーバ１３３８のリストア処理部１５０４が、保存ファイルリスト１５０５のカラム１９０３を参照して行う。
【０２０３】
もちろん、図２３に示すダウンロードページ２１０１において、originalモードが選択されていた場合には、バックアップサーバ１３３８のリストア処理部１５０４は、リストア対象のファイルをスタブファイルに変換することなく、仮想マシン２２０１のリストア実行部２３０６に送信する。これにより、仮想マシン２２０１がファイルサービスを提供する際に、クライアント１３０６からのリクエストの対象となるデータはすべて仮想マシン稼動サーバ１３２２の記憶装置１３２５上に構成される仮想ディスク２２１４上に記憶されるので、高速なファイルサービスをクライアントに提供することが可能となる。
以下の説明では、一例として、図２３に示すダウンロードページ２１０１において、minimumモードが選択されていたものとして説明を行う。
【０２０４】
仮想マシン２２０１のリストア実行部２３０６は、リストア対象ファイルのスタブファイルを受信すると（S2408）、受信したスタブファイルを、仮想ディスク２２１４上に保存する（S2409）。この際、仮想マシン２２０１のリストア実行部２３０６は、受信したスタブファイルを、S2405で受信したパスの位置に保存する。
【０２０５】
なお、仮想ディスク２２１４上に構築されているファイルシステムに、上記パスが示すディレクトリが存在しなかった場合には、仮想マシン２２０１のリストア実行部２３０６は、パスが示すディレクトリを作成し、受信したスタブファイルを保存する。
【０２０６】
一方、バックアップサーバ１３３８のリストア処理部１５０４は、S2404で抽出した全てのリストア対象ファイルを仮想マシン２２０１のリストア実行部２３０６に送信したか否かを判定する（S2410）。
【０２０７】
全リストア対象ファイルを送信していなかった場合には、バックアップサーバ１３３８のリストア処理部１５０４及び仮想マシンのリストア実行部２３０６は、S2405からS2409の各処理を繰り返す。
【０２０８】
全リストア対象ファイルを送信していた場合には、バックアップサーバ１３３８のリストア処理部１５０４は、リストア処理が終了した旨を、仮想マシン２２０１のリストア実行部２３０６に通知する（S2411）。これによりリストア処理が終了する。
【０２０９】
リストア処理の終了後、クライアント１３０６は、仮想マシン２２０１のネットワークファイルシステムプログラム２３０２を介して、仮想ディスク２２１４にリストアされた、ファイルサーバ１３１６のバックアップファイルにファイルオペレーションを実行することができる。
【０２１０】
なお、仮想ディスク２２１４のサイズがminimumモードのディスクサイズの場合、仮想ディスク２２１４は、全バックアップファイルのスタブファイルを保存するだけの容量しか持たない。このため、minimumモードが選択された場合には、仮想マシン２２０１は、クライアント１３０６からファイルのリード要求のみを受け付け、リード要求の対象となったファイルをクライアント１３０６に送信する。もちろん、仮想マシン２２０１は、例えば仮想ディスク２２１４上の既存のスタブファイルを削除するなどして、データを書き込むための空き容量を確保することにより、クライアント１３０６からライト要求を受け付け、ライト要求の対象となったファイルを空き領域に書き込むようにすることも可能である。
【０２１１】
一方、仮想ディスク２２１４のサイズがcustomモードのディスクサイズの場合、クライアント１３０６は、全バックアップファイルに対して、読み込みと書き込みが可能である。図２３に示したダウンロードページ２１０１の入力欄２１０７に適切な値を入力しておくことによって、仮想ディスク２２１４の未使用記憶領域を最小限に抑えつつ、全バックアップファイルに対して読み込みと書き込みを行うことが可能となる。このため、仮想ディスク２２１４の記憶領域を効率よく使用することが可能となる。もちろん、仮想ディスク２２１４の空き容量が所定値以下になった場合であっても、正しくマイグレーション処理が実行されて新たな空き容量が確保されるため、書き込みを続けることが可能である。
【０２１２】
また仮想ディスクのサイズがoriginalモードのディスクサイズの場合、クライアント１３０６が、全バックアップファイルに対して、読み込みと書き込みが可能である。また、originalモードの場合、仮想マシン２２０１によるファイルサービスのパフォーマンスは、ファイルサーバ１３１６によるファイルサービスのパフォーマンスとほぼ同等にできる。
【０２１３】
次に本復旧について説明する。本復旧とは、ファイルサーバ１３１６によるファイルサービスの提供が復旧可能になり、仮想マシン２２０１によるファイルサービスの提供を中止し、ファイルサーバ１３１６によるファイルサービスの提供を再開することをいう。
本実施形態は、仮想マシン２２０１による一時復旧から、ファイルサーバ１３１６による本復旧に移行する手段を提供する。
【０２１４】
本復旧の際には、仮想マシン２２０１のマイグレーション実行部２３０５は、仮想ディスク２２１４上の全ファイルをバックアップサーバ１３３８にマイグレーションする。そして、本復旧に用いるファイルサーバ１３１６がリストア処理を実行する。これにより、ファイルサーバ１３１６は、一時復旧中に仮想マシン２２０１により更新されたファイルを、取得することが可能となる。そしてクライアント１３０６は、本復旧後も、一時復旧中に作成されたファイルや更新されたファイルにアクセスできるようになる。
【０２１５】
図２７は、仮想マシン２２０１のマイグレーション実行部２３０５が、仮想ディスク２２１４上の全ファイルをバックアップサーバ１３３８にマイグレーションする処理のフローチャートである。
【０２１６】
まず、システム管理者が管理サーバ１２０１から仮想マシン２２０１にログインし、マイグレーション実行部２３０５に全ファイルのマイグレーションを指示する（S2501）。
【０２１７】
次に、仮想マシン２２０１のマイグレーション実行部２３０５は、ファイルオペレーション実行部２３０４に対して、仮想ディスク２２１４上のファイルに対する書き込みと新たなファイルの作成を禁止するように通知する（S2502）。通知を受けたファイルオペレーション実行部２３０４は、以後のファイルに対する書き込み要求とファイルの新規作成要求に全てエラーを返し、仮想ディスク２２１４上のファイルの更新と新規作成を抑止する。
【０２１８】
次に、仮想マシン２２０１のマイグレーション実行部２３０５は、仮想ディスク２２１４上の全ファイルをバックアップサーバ１３３８に送信する（S2503）。仮想マシン２２０１のマイグレーション実行部２３０５は、全ファイルをバックアップサーバ１３３８に送信した後、処理を終了する（S2504）。
【０２１９】
システム管理者は、全ファイルのマイグレーションが終了したのち、仮想マシン２２０１を停止し、本復旧用のファイルサーバ１３１６を起動する。そして、ファイルサーバ１３１６は、リストア処理を実行する。これにより、ファイルサーバ１３１６は、バックアップサーバ１３３８からファイルサーバ１３１６の全ファイルを取得する。ファイルサーバ１３１６は、取得したファイルを記憶装置１３１９に記憶する。
これにより、クライアント１３０６は、本復旧後も、一時復旧中に作成されたファイルや更新されたファイルにアクセスすることが可能になる。
【０２２０】
ところで、仮想マシン稼動サーバ１３２２によって実現された仮想マシン２２０１は、仮想マシン２２０１がファイルサービスの提供を開始してから所定期間経過後に、仮想マシン２２０１によるファイルサービスの提供を停止するようにしても良い。
【０２２１】
これは、例えば、仮想マシン稼動サーバ１３２２が仮想マシン２２０１を実現する際にタイマをスタートさせるようにし、所定期間が経過すると、仮想マシン稼動サーバ１３２２が仮想マシン２２０１の機能を停止させるようにすることよって実現することができる。
【０２２２】
なお、仮想マシン２２０１の機能が停止するまでの所定期間は、固定値として設定しておいても良いし、ファイルサーバ１３１６に発生した障害を復旧させるのに要する時間に準拠して設定することも可能である。例えば、ファイルサーバ１３１６の復旧に数時間を要することが見込まれる場合に、例えば、タイマを２４時間にセットしておくようにしても良い。
【０２２３】
このようにすることにより、仮想マシン２２０１が不正に利用されるのを防止することが可能となる。例えば、ファイルサーバ１３１６に障害が発生していないにもかかわらず、仮想マシンイメージ１２１９を仮想マシン稼動サーバ１３２２にコピーし、不正に仮想マシン２２０１を起動してファイルサービスを利用するようなことを防止することができる。
【０２２４】
--全体の処理の流れ--
次に、図２８から図３１に示すフローチャートを参照しながら、本実施の形態に係るファイルサービスの提供の流れについて説明する。
まず、ファイルサーバ１３１６が正常にファイルサービスを提供している場合の処理の流れを、図２８を参照しながら説明する。
クライアント１３０６は、ファイルサーバ１３１６にファイルアクセスのリクエスト（データ入出力要求）を送信する（S3000）。そうするとファイルサーバ１３１６は、リクエストに応じて、記憶装置１３１９に記憶されているユーザデータ１２０８に対して、データの読み出しや書き込み、削除を実行する（S3010）。そしてファイルサーバ１３１６は、その実行結果をクライアント１３０６に送信する（S3020）。
【０２２５】
一方で、ファイルサーバ１３１６は記憶装置１３１９の空き容量を監視しており、空き容量が所定値以上ある場合には、ファイルのスタブ化は不要であると判定する（S3030）。
【０２２６】
また、空き容量が所定値を下回った場合には、ファイルのスタブ化が必要であると判定する（S3030）。その場合ファイルサーバ１３１６は、記憶装置１３１９に記憶されているファイルの中から所定期間以上アクセスがないファイルを抽出し（S3040）、抽出したファイルをバックアップサーバ１３３８にマイグレーションする（S3050）。
【０２２７】
バックアップサーバ１３３８は、それらのファイルを受信して記憶装置１３４１に保存する（S3060）。そしてバックアップサーバ１３３８は、それらのファイルの記憶位置を示すアドレス情報をファイルサーバ１３１６に送信する（S3070）。
そしてファイルサーバ１３１６は、スタブ化の対象として抽出したファイルのメタデータ以外の部分（ファイルの本体部分）をアドレス情報に置き換える（S3080）。
【０２２８】
次に、ファイルサーバ１３１６の仮想マシンイメージ１２１９の生成、更新処理の流れを、図２９を参照しながら説明する。
ファイルサーバ１３１６は、システムデータやハードウェア構成情報を仮想アプライアンス配布サーバ１３３３に送信する（S4000）。そうすると仮想アプライアンス配布サーバ１３３３は、受信したシステムデータやハードウェア構成情報に基づいて、ファイルサーバ１３１６の仮想マシンイメージ１２１９を生成し、記憶する（S4010）。
この際、詳しく上述したように、仮想アプライアンス配布サーバ１３３３は、ひな形６０１に基づいてファイルサーバ１３１６の仮想マシンイメージ１２１９を生成するようにしてもよい。あるいは、仮想アプライアンス配布サーバ１３３３は、ＣＤやＤＶＤ等の記録媒体に記録されたシステムデータやハードウェア構成情報を読み込んで、ファイルサーバ１３１６の仮想マシンイメージ１２１９を生成するようにしてもよい。
【０２２９】
一方、ファイルサーバ１３１６のシステムデータやハードウェア構成情報が変更された場合に、ファイルサーバ１３１６は、その変更内容を仮想アプライアンス配布サーバ１３３３に送信する（S4020）。そうすると、仮想アプライアンス配布サーバ１３３３は、その変更内容に従って、記憶してある仮想マシンイメージ１２１９を変更後の状態に更新する（S4030）。
【０２３０】
次に、ファイルサーバ１３１６に障害が発生し、ファイルサーバ１３１６によるファイルサービスの提供が行えなくなった場合の処理の流れを、図３０を参照しながら説明する。
【０２３１】
ファイルサーバ１３１６に障害が発生すると、例えばシステム管理者が仮想マシン稼動サーバ１３２２を操作し、仮想マシン稼動サーバ１３２２から仮想アプライアンス配布サーバ１３３３に対して、仮想マシンイメージの送信要求を送信する（S5000）。そうすると仮想アプライアンス配布サーバ１３３３は、該当する仮想マシンイメージ１２１９を検索して（S5010）、仮想マシン稼動サーバ１３２２に送信する（S5020）。
【０２３２】
仮想マシン稼動サーバ１３２２は、取得した仮想マシンイメージ１２１９に従って仮想マシン２２０１を実現する（S5030）。その際仮想マシン稼動サーバ１３２２は、バックアップサーバ１３３８に対してリストアの要求を送信する（S5040）。そうするとバックアップサーバ１３３８は、リストア対象のファイルを記憶装置１３４１から読み出して、仮想マシン稼動サーバ１３２２に送信する（S5050）。
【０２３３】
その後、仮想マシン稼動サーバ１３２２によって実現された仮想マシン２２０１は、クライアント１３０６からのリクエストを受信すると（S5060）、リクエストの対象となっているファイルに対して、データの読み出し、あるいは書き込みを実行する（S5070）。そして仮想マシン２２０１は、その実行結果をクライアント１３０６に送信する（S5080）。
なお、仮想マシン稼動サーバ１３２２による仮想アプライアンス配布サーバ１３３３からの仮想マシンイメージ１２１９の取得は、例えば、ＣＤやＤＶＤ等の記録媒体に記録された仮想マシンイメージ１２１９を、仮想マシン稼動サーバ１３２２が読み取ることにより行うようにしても良い。
【０２３４】
次に、ファイルサーバ１３１６に発生した障害が復旧し、ファイルサーバ１３１６によるファイルサービスの提供を再開する場合の処理の流れを、図３１を参照しながら説明する。
【０２３５】
ファイルサーバ１３１６に発生した障害が復旧すると、例えばシステム管理者が仮想マシン２２０１を操作し、仮想マシン２２０１からバックアップサーバ１３３８に対して、仮想ディスク２２１４上の全ファイルを送信する（S6000）。バックアップサーバ１３３８は、受信した全ファイルを記憶装置１３４１に保存する（S6010）。
そして仮想マシン稼動サーバ１３２２は、仮想マシン２２０１の機能を停止させる（S6030）。
【０２３６】
一方、ファイルサーバ１３１６は、バックアップサーバ１３３８に対して、全ファイルのリストア要求を送信する。リストア要求に応じて、バックアップサーバ１３３８は、リストア対象の全ファイルをファイルサーバ１３１６に送信する（S6020）。
ファイルサーバ１３１６は、リストア対象のファイルを受信すると、記憶装置１３１９に保存する（S6040）。
【０２３７】
その後、ファイルサーバ１３１６は、クライアント１３０６からのリクエストを受信すると（S6050）、リクエストの対象となっているファイルに対して、データの読み出し、あるいは書き込みを実行する（S6060）。そしてファイルサーバ１３１６は、その実行結果をクライアント１３０６に送信する（S6070）。
【０２３８】
以上説明したように、本実施の形態では、ファイルサービスを提供するファイルサーバ１３１６の仮想マシンイメージ１２１９を仮想アプライアンス配布サーバ１３３３に記憶しておき、ファイルサービスに障害が発生した際に、仮想マシンイメージ１２１９に基づきファイルサービスの機能を提供する仮想マシン２２０１を実現することにより、ファイルサービスを提供するファイルサーバ１３１６をクラスタ化しなくても、障害が発生したファイルサービスを直ちに復旧することが可能になる。これにより、ユーザがファイルにアクセスできない期間を短縮することが可能となる。
【０２３９】
またファイルサーバ１３１６のシステム設定の変更やハードウェア構成等が変更された場合に、ファイルサーバ１３１６がその変更内容を仮想アプライアンス配布サーバ１３３３に送信し、仮想アプライアンス配布サーバ１３３３が、その変更内容に応じて仮想マシンイメージ１２１９を更新しておくようにすることによって、ファイルサーバ１３１６に障害が発生した際に、障害発生直前の時点でのファイルサーバ１３１６を再現した仮想マシン２２０１を実現できる。このため、クライアント１３０６は、ファイルサーバ１３１６の障害発生後も、障害発生前と同様の情報処理サービスの提供を受けることが可能となる。
【０２４０】
また、仮想アプライアンス配布サーバ１３３３から仮想マシン稼動サーバ１３２２への仮想マシンイメージ１２１９の送信を、仮想マシン稼動サーバ１３２２のWebブラウザ１６０２からのリクエストに応じて行うようにすることにより、ファイルサーバ１３１６に障害が発生した場合に、例えば、システム管理者の判断によって、クライアント１３０６へのファイルサービスの提供を中止することも可能となる。
【０２４１】
あるいは、ファイルサーバ１３１６に障害が発生した場合に、システム管理者の判断によって、障害が発生したファイルサーバ１３１６により提供されるファイルサービスとは異なるサービス（例えば、障害発生に伴う臨時運転中であることをユーザに知らせつつファイルサービスを提供する）を提供可能なファイルサーバ１３１６の仮想マシンイメージ１２１９を仮想マシン稼動サーバ１３２２にダウンロードして仮想マシン２２０１を実現し、クライアント１３０６にファイルサービスの提供を行うようなことも可能となる。
【０２４２】
以上説明したように、本実施形態では、クラスタ化技術を導入せずに、サーバのハードウェア障害発生時、サーバが提供していたサービスを一時的に早期復旧する手段を提供する。
【０２４３】
また本実施形態では、サービスを提供するサーバの仮想マシンイメージを、ネットワーク経由で配布する機能を持つ仮想アプライアンス配布サーバを設ける。この仮想アプライアンス配布サーバは、サービスを提供するサーバと同様のOS、システム設定データ、プログラム、コンテンツデータ、その他のデータが格納されている仮想ディスクを含む仮想マシンイメージをあらかじめ保持しておく。
【０２４４】
本実施形態では、サービスを提供するサーバに、当該サーバのシステムの設定情報およびその更新を仮想アプライアンス配布サーバに送信する機能を設ける。仮想アプライアンス配布サーバには、受信したシステムの設定情報を、仮想マシンイメージの仮想ディスク内に保存されているシステム設定データに反映する機能を設ける。
【０２４５】
上記の機能により、サービス提供サーバと同様のOS、システム設定データ、プログラム、その他データを持つ仮想マシンイメージを、仮想アプライアンス配布サーバから、ネットワーク経由でダウンロードすることを可能にする。また仮想アプライアンス配布サーバは、多数のサーバに対応する仮想マシンイメージをネットワーク経由で配布することを可能とする。
【０２４６】
本実施形態によって、サービスを提供するサーバのハードウェア障害発生時に、当該サーバを利用するユーザが、当該サーバと同様のOS、システム設定データ、プログラム、コンテンツデータ、その他データを持つ仮想マシンイメージを、仮想アプライアンス配布サーバからダウンロードし、ダウンロードした仮想マシンイメージを、仮想マシンモニタが動作する任意の物理サーバ上で実行することで、サービスを一時的に早期復旧することが可能になる。
【０２４７】
当該サーバと同様のOS、システム設定データ、プログラム、コンテンツデータ、その他データを持つ仮想サーバを、仮想アプライアンス配布サーバからダウンロードし、実行することで、代替ハードウェアの調達、サーバOSのインストール、システムの再設定を行わず、早期にサービスの一時的復旧を行うことができる。
【０２４８】
サービス復旧用のサーバを、仮想マシンイメージとして配布するため、クラスタ化技術のように、専用の待機サーバを新たに設置する必要はなく、既設のサーバを用いてサービスの早期復旧が可能であり、クラスタ化技術と比べ、装置導入コストを軽減することができる。
【０２４９】
また、障害発生時のみ、仮想マシンイメージを起動するため、常に待機サーバを稼働させておくクラスタ化技術と比べ、ランニングコストを軽減することができる。
【０２５０】
また、クラスタ化技術のように、常に２台以上のサーバでサービスを運用する必要がないため、クラスタソフトウェアの設定等を行う必要がなく、管理コストを軽減することができる。
【０２５１】
以上、本発明の好適な実施例を説明したが、これらは本発明の説明のための例示であって、本発明の範囲を実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
【符号の説明】
【０２５２】
１０３  サービス提供サーバ
１０８  仮想マシン稼働サーバ
１１０  仮想マシンモニタ
１１１  仮想アプライアンス配布サーバ
１１８  仮想マシンイメージ
１０００  情報処理システム
１０１０  情報処理システム
１３１６：ファイルサーバ
１３２２：仮想マシン稼働サーバ
１３３３：仮想アプライアンス配布サーバ
１３３８：バックアップサーバ
【図１】
0005555780.tif 000002
【図２】
0005555780.tif 000003
【図３】
0005555780.tif 000004
【図４】
0005555780.tif 000005
【図５】
0005555780.tif 000006
【図６】
0005555780.tif 000007
【図７】
0005555780.tif 000008
【図８】
0005555780.tif 000009
【図９】
0005555780.tif 000010
【図１０】
0005555780.tif 000011
【図１１】
0005555780.tif 000012
【図１２】
0005555780.tif 000013
【図１３】
0005555780.tif 000014
【図１４】
0005555780.tif 000015
【図１５】
0005555780.tif 000016
【図１６】
0005555780.tif 000017
【図１７】
0005555780.tif 000018
【図１８】
0005555780.tif 000019
【図１９】
0005555780.tif 000020
【図２０】
0005555780.tif 000021
【図２１】
0005555780.tif 000022
【図２２】
0005555780.tif 000023
【図２３】
0005555780.tif 000024
【図２４】
0005555780.tif 000025
【図２５】
0005555780.tif 000026
【図２６】
0005555780.tif 000027
【図２７】
0005555780.tif 000028
【図２８】
0005555780.tif 000029
【図２９】
0005555780.tif 000030
【図３０】
0005555780.tif 000031
【図３１】
0005555780.tif 000032