IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧

特開2023-84777ディザスタリカバリシステム及びディザスタリカバリ方法
<>
  • 特開-ディザスタリカバリシステム及びディザスタリカバリ方法 図1
  • 特開-ディザスタリカバリシステム及びディザスタリカバリ方法 図2
  • 特開-ディザスタリカバリシステム及びディザスタリカバリ方法 図3
  • 特開-ディザスタリカバリシステム及びディザスタリカバリ方法 図4
  • 特開-ディザスタリカバリシステム及びディザスタリカバリ方法 図5
  • 特開-ディザスタリカバリシステム及びディザスタリカバリ方法 図6
  • 特開-ディザスタリカバリシステム及びディザスタリカバリ方法 図7
  • 特開-ディザスタリカバリシステム及びディザスタリカバリ方法 図8
  • 特開-ディザスタリカバリシステム及びディザスタリカバリ方法 図9
  • 特開-ディザスタリカバリシステム及びディザスタリカバリ方法 図10
  • 特開-ディザスタリカバリシステム及びディザスタリカバリ方法 図11
  • 特開-ディザスタリカバリシステム及びディザスタリカバリ方法 図12
  • 特開-ディザスタリカバリシステム及びディザスタリカバリ方法 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023084777
(43)【公開日】2023-06-20
(54)【発明の名称】ディザスタリカバリシステム及びディザスタリカバリ方法
(51)【国際特許分類】
   G06F 11/14 20060101AFI20230613BHJP
   G06F 3/06 20060101ALI20230613BHJP
   G06F 13/10 20060101ALI20230613BHJP
【FI】
G06F11/14 651
G06F3/06 304F
G06F11/14 656
G06F11/14 664
G06F3/06 301W
G06F3/06 301X
G06F13/10 340A
G06F11/14 658
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2021199067
(22)【出願日】2021-12-08
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110002365
【氏名又は名称】弁理士法人サンネクスト国際特許事務所
(72)【発明者】
【氏名】里山 愛
(72)【発明者】
【氏名】出口 彰
(57)【要約】
【課題】
顧客が利用するサービスに適合するディザスタリカバリ構成を提供しつつディザスタリカバリシステム全体のコストを削減する。
【解決手段】
ディザスタリカバリシステム(情報処理システム1)において、クラウド管理ノード300は、プライマリサイト100で実行される各アプリケーション(アプリ153)の性能の重視性を示す重要度情報を、当該アプリケーションを実行する仮想計算機(VM152)と対応付けて管理し、仮想計算機ごとに、対応するアプリケーションの重要度情報に基づいて、複数種類のDR方式のうちから、当該仮想計算機及び当該アプリケーションに適用するDR方式を決定し、当該仮想計算機が使用するデータのデータ転送に適用される所定の設定項目の内容を決定する。
【選択図】図2
【特許請求の範囲】
【請求項1】
通常時にサービスを提供するプライマリサイトにおける障害発生時に、当該プライマリサイトで実行されていた仮想計算機及びアプリケーションをセカンダリサイトで復旧するディザスタリカバリ構成を備えるディザスタリカバリシステムであって、
アプリケーションを実行する仮想計算機を実行する第1のサーバシステムと、ストレージに前記第1のサーバシステムが使用するデータを格納する第1のストレージシステムと、を有するプライマリサイトと、
クラウドストレージに前記第1のサーバシステムが使用するデータのバックアップ用データを格納する第2のストレージシステムと、前記障害発生時に、前記クラウドストレージに格納したバックアップ用データを用いて、前記プライマリサイトにおける対応関係を考慮した構成で前記仮想計算機及び前記アプリケーションを復旧する第2のサーバシステムと、を有するセカンダリサイトと、
前記プライマリサイトと前記セカンダリサイトとによる前記ディザスタリカバリ構成を構築するための制御、及び前記プライマリサイトから前記セカンダリサイトに前記バックアップ用データを転送するデータ転送の仲介を行うクラウド管理ノードと、
を備え、
前記クラウド管理ノードは、
前記プライマリサイトで実行される各前記アプリケーションの性能の重視性を示す重要度情報を当該アプリケーションを実行する前記仮想計算機と対応付けて管理し、
前記仮想計算機ごとに、対応するアプリケーションの前記重要度情報に基づいて、複数種類のディザスタリカバリ方式のうちから当該仮想計算機及び当該アプリケーションに適用するディザスタリカバリ方式を決定し、
前記仮想計算機ごとに、対応するアプリケーションの前記重要度情報に基づいて、当該仮想計算機が使用するデータの前記データ転送に適用される所定の設定項目の内容を決定する
ことを特徴とするディザスタリカバリシステム。
【請求項2】
前記データ転送において、
前記クラウド管理ノードは、前記プライマリサイトの前記第1のストレージシステムにおいて前記バックアップ用データを圧縮してから前記セカンダリサイトの前記第2のストレージシステムに転送し、
前記第2のストレージシステムは、前記プライマリサイトから転送された前記バックアップ用データを圧縮されたまま格納する
ことを特徴とする請求項1に記載のディザスタリカバリシステム。
【請求項3】
前記複数種類のディザスタリカバリ方式には少なくともパイロットライト方式が含まれ、
前記パイロットライト方式が適用される前記仮想計算機が使用するデータの前記データ転送において、
前記第2のストレージシステムは、前記プライマリサイトから転送された前記バックアップ用データの少なくとも一部を前記復旧が開始されるまで伸長せずに格納する
ことを特徴とする請求項2に記載のディザスタリカバリシステム。
【請求項4】
前記第2のストレージシステムのクラウドストレージには、リソースの使用コストまたは性能が異なる複数種類のクラウドストレージが含まれ、
前記クラウド管理ノードは、前記所定の設定項目の内容の決定の1つとして、前記仮想計算機ごとに、対応するアプリケーションの前記重要度情報に基づいて、前記データ転送における前記バックアップ用データの格納先を、前記複数種類のクラウドストレージのうちから決定する
ことを特徴とする請求項1に記載のディザスタリカバリシステム。
【請求項5】
前記クラウド管理ノードは、前記所定の設定項目の内容の決定の1つとして、前記仮想計算機ごとに、対応するアプリケーションの前記重要度情報に基づいて、前記データ転送における前記バックアップ用データの転送方法を、同期コピー及び非同期コピーを含む複数種類の転送方法のうちから決定する
ことを特徴とする請求項1に記載のディザスタリカバリシステム。
【請求項6】
前記クラウド管理ノードは、前記所定の設定項目の内容の決定の1つとして、前記仮想計算機ごとに、対応するアプリケーションの前記重要度情報に基づいて、通信コストまたは通信速度が異なる複数種類のネットワークのうちから、前記データ転送において前記バックアップ用データを転送するネットワークの種類を決定する
ことを特徴とする請求項1に記載のディザスタリカバリシステム。
【請求項7】
前記クラウド管理ノードは、前記所定の設定項目の内容の決定の1つとして、前記仮想計算機ごとに、対応するアプリケーションの前記重要度情報に基づいて、データの圧縮率または圧縮データの伸長速度が異なる複数種類の圧縮アルゴリズムのうちから、前記データ転送において前記バックアップ用データの圧縮に使用する圧縮アルゴリズムを決定する
ことを特徴とする請求項2に記載のディザスタリカバリシステム。
【請求項8】
前記第2のストレージシステムは、前記第2のサーバシステムが生成する仮想計算機が直接データにアクセスできる第1のストレージ装置と、前記第2のサーバシステムが生成する仮想計算機が直接データにアクセスできない第2のストレージ装置と、を有し、
前記復旧のために前記クラウド管理ノードから前記セカンダリサイトにフェイルオーバの実行が指示されたとき、前記データ転送による前記バックアップ用データが前記第2のストレージ装置に格納されている場合には、
当該バックアップ用データは伸長されて、前記第1のストレージ装置に生成されたボリュームに格納され、当該ボリュームが前記バックアップ用データを使用する仮想計算機にアタッチされる
ことを特徴とする請求項1に記載のディザスタリカバリシステム。
【請求項9】
前記クラウド管理ノードは、
前記仮想計算機ごとに、前記復旧のために実行されるフェイルオーバの開始から仮想計算機の起動完了までに要する環境構築時間を見積もり、
データの圧縮率または圧縮データの伸長速度が異なる複数種類の圧縮アルゴリズムのうちから、前記バックアップ用データの伸長に要する時間が前記見積もった環境構築時間以内に収まる程度のデータ量に前記バックアップ用データを圧縮可能な圧縮アルゴリズムを、前記データ転送において前記バックアップ用データの圧縮に使用する圧縮アルゴリズムとして決定する
ことを特徴とする請求項2に記載のディザスタリカバリシステム。
【請求項10】
前記仮想計算機ごとに当該仮想計算機及び当該アプリケーションに適用するディザスタリカバリ方式が指定される場合、
前記クラウド管理ノードは、前記指定されたディザスタリカバリ方式に基づいて、前記仮想計算機で実行される前記アプリケーションの前記重要度情報を決定する
ことを特徴とする請求項1に記載のディザスタリカバリシステム。
【請求項11】
通常時にサービスを提供するプライマリサイトにおける障害発生時に、当該プライマリサイトで実行されていた仮想計算機及びアプリケーションをセカンダリサイトで復旧するディザスタリカバリ構成を備えるディザスタリカバリシステムによるディザスタリカバリ方法であって、
前記ディザスタリカバリシステムは、
アプリケーションを実行する仮想計算機を実行する第1のサーバシステムと、ストレージに前記第1のサーバシステムが使用するデータを格納する第1のストレージシステムと、を有するプライマリサイトと、
クラウドストレージに前記第1のサーバシステムが使用するデータのバックアップ用データを格納する第2のストレージシステムと、前記障害発生時に、前記クラウドストレージに格納したバックアップ用データを用いて、前記プライマリサイトにおける対応関係を考慮した構成で前記仮想計算機及び前記アプリケーションを復旧する第2のサーバシステムと、を有するセカンダリサイトと、
前記プライマリサイトと前記セカンダリサイトとによる前記ディザスタリカバリ構成を構築するための制御、及び前記プライマリサイトから前記セカンダリサイトに前記バックアップ用データを転送するデータ転送の仲介を行うクラウド管理ノードと、
を有し、
前記クラウド管理ノードが、
前記プライマリサイトで実行される各前記アプリケーションの性能の重視性を示す重要度情報を当該アプリケーションを実行する前記仮想計算機と対応付けて管理し、
前記仮想計算機ごとに、対応するアプリケーションの前記重要度情報に基づいて、複数種類のディザスタリカバリ方式のうちから当該仮想計算機及び当該アプリケーションに適用するディザスタリカバリ方式を決定し、
前記仮想計算機ごとに、対応するアプリケーションの前記重要度情報に基づいて、当該仮想計算機が使用するデータの前記データ転送に適用される所定の設定項目の内容を決定する
ことを特徴とするディザスタリカバリ方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ディザスタリカバリシステム及びディザスタリカバリ方法に関し、ディザスタリカバリ構成を提供するディザスタリカバリシステム及びそのディザスタリカバリ方法に適用して好適なものである。
【背景技術】
【0002】
特許文献1に開示されているように、地震や火災といった大規模災害が発生した場合のプライマリサイトにおけるデータロストに備えて、遠隔地のサイト(セカンダリサイト)にデータを多重化して保持するディザスタリカバリ(DR)技術が知られている。
【0003】
ディザスタリカバリの方法は複数知られており、例えば非特許文献1には、マルチサイト方式及びパイロットライト方式が開示されている。マルチサイト方式は、セカンダリサイトにおいて常にプライマリサイトと同じシステムを稼働させている。一方、パイロットライト方式は、セカンダリサイトにおいて最小限の部分だけをスタンバイしておき、障害が検知されて復旧する必要が生じたときに、本番環境(プライマリサイトと同じ環境)を素早く構築する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】米国特許出願公開第2009/0271582号明細書
【非特許文献】
【0005】
【非特許文献1】舟崎 健治、市崎 洋平、“AWS大阪ローカルリージョンの活用とAWSで実現するDisaster Recovery”、[online]、[令和3年9月28日検索]、インターネット〈URL:https://d1.awsstatic.com/webinars/jp/pdf/services/20180717_AWS-BlackBelt_OsakaLocalRegion_KIX_DR.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、上述した従来のディザスタリカバリ技術をプライマリサイトがオンプレミス環境でセカンダリサイトをクラウド環境とするハイブリッドクラウド環境に適用した場合には、プライマリサイトで顧客(ユーザ)へのサービスの提供が行われる通常時から、セカンダリサイトのクラウド側のリソースの使用量が多くなることが想定され、クラウド側のリソースのコストが高くなってしまうという課題があった。顧客が利用するサービスは、プライマリサイトまたはセカンダリサイトで実行されるアプリケーションによって提供されるが、サービスごとに要求される性能は異なり、例えば安価なサービスにおいてリソースのコストが高くなることは好ましくない。
【0007】
本発明は以上の点を考慮してなされたもので、顧客が利用するサービスに適合するディザスタリカバリ構成を提供しつつディザスタリカバリシステム全体のコストを削減することが可能なディザスタリカバリシステム及びディザスタリカバリ方法を提案しようとするものである。
【課題を解決するための手段】
【0008】
かかる課題を解決するため本発明においては、通常時にサービスを提供するプライマリサイトにおける障害発生時に、当該プライマリサイトで実行されていた仮想計算機及びアプリケーションをセカンダリサイトで復旧するディザスタリカバリ構成を備えるディザスタリカバリシステムであって、アプリケーションを実行する仮想計算機を実行する第1のサーバシステムと、ストレージに前記第1のサーバシステムが使用するデータを格納する第1のストレージシステムと、を有するプライマリサイトと、クラウドストレージに前記第1のサーバシステムが使用するデータのバックアップ用データを格納する第2のストレージシステムと、前記障害発生時に、前記クラウドストレージに格納したバックアップ用データを用いて、前記プライマリサイトにおける対応関係を考慮した構成で前記仮想計算機及び前記アプリケーションを復旧する第2のサーバシステムと、を有するセカンダリサイトと、前記プライマリサイトと前記セカンダリサイトとによる前記ディザスタリカバリ構成を構築するための制御、及び前記プライマリサイトから前記セカンダリサイトに前記バックアップ用データを転送するデータ転送の仲介を行うクラウド管理ノードと、を備え、前記クラウド管理ノードは、前記プライマリサイトで実行される各前記アプリケーションの性能の重視性を示す重要度情報を当該アプリケーションを実行する前記仮想計算機と対応付けて管理し、前記仮想計算機ごとに、対応するアプリケーションの前記重要度情報に基づいて、複数種類のディザスタリカバリ方式のうちから当該仮想計算機及び当該アプリケーションに適用するディザスタリカバリ方式を決定し、前記仮想計算機ごとに、対応するアプリケーションの前記重要度情報に基づいて、当該仮想計算機が使用するデータの前記データ転送に適用される所定の設定項目の内容を決定するディザスタリカバリシステムが提供される。
【0009】
また、かかる課題を解決するため本発明においては、通常時にサービスを提供するプライマリサイトにおける障害発生時に、当該プライマリサイトで実行されていた仮想計算機及びアプリケーションをセカンダリサイトで復旧するディザスタリカバリ構成を備えるディザスタリカバリシステムによるディザスタリカバリ方法であって、前記ディザスタリカバリシステムは、アプリケーションを実行する仮想計算機を実行する第1のサーバシステムと、ストレージに前記第1のサーバシステムが使用するデータを格納する第1のストレージシステムと、を有するプライマリサイトと、クラウドストレージに前記第1のサーバシステムが使用するデータのバックアップ用データを格納する第2のストレージシステムと、前記障害発生時に、前記クラウドストレージに格納したバックアップ用データを用いて、前記プライマリサイトにおける対応関係を考慮した構成で前記仮想計算機及び前記アプリケーションを復旧する第2のサーバシステムと、を有するセカンダリサイトと、前記プライマリサイトと前記セカンダリサイトとによる前記ディザスタリカバリ構成を構築するための制御、及び前記プライマリサイトから前記セカンダリサイトに前記バックアップ用データを転送するデータ転送の仲介を行うクラウド管理ノードと、を有し、前記クラウド管理ノードが、前記プライマリサイトで実行される各前記アプリケーションの性能の重視性を示す重要度情報を当該アプリケーションを実行する前記仮想計算機と対応付けて管理し、前記仮想計算機ごとに、対応するアプリケーションの前記重要度情報に基づいて、複数種類のディザスタリカバリ方式のうちから当該仮想計算機及び当該アプリケーションに適用するディザスタリカバリ方式を決定し、前記仮想計算機ごとに、対応するアプリケーションの前記重要度情報に基づいて、当該仮想計算機が使用するデータの前記データ転送に適用される所定の設定項目の内容を決定するディザスタリカバリ方法が提供される。
【発明の効果】
【0010】
本発明によれば、顧客が利用するサービスに適合するディザスタリカバリ構成を提供しつつディザスタリカバリシステム全体のコストを削減することができる。
【図面の簡単な説明】
【0011】
図1】本発明の一実施形態に係る情報処理システム1のハードウェア構成例を示すブロック図である。
図2】情報処理システム1の運用イメージを示す図である。
図3】メモリ302に格納される制御情報及び制御プログラムを示す図である。
図4】VMアプリ管理情報410の一例を示す図である。
図5】アプリ重要度管理情報420の一例を示す図である。
図6】重要度DR管理情報430の一例を示す図である。
図7】DR管理情報440の一例を示す図である。
図8】データ転送先決定処理の処理手順例を示すフローチャートである。
図9】転送データ圧縮方法決定処理の処理手順例を示すフローチャートである。
図10】データ転送ネットワーク決定処理の処理手順例を示すフローチャートである。
図11】データ転送処理の処理手順例を示すフローチャートである。
図12】パイロットライト方式におけるディザスタリカバリ処理の処理手順例を示すフローチャートである。
図13】転送データ圧縮方法決定処理の別の処理手順例を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、図面を参照して、本発明の実施形態を詳述する。
【0013】
但し、以下の実施形態は本発明を説明するための例示であって、説明の明確化のため、適宜、省略及び簡略化がなされている。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。本発明が実施形態に制限されることは無く、本発明の思想に合致するあらゆる応用例が本発明の技術的範囲に含まれる。本発明は、当業者であれば本発明の範囲内で様々な追加や変更等を行うことができる。本発明は、他の種々の形態でも実施する事が可能である。特に限定しない限り、各構成要素は複数でも単数でも構わない。
【0014】
なお、以下の説明では「テーブル」という表現にて本発明の情報を説明するが、これらの情報は必ずしもテーブルによるデータ構造で表現されていなくても良く、「リスト」や「DB(データベース)」等のデータ構造、あるいはそれ以外で表現されていても良い。そのため、データ構造に依存しないことを示すために「テーブル」、「リスト」、「DB」等については、単に「情報」と呼ぶこともできる。また、各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ID」という表現を用いることが可能であり、これらについてはお互いに置換が可能である。
【0015】
また、以下の説明では、プログラムを実行して行う処理を説明する場合があるが、プログラムは、少なくとも1以上のプロセッサ(例えばCPU)によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)及び/又はインターフェースデバイス(例えば通信ポート)等を用いながら行うため、処理の主体がプロセッサとされてもよい。同様に、プログラムを実行して行う処理の主体が、プロセッサを有するコントローラ、装置、システム、計算機、ノード、ストレージシステム、ストレージ装置、サーバ、管理計算機、クライアント、又は、ホストであってもよい。プログラムを実行して行う処理の主体(例えばプロセッサ)は、処理の一部又は全部を行うハードウェア回路を含んでもよく、また、モジュール化されていても良い。例えば、プログラムを実行して行う処理の主体は、暗号化及び復号化、又は圧縮及び伸張を実行するハードウェア回路を含んでもよい。各種プログラムはプログラム配布サーバや記憶メディアによって各計算機にインストールされてもよい。プロセッサは、プログラムに従って動作することによって、所定の機能を実現する機能部として動作する。プロセッサを含む装置及びシステムは、これらの機能部を含む装置及びシステムである。また、「リード/ライト処理」を「読み出し/書き込み処理」または「更新処理」等と記載することがある。
【0016】
また、各図においては、共通する構成に同一の参照番号が付されている。各図において同種の要素を区別しないで説明する場合には、参照符号又は参照符号における共通番号を使用し、同種の要素を区別して説明する場合は、その要素の参照符号を使用又は参照符号に代えてその要素に割り振られたIDを使用することがある。
【0017】
(1)構成
図1は、本発明の一実施形態に係る情報処理システム1のハードウェア構成例を示すブロック図である。
【0018】
情報処理システム1は、ディザスタリカバリ構成を提供するディザスタリカバリシステムであって、図1に示すように、プライマリサイト100とセカンダリサイト200とクラウド管理ノード300とを備え、それぞれが互いにネットワーク10(典型的にはIP(Internet Protocol)ネットワーク)で接続される。本実施形態では、プライマリサイト100にオンプレミスベースのストレージシステム(オンプレミスストレージ)を使い、セカンダリサイト200にクラウドベースのストレージシステム(クラウドストレージ)を使ったディザスタリカバリ構成について説明するが、少なくともセカンダリサイト200がクラウドストレージであればよく、プライマリサイト100がクラウドストレージであっても本発明の本質は変わらない。また、記載の簡便のために「ディザスタリカバリ」をDR(Disaster Recovery)と表記することがある。
【0019】
プライマリサイト100は、通常状態においてアプリケーションによるサービスをユーザ(顧客)に提供するストレージシステムであって、オンプレミスストレージシステムからなり、具体的には、サーバシステム110、ストレージコントローラ120、及びオンプレミスストレージ130を備える。
【0020】
サーバシステム110は、プロセッサ111と、メモリ112と、ネットワークインターフェース(I/F)113とを有し、I/F113を介してネットワーク10に接続される。ストレージコントローラ120は、メモリ122と、フロントエンドのネットワークインターフェース(I/F)124と、バックエンドのストレージインターフェース(I/F)123と、それらに接続されたプロセッサ121とを有する。ストレージコントローラ120は、I/F124を介してサーバシステム110に接続され、I/F123を介してオンプレミスストレージ130に接続される。オンプレミスストレージ130は、データを物理的に格納するストレージデバイスである。サーバシステム110及びストレージコントローラ120において、それぞれメモリ及びプロセッサは冗長化されている。
【0021】
メモリ122は、情報や1つ以上のプログラムを格納する。プロセッサ121が、当該1つ以上のプログラムを実行することで、サーバシステム110へのストレージ領域(ここでは論理ボリュームとして説明する)の提供、サーバシステム110からのライト要求やリード要求といったI/O(Input/Output)要求の処理を行う。例えば、ユーザ(顧客)が使用する上位装置(ホスト)からのボリュームを指定したライト要求やリード要求をサーバシステム110が受け、ストレージコントローラ120に送信する。そしてストレージコントローラ120が、当該ライト要求やリード要求に応答して、オンプレミスストレージ130内にある該当ボリュームに対するデータの読み書きを行う。
【0022】
ストレージコントローラ120及びオンプレミスストレージ130は、1つのストレージシステムとして構成されてもよい。例えば、RAID(Redundant Array of Independent (or Inexpensive) Disks)技術によるハイエンド向けストレージシステムやフラッシュメモリを用いたストレージシステム等がある。
【0023】
オンプレミスストレージ130の構成は、例えば、それぞれが記憶装置を有する複数のストレージノードを備えたマルチノード構成のノード群(例えば分散システム)でもよい。各ストレージノードは、汎用の物理計算機でよい。各物理計算機が所定のソフトウェアを実行することにより、SDx(Software-Defined anything)が構築されてよい。SDxとしては、例えば、SDS(Software Defined Storage)又はSDDC(Software-defined Datacenter)を採用することができる。また、オンプレミスストレージ130が、ハイパーコンバージドインフラストラクチャベースのストレージシステム、例えば、I/O要求を発行するホストシステムとしての機能(例えば、I/O要求を発行するアプリケーションの実行体(例えば、仮想マシンやコンテナ))と、当該I/O要求を処理するストレージシステムとしての機能(例えば、ストレージソフトウェアの実行体(例えば、仮想マシンやコンテナ)とを有するシステムでもよい。オンプレミスストレージ130の構成の一例でありこれに限定されない。
【0024】
セカンダリサイト200は、地震や火災といった大規模災害が発生した場合のプライマリサイト100におけるデータロストに備えてプライマリサイト100のデータを保持し、プライマリサイト100で障害等が発生した場合に、上記保持したデータを用いてプライマリサイト100のデータ及びサービスを復旧するディザスタリカバリサイト(DRサイト)である。本実施形態に係る情報処理システム1においてセカンダリサイト200は、典型的にはパブリッククラウドに属し、クラウドベンダが提供するクラウドストレージサービスのベースとなるクラウドストレージシステムである。クラウドストレージサービスとしては、例えば、AWS(Amazon Web Services)(登録商標)、Azure(登録商標)、Google Cloud Platform(登録商標)などがある。セカンダリサイト200に利用されるクラウドストレージシステムは、パブリッククラウドに代えて、他種のクラウド(例えば、プライベートクラウド)に属するストレージシステムでもよい。ここでは一例としてパブリッククラウドの構成を用いて説明する。
【0025】
セカンダリサイト200は、サーバシステム210及びストレージシステム220を備え、ネットワーク10に接続される。
【0026】
サーバシステム210は、プロセッサ211と、メモリ212(更にストレージを持ってもよい)と、ネットワークインターフェース(図示せず)とを有し、当該ネットワークインターフェースを介してネットワーク10に接続される。ストレージシステム220は、ハイエンド向けのコストが高い第1のストレージ装置221や低コストで大容量の第2のストレージ装置222等、性能や容量コストの異なるストレージを含む。第1のストレージ装置221及び第2のストレージ装置222は、ストレージコントローラ120と同様な部分と、データを物理的に格納する部分とからなる。ストレージシステム220の具体例として、第1のストレージ装置221はAWSにおいて「EBS」と称されるストレージサービスで提供されるブロックストレージに相当し、第2のストレージ装置222はAWSにおいて「S3」と称されるストレージサービスで提供されるオブジェクトストレージに相当する。オブジェクトストレージはデータの同期ができないという性質を有する。
【0027】
クラウドサービス管理230は、クラウドサービス全般を管理する機能を有するコンポーネントである。クラウドは、クラウドサービス内に設けたクラウドサービス管理230がユーザの要求を受け、クラウド内に含まれる複数の異なるスペックのリソースの中からユーザの要求に合う適切なリソースを選択し、ユーザの要求された環境を構築するという利用方法が一般的であり、本実施形態のセカンダリサイト200も同様とする。クラウドサービス内の主なリソースにはサーバシステム(すなわち、サーバシステム210)及びストレージシステム(ストレージシステム220)がある。クラウドサービス管理230は、例えば、アプライアンス(専用機器)であってもよいし、物理計算機でもよい。また、クラウドサービス管理230は、サーバシステム210の一部にあってもよいし、クラウド管理ノード300内にあってもよい。以下の説明では、クラウドサービス内のサーバシステム210の1つのメモリ212内に格納されたプログラムとして説明する(図1では、分かり易さのために、セカンダリサイト200内にサーバシステム210のメモリ212とは別構成で示している)。
【0028】
クラウド管理ノード300は、プライマリサイト100とセカンダリサイト200とでDR構成を構築するための制御を行ったり、プライマリサイト100とセカンダリサイト200と間のデータ転送を仲介したりするアプライアンスである。例えば、クラウド管理ノード300は、セカンダリサイト200のクラウドサービス内にあってもよいし、クラウドサービス管理230にあってもよい。本説明では一例として、クラウド管理ノード300は、メモリ302及びI/F303と、それらに接続されたプロセッサ301とを有する物理計算機であるとする。
【0029】
なお、プライマリサイト100におけるオンプレミスストレージ130とセカンダリサイト200におけるクラウドストレージ(第1のストレージ装置221,第2のストレージ装置222)と間のデータ転送は、図1に示す情報処理システム1ではネットワーク10を介して直接転送する方法としているが、これに限定されるものではなく、データ転送用の別のネットワーク経路や回線を用いて転送する方法でもよい。また、あらゆるネットワークや回線の種類は、本発明の本質ではない。
【0030】
また、ネットワーク10にはストレージ管理システムが接続されていてもよい。例えば、このストレージ管理システムは、オンプレミスストレージ130の記憶領域の構成を管理する計算機システム(1つ以上の計算機)であり、オンプレミスストレージ130に関する設定をユーザから指示することができる。
【0031】
図2は、情報処理システム1の運用イメージを示す図である。
【0032】
図2に示したように、プライマリサイト100内では、1以上のサーバシステム110からなるサーバ(サーバ群)151上に、1つ以上のVM152が生成される。VM152は仮想マシンであり、各VM152上ではユーザに指定されたアプリ153が実行される。ユーザに指定されたアプリ153とは、ユーザにサービスを提供するアプリケーションであって、ユーザが利用するサービスの指定によって、当該サービスに対応するアプリ153が指定される。
【0033】
プライマリサイト100において、データは、容量仮想化技術によりプール140を介してオンプレミスストレージ130内の記憶領域に格納される。ストレージ制御プログラム125は、ストレージコントローラ120のメモリ122内に格納されたプログラムであって、オンプレミスストレージ130を制御する。コピー機能126は、ストレージコントローラ120のメモリ122内に格納されたプログラムによって実現される機能(あるいはそのプログラム)であって、プライマリサイト100のオンプレミスストレージ130に格納されたデータを複製してセカンダリサイト200に転送する機能を有する。
【0034】
サーバシステム110のメモリ112内には、VM制御情報(不図示)が格納される。VM制御情報は、オンプレミスストレージ130内に格納されてもよい。VM制御情報は、VM152の制御のための情報、例えば、各VM152へ割り当てられるリソース(例えばボリューム)の量を表す情報を含む。
【0035】
前述したように、VM152上で実行するアプリ153は、ユーザによって指示される。サーバ151のメモリ(すなわち、サーバシステム110のメモリ117)には、VMと実行するアプリ153との識別子の対応情報が格納されている。あるいは、この識別子の対応情報は、ネットワーク10を介して接続される不図示のストレージ管理システム(オンプレミスストレージ130の記憶領域の構成を管理する計算機システム)内に格納されていてもよい。
【0036】
情報処理システム1は、クラウド管理ノード300がプライマリサイト100のリソース構成情報及びアプリ情報を取得し、クラウドサービス側に指示することで、セカンダリサイト200がプライマリサイト100と同じVM(VM252)とアプリ(アプリ253)を実行する、DR環境を構築することができる。プライマリサイト100のリソース構成情報及びアプリ情報は、例えばサーバシステム110のメモリ112またはオンプレミスストレージ130に格納されるが、ネットワーク10を介して接続される不図示のストレージ管理システム内に格納されてもよい。
【0037】
前述したとおり、ディザスタリカバリ(DR)には異なるレベルの方法があり、本実施形態に係る情報処理システム1は、このような異なるレベルのDR方法を利用することができる。DR方法は、ユーザが選択して指示することもできるし、システム側で自動的に選択することもできる。また、DR方法は、VM単位、あるいはボリューム単位などで指定することができる。ここではVM単位でDR方法を指定することを例とする。
【0038】
サービスの提供のために仮想マシン(VM)上で実行されるアプリケーションには、性能が最も重視されるアプリケーションもあれば、RTO(Recovery Time Objective)が多少下がっても許容されるアプリケーションもあり、アプリケーションごとに性能の重視性が異なる。そこで、本実施形態に係る情報処理システム1は、VM152上で実行されるアプリ153ごとに、アプリ153の性能の重視性を表す「重要度」の情報を管理し、この重要度の情報に基づいて、VMごとに適したディザスタリカバリレベル(DR方法)を選択してクラウドDR構成を構築する。
【0039】
具体的には例えば、図2に示すように、プライマリサイト100の「VM2」上で実行される「アプリ2」が重要度が高いアプリケーションである場合、セカンダリサイト200のクラウド内において「VM2」でマルチサイト方式を選択することにより、重要度が高い「アプリ2」のサーバリソースをDR構成の構築開始後すぐに確保する。一方、プライマリサイト100の「VM1」上で実行される「アプリ1」が重要度が低いアプリケーションである場合、セカンダリサイト200のクラウド内において「VM1」でパイロットライト方式を選択することにより、重要度が低い「アプリ1」のサーバリソースをDR構成の構築開始時には確保しない。「VM1」にパイロットライト方式を選択した場合、「アプリ1」のサーバリソースは、プライマリサイト100からセカンダリサイト200に業務処理を切り替える時点で確保される。
【0040】
このように、本実施形態に係る情報処理システム1は、DR方法を選択する際に参照するアプリの重要度の情報を利用し、プライマリサイト100とセカンダリサイト200との間のデータ転送に関して、重要度に応じたデータ転送方法及びデータ転送先ストレージ装置選択方法、もしくは、これら組み合わせた方法を実施することで、クラウドDRのコスト削減を実現することができる。
【0041】
以下に、本実施形態に係る情報処理システム1におけるDR環境構築の手順の概要を説明する。
【0042】
まず、プライマリサイト100のアプリ153の「重要度」の情報は、例えば、コマンドやユーザ入力用GUI(Graphical User Interface)からの入力によるユーザの指示を受けた結果や、クラウド管理ノード300が情報を収集し分析して得られた結果等から、クラウド管理ノード300(プロセッサ301)がアプリの「重要度」の情報を決定し、クラウド管理ノード300のメモリ302内のアプリ重要度管理情報420(詳細は、図5で後述)に予め登録されているとする。本実施形態で説明する例では、プライマリサイト100で生成された「VM1」のVM152で実行する「アプリ1」のアプリ153は重要度が低く、「VM2」のVM152で実行する「アプリ2」のアプリ153は重要度が高い。
【0043】
次に、クラウド管理ノード300(プロセッサ301)は、アプリ重要度管理情報420に登録された重要度の情報を参照し、当該重要度に応じたDR方法を決定し、重要度DR管理情報430(詳細は、図6で後述)に登録する。前述したように、VM上で実行されるアプリには、性能を重視するものや、多少RTOが下がっても許容されるもの(性能をそこまで重視しないもの)があるため、例えば、RTOを重視するアプリ(すなわち、重要度が高いアプリ)を実行するVMはマルチサイト方式によってDR環境を構築し、RTOの低下が許容されるアプリ(すなわち、重要度が低いアプリ)を実行するVMではパイロットライト方式によってDR環境を構築する。
【0044】
具体的にはまず、クラウド管理ノード300は、プライマリサイト100のVM制御情報とVM152上で実行するアプリ153の情報とをプライマリサイト100から受け取り、VMアプリ管理情報410で管理する。そして、クラウド管理ノード300は、重要度の情報を参照してVM152(VM252)に対するDR方法を選択し、セカンダリサイト200へDR環境構築要求の指示を出す。
【0045】
そして、セカンダリサイト200内のクラウドサービス管理230は、上記のDR環境構築の要求に従って、要求に合うクラウド内のリソースを選択し割り当てを行う。
【0046】
例えば、重要度が低いアプリ1に対応するDR構成では、平常時はDR先(セカンダリサイト200内)にサーバシステム等のリソースを確保せず、障害の発生に対するフェイルオーバ起動の際に当該リソースを確保する。平常時にDR先にリソースが確保されないことについて、図2のセカンダリサイト200では、重要度が低い「アプリ1」(アプリ253)、当該アプリを実行する「VM1」(VM252)、及び当該VMを生成するサーバ251が破線で表されている。但し、このようなDR構成でも、プライマリサイト100のデータは常にDR先に転送する。これがパイロットライト方式である。
【0047】
また例えば、重要度が高いアプリ2に対応するDR構成では、平常時からDR先(セカンダリサイト200内)にプライマリサイト100と同じサーバ環境を構築する。また、プライマリサイト100のデータは常にDR先に転送する。これがマルチサイト方式である。
【0048】
クラウドでは、リソースを割り当てた時点でリソースの使用量に対して課金が発生するため、上記のように重要度が低いアプリのリソース割り当てを必要となる直前まで極力行わないようにすることで、DRのコストを低減することができる。
【0049】
なお、プライマリサイト100のデータは、クラウド管理ノード300のDR管理プログラム460(図3参照)により、クラウド管理ノード300を介してセカンダリサイト200内に転送される。プライマリサイト100とセカンダリサイト200との間のデータ転送は、複数種類のデータ転送方法のバリエーションのうちから選択された方法で実施され、その決定方法は図8を参照して後述される。
【0050】
図3は、メモリ302に格納される制御情報及び制御プログラムを示す図である。図3に示したように、クラウド管理ノード300のメモリ302には、制御情報として、VMアプリ管理情報410、アプリ重要度管理情報420、重要度DR管理情報430、及びDR管理情報440が格納される。これらの制御情報は、図4図7に具体例を示す。また、メモリ302には、制御プログラムとして、DR管理プログラム460が格納される。なお、メモリ302には図示していないプログラムも格納される。
【0051】
DR管理プログラム460は、プライマリサイト100とセカンダリサイト200との間でのDR環境構築の指示、VM及びアプリについてDR環境で対応するペアの形成、及び、プライマリサイト100からセカンダリサイト200へのデータ転送制御などを行う。
【0052】
図4は、VMアプリ管理情報410の一例を示す図である。VMアプリ管理情報410は、プライマリサイト100のサーバ151上に生成されたVM152に関する管理情報を含む。図4に例示したVMアプリ管理情報410は、VM411、アプリ412、DR方法413、転送先414、圧縮方法415、転送方法416、及びネットワーク417の項目を有して構成される。
【0053】
VM411には、VM152を特定する識別子が格納され、アプリ412には、当該VM上で実行されるアプリ153の識別子が格納される。例えば図4によれば、「VM1」は「アプリ1」を実行し、「VM2」は「アプリ2」を実行することが示される。VM411及びアプリ412の情報は、DR管理プログラム460がプライマリサイト100側から対応する情報を取得して、VMアプリ管理情報410に予め登録される。
【0054】
DR方法413には、VM152をDRする際のDR方法が格納される。DR方法413の情報は、クラウド管理ノード300(DR管理プログラム460)がアプリ重要度管理情報420及び重要度DR管理情報430を参照して、アプリ153の重要度に応じたDR方法を決定し、その決定結果が登録される。具体的には本例の場合、DR管理プログラム460は、重要度が「高い」アプリ153を実行するVM152はマルチサイト方式によってDR環境を構築するとし、重要度が「低い」アプリ153を実行するVM152はパイロットライト方式によってDR環境を構築するように決定する。すなわち、「アプリ2」を実行する「VM2」のDR方法413には「マルチサイト」方式が登録され、アプリ1」を実行する「VM1」のDR方法413には「パイロットライト」方式が登録される。このようなDR方法の決定は、顧客が要望するサービスに適合するものである。
【0055】
転送先414には、DR先(厳密には、転送データの格納先)のストレージの機種情報が格納される。具体的には例えば、「VM1」は重要度が低い「アプリ1」を実行することから、DRの転送先ストレージ機種も性能重視ではない。そこで図4の場合、「VM1」に対応する転送先414には、性能重視ではないが、コストパフォーマンスに優れ、容量に上限がないストレージサービスとして「S3」が登録されている。一方、「VM2」は重要度が高い「アプリ2」を実行することから、「VM2」に対応する転送先414には、高性能なストレージサービスとして「EBS」が登録されている。なお、転送先414に格納されるストレージの機種情報は、装置名に限定される必要はなく、他にも例えば、ハイエンドやミッドレンジ等のストレージクラスを示す識別子等でもよい。転送先414の情報は、DR管理プログラム460が後述するデータ転送先決定処理(図8参照)を実行することによって、決定及び登録される。
【0056】
圧縮方法415には、VM152が使用するデータをストレージデバイスに格納する際の圧縮アルゴリズムの種類が格納される。情報処理システム1では、データの圧縮または伸長に関して特徴が異なる複数種類の圧縮アルゴリズム(圧縮方法)が用意されており、それらのうち、図4に示した「アルゴリズム1」はデータの圧縮率が高い圧縮アルゴリズムであり、「アルゴリズム2」は圧縮データの伸長速度が速い(伸長時間が短い、と読み替えても良い)圧縮アルゴリズムであるとする。圧縮方法415の情報は、DR管理プログラム460がプライマリサイト100側から対応する情報を取得し、後述する転送データ圧縮方法決定処理(図9参照)を実行することによって、決定及び登録される。具体的には図4の場合、「VM1」に対応する圧縮方法415に「アルゴリズム1」が登録されており、「VM2」に対応する圧縮方法415に「アルゴリズム2」が登録されている。この場合、「VM1」で使用するデータは、「アルゴリズム1」を使ったデータ圧縮が実施された上でオンプレミスストレージ130に格納され、「VM2」で使用するデータは、「アルゴリズム2」を使ったデータ圧縮が実施された上でオンプレミスストレージ130に格納されることを意味する。
【0057】
転送方法416には、プライマリサイト100からセカンダリサイト200へのデータ転送において実施されるデータ転送方法が格納される。転送方法416に格納されるデータ転送方法としては、例えば図4に示したように、データを同期してコピーする「同期コピー」、データを非同期でコピーする「非同期コピー」が挙げられるが、その他のデータ転送方法が選択されてもよい。転送方法416の情報は、DR管理プログラム460が後述するデータ転送先決定処理(図8参照)を実行することによって、決定及び登録される。
【0058】
ネットワーク417には、プライマリサイト100からセカンダリサイト200へのデータ転送の経路(ネットワーク)について、使用する回線の種類や帯域等によるネットワーク種類を示す情報が格納される。図4に示した「低速」は、安価で通信速度が遅いネットワーク帯域を使用することを意味し、「高速」は、高価で通信速度が速いネットワーク帯域を使用することを意味する。ネットワーク417の情報は、DR管理プログラム460が後述するデータ転送ネットワーク決定処理(図10参照)を実行することによって、決定及び登録される。
【0059】
図5は、アプリ重要度管理情報420の一例を示す図である。アプリ重要度管理情報420は、VM152上で実行されるアプリ153の重要度を示す情報を含む。図5に例示したアプリ重要度管理情報420は、アプリ421及び重要度422の項目を有して構成される。
【0060】
アプリ421には、VM152上で実行されるアプリ153を特定する識別子が格納され、重要度422には、当該アプリについて、前述したようにアプリケーションの性能重視性等から予め設定される「重要度」が格納される。アプリの「重要度」は、ユーザが指定して登録するとしてもよいし、計算機側で過去の情報を分析して自動的に設定する等としてもよい。図5の場合、「アプリ1」は重要度が「低い」アプリであり、「アプリ2」は重要度が「高い」アプリであることが登録されている。なお、重要度422に格納される値は、「重要度」を特定可能な識別子や数値等であってもよい。また、重要度の段階数は2以上であればいくつでもよい。また、アプリの「重要度」は、予め設定されているとしたが、ユーザによる指定やプログラムによる分析等を受けて、システムの運用途中で変更可能としてもよい。
【0061】
図6は、重要度DR管理情報430の一例を示す図である。重要度DR管理情報430は、アプリ重要度管理情報420の重要度422に登録されたアプリの重要度に対応するDR方法の情報を含む。図6に例示した重要度DR管理情報430は、重要度431及びDR方法432の項目を有して構成される。
【0062】
重要度431には、アプリケーションの性能重視性等から予め設定されるアプリの重要度が格納され、これは、アプリ重要度管理情報420に登録される重要度422と対応する。DR方法432には、アプリの重要度に対応するDR方法が格納される。重要度DR管理情報430の各情報は、ユーザによって予め登録されるとする。例えば図6の重要度DR管理情報430では、重要度が低いアプリをDRする場合にはパイロットライト方式によるDR環境を構築し、重要度が高いアプリをDRする場合にはマルチサイト方式によるDR環境を構築する、ことが設定される。
【0063】
図7は、DR管理情報440の一例を示す図である。DR管理情報440は、DR環境において対応するペアの関係(DR関係)を示す情報を含む。図7に例示したDR管理情報440は、プライマリ441及びセカンダリ442の項目を有して構成される。
【0064】
プライマリ441には、DRのプライマリ側の各構成(プライマリサイト100やVM152等)を示す識別子が格納され、セカンダリ442には、プライマリ441に対応するかたちで、DRのセカンダリ側の各構成(セカンダリサイト200やVM252等)を示す識別子が格納される。
【0065】
(2)処理
以下では、上述した構成を用いて、本実施形態に係る情報処理システム1においてDR環境構築のために実行される各種処理について詳しく説明する。
【0066】
(2-1)データ転送先決定処理
図8は、データ転送先決定処理の処理手順例を示すフローチャートである。データ転送先決定処理は、プライマリサイト100からセカンダリサイト200へのデータ転送におけるデータ転送先ストレージ及びデータ転送方法を決定する処理であって、クラウド管理ノード300のDR管理プログラム460によってVM152ごとに実行される。
【0067】
図8によればまず、DR管理プログラム460は、VMアプリ管理情報410とアプリ重要度管理情報420とを参照し、処理対象のVM152が実行するアプリ153の重要度を求める(ステップS101)。
【0068】
次に、DR管理プログラム460は、ステップS101で求めたアプリの重要度を参照して、重要度に対する所定の判定基準を満たしているかを確認し(ステップS102)、その判定結果に応じて、DR先であるクラウドサービス(セカンダリサイト200)内のストレージリソースのうちから、データ転送先のストレージリソースのクラス(もしくは、クラウドサービスに指定できるストレージの機種等でもよい)を決定する。図8に示した処理例では、ステップS101で求めたアプリの重要度が「高い」場合(ステップS102のYES)、ステップS103に進み、ステップS101で求めたアプリの重要度が「低い」場合(ステップS102のNO)、ステップS105に進む。
【0069】
ステップS102からステップS103に進んだ場合、DR管理プログラム460は、クラウド内のハイエンドのストレージ装置を、処理対象のVM152が使用するデータのデータ転送先に決定し、決定内容をVMアプリ管理情報410の転送先414に登録する。具体例で説明すると、重要度が高いアプリ2を実行するVM2が使用するデータのデータ転送先として第1のストレージ装置221が決定され、VM2(アプリ2)に対応する転送先414に、第1のストレージ装置221の機種情報である「EBS」が登録される。
【0070】
さらに、次のステップS104において、DR管理プログラム460は、データ転送方法を決定し、決定内容をVMアプリ管理情報410の転送方法416に登録する。ステップS103においてハイエンドのストレージ装置(第1のストレージ装置221)がデータ転送先とされたことからも分かるように、重要度が高いアプリ2のデータは、重要なデータであり、RPO(Recovery Point Objective)も重視される。したがって、ステップS104においてDR管理プログラム460は、VM2が使用するデータのプライマリサイト100からセカンダリサイト200へのデータ転送方法として、同期コピーによるデータ転送方法を選択し、VM2(アプリ2)に対応する転送方法416に「同期コピー」を登録する。
【0071】
一方、ステップS102からステップS105に進んだ場合、DR管理プログラム460は、クラウド内の低コストのストレージ装置を、処理対象のVM152が使用するデータのデータ転送先に決定し、決定内容をVMアプリ管理情報410の転送先414に登録する。具体例で説明すると、重要度が低いアプリ1を実行するVM1が使用するデータのデータ転送先として第2のストレージ装置222が決定され、VM1(アプリ1)に対応する転送先414に、第2のストレージ装置222の機種情報である「S3」が登録される。
【0072】
さらに、次のステップS106において、DR管理プログラム460は、データ転送方法を決定し、決定内容をVMアプリ管理情報410の転送方法416に登録する。ステップS105において低コストのストレージ装置(第2のストレージ装置222)がデータ転送先とされたことからも分かるように、重要度が低いアプリ1のデータは、多少RTOが低下しても許容されるデータと考えられる。したがって、ステップS106においてDR管理プログラム460は、VM1が使用するデータのプライマリサイト100からセカンダリサイト200へのデータ転送方法として、非同期コピーによるデータ転送方法を選択し、VM1(アプリ1)に対応する転送方法416に「非同期コピー」を登録する。
【0073】
そしてステップS104またはステップS106が終了すると、DR管理プログラム460は、データ転送先決定処理を終了する。
【0074】
なお、データ転送先決定処理の変形例として、例えば、DR管理プログラム460は、アプリの重要度が高い場合に、ステップS104において非同期コピーのデータ転送方法を選択するようにしてもよい。また、DR管理プログラム460は、決定されたデータ転送先のストレージデバイスがオブジェクトストレージである場合は、オブジェクトストレージではデータの上書き処理ができないという性質を鑑みて、非同期コピーによるデータ転送方法を選択する。また、DR管理プログラム460は、非同期コピーによるデータ転送方法を選択する場合には、非同期コピーに属する複数のデータ転送方法のうちから何れかを選択するようにしてもよい。例えば、同期を一切とらない非同期コピーの他にも、スナップショットの差分を定期的に転送する差分コピーと呼ばれる方法がある。
【0075】
以上のように、DR管理プログラム460は、VM152上で実行されるアプリ153の重要度に基づいてデータ転送先決定処理を実行することにより、プライマリサイト100からセカンダリサイト200へのデータ転送におけるデータ転送先ストレージ及びデータ転送方法を、顧客が利用するサービス(アプリケーション)に応じて適切に決定することができる。
【0076】
(2-2)転送データ圧縮方法決定処理
図9は、転送データ圧縮方法決定処理の処理手順例を示すフローチャートである。転送データ圧縮方法決定処理は、プライマリサイト100からセカンダリサイト200に転送するデータの圧縮方法を決定する処理であって、クラウド管理ノード300のDR管理プログラム460によってVM152ごとに実行される。
【0077】
本実施形態に係る情報処理システム1は、プライマリサイト100のオンプレミスストレージ130に格納されたデータを所定の圧縮方法(圧縮アルゴリズム)によって圧縮し、圧縮したままセカンダリサイト200に転送することにより、データ転送時間を削減し、転送コストを削減することができる。また、DR先(セカンダリサイト200)に転送された圧縮データは、必要になったとき(例えば、パイロットライト方式であれば障害発生に対するフェイルオーバ起動の際)に伸長されることから、クラウドにおけるDRコストを削減することができる。
【0078】
図9によればまず、DR管理プログラム460は、図8のステップS101と同様に、VMアプリ管理情報410とアプリ重要度管理情報420とを参照し、処理対象のVM152が実行するアプリ153の重要度を求める(ステップS201)。
【0079】
次に、DR管理プログラム460は、ステップS201で求めたアプリの重要度を参照して、重要度に対する所定の判定基準を満たしているかを確認し(ステップS202)、その判定結果に応じて、転送データの圧縮方法を決定する。図9に示した処理例では、ステップS201で求めたアプリの重要度が「高い」場合(ステップS202のYES)、ステップS203に進み、ステップS201で求めたアプリの重要度が「低い」場合(ステップS202のNO)、ステップS204に進む。
【0080】
ステップS202からステップS203に進んだ場合、DR管理プログラム460は、予め用意された複数種類の圧縮アルゴリズムのうちから、伸長速度が速い(伸長時間が短い)圧縮アルゴリズムを、転送データの圧縮方法に決定し、その決定内容をVMアプリ管理情報410の圧縮方法415に登録する。前述したように、重要度が高いアプリ2を実行するVM2に対してはマルチサイト方式でDR環境が構築されることから、DR先へのデータ転送を短時間で行うことが重要である。すなわち、重要度が高いアプリ2のデータは、データの圧縮率の高さよりも、圧縮データの伸長速度の速さ(伸長時間の短さ)が重視される。そこでステップS203においてDR管理プログラム460は、圧縮率は高くなくても伸長速度が速い「アルゴリズム2」を、アプリ2(VM2)のデータの圧縮方法として決定し、VM2(アプリ2)に対応する圧縮方法415に「アルゴリズム2」を登録する。
【0081】
一方、ステップS202からステップS204に進んだ場合、DR管理プログラム460は、予め用意された複数種類の圧縮アルゴリズムのうちから、圧縮率が高い圧縮アルゴリズムを、転送データに使用する圧縮方法に決定し、その決定内容をVMアプリ管理情報410の圧縮方法415に登録する。前述したように、重要度が低いアプリ1を実行するVM1ではパイロットサイト方式でDR環境が構築されることから、DR先のリソース使用量を抑制することが重要である。すなわち、重要度が低いアプリ1のデータは、圧縮データの伸長速度の速さ(伸長時間の短さ)よりも、データの圧縮率の高さが重視される。そこでステップS204においてDR管理プログラム460は、圧縮データの伸長は速くなくても圧縮率が高い「アルゴリズム1」を、アプリ1(VM1)のデータの圧縮方法として決定し、VM1(アプリ1)に対応する圧縮方法415に「アルゴリズム1」を登録する。
【0082】
そしてステップS203またはステップS204が終了すると、DR管理プログラム460は、転送データ圧縮方法決定処理を終了する。
【0083】
なお、上述した転送データ圧縮方法決定処理ではVM152ごとに圧縮アルゴリズムを決定するとしたが、変形例として、DR管理プログラム460は、1ボリュームごと、もしくは1ボリューム内のデータ領域ごとに、圧縮アルゴリズムを決定するようにしてもよい。
【0084】
(2-3)データ転送ネットワーク決定処理
図10は、データ転送ネットワーク決定処理の処理手順例を示すフローチャートである。データ転送ネットワーク決定処理は、プライマリサイト100とセカンダリサイト200との間でデータを転送する際に使用されるネットワーク種類を決定する処理であって、クラウド管理ノード300のDR管理プログラム460によってVM152ごとに実行される。
【0085】
図10によればまず、DR管理プログラム460は、図8のステップS101や図9のステップS201と同様に、VMアプリ管理情報410とアプリ重要度管理情報420とを参照し、処理対象のVM152が実行するアプリ153の重要度を求める(ステップS301)。
【0086】
次に、DR管理プログラム460は、ステップS301で求めたアプリの重要度を参照して、重要度に対する所定の判定基準を満たしているかを確認し(ステップS302)、その判定結果に応じて、処理対象のVM152のデータ転送において使用するネットワーク種類を決定する。図10に示した処理例では、ステップS301で求めたアプリの重要度が「高い」場合(ステップS302のYES)、ステップS303に進み、ステップS301で求めたアプリの重要度が「低い」場合(ステップS302のNO)、ステップS304に進む。
【0087】
ステップS302からステップS303に進んだ場合、DR管理プログラム460は、高速で高価なネットワーク帯域を処理対象のVM152が使用するデータのデータ転送に用いるネットワーク種類に決定し、決定内容を示す情報をVMアプリ管理情報410のネットワーク417に登録する。具体例で説明すると、重要度が高いアプリ2のデータはRTOを重視することから、ステップS303においてDR管理プログラム460は、高速(高価)なネットワークの帯域を使用してプライマリサイト100からセカンダリサイト200にデータを転送することを決定し、当該決定したネットワーク種類を示す情報として、VM2(アプリ2)に対応するネットワーク417に「高速」を登録する。高速なネットワークの具体例としては、AWS Direct Connectが挙げられる。
【0088】
一方、ステップS302からステップS304に進んだ場合、DR管理プログラム460は、低速で安価なネットワーク帯域を処理対象のVM152が使用するデータのデータ転送に用いるネットワーク種類に決定し、決定内容を示す情報をVMアプリ管理情報410のネットワーク417に登録する。具体例で説明すると、重要度が低いアプリ1のデータはRTOよりもコストを重視することから、ステップS304においてDR管理プログラム460は、安価(低速)なネットワークの帯域を使用してプライマリサイト100からセカンダリサイト200にデータを転送することを決定し、当該決定したネットワーク種類を示す情報として、VM1(アプリ1)に対応するネットワーク417に「低速」を登録する。低速なネットワークの具体例としては、インターネットなどが挙げられる。
【0089】
以上、データ転送先及びデータ転送方法を決定するデータ転送先決定処理(図8)、転送データの圧縮方法を決定する転送データ圧縮方法決定処理(図9)、及びデータ転送で使用するネットワーク種類を決定するデータ転送ネットワーク決定処理(図10)について説明したが、本実施形態に係る情報処理システム1においてこれらの各決定処理は必ずしも全てが実行される必要はなく、選択的に一部の決定処理が実行されるとしてもよいし、複数の決定処理が組み合わせて実行されるとしてもよい。なお、上記の各決定処理のうちで実行されない決定処理が存在する場合でも、当該決定処理の代替手段(ユーザ指示や初期値の設定など)により、VMアプリ管理情報410には、VMごとに各データ項目の情報が登録されるとする。
【0090】
(2-4)データ転送処理
図11は、データ転送処理の処理手順例を示すフローチャートである。データ転送処理は、図9に示した転送データ圧縮方法決定処理で決定された圧縮アルゴリズム(圧縮方法)を用いてデータ転送を行う処理であって、クラウド管理ノード300のDR管理プログラム460及びプライマリサイト100のコピー機能126等によって実行される。
【0091】
図11によればまず、DR管理プログラム460が、DR先にデータ転送する際にVMアプリ管理情報410の圧縮方法415に登録された圧縮アルゴリズムでデータを圧縮するよう、プライマリサイト100に指示する(ステップS401)。これはクラウド管理ノード300からストレージ管理装置を介して指示されてもよい。
【0092】
次に、ストレージコントローラ120内のコピー機能126が、セカンダリサイトへ転送するデータのコピーを作成する(ステップS402)。
【0093】
次に、ストレージコントローラ120内の圧縮機能が、指定された圧縮アルゴリズムを使用して、ステップS402でコピー機能126がコピーしたデータに対して圧縮処理を行う(ステップS403)。圧縮機能はプロセッサ111が所定のプログラムを実行することによって実現される機能であり、図1及び図2には図示していないが、例えばコピー機能126がこの機能を行うとしてもよい。
【0094】
次に、ストレージコントローラ120内のコピー機能126が、ステップS403の圧縮処理が終わった圧縮データを、セカンダリサイト200へ転送する(ステップS404)。データ転送はVMアプリ管理情報410の登録情報に従って行われる。
【0095】
そして、セカンダリサイト200において、例えばクラウドサービス管理230が、ステップS404で転送された圧縮データを、セカンダリサイト200内のDR環境の対応するストレージシステム内に格納し(ステップS405)、データ転送処理を終了する。DR環境の対応するストレージシステムは、VMアプリ管理情報410の転送先414で指定される。また、セカンダリサイト200では、転送された圧縮データが圧縮されたまま格納され、必要になったときに伸長されることから、クラウドにおけるDRコストを削減することができる。
【0096】
なお、VMアプリ管理情報410の圧縮方法415で指定される圧縮アルゴリズムは、予めストレージコントローラ120内のメモリに用意されていてもよいし、指示を受けたときにプライマリサイト100の外部からダウンロードする等してストレージコントローラ120内に格納される等であってもよい。また、圧縮機能は、ストレージコントローラ120内に備えられることに限定されず、プライマリサイト100内の別の構成に備えられていてもよい。また、圧縮機能によって実行される圧縮処理は、データ転送中のバックグラウンドで実行するようにしてもよく、このようにする場合、圧縮処理を実行しながら、圧縮したデータを随時転送できるため、データ転送時間の所要時間を短縮することができる。
【0097】
(2-5)ディザスタリカバリ処理
情報処理システム1では、プライマリサイト100において障害が検出されると、ディザスタリカバリ(DR)処理が実行されて、セカンダリサイト200へのフェイルオーバが行われる。具体的には、DR管理プログラム460が、フェイルオーバを起動し、セカンダリサイト200側に切り替える処理を指示する。ここで、DR方法がマルチサイト方式である場合は、セカンダリサイト200において常にプライマリサイト100と同じシステムが稼働されている(DR環境が構築されている)ため、容易に本番環境の切り替えが可能である。一方、DR方法がパイロットライト方式である場合は、平常時のセカンダリサイト200では最小限の部分だけがスタンバイしているため、リソースの割り当てをしていないところのリソースの割り当てとVMの起動とを行って、DR環境を構築する。このようなDR環境の構築には、既知のパイロットライト方式のDR環境構築方法を利用でき、図12に処理手順例を説明する。
【0098】
図12は、パイロットライト方式におけるディザスタリカバリ処理の処理手順例を示すフローチャートである。図12には、プライマリサイト100において障害が検出されたときに情報処理システム1で実行されるディザスタリカバリ(DR)処理のうち、DR方法がパイロットライト方式である場合のDR方法について、処理手順例が示されている。なお、本例において、プライマリサイト100からセカンダリサイト200への転送データが圧縮データである場合には、圧縮データはオブジェクトストレージである第2のストレージ装置222に格納されているとする。
【0099】
図12によればまず、DR管理プログラム460が、フェイルオーバを起動し、セカンダリサイト200側に切り替える処理の実行を、セカンダリサイト200に指示する(ステップS501)。
【0100】
次に、セカンダリサイト200側では、クラウドサービス管理230が、プライマリサイト100からセカンダリサイト200への転送データが圧縮データであるか否かを判定する(ステップS502)。具体的には、VMアプリ管理情報410の圧縮方法415を参照することによって、ステップS502の判定が可能である。転送データが圧縮データである場合は(ステップS502のYES)、ステップS503に進む。一方、転送データが圧縮データではない場合は(ステップS502のNO)、DR処理を終了する。
【0101】
ステップS503以降の処理を説明する。セカンダリサイト200側では、VM152のDR方法がパイロットライト方式であることから、DR先のVM252からアクセス可能なデータにするために、データ転送の際に圧縮されたデータを伸長し変換する必要がある。
【0102】
さらに、例えば、重要度の低いアプリ1を実行するVM1が使用するデータは、安価なストレージ(本例では第2のストレージ装置222)内に格納するケースが多い。しかし、第2のストレージ装置222はオブジェクトストレージのため、VM252が直接データにアクセスして使用することができない。VM252がアクセス可能なストレージデバイスは、第1のストレージ装置221のようなブロックストレージやファイルストレージである。このため、オブジェクトストレージである第2のストレージ装置222からブロックストレージである第1のストレージ装置221にデータを移動して格納する処理が必要となる。
【0103】
そこでまず、クラウドサービス管理230は、オブジェクトストレージである第2のストレージ装置222に格納された圧縮データの伸長処理を指示し、第2のストレージ装置222は伸長処理を行い(ステップS503)、次に、ブロックストレージである第1のストレージ装置221に、VM1に提供するボリュームを生成し、ステップS503で伸長した後のデータをそのボリュームに格納する(ステップS504)。
【0104】
そして、クラウドサービス管理230は、ステップS504で伸長後のデータを格納したボリュームをVM1にアタッチし(ステップS505)、DR処理を終了する。ステップS505の処理によって、VM1(VM252)はブロックストレージ内のボリュームのデータにアクセスできるようになる。
【0105】
なお、ステップS503~S505の処理は、パイロット方式におけるDR処理に限定されるものではなく、データ転送によってプライマリサイト100のバックアップ用データ(VM152が使用するデータを複製して圧縮したデータ)を格納するセカンダリサイト200のストレージシステム220がオブジェクトストレージであった場合に広く適用することができる。
【0106】
また、上記はフェイルオーバ時の処理手順の一例であり、他にも例えば、ステップS503では第2のストレージ装置222内に格納された圧縮データを伸長処理するとしたところを、第1のストレージ装置221内のストレージコントローラ部もしくは回路等のハードウェア、またはセカンダリサイト200内のクラウドにある他のノードやアプライアンスによって圧縮データの伸長処理が行われるとしてもよい。すなわち、圧縮データの伸長処理を行う箇所は、第2のストレージ装置222内に限定されるものではなく、第1のストレージ装置221内であってもよいし、これら以外の場所であってもよい。
【0107】
以上に説明したように、本実施形態に係る情報処理システム1によれば、アプリ153を利用する顧客が要望するサービスに適合するDR方法(パイロットライト方式やマルチサイト方式)で、アプリ153の重要度に基づいて、DR先へのデータ転送に関する各種設定をVM152ごとに決定することにより、顧客が利用するサービス(アプリケーション)に適合するディザスタリカバリ構成を提供することができる。さらに情報処理システム1は、DR先へのデータ転送を、アプリ153の重要度に基づいて決定された圧縮方法(圧縮アルゴリズム)による圧縮データで実行し、DR先で必要となるときまで圧縮データのままDR先に格納することで、クラウド環境であるDR先(セカンダリサイト200)におけるコスト増加を抑制できるため、ディザスタリカバリシステム全体のコストを削減することができる。
【0108】
(3)他の実施形態
本発明は、上述した実施形態に限定されるものではなく、様々な変形例が含まれる。そこで以下では、本発明の他のいくつかの実施形態(変形例)について説明する。なお、以下に説明する変形例において説明しない情報処理システム1の構成や処理は、上述した実施形態と同様であると考えてよい。
【0109】
(3-1)第1の変形例
情報処理システム1は、図9に示した転送データ圧縮方法決定処理とは別の処理手順により、フェイルオーバを開始してからDR環境を構築してDR先のVM252が起動できるようになるまでに要する時間(DR環境構築時間)の見積もりに基づいて、転送データの圧縮方法(圧縮アルゴリズム)を決定するようにしてもよい。
【0110】
図13は、転送データ圧縮方法決定処理の別の処理手順例を示すフローチャートである。図13に示す転送データ圧縮方法決定処理は、図9に示した転送データ圧縮方法決定処理と同様に、クラウド管理ノード300のDR管理プログラム460によってVM152ごとに実行される。
【0111】
図13によればまず、DR管理プログラム460は、圧縮データの単位データサイズあたりの伸長処理時間を見積もる(ステップS601)。さらに、DR管理プログラム460は、インスタンスを生成するために要する単位リソースあたりのインスタンス生成時間を見積もる(ステップS602)。インスタンス生成時間には、リソースの確保及びVM252の起動に要する時間が含まれる。
【0112】
次に、DR管理プログラム460は、DR環境構築のために確保する必要があるリソース数と、ステップS602で見積もったインスタンス生成時間とに基づいて、フェイルオーバを開始してからDR環境を構築してDR先のVM252が起動できるようになるまでに要するDR環境構築時間を見積もる(ステップS603)。
【0113】
ステップS601~S603の見積もりを行った後、DR管理プログラム460は、予め用意された複数種類の圧縮アルゴリズムのうちから、ステップS603で見積もったDR環境構築時間内に「圧縮データの伸長処理時間」が収まる程度のデータ量に圧縮可能な圧縮アルゴリズムを選択し、この圧縮アルゴリズムを処理対象のVM152のデータの圧縮方法として、VMアプリ管理情報410の当該VMに対応する圧縮方法415に登録する(ステップS604)。なお、「圧縮データの伸長処理時間」は、圧縮アルゴリズムによるデータの圧縮率、ステップS601で見積もった単位データサイズあたりの伸長処理時間、及びステップS603で用いたDR環境構築のために確保する必要があるリソース数、に基づいて算出できる。
【0114】
以上のように決定された圧縮方法によって転送データが圧縮されることにより、情報処理システム1では、DR環境の構築に伴う処理のバックグラウンドで圧縮データの伸長を行うと、DR環境構築が完了するまでに圧縮データの伸長処理を終了できると予測されることから、起動後のVM252が遅延なくデータにアクセスできるようになり、フェイルオーバに要する時間を短縮する効果に期待できる。
【0115】
なお、転送データ圧縮方法決定処理のさらなる変形例として、これまではVM単位で圧縮アルゴリズムを決定していたが、1ボリュームごと、もしくは1ボリューム内のデータ領域ごとに、圧縮アルゴリズムを決定するようにしてもよい。これは、フェイルオーバ時に、パイロットライト方式によるDR環境構築のためのリソース確保及びVM起動時間内にオブジェクトストレージ(第2のストレージ装置222)に格納された圧縮データの伸長処理が終わるようにするためである。このように対象を細分化して圧縮アルゴリズムを決定することにより、DR環境構築が完了する際に、データの伸長処理も隔日に完了させることができ、業務復旧時間の遅延を防止する効果が得られる。
【0116】
(3-2)第2の変形例
情報処理システム1は、転送データの格納先のストレージを選択するバリエーションとして、図8に示したデータ転送先決定処理の処理手順に代えて、フェイルオーバ時のVM252の起動時間に基づいて、転送データの格納先のストレージをオブジェクトストレージまたはブロックストレージ(ファイルストレージ等でもよい)から選択するようにしてもよい。
【0117】
前述したようにオブジェクトストレージ(第2のストレージ装置222)に格納された圧縮データは、伸長後もそのままではVM252からはアクセスできないため、ブロックストレージ等(第1のストレージ装置221)に移す必要があり、圧縮された転送データがブロックストレージ等に格納される場合に比べて、一連の処理の所要時間が長くなる。このため、VM252の起動時間が長い場合は問題にはならないが、起動時間が短い場合には、フェイルオーバ時に、VM252が起動した後にデータにアクセスできるまでに遅延が発生する可能性がある。
【0118】
本変形例は、このような点を考慮したものであり、フェイルオーバ時に起動終了するとすぐに(あるいは起動終了後の短い待機時間の後に)VM252が伸長後のデータにアクセスできるよう、フェイルオーバ時のVM252の起動時間に基づいて、転送データの格納先のストレージを決定するものである。
【0119】
また、情報処理システム1が提供するストレージサービスを利用する顧客においては、業務の運用形態の変更等により、利用するアプリ153の重要度が変わることがある。このようにアプリの重要度に変更が発生した場合、情報処理システム1は、図8図10等に示した各種処理を実行し直すことにより、アプリの重要度に基づいて決定される各種の対応情報(具体的には、VMアプリ管理情報410の転送先414、圧縮方法415、転送方法416、ネットワーク417等)を更新するようにしてよい。
【0120】
(3-3)第3の変形例
また、これまでの実施形態では、アプリの重要度がユーザ(顧客)の指示またはクラウド管理ノード300による分析等によって予め決定されるとしたが、VMごとに異なるレベルのDR方法をユーザが設定したDR環境では、DR管理プログラム460が、DR方法からVM上で実行するアプリの重要度を決定するようにしてもよい。DR方法に基づいてアプリの重要度を決定するためには、例えば、パイロットライト方式の場合はアプリの重要度が「低い」とし、マルチサイト方式の場合はアプリの重要度が「高い」とする等、DR方法ごとに対応するアプリの重要度を定めておけばよい。その後、情報処理システム1(DR管理プログラム460)は、決定したアプリの重要度を利用して、前述した実施形態と同様に、プライマリサイト100とセカンダリサイト200との間のデータ転送先のストレージクラスやデータ格納時の圧縮方法を決定することができる。
【0121】
以上のように、情報処理システム1は、前述した実施形態や第1及び第2の変形例のように予め設定されるアプリの重要度に基づいてDR方法を決定するか、第3の変形例のように予め設定されるDR方法に基づいてアプリの重要度を決定し、これらの決定事項に基づいてDR先へのデータ転送の各種設定(転送先ストレージ、圧縮方法、データ転送方法、データ転送時に使用するネットワーク種類)を決定することにより、ユーザ(顧客)が利用するサービスに適合するDR構成を提供しつつ、DR構成の構築に伴う全体的なコストを低減することができる。
【符号の説明】
【0122】
1 情報処理システム
10 ネットワーク
100 プライマリサイト
110,210 サーバシステム
111,121,211,301 プロセッサ
112,122,212,302 メモリ
113,124,303 ネットワークインターフェース(I/F)
120 ストレージコントローラ
123 ストレージインターフェース(I/F)
125 ストレージ制御プログラム
126 コピー機能
130 オンプレミスストレージ
140 プール
151,251 サーバ(サーバ群)
152,252 VM
153,253 アプリ
200 セカンダリサイト
220 ストレージシステム
221 第1のストレージ装置
222 第2のストレージ装置
230 クラウドサービス管理
300 クラウド管理ノード
410 VMアプリ管理情報
420 アプリ重要度管理情報
430 重要度DR管理情報
440 DR管理情報
460 DR管理プログラム
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13