(57)【要約】【課題】ミドルウェア毎にバックアップ要件を手動で設定することは煩雑である。【解決手段】ミドルウェアデプロイメント指示に、１以上のデプロイメント要件の他に１以上の第１のバックアップ要件が関連付けられている。当該指示に応答して、ミドルウェアデプロイメント及びバックアップ設定が行われる。ミドルウェアデプロイメントは、１以上のデプロイメント要件に従う数のＶＭ（Virtual Machine）に、１以上のデプロイメント要件に従う数のＶＯＬ（ボリューム）を関連付けることを含む。バックアップ設定は、１以上の第１のバックアップ要件とデプロイメント対象のミドルウェアの種別に応じた所定の１以上の第２のバックアップ要件とに基づく２以上のバックアップ要件をミドルウェアデプロイメントに関連付けることを含む。【選択図】図１
2019139528.tif 000002
【特許請求の範囲】
【請求項１】
デプロイメント対象のミドルウェアを実行する仮想マシンの数と当該仮想マシンに関連付けられるボリュームの数とを定義する１以上のデプロイメント要件の他に１以上の第１のバックアップ要件が関連付けられたミドルウェアデプロイメント指示を受け付け、
前記ミドルウェアデプロイメント指示に応答して、
前記１以上のデプロイメント要件に従う数の仮想マシンであり前記デプロイメント対象のミドルウェアを実行する仮想マシンに、前記１以上のデプロイメント要件に従う数のボリュームを関連付けることを含むミドルウェアデプロイメントを行い、
前記１以上の第１のバックアップ要件と前記デプロイメント対象のミドルウェアの種別に応じた所定の１以上の第２のバックアップ要件とに基づく２以上のバックアップ要件を前記ミドルウェアデプロイメントに関連付けることを含むバックアップ設定を行う、
バックアップ制御方法。
【請求項２】
前記１以上の第１のバックアップ要件は、バックアップ取得の有無を含み、
前記１以上の第１のバックアップ要件がバックアップ取得有を含む場合、前記１以上の第１のバックアップ要件は、バックアップ取得周期を含み、
前記１以上の第２のバックアップ要件は、前記ボリュームに対するＩ／Ｏ（Input/Output）の一時停止の要否を含み、
前記１以上の第２のバックアップ要件が前記ボリュームに対するＩ／Ｏの停止要を含む場合、Ｉ／Ｏの一時停止方法と、Ｉ／Ｏの再開方法とを含む、
請求項１に記載のバックアップ制御方法。
【請求項３】
前記ボリュームに対するＩ／Ｏの一時停止の要否が、コンシステンシレベルに依存することを示している場合、前記１以上の第１のバックアップ要件は、コンシステンシレベルを含み、
前記バックアップ設定において前記ミドルウェアデプロイメントに関連付けられる前記２以上のバックアップ要件中のＩ／Ｏ一時停止要否を、前記１以上の第１のバックアップ要件に含まれているコンシステンシレベルに応じて決定する、
請求項２に記載のバックアップ制御方法。
【請求項４】
前記１以上の第１のバックアップ要件中のコンシステンシレベルが、アプリケーションコンシステンシの場合、前記２以上のバックアップ要件中のＩ／Ｏ一時停止要否は、Ｉ／Ｏ一時停止要であり、
前記１以上の第１のバックアップ要件中のコンシステンシレベルが、クラッシュコンシステンシの場合、前記２以上のバックアップ要件中のＩ／Ｏ一時停止要否は、Ｉ／Ｏ一時停止不要である、
請求項３に記載のバックアップ制御方法。
【請求項５】
前記バックアップ取得とは、スナップショット取得である、
請求項３に記載のバックアップ制御方法。
【請求項６】
前記ミドルウェアデプロイメント指示に応答して、前記バックアップ設定に加えて、前記デプロイメント対象のミドルウェアの種別に応じた２以上のリストア要件も前記ミドルウェアデプロイメントに関連付けるリストア設定を行う、
請求項１に記載のバックアップ制御方法。
【請求項７】
前記バックアップ設定を行い前記ミドルウェアデプロイメント指示に対する応答を返した後、前記２以上のバックアップ要件に従いバックアップ取得を指示する、
請求項１に記載のバックアップ制御方法。
【請求項８】
前記バックアップ設定に従うバックアップ取得処理において前記ストレージシステムによりバックアップ取得を実行する、
請求項１に記載のバックアップ制御方法。
【請求項９】
デプロイメント対象のミドルウェアを実行する仮想マシンを実行する１以上の計算機を含んだミドルウェア実行環境に接続された１以上のインターフェースであるインターフェース部と、
前記インターフェース部に接続された１以上のプロセッサであるプロセッサ部と
を有し、
前記プロセッサ部は、
前記デプロイメント対象のミドルウェアを実行する仮想マシンの数と当該仮想マシンに関連付けられるボリュームの数とを定義する１以上のデプロイメント要件の他に１以上の第１のバックアップ要件が関連付けられたミドルウェアデプロイメント指示を受け付け、
前記ミドルウェアデプロイメント指示に応答して、
前記１以上のデプロイメント要件に従う数の仮想マシンであり前記デプロイメント対象のミドルウェアを実行する仮想マシンに、前記１以上のデプロイメント要件に従う数のボリュームを関連付けることを含むミドルウェアデプロイメントを行い、
前記１以上の第１のバックアップ要件と前記デプロイメント対象のミドルウェアの種別に応じた所定の１以上の第２のバックアップ要件とに基づく２以上のバックアップ要件を前記ミドルウェアデプロイメントに関連付けることを含むバックアップ設定を行う、
バックアップ制御システム。
【請求項１０】
デプロイメント対象のミドルウェアを実行する仮想マシンの数と当該仮想マシンに関連付けられるボリュームの数とを定義する１以上のデプロイメント要件の他に１以上の第１のバックアップ要件が関連付けられたミドルウェアデプロイメント指示を受け付け、
前記ミドルウェアデプロイメント指示に応答して、
前記１以上のデプロイメント要件に従う数の仮想マシンであり前記デプロイメント対象のミドルウェアを実行する仮想マシンに、前記１以上のデプロイメント要件に従う数のボリュームを関連付けることを含むミドルウェアデプロイメントを行い、
前記１以上の第１のバックアップ要件と前記デプロイメント対象のミドルウェアの種別に応じた所定の１以上の第２のバックアップ要件とに基づく２以上のバックアップ要件を前記ミドルウェアデプロイメントに関連付けることを含むバックアップ設定を行う、
ことをコンピュータに実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、バックアップの制御に関する。
【背景技術】
【０００２】
１以上のＶＭ（Virtual Machine）によりミドルウェアを実行できることは知られている。ＶＭに関して、特許文献１の技術が知られている。特許文献１に開示の方法は、第１のシステムリソースが第１のサービスレベルに関連付けられることの指示を格納し、第２のシステムリソースが第２のサービスレベルに関連付けられることの指示を格納し、仮想マシンのデプロイメント中に、仮想マシンが第１のサービスレベルに関連付けられることを決定し、その決定に応答して、第１のサービスリソースを利用して当該仮想マシンをデプロイする。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】US2015/0106809
【発明の概要】
【発明が解決しようとする課題】
【０００４】
デプロイされた仮想マシンによりミドルウェアが実行される。ミドルウェアからのデータが格納されるＶＯＬ（ボリューム）のバックアップを取得する機能は、当該ミドルウェアが有する機能のうちの１つでもよいが、一般に、ＶＯＬを提供するストレージの機能のうちの１つである。当該機能によりバックアップを取得するためには、ミドルウェアの種別に応じたバックアップ要件を手動で設定する必要がある。ミドルウェア毎にバックアップ要件を手動で設定することは煩雑である。
【課題を解決するための手段】
【０００５】
バックアップ制御システムは、デプロイメント対象のミドルウェアを実行する仮想マシンの数と当該仮想マシンに関連付けられるボリュームの数とを定義する１以上のデプロイメント要件の他に１以上の第１のバックアップ要件が関連付けられたミドルウェアデプロイメント指示を受け付け、当該指示に応答して、ミドルウェアデプロイメント及びバックアップ設定を行う。ミドルウェアデプロイメントは、１以上のデプロイメント要件に従う数の仮想マシンでありデプロイメント対象のミドルウェアを実行する仮想マシンに、１以上のデプロイメント要件に従う数のボリュームを関連付けることを含む。バックアップ設定は、１以上の第１のバックアップ要件とデプロイメント対象のミドルウェアの種別に応じた所定の１以上の第２のバックアップ要件とに基づく２以上のバックアップ要件をミドルウェアデプロイメントに関連付けることを含む。
【発明の効果】
【０００６】
ミドルウェア毎にバックアップ要件を手動で設定する煩雑さを低減できる。
【図面の簡単な説明】
【０００７】
【図１】一実施形態に係る計算機システムの構成を示す。
【図２】計算機システムの構成の詳細を示す。
【図３】ノードの記憶部における第１領域を示す。
【図４】ノードの記憶部における第２領域を示す。
【図５】ノードの記憶部における第３領域を示す。
【図６】デプロイメントルールテーブルの構成を示す。
【図７】インスタンス管理テーブルの構成を示す。
【図８】デプロイメント処理の流れを示す。
【図９】パラメタ抽出処理の流れを示す。
【図１０】ＶＯＬ作成処理の流れを示す。
【図１１】ＶＭ作成処理の流れを示す。
【図１２】インスタンス登録処理の流れを示す。
【図１３】停止登録制御処理の流れを示す。
【図１４】スナップショット取得処理の流れを示す。
【図１５】リストア処理の流れを示す。
【発明を実施するための形態】
【０００８】
以下の説明では、「インターフェース部」は、１以上のインターフェースでよい。当該１以上のインターフェースは、１以上の同種の通信インターフェースデバイス（例えば１以上のＮＩＣ（Network Interface Card））であってもよいし２以上の異種の通信インターフェースデバイス（例えばＮＩＣとＨＢＡ（Host Bus Adapter））であってもよい。
【０００９】
また、以下の説明では、「メモリ部」は、１以上のメモリであり、典型的には主記憶デバイスでよい。メモリ部における少なくとも１つのメモリは、揮発性メモリであってもよいし不揮発性メモリであってもよい。
【００１０】
また、以下の説明では、「ＰＤＥＶ部」は、１以上のＰＤＥＶであり、典型的には補助記憶デバイスでよい。「ＰＤＥＶ」は、物理的な記憶デバイス（Physical storage DEVice）を意味し、典型的には、不揮発性の記憶デバイス、例えばＨＤＤ（Hard Disk Drive）又はＳＳＤ（Solid State Drive）である。
【００１１】
また、以下の説明では、「記憶部」は、メモリ部及びＰＤＥＶ部のうちの少なくとも１つ（典型的には少なくともメモリ部）である。
【００１２】
また、以下の説明では、「プロセッサ部」は、１以上のプロセッサである。少なくとも１つのプロセッサは、典型的には、ＣＰＵ（Central Processing Unit）のようなマイクロプロセッサであるが、ＧＰＵ（Graphics Processing Unit）のような他種のプロセッサでもよい。少なくとも１つのプロセッサは、シングルコアでもよいしマルチコアでもよい。少なくとも１つのプロセッサは、処理の一部又は全部を行うハードウェア回路（例えばＦＰＧＡ（Field-Programmable Gate Array）又はＡＳＩＣ（Application Specific Integrated Circuit））といった広義のプロセッサでもよい。
【００１３】
また、以下の説明では、「ｘｘｘテーブル」といった表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「ｘｘｘテーブル」を「ｘｘｘ情報」と言うことができる。また、以下の説明において、各テーブルの構成は一例であり、１つのテーブルは、２以上のテーブルに分割されてもよいし、２以上のテーブルの全部又は一部が１つのテーブルであってもよい。
【００１４】
また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ部によって実行されることで、定められた処理を、適宜にメモリ部及び／又はインターフェース部等を用いながら行うため、処理の主語が、プロセッサ部（或いは、そのプロセッサ部を有するコントローラのようなデバイス）とされてもよい。プログラムは、プログラムソースから計算機のような装置にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバ又は計算機が読み取り可能な（例えば非一時的な）記録媒体であってもよい。また、以下の説明において、２以上のプログラムが１つのプログラムとして実現されてもよいし、１つのプログラムが２以上のプログラムとして実現されてもよい。
【００１５】
また、以下の説明では、「ＶＯＬ」は、ボリューム（論理ボリューム）の略であり、論理的な記憶デバイスでよい。ＶＯＬは、仮想的なＶＯＬ（Thin Provisioningに従うＶＯＬ）であってもよいし、物理的な記憶資源（例えば、１以上のＲＡＩＤグループ）に基づく実体的なＶＯＬであってもよい。
【００１６】
また、以下の説明では、「計算機システム」は、１以上の物理的な計算機を含む。少なくとも１つの物理的な計算機は、汎用的な計算機であってもよい。少なくとも１つの物理的な計算機が、ＶＭを実行してもよいし、ＳＤｘ（Software-Defined anything）を実行してもよい。ＳＤｘとしては、例えば、ＳＤＳ（Software Defined Storage）又はＳＤＤＣ（Software-defined Datacenter）を採用することができる。例えば、同一の物理的な計算機において、コンピュート装置（例えばホスト）としてのＶＭと、コンピュート装置からＩ／Ｏ（Input/Output）要求を受信して処理するストレージ装置（ストレージコントローラ）としてのＶＭとが実行されてもよい。また、計算機システムは、冗長構成グループを有してよい。冗長構成の例としては、Erasure Coding、ＲＡＩＮ（Redundant Array of Independent Nodes）及びノード間ミラーリングのように複数のノードでの構成であってもよいし、ＰＤＥＶ部で構成される１以上のＲＡＩＤ（Redundant Array of Independent (or Inexpensive) Disks）グループのように単一のノード内での構成でもよい。
【００１７】
また、以下の説明では、「管理装置」は、一以上の物理的な計算機で構成されたシステム（バックアップ制御システムの一例）でもよいし、当該システムで実行される仮想的な装置でもよい。当該システムは、インターフェース部、記憶部およびそれらに接続されたプロセッサ部を有してよい。
【００１８】
以下、本発明の一実施形態を図面に基づいて説明する。なお、本発明は、以下に説明する実施形態に限定されるものではない。
【００１９】
図１は、一実施形態に係る計算機システムの構成を示す。
【００２０】
計算機システム１００は、ミドルウェア実行環境１５５と、管理装置１０１とを含む。
【００２１】
ミドルウェア実行環境１５５は、ミドルウェアが実行される環境、すなわち、ミドルウェアを実行するＶＭの実行環境である。ミドルウェア実行環境１５５は、複数のコンピュートリソース（例えば、インターフェース部、記憶部、プロセッサ部）に基づいている。ミドルウェア実行環境１５５は、１以上のコンピュートＶＭ１０３と、１以上のストレージＶＭ１０５とを実行する。コンピュートＶＭ１０３は、コンピュート装置としてのＶＭである。ストレージＶＭ１０５は、ストレージ装置としてのＶＭである。ストレージＶＭ１０５は、ＶＯＬ１１１（例えばＰＶＯＬ（プライマリＶＯＬ）１１１Ｐ及びＳＶＯＬ（セカンダリＶＯＬ）１１１Ｓ）をコンピュートＶＭ１０３に提供する。
【００２２】
管理装置１０１は、ミドルウェアデプロイメントの他にバックアップ設定を行うようになっている。管理装置１０１は、物理的な計算機でもＶＭでもよい。管理装置１０１は、デプロイメントルールテーブル１８１を有しており、インスタンス管理テーブル１８３をバックアップ設定により完成させる。デプロイメントルールテーブル１８１は、ミドルウェア種別毎のデプロイメント要件及びバックアップ要件に関する情報を保持する。インスタンス管理テーブル１８３は、インスタンス（ミドルウェアデプロイメント）に関する情報を保持する。
【００２３】
本実施形態では、例えば次の処理が行われる。
【００２４】
管理装置１０１は、デプロイメント対象のミドルウェア１０７を実行するコンピュートＶＭ１０３の数と当該コンピュートＶＭ１０３に関連付けられるＶＯＬ１１１の数とを定義する１以上のデプロイメント要件の他に１以上の第１のバックアップ要件が関連付けられたミドルウェアデプロイメント指示を、例えば管理者５０から受け付ける（Ｓ１０１）。
【００２５】
管理装置１０１は、当該指示に応答して、ミドルウェアデプロイメント（Ｓ１０２及びＳ１０３）と、バックアップ設定（Ｓ１０４）とを行う。
【００２６】
ミドルウェアデプロイメントは、例えば次の通りである。管理装置１０１は、１以上のデプロイメント要件に従う数のＶＯＬ１１１を１以上のストレージＶＭ１０５に作成させる（Ｓ１０２）。管理装置１０１は、１以上のデプロイメント要件に従う数のコンピュートＶＭ１０３（ミドルウェア１０７を実行するコンピュートＶＭ１０３）をハイパバイザ（図示せず）に作成させる（Ｓ１０３）。管理装置１０１は、Ｓ１０２で作成されたＶＯＬ１１１を、Ｓ１０３で作成されたコンピュートＶＭ１０３に関連付ける。
【００２７】
バックアップ設定は、例えば次の通りである。管理装置１０１は、１以上の第１のバックアップ要件とミドルウェア１０７の種別に応じた所定の１以上の第２のバックアップ要件（デプロイメントルールテーブル１８１に登録されているバックアップ要件）とに基づく２以上のバックアップ要件をインスタンスに関連付ける（インスタンス管理テーブル１８３における、当該インスタンスに対応したエントリに、当該２以上のバックアップ要件を登録する）（Ｓ１０４）。
【００２８】
このように、本実施形態では、管理装置１０１は、ミドルウェアデプロイメント指示に応答して行うミドルウェアデプロイメントの際に、インスタンスに関連付けられる２以上のバックアップ要件をインスタンス管理テーブル１８３に登録することで、インスタンス管理テーブル１８３を完成させる。２以上のバックアップ要件のうちの一部のバックアップ要件は、デプロイメントルールテーブル１８１から特定されたバックアップ要件（ミドルウェア１０７の種別に応じたデプロイメント要件）であり、そのバックアップ要件と、ミドルウェアデプロイメント指示に関連付けられているバックアップ要件とに基づく２以上のバックアップ要件が自動で設定される。デプロイメントルールテーブル１８１が保持するバックアップ要件は、ミドルウェア１０７の種別を考慮した要件である。これにより、ミドルウェアデプロイメントにおいてミドルウェア１０７（１以上のコンピュートＶＭ１０３）に関連付けられるＶＯＬについて当該ミドルウェア１０７の種別に応じた２以上のバックアップ要件を自動で設定すること、つまり、ミドルウェアデプロイメントにバックアップ設定を連動させることができる。
【００２９】
このように自動でバックアップ設定がされてミドルウェアデプロイメント指示に対する応答を返した後、管理装置１０１は、自動で設定された２以上のバックアップ要件に従いバックアップ取得を指示する。例えば、ミドルウェア１０７が、ＰＶＯＬ（プライマリＶＯＬ）１１１Ｐを使用するプライマリシステム１０９Ｐと、ＳＶＯＬ（セカンダリＶＯＬ）１１１Ｓを使用するセカンダリシステム１０９Ｓとを有するとする。管理装置１０１は、ミドルウェア１０７のインスタンスに関連付けられており自動で設定された２以上のバックアップ要件に従い、バックアップ取得の指示を、例えば、ＰＶＯＬ１１１Ｐを提供するストレージＶＭ１０５に送信する（Ｓ１１１）。その指示を受けたストレージＶＭ１０５が、ＰＶＯＬ１１１Ｓのバックアップ（例えばスナップショットＶＯＬ１１１ＳＳ）を取得する（Ｓ１１２）。このように、管理装置１０１は、自動で設定されたバックアップ要件に基づきバックアップ取得を指示できる。
【００３０】
バックアップ取得は、異なるストレージＶＭ１０５のＶＯＬ１１１間のコピーであるリモートコピーのようなバックアップ取得でもよいが、本実施形態では、スナップショット取得である。ミドルウェア１０７のデプロイメントに伴いスナップショット取得に関するバックアップ要件を自動で設定することができる。
【００３１】
以上が、本実施形態に係る計算機システム１００の概要である。
【００３２】
なお、計算機システム１００の構成として、様々な構成を採用することができる。例えば、下記の（ａ）及び（ｂ）のうちのいずれの構成も採用することができる。本実施形態では、（ａ）の構成が採用される。
（ａ）鎖線で示すように、計算機システム１００（少なくともミドルウェア実行環境１５５）は、複数のノード（物理的な計算機）１５０を有する。ノード１５０は、例えば汎用計算機である。１つのノード１５０において、コンピュートＶＭ１０３及びストレージＶＭ１０５が実行される。更に、そのノード１５０において、管理装置１０１としてのＶＭも実行されてもよい。管理装置１０１としてのＶＭ１０１は、コンピュートＶＭ１０３及びストレージＶＭ１０５が実行されるノード１５０とは別のノード１５０で実行されてもよい。
（ｂ）一点鎖線で示すように、計算機システム１００（少なくともミドルウェア実行環境１５５）は、１以上の物理的なストレージ装置１７０と、１以上の物理的なストレージ装置１７０に接続された１以上の物理的なコンピュート装置１６０とを有する。１以上の物理的なコンピュート装置１６０に、１以上のコンピュートＶＭ１０３が作成される。ストレージ装置１７０にストレージＶＭ１０５が存在してもしなくてもよい。ストレージ装置１７０にストレージＶＭ１０５が存在しない場合、ストレージ装置１７０がストレージＶＭ１０５と同様の処理を実行する。１以上の物理的なストレージ装置１７０の少なくとも１つでストレージ機能を有するソフトウェアが実行されることでＳＤＳ１１５が構築されてよい。
【００３３】
以下、本実施形態を詳細に説明する。なお、スナップショット取得の機能は、ミドルウェア１０７とストレージ（本実施形態ではストレージＶＭ１０５（又はＳＤＳ１１５））のいずれが有してもよいが、本実施形態では、ストレージＶＭ１０５が有するとする。具体的には、ストレージＶＭ１０５が実行するスナップショットプログラム４０２（図４参照）が、スナップショット取得機能の一例である。
【００３４】
図２は、計算機システム１００の構成の詳細を示す。なお、図２以降では、ミドルウェア（プログラム）を「ＭＷ」、アプリケーション（プログラム）を「ＡＰ」、ファイルシステム（プログラム）を「ＦＳ」、ハイパバイザ（プログラム）を「ＨＶ」、スナップショットを「ＳＳ」と略記することがある。
【００３５】
計算機システム１００は、ネットワーク２２０に接続された複数のノード１５０を含む。
【００３６】
各ノード１５０は、コンピュートＶＭ１０３及びストレージＶＭ１０５を実行する。更に管理ＶＭ２０１を実行するノード１５０がある。管理ＶＭ２０１は、管理装置１０１としてのＶＭである。
【００３７】
各ノード１５０は、物理資源２１０を有する。物理資源２１０に基づき、ＶＭが実行される。物理資源２１０は、ネットワーク２２０に接続されるインターフェース部２１１、１以上のプログラムを格納する記憶部２１２、及び、インターフェース部２１１及び記憶部２１２に接続され記憶部２１２内のプログラムを実行するプロセッサ部２１３を含む。記憶部２１２は、コンピュートＶＭ１０３に関する記憶領域である第１領域２４１Ｃと、ストレージＶＭ１０５に関する記憶領域である第２領域２４１Ｓとを含む。管理ＶＭ２０１が実行されるノード１５０内の記憶部２１２は、更に、管理ＶＭ２０１に関する記憶領域である第３領域２４１Ｍも含む。また、記憶部２１２は、ＶＭを作成したり削除したりするハイパバイザ２４２を格納する。
【００３８】
本実施形態では、管理ＶＭ２０１（管理ＶＭ２０１が実行するコンピュータプログラム）がコンピュータにより実行される。なお、この段落で言う「コンピュータ」は、本実施形態ではいずれかのノード１５０であるが、ミドルウェア実行環境１５５に接続された計算機であってもよい。
【００３９】
図３は、第１領域２４１Ｃを示す。
【００４０】
第１領域２４１Ｃは、ＶＭテンプレートテーブル３０１を格納する。ＶＭテンプレートテーブル３０１は、複数のＶＭテンプレートを管理する。「ＶＭテンプレート」は、１つのＶＭが使用するプロセッサの数、及び、メモリの容量といったＶＭ構成のテンプレートを示す。
【００４１】
第１領域２４１Ｃに基づきコンピュートＶＭ１０３が実行される。コンピュートＶＭ１０３は、例えば、アプリケーション３１１、ミドルウェア１０７、及び、ファイルシステム３１３といったプログラムを実行する。
【００４２】
図４は、第２領域２４１Ｓを示す。
【００４３】
第２領域２４１Ｓに基づきストレージＶＭ１０５が実行される。ストレージＶＭ１０５は、例えば、ＶＯＬ１１１を提供するＶＯＬ管理プログラム４０１、スナップショット取得を行うスナップショットプログラム４０２、及び、Ｉ／Ｏ要求に応答してＩ／Ｏを行うＩ／Ｏプログラム４０３を実行する。
【００４４】
図５は、第３領域２４１Ｍを示す。
【００４５】
第３領域２４１Ｍが、上述したデプロイメントルールテーブル１８１及びインスタンス管理テーブル１８３を格納する。
【００４６】
第３領域２４１Ｍに基づき管理ＶＭ２０１が実行される。管理ＶＭ２０１は、例えば、上述のミドルウェアデプロイメント及びバックアップ設定を行うミドルウェアデプロイメントプログラム５０１、及び、スナップショット取得を指示するスナップショット管理プログラム５０２を実行する。
【００４７】
図６は、デプロイメントルールテーブル１８１の構成を示す。なお、図６及び図７では、プログラムを「ＰＧ」と略記する。
【００４８】
デプロイメントルールテーブル１８１は、ミドルウェア種別毎にデプロイメント要件及びバックアップ要件を定義するテーブルである。デプロイメントルールテーブル１８１は、ミドルウェア種別毎にエントリを有する。各エントリは、ミドルウェア種別毎に、ミドルウェア種別６０１、テンプレートＩＤ６０２、ＶＯＬ数６０３、Ｉ／Ｏ停止要否６０４、Ｉ／Ｏ停止方法６０５、Ｉ／Ｏ再開方法６０６、ミドルウェア停止方法６０７、及び、ミドルウェア開始方法６０８といった情報を格納する。情報６０２及び６０３が、デプロイメント要件の一例であり、情報６０４〜６０６が、バックアップ要件の一例であり、情報６０７及び６０８が、リストア要件の一例である。
【００４９】
ミドルウェア種別６０１は、ミドルウェア種別を示す。テンプレートＩＤ６０２は、ＶＭテンプレートのＩＤを示す。ＶＯＬ数６０３は、ＶＯＬの数を示す。Ｉ／Ｏ停止要否６０４は、Ｉ／Ｏの一時停止を必要とするか否かを示す。Ｉ／Ｏ停止方法６０５は、Ｉ／Ｏ停止要否が“要”又は“コンシステンシレベル次第”の場合に有効な情報であり、Ｉ／Ｏの一時停止方法を示す。Ｉ／Ｏ再開方法６０６は、Ｉ／Ｏ停止要否が“要”又は“コンシステンシレベル次第”の場合に有効な情報であり、Ｉ／Ｏの再開方法を示す。ミドルウェア停止方法６０７は、ＰＶＯＬのリストア時のミドルウェア停止方法を示す。ミドルウェア開始方法６０８は、ミドルウェア停止方法６０７が示す方法で停止したミドルウェアの開始方法を示す。本実施形態では、方法６０５〜６０８は、いずれの表現で定義されてもよい。例えば、実行されるプログラムが定義されてもよいし、コマンドが定義されてもよい。例えば、ミドルウェア２に関して、Ｉ／Ｏ一時停止のためにプログラム３が実行され、Ｉ／Ｏ再開のためにプログラム４が実行され、リストア時にミドルウェア停止のためにプログラム５が実行され、リストア後にミドルウェア開始のためにプログラム６が実行される。
【００５０】
デプロイメントルールテーブル１８１は、予め決められてもよいし、テーブル１８１の少なくとも一部が管理者５０により決められてもよい。
【００５１】
図７は、インスタンス管理テーブル１８３の構成を示す。
【００５２】
インスタンス管理テーブル１８３は、インスタンス毎にインスタンス結果及びバックアップ要件を保持するテーブルである。インスタンス管理テーブル１８３は、インスタンス毎にエントリを有する。各エントリは、インスタンス毎に、インスタンス番号７０１、ＶＭ＿ＩＤ７０２、ＶＯＬ＿ＩＤ７０３、スナップショット取得有無７０４、スナップショット周期７０５、Ｉ／Ｏ停止要否７０６、Ｉ／Ｏ停止方法７０７、Ｉ／Ｏ再開方法７０８、ミドルウェア停止方法７０９、及び、ミドルウェア開始方法７１０といった情報を格納する。情報７０１〜７０３が、インスタンス結果の一例であり、情報７０４〜７０８が、バックアップ要件の一例であり、情報７０９及び７１０が、リストア要件の一例である。なお、「インスタンス」とは、上述したようにミドルウェアデプロイメントであり、具体的には、デプロイされたミドルウェアの他に、当該ミドルウェアを実行する全ＶＭ（例えば、ミドルウェアデプロイメントに際して作成された全ＶＭ）、及び、当該全ＶＭに関連付けられた全ＶＯＬを含む。
【００５３】
インスタンス番号７０１は、インスタンスの識別番号を示す。ＶＭ＿ＩＤ７０２は、インスタンスに含まれる全ＶＭのＩＤを示す。ＶＯＬ＿ＩＤ７０３は、インスタンスに含まれる全ＶＭに関連付けられた全ＶＯＬのＩＤを示す。スナップショット取得有無７０４は、インスタンスに関してスナップショット取得の有無を示す。スナップショット周期７０５は、スナップショット取得有無７０４が“有”の場合に有効な情報であって、スナップショット周期（スナップショット取得の時間間隔）を示す。Ｉ／Ｏ停止要否７０６、Ｉ／Ｏ停止方法７０７、Ｉ／Ｏ再開方法７０８、ミドルウェア停止方法７０９、及び、ミドルウェア開始方法７１０は、それぞれ、Ｉ／Ｏ停止要否６０４、Ｉ／Ｏ停止方法６０５、Ｉ／Ｏ再開方法６０６、ミドルウェア停止方法６０７、及び、ミドルウェア開始方法６０８とそれぞれ同じである。
【００５４】
以下、図８〜図１５を参照して、本実施形態で行われる処理の一例を説明する。なお、図８〜図１５が示す処理は、管理ＶＭ２０１により実行される。
【００５５】
図８は、デプロイメント処理全体の流れを示す。
【００５６】
ミドルウェアデプロイメントプログラム５０１は、ミドルウェアデプロイメント指示を、例えば管理者５０から受信する（Ｓ８０１）。ミドルウェアデプロイメント指示には、パラメタとして、例えば、下記（ｐ１）〜（ｐ５）、
（ｐ１）デプロイメント対象のミドルウェアのミドルウェア種別、
（ｐ２）ＶＭテンプレートのＩＤ（又は、ＶＭの数、及び、各ＶＭのリソース量（例えば、ＣＰＵ数、メモリ容量））、
（ｐ３）スナップショット取得有無、
（ｐ４）スナップショット取得有無が“有”の場合、スナップ取得周期、
（ｐ５）少なくとも（ｐ１）に対応したＩ／Ｏ停止要否が“コンシステンシレベル次第”の場合、コンシステンシレベル、
が指定されている。（ｐ１）及び（ｐ２）が、デプロイメント要件の一例である。（ｐ３）〜（ｐ５）が、ミドルウェアデプロイメント指示に特有の第１のバックアップ要件の一例である。（ｐ１）をキーにデプロイメントルールテーブル１８１から特定されるＶＯＬ数６０３が、デプロイメント要件の一例である。ＶＯＬ数は、ミドルウェア種別によって一義的に決められていることに代えて、ＶＭテンプレート中で定義されていてもよいし、ミドルウェアデプロイメント指示に関連付けられてもよい。（ｐ１）をキーにデプロイメントルールテーブル１８１から特定される情報６０４〜６０６が、第２のバックアップ要件の一例である。（ｐ１）をキーにデプロイメントルールテーブル１８１から特定される情報６０７及び６０８が、リストア要件の一例である。
【００５７】
ミドルウェアデプロイメントプログラム５０１は、ミドルウェアデプロイメント指示に応答して、Ｓ８０２〜Ｓ８０５を行う。
【００５８】
すなわち、ミドルウェアデプロイメントプログラム５０１は、ミドルウェアデプロイメント指示で指定されているパラメタ、及び、当該パラメタ中の（ｐ１）（ミドルウェア種別）をキーにデプロイメントルールテーブル１８１から特定されるパラメタ（情報）を抽出するパラメタ抽出処理を行う（Ｓ８０２）。
【００５９】
そして、ミドルウェアデプロイメントプログラム５０１は、ミドルウェアデプロイメントを行う。具体的には、ミドルウェアデプロイメントプログラム５０１は、算出したＶＯＬ数のＶＯＬを１以上のストレージＶＭ１０５に作成させるＶＯＬ作成処理を行う（Ｓ８０３）。また、ミドルウェアデプロイメントプログラム５０１は、Ｓ８０２で抽出されたＶＭ数と同数のＶＭをハイパバイザ２４２に作成させ当該ＶＭにＳ８０３で作成されたＶＯＬをアタッチする（関連付ける）ＶＭ作成処理を行う（Ｓ８０４）。
【００６０】
ミドルウェアデプロイメントプログラム５０１は、インスタンスに２以上のバックアップ要件を関連付けるバックアップ設定を含むインスタンス登録処理を行う（Ｓ８０５）。
【００６１】
Ｓ８０２〜Ｓ８０５の後、ミドルウェアデプロイメントプログラム５０１は、ミドルウェアデプロイメントの完了応答を、ミドルウェアデプロイメント指示の送信元に送信する（Ｓ８０６）。
【００６２】
以上が、デプロイメント処理全体の流れである。デプロイメント処理における処理の詳細を、図９〜図１３に示す。
【００６３】
図９は、パラメタ抽出処理（図８のＳ８０２）の流れを示す。
【００６４】
ミドルウェアデプロイメントプログラム５０１は、ミドルウェアデプロイメント指示からミドルウェア種別を抽出する（Ｓ９０１）。
【００６５】
ミドルウェアデプロイメントプログラム５０１は、ＶＭ数を抽出する（Ｓ９０２）。具体的には、ミドルウェアデプロイメントプログラム５０１は、Ｓ９０１で抽出したミドルウェア種別に対応したＶＭテンプレートＩＤをデプロイメントルールテーブル１８１から特定する。ミドルウェアデプロイメントプログラム５０１は、特定したＶＭテンプレートＩＤに対応したＶＭテンプレートをＶＭテンプレートテーブル３０１から特定する。ミドルウェアデプロイメントプログラム５０１は、特定したＶＭテンプレートにおいて定義されたＶＭ数を特定する。
【００６６】
ミドルウェアデプロイメントプログラム５０１は、ミドルウェアデプロイメント指示からスナップショット取得有無を抽出する（Ｓ９０３）。
【００６７】
ミドルウェアデプロイメントプログラム５０１は、Ｓ９０３で抽出したスナップショット取得有無が“有”の場合（Ｓ９０４：Ｙ）、ミドルウェアデプロイメント指示からスナップショット周期を抽出する（Ｓ９０５）。
【００６８】
ミドルウェアデプロイメントプログラム５０１は、Ｓ９０１で抽出したミドルウェア種別に対応したバックアップ要件（情報６０４〜６０８）を抽出する（Ｓ９０６）。
【００６９】
ミドルウェアデプロイメントプログラム５０１は、Ｓ９０６で抽出したＩ／Ｏ停止要否６０４が“コンシステンシレベル次第”の場合（Ｓ９０７：Ｙ）、ミドルウェアデプロイメント指示からコンシステンシレベルを抽出する（Ｓ９０８）。
【００７０】
図１０は、ＶＯＬ作成処理（図８のＳ８０３）の流れを示す。
【００７１】
ミドルウェアデプロイメントプログラム５０１は、Ｓ９０１で抽出したミドルウェア種別に対応したＶＯＬ数６０３と、Ｓ９０２で抽出されたＶＭ数とに基づき、ＶＯＬ数を算出する（Ｓ１００１）。算出されたＶＯＬ数は、Ｓ９０１で抽出したミドルウェア種別に対応したＶＯＬ数６０３と同数でもよいし、当該ＶＯＬ数６０３とＶＭ数との積でもよい。ＶＯＬ数６０３に基づくＶＯＬ数は、Ｓ９０１で抽出したミドルウェア種別に対応したＶＭテンプレートで定義されていてもよい。
【００７２】
ミドルウェアデプロイメントプログラム５０１は、Ｓ１００１で算出したＶＯＬ数のＶＯＬの作成指示を、１以上のストレージＶＭ１０５に送信する（Ｓ１００２）。これにより、１以上のストレージＶＭ１０５が、当該作成指示に従いＶＯＬを作成する。なお、作成された各ＶＯＬの容量は、Ｓ９０１で抽出したミドルウェア種別に対応したＶＭテンプレートで定義されていてもよいし、ミドルウェアデプロイメント指示中にパラメタの１つとして指定されていてもよい。
【００７３】
図１１は、ＶＭ作成処理（図８のＳ８０４）の流れを示す。
【００７４】
ミドルウェアデプロイメントプログラム５０１は、Ｓ９０１で抽出したミドルウェア種別に対応したＶＭテンプレートを基にＶＭのリソース量を特定する（Ｓ１１０１）。
【００７５】
ミドルウェアデプロイメントプログラム５０１は、Ｓ８０２で抽出されたＶＭ数のＶＭ且つＳ１１０１で特定したリソース量を持つＶＭの作成指示を、ハイパバイザ２４２に送信する（Ｓ１１０２）。これにより、ハイパバイザ２４２が、当該作成指示に従いＶＭを作成する。
【００７６】
ミドルウェアデプロイメントプログラム５０１は、Ｓ１１０２の作成指示に応答して作成されたＶＭに、Ｓ８０３で作成されたＶＯＬをアタッチする（Ｓ１１０３）。具体的には、例えば、ミドルウェアデプロイメントプログラム５０１は、Ｓ１１０２の作成指示に応答して作成されたＶＭ（又はハイパバイザ２４２）に、Ｓ８０３で作成されたＶＯＬをマウントすることの指示を送信し、且つ、Ｓ８０３で作成されたＶＯＬを提供するストレージＶＭ１０５に、Ｓ１１０２の作成指示に応答して作成されたＶＭから当該ＶＯＬに対するＩ／Ｏを許可する指示を送信する。
【００７７】
図１２は、インスタンス登録処理（図８のＳ８０５）の流れを示す。Ｓ１２０５〜Ｓ１２０７が、バックアップ設定の一例である。Ｓ１２０８及びＳ１２０９が、リストア設定の一例である。
【００７８】
ミドルウェアデプロイメントプログラム５０１は、インスタンス管理テーブル１８３に新規エントリを追加する（Ｓ１２０１）。
【００７９】
ミドルウェアデプロイメントプログラム５０１は、Ｓ１２０１で追加した新規エントリに、Ｓ８０３及びＳ８０４のインスタンスに対応したインスタンス番号（新規のインスタンス番号）をインスタンス番号７０１として設定する（Ｓ１２０２）。
【００８０】
ミドルウェアデプロイメントプログラム５０１は、Ｓ１２０１で追加した新規エントリに、Ｓ８０４で作成された全ＶＭのＩＤをＶＭ＿ＩＤ７０２として設定する（Ｓ１２０３）。
【００８１】
ミドルウェアデプロイメントプログラム５０１は、Ｓ１２０１で追加した新規エントリに、Ｓ８０３で作成された全ＶＯＬのＩＤをＶＯＬ＿ＩＤ７０３として設定する（Ｓ１２０４）。
【００８２】
ミドルウェアデプロイメントプログラム５０１は、Ｓ１２０１で追加した新規エントリに、Ｓ９０３で抽出したスナップショット取得有無を、スナップショット取得有無７０４として設定する（Ｓ１２０５）。
【００８３】
ミドルウェアデプロイメントプログラム５０１は、Ｓ１２０１で追加した新規エントリに、Ｓ９０５で抽出したスナップショット周期（スナップショット取得有無が“無”の場合には無効値“−”）を、スナップショット周期７０５として設定する（Ｓ１２０６）。
【００８４】
ミドルウェアデプロイメントプログラム５０１は、Ｉ／Ｏの一時停止に関する値を決定して新規エントリ（Ｓ１２０１で追加した新規エントリ）に設定する停止登録制御処理を行う（Ｓ１２０７）。
【００８５】
ミドルウェアデプロイメントプログラム５０１は、Ｓ１２０１で追加した新規エントリに、Ｓ９０６で抽出したミドルウェア停止方法を、ミドルウェア停止方法７０９として設定する（Ｓ１２０８）。
【００８６】
ミドルウェアデプロイメントプログラム５０１は、Ｓ１２０１で追加した新規エントリに、Ｓ９０６で抽出したミドルウェア開始方法を、ミドルウェア開始方法７１０として設定する（Ｓ１２０９）。
【００８７】
図１３は、停止登録制御処理（図１２のＳ１２０７）の流れを示す。
【００８８】
ミドルウェアデプロイメントプログラム５０１は、Ｓ９０６で抽出されたＩ／Ｏ停止要否６０４が“要”、“不要”及び“コンシステンシレベル次第”のいずれであるかを判断する（Ｓ１３０１）。
【００８９】
Ｉ／Ｏ停止要否６０４が“要”の場合、ミドルウェアデプロイメントプログラム５０１は、Ｉ／Ｏ一時停止を“要”と判断する（Ｓ１３０２）。Ｉ／Ｏ停止要否６０４が“不要”の場合、ミドルウェアデプロイメントプログラム５０１は、Ｉ／Ｏ一時停止を“不要”と判断する（Ｓ１３０３）。
【００９０】
Ｉ／Ｏ停止要否６０４が“コンシステンシレベル次第”の場合、ミドルウェアデプロイメントプログラム５０１は、Ｓ９０８で抽出したコンシステンシレベルが“アプリケーションコンシステンシ”であるか“クラッシュコンシステンシ”であるかを判断する（Ｓ１３０４）。Ｓ９０８で抽出したコンシステンシレベルが“アプリケーションコンシステンシ”（すなわち、アプリケーションレベルのデータの整合性が必要）の場合、ミドルウェアデプロイメントプログラム５０１は、Ｉ／Ｏ一時停止を“要”と判断する（Ｓ１３０５）。Ｓ９０８で抽出したコンシステンシレベルが“クラッシュコンシステンシ”（すなわち、アプリケーションレベルのデータの整合性が不要）の場合、ミドルウェアデプロイメントプログラム５０１は、Ｉ／Ｏ一時停止を“不要”と判断する（Ｓ１３０６）。
【００９１】
ミドルウェアデプロイメントプログラム５０１は、Ｉ／Ｏ一時停止を“不要”と判断した場合（Ｓ１３０７：Ｎ）、Ｓ１２０１で追加した新規エントリに、Ｉ／Ｏ停止要否７０６“不要”を設定する（Ｓ１３０８）。
【００９２】
ミドルウェアデプロイメントプログラム５０１は、Ｉ／Ｏ一時停止を“要”と判断した場合（Ｓ１３０７：Ｙ）、Ｓ１２０１で追加した新規エントリに、Ｉ／Ｏ停止要否７０６“要”を設定し（Ｓ１３０９）、更に、Ｓ９０６で抽出したＩ／Ｏ停止方法及びＩ／Ｏ再開方法をＩ／Ｏ停止方法７０７及びＩ／Ｏ再開方法７０８として設定する（Ｓ１３１０及びＳ１３１１）。
【００９３】
以上が、デプロイメント処理における処理の詳細である。
【００９４】
以上の説明によれば、ミドルウェアデプロイメント指示で指定されている１以上のバックアップ要件は、スナップショット取得有無を含む。スナップショット取得有無が“有”の場合、ミドルウェアデプロイメント指示で指定されている１以上のバックアップ要件は、更に、スナップショット周期を含む。ミドルウェアデプロイメント指示で指定されているミドルウェア種別をキーに抽出された１以上のバックアップ要件は、Ｉ／Ｏ停止要否６０４（ＶＯＬに対するＩ／Ｏの一時停止の要否）を含む。また、Ｉ／Ｏ停止要否６０４が“要”の場合、バックアップ要件は、更に、Ｉ／Ｏ停止方法６０５及びＩ／Ｏ再開方法６０６を含む。このように、本実施形態では、ミドルウェアデプロイメント指示で指定されているバックアップ要件（管理者所望の要件のような第１のバックアップ要件）と、ミドルウェアデプロイメント指示で指定されているミドルウェア種別をキーにデプロイメントルールテーブル１８１から抽出されたバックアップ要件（ミドルウェア種別に適した所定の要件のような第２のバックアップ要件）とを一緒にインスタンスに関連付けるバックアップ設定が可能である。
【００９５】
また、以上の説明によれば、Ｉ／Ｏ停止要否６０４が“コンシステンシレベル次第”の場合、ミドルウェアデプロイメント指示では、コンシステンシレベルが指定されている。インスタンスに関連付けられるＩ／Ｏ停止要否７０６の値は、その指定されているコンシステンシレベルに応じて決定される。これにより、ミドルウェアデプロイメント指示の送信元（例えば管理者５０）が、指定するコンシステンシレベルを通じてＩ／Ｏ一時停止の要否を制御することができる。具体的には、例えば、コンシステンシレベルが“アプリケーションコンシステンシ”の場合、アプリケーションレベルの整合性が必要のため、Ｉ／Ｏ停止要否７０６は“要”とされる。コンシステンシレベルが“クラッシュコンシステンシ”の場合、アプリケーションレベルの整合性が不要のため、Ｉ／Ｏ停止要否７０６は“不要”とされる。
【００９６】
また、以上の説明によれば、バックアップ設定に加えて、ミドルウェア種別に応じた２以上のリストア要件もインスタンスに関連付けるリストア設定も行われる。これにより、スナップショット取得に加えて、取得されたスナップショットに対応した世代のＰＶＯＬをリストアするリストアに関しても、ミドルウェア種別に応じた要件を、ミドルウェアデプロイメントの際に設定することができる。
【００９７】
図８に示したデプロイメント処理において行われたバックアップ設定に従うスナップショット取得処理は、例えば図１４に示す通りである。
【００９８】
図１４は、スナップショット取得処理の流れを示す。図１４は、或るインスタンス（図１４の説明において「対象インスタンス」）についての処理を示す。
【００９９】
スナップショット管理プログラム５０２は、スナップショット取得タイミングか否かを判断する（Ｓ１４０１）。例えば、現在時刻が、対象インスタンスに対応したスナップショット周期７０５に従う時刻である、又は、スナップショット取得指示を管理者５０から受信した、といった場合、Ｓ１４０１の判断結果が真である。Ｓ１４０１の判断結果が偽の場合（Ｓ１４０１：Ｎ）、処理が終了する。
【０１００】
Ｓ１４０１の判断結果が真の場合（Ｓ１４０１：Ｙ）、スナップショット管理プログラム５０２は、対象インスタンスに対応したＩ／Ｏ停止要否７０６が“要”か否かを判断する（Ｓ１４０２）。Ｓ１４０２の判断結果が偽の場合（Ｓ１４０２：Ｎ）、処理がＳ１４０５に進む。
【０１０１】
Ｓ１４０２の判断結果が真の場合（Ｓ１４０２：Ｙ）、スナップショット管理プログラム５０２は、対象インスタンスに対応したＩ／Ｏ停止方法７０７を特定し（Ｓ１４０３）、特定したＩ／Ｏ停止方法７０７に従う方法でＩ／Ｏを一時停止することの指示を、対象インスタンスに関するＶＯＬを使用するコンピュートＶＭ１０３に送信する（１４０４）。これにより、当該指示を受けたコンピュートＶＭ１０３が、Ｓ１４０３で特定されたＩ／Ｏ停止方法７０７に従う方法でＩ／Ｏを一時停止する。
【０１０２】
Ｓ１４０４の後、又は、Ｓ１４０２：Ｎの場合、スナップショット管理プログラム５０２は、ＰＶＯＬを提供するストレージＶＭ１０５に、当該ＰＶＯＬを指定したスナップショット取得指示を送信する（Ｓ１４０５）。当該指示を受けたストレージＶＭ１０５におけるスナップショットプログラム４０２が、当該ＰＶＯＬのスナップショットを取得する。すなわち、バックアップ設定に従う当該スナップショット取得処理において、ストレージＶＭ１０５が、スナップショットプログラム４０２により、当該ＰＶＯＬのスナップショットを取得する。その後、対象インスタンスに対応したＩ／Ｏ停止要否７０６が“要”の場合（Ｓ１４０６：Ｙ）、処理がＳ１４０７に進み、対象インスタンスに対応したＩ／Ｏ停止要否７０６が“不要”の場合（Ｓ１４０６：Ｎ）、処理が終了する。
【０１０３】
Ｓ１４０６：Ｙの場合、スナップショット管理プログラム５０２は、対象インスタンスに対応したＩ／Ｏ再開方法７０８を特定し（Ｓ１４０７）、特定したＩ／Ｏ再開方法７０８に従う方法でＩ／Ｏを再開することの指示を、対象インスタンスに関するＶＯＬを使用するコンピュートＶＭ１０３に送信する（１４０８）。当該指示を受けたコンピュートＶＭ１０３が、Ｓ１４０７で特定されたＩ／Ｏ再開方法７０８に従う方法でＩ／Ｏを再開する。
【０１０４】
図８に示したデプロイメント処理において行われたリストア設定に従うリストア処理は、例えば図１５に示す通りである。
【０１０５】
図１５は、リストア処理の流れを示す。図１５は、或るインスタンス（図１５の説明において「対象インスタンス」）についての処理を示す。なお、リストア処理も、スナップショット管理プログラム５０２が行うことができる。
【０１０６】
スナップショット管理プログラム５０２は、例えば管理者５０から、リストア指示を受信する（Ｓ１５０１）。リストア指示では、例えば、世代（例えばスナップショット番号）が指定されている。
【０１０７】
スナップショット管理プログラム５０２は、対象インスタンスに対応したミドルウェア停止方法７０９を特定し（Ｓ１５０２）、特定したミドルウェア停止方法７０９に従う方法でミドルウェアを停止することの指示を、当該ミドルウェアを実行するコンピュートＶＭ１０３に送信する（１５０３）。当該指示を受けたコンピュートＶＭ１０３が、Ｓ１５０２で特定されたミドルウェア停止方法７０９に従う方法でミドルウェアを停止する。
【０１０８】
スナップショット管理プログラム５０２は、対象インスタンスに対応したミドルウェアを実行するコンピュートＶＭ１０３に、当該ミドルウェアを通じてアプリケーションに提供されるＰＶＯＬをアンマウントすることの指示を送信する（１５０４）。当該指示を受けたコンピュートＶＭ１０３が、当該指示で指定されたＰＶＯＬをアンマウントする。
【０１０９】
スナップショット管理プログラム５０２は、指定された世代に対応したスナップショットを管理するストレージＶＭ１０５に、当該スナップショットを用いたリストアの指示を送信する（１５０５）。当該指示を受けたストレージＶＭ１０５が、当該指示で指定された世代に対応したスナップショットを用いて当該世代のＰＶＯＬをリストアする。
【０１１０】
スナップショット管理プログラム５０２は、アンマウント指示の送信先のコンピュートＶＭ１０３に、リストアされたＰＶＯＬをマウントすることの指示を送信する（１５０６）。当該指示を受けたコンピュートＶＭ１０３が、当該指示で指定されたＰＶＯＬをマウントする。
【０１１１】
スナップショット管理プログラム５０２は、対象インスタンスに対応したミドルウェア開始方法７１０を特定し（Ｓ１５０７）、特定したミドルウェア開始方法７１０に従う方法でミドルウェアを開始することの指示を、当該ミドルウェアを実行するコンピュートＶＭ１０３に送信する（１５０８）。当該指示を受けたコンピュートＶＭ１０３が、Ｓ１５０７で特定されたミドルウェア開始方法７１０に従う方法でミドルウェアを開始する。
【０１１２】
スナップショット管理プログラム５０２は、Ｓ１５０１のリストア指示に対する完了応答を、当該リストア指示の送信元に送信する（Ｓ１５０９）。
【０１１３】
以上、本発明の一実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施形態にのみ限定する趣旨ではない。例えば、本発明は、スナップショット以外のバックアップにも適用することが可能である。
【符号の説明】
【０１１４】
１０１…管理装置
【図１】
2019139528.tif 000003
【図２】
2019139528.tif 000004
【図３】
2019139528.tif 000005
【図４】
2019139528.tif 000006
【図５】
2019139528.tif 000007
【図６】
2019139528.tif 000008
【図７】
2019139528.tif 000009
【図８】
2019139528.tif 000010
【図９】
2019139528.tif 000011
【図１０】
2019139528.tif 000012
【図１１】
2019139528.tif 000013
【図１２】
2019139528.tif 000014
【図１３】
2019139528.tif 000015
【図１４】
2019139528.tif 000016
【図１５】
2019139528.tif 000017