(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025015204
(43)【公開日】2025-01-30
(54)【発明の名称】ストレージシステム及びストレージシステムのバックアップ方法
(51)【国際特許分類】
G06F 3/06 20060101AFI20250123BHJP
G06F 13/10 20060101ALI20250123BHJP
【FI】
G06F3/06 304F
G06F13/10 340A
【審査請求】有
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023118459
(22)【出願日】2023-07-20
(71)【出願人】
【識別番号】524132520
【氏名又は名称】日立ヴァンタラ株式会社
(74)【代理人】
【識別番号】110002365
【氏名又は名称】弁理士法人サンネクスト国際特許事務所
(72)【発明者】
【氏名】▲高▼田 昌忠
(72)【発明者】
【氏名】早坂 光雄
(57)【要約】 (修正有)
【課題】ネットワークの負荷の影響を受けず、ストレージシステムのデータについて確実に定期的なバックアップを行うストレージシステム及びストレージシステムのバックアップ方法を提供する。
【解決手段】クラウドストレージシステム1において、スケジューラ(スナップショットスケジューラ312)は、ストレージ管理サーバ200から、ストレージシステム30のデータについて少なくともバックアップ頻度を含む定期的なバックアップの設定を受け付けると、定期的なバックアップのための時刻を含むスケジュールを設定し、バックアップ部(スナップショットプログラム313)は、スケジューラによって設定されたスケジュールの時刻に従って、定期的にバックアップデータを作成し、データ転送部(データ転送プログラム413)は、スケジューラが設定したスケジュールの時刻に従って作成したバックアップデータをクラウドストレージ装置に対して転送する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
プロセッサと記憶装置とを有し、バックアップの対象となるデータを保有するストレージシステムにおいて、
ストレージ管理サーバと、前記バックアップによるバックアップデータを格納可能なクラウドストレージ装置と、にネットワークを経由して接続されており、
前記ストレージ管理サーバから、前記ストレージシステムのデータについて少なくともバックアップ頻度を含む定期的なバックアップの設定を受け付けると、前記定期的なバックアップのための時刻を含むスケジュールを設定するスケジューラと、
前記スケジューラによって設定された前記スケジュールの時刻に従って、定期的にバックアップデータを作成するバックアップ部と、
前記スケジューラによって設定された前記スケジュールの時刻に従って、前記作成されたバックアップデータを前記クラウドストレージ装置に対して転送するデータ転送部と、
を備えることを特徴とするストレージシステム。
【請求項2】
前記バックアップ部は、前記バックアップデータとして、スナップショットプログラムによって、前記ストレージシステムのデータについてスナップショットを取得する
ことを特徴とする請求項1に記載のストレージシステム。
【請求項3】
プロセッサを有するネットワークインタフェースを有し、
前記バックアップ部は、前記ストレージシステムのプロセッサ上で稼働しており、
前記データ転送部は、前記ネットワークインタフェースのプロセッサ上で稼働している
ことを特徴とする請求項1に記載のストレージシステム。
【請求項4】
前記スケジューラは、
前記ストレージシステムのプロセッサ上で稼働し、スナップショットプログラムの実行スケジュールの時刻に基づき前記バックアップ部に指示するスナップショットスケジューラと、
前記ネットワークインタフェースのプロセッサ上で稼働し、前記データ転送部による前記バックアップデータの転送スケジュールの時刻に基づき前記データ転送部に指示を設定するデータ転送スケジューラと、
を含むことを特徴とする請求項3に記載のストレージシステム。
【請求項5】
前記スケジューラは、
前記ストレージシステムのプロセッサ上で稼働し、スナップショットプログラムの実行スケジュールの時刻に基づき前記バックアップ部に指示するとともに、前記データ転送部による前記バックアップデータの転送スケジュールの時刻に基づき前記データ転送部に指示する
ことを特徴とする請求項3に記載のストレージシステム。
【請求項6】
前記バックアップ部と前記データ転送部との間で前記バックアップデータの状態を共有するための情報共有テーブルを備える
ことを特徴とする請求項1に記載のストレージシステム。
【請求項7】
前記スケジューラは、前記ネットワークインタフェースに設けられている
ことを特徴とする請求項3に記載のストレージシステム。
【請求項8】
プロセッサと記憶装置とを有し、バックアップの対象となるデータを保有するストレージシステムのバックアップ方法において、
前記ストレージシステムは、ストレージ管理サーバと、前記バックアップによるバックアップデータを格納可能なクラウドストレージ装置と、にネットワークを経由して接続されており、
スケジューラが、前記ストレージ管理サーバから、前記ストレージシステムのデータについて少なくともバックアップ頻度を含む定期的なバックアップの設定を受け付けると、前記定期的なバックアップのための時刻を含むスケジュールを設定するスケジュール設定ステップと、
バックアップ部が、前記スケジューラによって設定された前記スケジュールの時刻に従って、定期的にバックアップデータを作成するバックアップステップと、
データ転送部が、前記スケジューラによって設定された前記スケジュールの時刻に従って、前記作成されたバックアップデータを前記クラウドストレージ装置に対して転送するデータ転送ステップと、
を有することを特徴とするストレージシステムのバックアップ方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はストレージシステム及びストレージシステムのバックアップ方法に関し、例えば、ストレージシステムのデータについて定期的なバックアップを実行可能なストレージシステムに適用して好適なものである。
【背景技術】
【0002】
近年、ストレージ市場において、顧客が所有するオンプレミスのストレージシステムと、クラウドシステム上のクラウドストレージサービスとを連携して利用する、いわゆるハイブリッドクラウドストレージシステムの利用が増えてきている。
【0003】
クラウドシステムにおいては、オンプレミスのストレージシステムを管理するストレージ管理サーバによってストレージ管理サービスが提供されている。このストレージ管理サービスは、ストレージシステムの設定や監視、バックアップやスナップショットの運用を行っている。
【0004】
ストレージシステムのバックアップ技術として、特許文献1に開示されたバックアップ方式が存在している。特許文献1は、ストレージシステムのデータをクラウドストレージサービスにバックアップする方式を開示している。特許文献1に開示されたバックアップ方式では、クラウドシステム上にあるストレージ管理サービスがバックアップスケジューラを有しており、ストレージシステムは、このバックアップスケジューラからバックアップ等の指示を受け取ると、当該指示に従ってストレージシステムのデータについて定期的にバックアップを実行する。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に開示されたバックアップ方式では、クラウド上にあるストレージ管理サービスのバックアップスケジューラからのバックアップ等の指示がWAN(Wide Area Network)越しになる場合、WANのネットワーク状況によっては、当該バックアップ等の指示がオンプレミスのストレージシステムに届いたり届かなかったりと不安定となる。これは、バックアップができたりできなかったりすることを意味し、定期的なバックアップによる確実なデータ保護を実現することができなかった。
【0007】
本発明は以上の点を考慮してなされたもので、ネットワークの負荷の影響を受けることなくストレージシステムのデータについて確実に定期的なバックアップを行うことができるストレージシステム及びストレージシステムのバックアップ方法を提案しようとするものである。
【課題を解決するための手段】
【0008】
かかる課題を解決するため本発明においては、プロセッサと記憶装置とを有し、バックアップの対象となるデータを保有するストレージシステムにおいて、ストレージ管理サーバと、前記バックアップによるバックアップデータを格納可能なクラウドストレージ装置と、にネットワークを経由して接続されており、前記ストレージシステムは、前記ストレージ管理サーバから、前記ストレージシステムのデータについて少なくともバックアップ頻度を含む定期的なバックアップの設定を受け付けると、前記定期的なバックアップのための時刻を含むスケジュールを設定するスケジューラと、前記スケジューラによって設定された前記スケジュールの時刻に従って、定期的にバックアップデータを作成するバックアップ部と、前記スケジューラによって設定された前記スケジュールの時刻に従って、前記作成されたバックアップデータを前記クラウドストレージ装置に対して転送するデータ転送部と、を備えるようにした。
【0009】
また本発明においては、プロセッサと記憶装置とを有し、バックアップの対象となるデータを保有するストレージシステムのバックアップ方法において、前記ストレージシステムは、ストレージ管理サーバと、前記バックアップによるバックアップデータを格納可能なクラウドストレージ装置と、にネットワークを経由して接続されており、スケジューラが、前記ストレージ管理サーバから、前記ストレージシステムのデータについて少なくともバックアップ頻度を含む定期的なバックアップの設定を受け付けると、前記定期的なバックアップのための時刻を含むスケジュールを設定するスケジュール設定ステップと、バックアップ部が、前記スケジューラによって設定された前記スケジュールの時刻に従って、定期的にバックアップデータを作成するバックアップステップと、データ転送部が、前記スケジューラによって設定された前記スケジュールの時刻に従って、前記作成されたバックアップデータを前記クラウドストレージ装置に対して転送するデータ転送ステップと、を有するようにした。
【0010】
本発明のストレージシステム及びストレージシステムのバックアップ方法によれば、クラウドシステム上のストレージ管理サーバとストレージシステムとの間のネットワークを経由して逐一バックアップ等の指示を、ストレージシステム側が受け取る必要がないため、クラウドシステム上のストレージ管理サーバとストレージシステムとの間のネットワークの負担の影響を受けることなく、ストレージシステムのデータについて確実に定期的なバックアップを行うことができる。
【発明の効果】
【0011】
本発明によれば、ネットワークの負荷の影響を受けることなくストレージシステムのデータについて確実に定期的なバックアップを行うことができるストレージシステム及びストレージシステムのバックアップ方法を実現できる。
【図面の簡単な説明】
【0012】
【
図1】第1の実施形態によるクラウドストレージシステムの構成例を概念的に示すブロック図である。
【
図2】クラウドシステムのシステム構成例を示すブロック図である。
【
図3】ストレージ管理部のシステム構成例を示すブロック図である。
【
図4】SmartNICのシステム構成例を示すブロック図である。
【
図6】バックアップ設定画面の一例を示す図である。
【
図7】バックアップスケジュール設定処理の手順の一例を示すフローチャートである。
【
図8】クラウドバックアップ処理の手順の一例を示すフローチャートである。
【
図9】スナップショット取得処理の手順の一例を示すフローチャートである。
【
図10】データ転送処理の手順の一例を示すフローチャートである。
【
図11】第2の実施形態によるクラウドストレージシステムの構成例を概念的に示すブロック図である。
【
図12】第2の実施形態におけるバックアップスケジュール設定処理の手順の一例を示すフローチャートである。
【
図13】第2の実施形態におけるクラウドバックアップ処理の手順の一例を示すフローチャートである。
【
図14】第3の実施形態によるクラウドストレージシステムの構成例を概念的に示すブロック図である。
【
図15】第3の実施形態におけるバックアップスケジュール設定処理の手順の一例を示すフローチャートである。
【
図16】第3の実施形態によるクラウドバックアップ処理のフローチャートの一例である。
【発明を実施するための形態】
【0013】
以下図面について、本発明の一実施形態を詳述する。
【0014】
(1)第1の実施形態
図1は、第1の実施形態によるハイブリッドクラウドストレージシステム(以下、「クラウドストレージシステム」という)1の構成例を概念的に示すブロック図である。
【0015】
クラウドストレージシステム1は、端末10、クラウドシステム20、ストレージシステム30、SmartNIC40、複数のホスト50及びネットワーク60を備えている。このネットワーク60は、WAN(Wide Area Network)等のネットワークであり、ネットワークの負荷に応じて通信速度が変動しうるものである。ネットワーク60は、プロセッサと記憶装置とを有するとともにバックアップ対象となるデータを保有するストレージシステム30と、クラウドシステム20とを接続しており、さらには、SmartNIC40も接続している。図示の例において、SmartNIC40は、ストレージシステム30とは別体となっているが、ストレージシステム30と一体化された構成であっても良い。本実施形態では、SmartNIC40がストレージシステム30とは別体である形態を例示して説明する。
【0016】
端末10とクラウドシステム20は、例えば、拠点内LAN(Local Area Network)やWAN(Wide Area Network)等のネットワークで接続されている。クラウドシステム20は、ストレージ管理サーバ200及びクラウドストレージ装置210を備えている。
【0017】
ストレージ管理サーバ200は、ストレージ管理サービスプログラム200aを備え、このストレージ管理サービスプログラム200aを用いて、ストレージシステム30のデータに関するバックアップの制御等に関するストレージ管理サービスを提供する。クラウドシステム20は、クラウドストレージ装置210を用いてストレージシステム30のデータについてのバックアップによるバックアップデータを格納可能なクラウドストレージサービスを提供する。
【0018】
ストレージシステム30は、例えば、RAID(Redundant Array of Independent (or Inexpensive) Disks)によるデータ保護機能や、ストレージシステム30の内部及び外部でのデータコピー機能などを提供するディスクアレイ装置である。
【0019】
ストレージシステム30は、ストレージ管理部300と、冗長化された複数のI/O制御部380と、複数のドライブ390(390-0,390-1,・・・,390-n)を有し、ホスト50に対してブロックアクセスを提供している。ドライブ390は、SSD(Solid State Drive)、HDD(Hard Disk Drive)などの物理記憶デバイスである。ストレージシステム30とホスト50とは、FCやiSCSI等のプロトコルを用いて接続されている。
【0020】
I/O制御部380は、プロセッサ381及びメモリ382を有する。プロセッサ381は、メモリ382に格納されているプログラムに従って各種処理を実行する。メモリ382は、例えば、RAM(Random Access Memory)であり、プロセッサ381で実行されるプログラムや必要な情報を記憶する。メモリ382は、I/Oコントロールプログラム383を記憶する。
【0021】
I/O制御部380は、I/Oコントロールプログラム383によって、接続されたドライブ390の記憶領域に基づいて、1以上の論理ボリュームを構成し、当該構成した論理ボリュームをホスト50に対して提供する。I/O制御部380は、I/Oコントロールプログラム383によって、ホスト50からの読み書きI/Oに基づいて、ドライブ390への読み書きI/Oを発行してI/O処理を実行する。
【0022】
ストレージ管理部300は、ストレージシステム30の各種設定や監視を行う処理を実行する。ストレージ管理部300は、ストレージ管理プログラム310を有する。ストレージ管理プログラム310は、スナップショットスケジューラ312と、スナップショットプログラム313とを有する。
【0023】
SmartNIC40は、図示しないプロセッサを有し、データ転送スケジューラ412及びデータ転送プログラム413を有する。データ転送スケジューラ412及びデータ転送プログラム413は、SmartNIC40のプロセッサ上で稼働する。
【0024】
クラウドストレージシステム1におけるバックアップの概要を説明すると、クラウドシステム20上のストレージ管理サーバ200のストレージ管理サービスプログラム200aが、バックアップスケジュールの設定を受け付けると、ストレージシステム30上のストレージ管理プログラム310のスナップショットスケジューラ312にスナップショットスケジュールを設定し、また、SmartNIC40上のデータ転送スケジューラ412にデータ転送スケジュールを設定する。そして、スナップショットスケジューラ312は、当該設定に従って定期的にスナップショットを取得する。また、データ転送スケジューラ412は、当該設定に従って定期的にクラウドストレージ装置210にデータ転送を実行する。これにより、クラウドバックアップを実現する。
【0025】
より具体的には、クラウドストレージシステム1は、ストレージ管理サーバ200から、ストレージシステム30のデータについて少なくともバックアップ頻度を含む定期的なバックアップの設定を受け取ると、具体的には、例えば、定期的なバックアップを行うべき旨の第1の設定及び少なくともバックアップ頻度を含む定期的なバックアップの第2の設定を受け付けると、定期的なバックアップのための時刻を含むスケジュールを設定するスケジューラの一例としてのスナップショットスケジューラ312と、スナップショットスケジューラ312によって設定されたスケジュールの時刻に従って、ストレージシステムのデータについて定期的にスナップショットを取得することにより、定期的にバックアップデータを作成するバックアップ部の一例としてのスナップショットプログラム313と、スナップショットスケジューラ312によって設定されたスケジュールの時刻に従って、作成されたバックアップデータをクラウドストレージ装置210に対して転送するデータ転送部の一例としてのデータ転送プログラム413と、を備えている。
【0026】
ここで、第1の実施形態におけるスケジューラとしては、ストレージシステム30のプロセッサ上で稼働し、スナップショットプログラム313の実行スケジュールの時刻に基づき、スナップショットプログラム313に指示するスナップショットスケジューラ312と、SmartNIC40のプロセッサで稼働し、データ転送部の一例としてのデータ転送プログラム413によるバックアップデータの転送スケジュールの時刻に基づき、データ転送プログラム413に指示するデータ転送スケジューラ412と、を含んでいる。
【0027】
まず、システム管理者は、端末10を操作してクラウドシステム20のストレージ管理サーバ200にアクセスする。ストレージ管理サーバ200では、ストレージ管理サービスプログラム200aが、端末10からの操作を受け付け、後述するバックアップ設定画面を端末10に表示させる。システム管理者は、バックアップ設定画面にて定期的なバックアップを実行するために必要な入力を行い、端末10は、当該入力内容に応じて設定された定期的なバックアップの情報をストレージ管理サーバ200に設定する(図示の「手順1」に対応)。
【0028】
定期的なバックアップの設定を受け付けたストレージ管理サーバ200では、ストレージ管理サービスプログラム200aが、ネットワーク60を介してストレージシステム30のスナップショットスケジューラ312に対してスナップショットスケジュールを設定する(図示の「手順2」に対応)。
【0029】
併せて、ストレージ管理サーバ200は、ネットワーク60を介してSmartNIC40のデータ転送スケジューラ412に対してデータ転送スケジュールを設定する(図示の「手順3」に対応)。
【0030】
スナップショットスケジューラ312は、設定されたスナップショットスケジュールの時刻に従って、定期的に、スナップショットプログラム313を実行し、スナップショットを取得する(図示の「手順4」に対応)。
【0031】
データ転送スケジューラ412は、設定されたデータ転送スケジュールの時刻に従って、定期的に、データ転送プログラム413を実行し、スナップショットプログラム313が取得したスナップショットのデータを、クラウドストレージ装置210に転送する(図示の「手順5」に対応)。
【0032】
これら手順1~手順5により、システム管理者が定期的なバックアップの設定をしたときのみ、ストレージ管理サーバ200では、ストレージ管理サービスプログラム200aが、ネットワーク60を介してスナップショットスケジューラ312及びデータ転送スケジューラ412に、定期的なバックアップに関するスケジュールを設定する。これにより、実際の定期的なバックアップの指示は、ネットワーク60を介して逐一行われることなく、定期的なバックアップの実行に関する運用を実現することができる。
【0033】
図2は、
図1に示すクラウドシステム20のシステム構成例を示すブロック図である。上述したようにクラウドシステム20は、ストレージ管理サーバ200及びクラウドストレージ装置210を有する。
【0034】
ストレージ管理サーバ200は、ストレージ管理サービスプログラム200aを用いて、クラウドシステム20の内部、外部の複数のストレージシステム30の運用管理を行うサービスを提供する。ストレージ管理サーバ200は、ストレージ管理サービスプログラム200aとして、例えば、バックアップスケジュール設定プログラム201及びストレージ管理操作プログラム202を有する。
【0035】
バックアップスケジュール設定プログラム201は、ストレージシステムのバックアップスケジュールを設定するプログラムである。ストレージ管理操作プログラム202は、クラウドシステム20の内部、外部のストレージシステムを操作するプログラムである。ストレージシステム30が提供する運用管理用のAPI(Application Programing Interface)を用いてストレージシステム30を操作する。
【0036】
クラウドストレージ装置210は、クラウドシステム20上にデータを保存するクラウドストレージサービスを提供する。なお、データ入出力のインタフェースは、オブジェクト、ファイル、ブロックなどを提供する。
【0037】
図3は、ストレージ管理部300のシステム構成例を示すブロック図である。ストレージ管理部300は、ハードウェアとして、メモリ303、CPU302、ネットワークI/F301,304を有し、図示しないオペレーティングシステムが動作している。これらメモリ303、CPU302、ネットワークI/F301,304は、バス等の通信路により相互に接続される。CPU302は、メモリ303に格納されたプログラムを実行する。ネットワークI/F301は、ネットワーク60を介してクラウドシステム20と通信するインタフェースである。ネットワークI/F304は、I/O制御部380と通信するためのインタフェースである。
【0038】
メモリ303には、ストレージ管理プログラム310が格納されている。ストレージ管理プログラム310は、管理インタフェースプログラム311、スナップショットスケジューラ312及びスナップショットプログラム313を含んでいる。なお、メモリ303に格納されている各プログラム及び情報は、メモリ303の代わりに、所定の記憶装置に格納されてもよい。この場合、これら管理インタフェースプログラム311、スナップショットスケジューラ312及びスナップショットプログラム313は、CPU302によって当該所定の記憶装置からメモリ303に読み出されて実行される。
【0039】
管理インタフェースプログラム311は、ストレージシステム30を操作するAPIを提供し、ネットワーク60を経由した操作を受け付けるプログラムである。スナップショットスケジューラ312は、スナップショットスケジュールを受け付け、スナップショットスケジュールを管理するプログラムである。スナップショットプログラム313は、I/O制御部380と連携し、ボリュームのスナップショットを取得及び削除するプログラムである。このスナップショットプログラム313は、スケジューラの一例としてのスナップショットスケジューラ312によって定期的なバックアップのためのスケジュールが設定されると、バックアップデータとして、定期的にストレージシステム30のデータについてスナップショットを取得する機能を有する。
【0040】
図4は、SmartNIC40のシステム構成例を示すブロック図である。SmartNIC40は、ネットワークインタフェース装置の一例であり、メモリ403、CPU402及びネットワークI/F401,404を有し、図示しないオペレーティングシステムが動作している。これらメモリ403、CPU402及びネットワークI/F401,404は、バス等の通信路により相互に接続される。CPU402は、メモリ403に格納されたプログラムを実行する。
【0041】
ネットワークI/F401は、ネットワーク60を介してクラウドシステム20と通信するためのインタフェースである。ネットワークI/F404は、ストレージ管理部300と通信するためのインタフェースである。
【0042】
メモリ403は、管理インタフェースプログラム411、データ転送スケジューラ412及びデータ転送プログラム413を有する。なお、メモリ403に格納されている各プログラム及び情報は、記憶装置に格納されてもよい。この場合、これらはCPU402によってメモリ403に読み出されて実行される。
【0043】
管理インタフェースプログラム411は、データ転送の管理を操作するAPIを提供し、ネットワーク60からの操作を受け付けるプログラムである。データ転送スケジューラ412は、データ転送スケジュールを受け付け、データ転送スケジュールを管理するプログラムである。データ転送プログラム413は、SmartNIC40のプロセッサ上で稼働し、クラウドシステム20のクラウドストレージ装置210と通信してデータの書き込み及び読み込みを行うプログラムである。
【0044】
なお、
図4においては、ネットワークインタフェースカードの一例として、SmartNICの構成を示したが、その構成はSmartNICに限定されず、物理サーバや、仮想サーバ、コンテナなどで代用してもよい。
【0045】
図5は、ストレージシステム30とSmartNIC40間の情報共有テーブル500の一例を示す。情報共有テーブル500は、スナップショットプログラム313とデータ転送プログラム413との間でバックアップデータの情報を共有するためのものである。この情報共有テーブル500は、ストレージシステム30のストレージ管理部300によってボリュームとして管理されていても良く、適宜SmartNIC40からも参照することができる構成となっている。
【0046】
情報共有テーブル500は、ボリュームID501、スナップショット名称502、ボリュームサイズ503、スナップショット状態504及びバックアップ状態505を管理している。ボリュームID501は、ボリュームを識別するIDである。スナップショット名称502は、ボリュームID501に対するスナップショットを識別する名前である。
【0047】
ボリュームサイズ503は、スナップショットのボリュームサイズである。スナップショット状態504は、スナップショットの状態である。スナップショットの状態は、「Created(作成済み)」及び「Creating(作成中)」を含む。このスナップショットの状態は、さらに、「Deleted(削除済み)」、「Deleting(削除中)」、「Failed(失敗)」、「Canceled(キャンセル済み)」を含んでいてもよい。
【0048】
バックアップ状態505は、バックアップの状態を示す。バックアップ状態505は、は、「Completed(完了)」、「On-going(実行中)」及び「Not started(実行前)」を含む。また、バックアップ状態505は、「Failed(失敗)」、「Canceled(キャンセル済み)」を含めてもよい。
【0049】
図6は、バックアップ設定画面800の一例を示す。バックアップ設定画面800は、クラウドシステム20上のストレージ管理サーバ200のストレージ管理サービスプログラム200aによって端末10等に提供されたデータによって端末10等において表示される。
【0050】
バックアップ設定画面800は、論理ボリューム選択領域801、オブジェクトストア選択領域802、バックアップスケジュール設定領域803及びバックアップ方法選択領域804を含む。
【0051】
論理ボリューム選択領域801は、バックアップ対象とする論理ボリュームを選択する領域である。図示の例では、論理ボリューム選択領域801において、ボリューム番号(図示の「#」に対応)「7F」で示されるVolB(16TB)の論理ボリュームがバックアップ対象として選択されている。
【0052】
オブジェクトストア選択領域802は、例えば、ドロップダウンボックスで構成されている。オブジェクトストア選択領域802は、論理ボリュームのバックアップ先とするオブジェクトストアを選択する領域である。オブジェクトストア選択領域802では、既に登録されている、バックアップデータの格納先としてのオブジェクトストアが選択可能に表示される。図示の例では、「ams:std Backup」に対応するオブジェクトストア、すなわち、「ams」という名称のクラウドシステム20の「標準バックアップ(std Backup)」というバックアップ種別が選択されている。
【0053】
バックアップスケジュール設定領域803は、バックアップスケジュールを設定する領域である。バックアップスケジュール設定領域803では、例えば、1回限りのバックアップの実行を設定するためのOne shot指定ボタン(図示の「One Shot」に対応)8031と、定期的なバックアップの実行を設定するためのPeriodically指定ボタン8032とが表示される。
【0054】
なお、One shot指定ボタン8031を選択した場合には、今直ぐの実行であるか、システム管理者による入力によって実行開始時刻を指定することができる。また、Periodically指定ボタン8032を選択した場合には、繰り返しの間隔(例えば、日次、週次、月次)や、実行開始時刻、実行間隔時刻、実行回数等を指定することができる。図示の例では、バックアップスケジュールとして、定期的なバックアップの実行が選択されており、日次での実施、毎日0:00から30分間隔で行うことが指定されている。
【0055】
バックアップ方法選択領域804は、バックアップ方法を設定する領域である。図示の例では、選択可能なバックアップ方法としては、論理ボリューム全体をバックアップするフルバックアップ(Full Backup)と、前回のバックアップからの論理ボリュームの差分のみをバックアップする増分バックアップ(Incremental Backup)と、直前のフルバックアップ時の論理ボリュームとの差分をバックアップする差分バックアップ(Differential Backup)とがある。図示の例では、増分バックアップが指定されている。
【0056】
OKボタン811は、バックアップ設定画面800で設定されたバックアップスケジュールを登録する指示を受け付けるボタンである。OKボタン811が押下されると、設定されたバックアップスケジュールがバックアップスケジュール設定プログラム201によるバックアップスケジュール設定処理に渡される。
【0057】
キャンセルボタン812は、バックアップ設定画面800で設定されたバックアップスケジュールを破棄する指示を受け付けるボタンである。キャンセルボタン812が押下されると、バックアップ設定画面800で設定されたバックアップスケジュールはキャンセルされる。
【0058】
ここで、バックアップスケジュールは、1つの論理ボリュームに対して複数個作成できるようにしてもよい。例えば、バックアップ対象の論理ボリュームに対して、毎週日曜日の0:00にフルバックアップを取るスケジュールと、月~土曜日の0:00に増分バックアップを取るスケジュールとを作成してもよく、この場合には、これらを組み合わせたスケジュールで論理ボリュームのバックアップが行われることとなる。
【0059】
図7は、バックアップスケジュール設定処理S9000の手順の一例を示すフローチャートある。このバックアップスケジュール設定処理S9000は、クラウドシステム20上のストレージ管理サービスのバックアップスケジュール設定プログラム201によって実行される。
【0060】
バックアップスケジュール設定処理S9000は、システム管理者が、端末10等に表示されたバックアップ設定画面800からバックアップスケジュールを設定することにより行われる。バックアップスケジュール設定プログラム201は、システム管理者が端末10等のバックアップ設定画面800から設定したバックアップスケジュールを受理する(ステップS9001)。
【0061】
バックアップスケジュール設定プログラム201は、ストレージ管理操作プログラム202に対してストレージシステム30及びSmartNIC40に各スケジュールを設定するよう指示する(ステップS9002)。
【0062】
ストレージ管理操作プログラム202は、ストレージシステム30のスナップショットスケジューラ312にスナップショットスケジュールを設定する(ステップS9003)。ストレージ管理操作プログラム202は、SmartNIC40のデータ転送スケジューラ412にデータ転送スケジュールを設定し(ステップS9004)、このバックアップスケジュール設定処理を終了する(ステップS9005)。
【0063】
上記バックアップスケジュール設定処理9000により、ストレージシステム30のスナップショットスケジューラ312とSmartNIC40のデータ転送スケジューラ412に定期的なスケジュールが設定され、バックアップ運用ができる状態となる。
【0064】
図8は、クラウドバックアップ処理S10000の手順の一例を示すフローチャートである。このクラウドバックアップ処理S10000は、ストレージシステム30とSmartNIC40が連携して定期的に実行される。
【0065】
まず、スナップショット取得処理S10001が実行されるが、このスナップショット取得処理S10001については後述する。その後、データ転送処理S12000が実行されるが、このデータ転送処理S12000については後述する。
【0066】
図9は、
図8に示すスナップショット取得処理S11000の手順の一例を示すフローチャートである。スナップショット取得処理S11000は、スナップショットスケジューラ312に設定されたスナップショットスケジュールに従って定期的に実行される。
【0067】
ストレージシステム30のスナップショットスケジューラ312は、現在時刻と、設定されたスナップショットスケジュールの時刻とが一致するかチェックする(ステップS11001)。スナップショットスケジューラ312は、現在時刻と、設定されたスナップショットスケジュールの時刻とが一致しない場合(ステップS11002:No)、再度ステップS11001を実行する。
【0068】
一方、スナップショットスケジューラ312は、現在時刻と、設定されたスナップショットスケジュールの時刻とが一致する場合(ステップS11002:Yes)、情報共有テーブル500にエントリを追加する。この時、スナップショット状態を「Creating」に設定する(ステップS11003)。スナップショットスケジューラ312は、スナップショットプログラム313にスナップショットの取得指示を行う(ステップS11004)。
【0069】
スナップショットプログラム313は、スナップショットを取得し(ステップS11005)、スナップショットスケジューラ312に応答を返す。
【0070】
スナップショットスケジューラ312は、スナップショットプログラム313からの応答を受理し、情報共有テーブル500の当該エントリのスナップショット状態を「Created」に変更し(ステップS11006)、スナップショット取得処理S11000を終了する。
【0071】
上述したように
図9に示すスナップショット取得処理S11000においては、スナップショットスケジューラ312が情報共有テーブル500にエントリを追加し、スナップショット状態を設定変更する例を示したが、その代わりに、スナップショットプログラム313がエントリを追加し、スナップショット状態を設定変更してもよい。
【0072】
図10は、データ転送処理S12000の手順の一例を示すフローチャートである。データ転送処理S12000は、データ転送スケジューラ412に設定されたデータ転送スケジュールの時刻に従って定期的に実行される。
【0073】
SmartNIC40のデータ転送スケジューラ412は、現在時刻と、設定されたデータ転送スケジュールの時刻とが一致するかチェックする(ステップS12001)。データ転送スケジューラ412は、現在時刻と、設定されたデータ転送スケジュールの時刻とが一致しない場合(ステップS21002:No)、再度ステップS12001を実行する。
【0074】
一方、現在時刻と、設定されたデータ転送スケジュールの時刻とが一致する場合(ステップS12002:Yes)、データ転送スケジューラ412は、情報共有テーブル500の当該エントリのバックアップ状態を「On-going」に変更する(ステップS12003)。
【0075】
データ転送スケジューラ412は、データ転送プログラム413に対して、バックアップ種別と転送対象スナップショットを指定してデータ転送を指示する(ステップS12004)。バックアップ種別は、フルバックアップ、差分バックアップ、増分バックアップのいずれかである。データ転送プログラム413は、データ転送スケジューラ412から指定されたスナップショットをマウントする(ステップS12005)。ここでいうマウントとは、スナップショットを取得対象の論理ボリュームに接続することをいう。
【0076】
データ転送プログラム413は、データ転送スケジューラ412から指定されたバックアップ種別をチェックし、差分バックアップまたは増分バックアップであれば(ステップS12006:Yes)、ステップS12007を実行し、一方、差分バックアップまたは増分バックアップでない(ステップS12006:No)、つまり、フルバックアップであればステップS12008を実行する。
【0077】
データ転送プログラム413は、ストレージ管理プログラム310からデータ差分情報を取得する(ステップS12007)。データ差分情報は、スナップショット間のデータ差分であり、前回のスナップショットから今回のスナップショットの間に更新のあったブロックの情報を含む。本情報の取得方法は、情報共有テーブル500からでもよいし、別の方法でもよい。例えば、管理ネットワークを通してデータ転送プログラム413が、ストレージシステム30のストレージ管理プログラム310に指示する方法でもよい。
【0078】
データ転送プログラム413は、ストレージシステム30からデータを取得し、クラウドストレージ装置210にデータを転送し、データ転送が完了したらデータ転送スケジューラ412に応答を返す(ステップS12008)。
【0079】
データ転送スケジューラ412は、データ転送プログラム413から応答を受理すると、情報共有テーブル500の当該エントリのバックアップ状態を「Completed」に変更し、データ転送処理S12000を終了する。
【0080】
上述したように
図10に示すデータ転送処理S12000は、データ転送スケジューラ412が情報共有テーブル500のエントリのバックアップ状態を設定変更する例を示したが、データ転送プログラム413がバックアップ状態を設定変更してもよい。
【0081】
以上のように第1の実施形態によるプロセッサ381と記憶装置とを有し、バックアップ対象となるデータを保有するストレージシステム30は、ストレージ管理サーバ200、及び、バックアップによるバックアップデータを格納可能なクラウドストレージ装置210と、にネットワーク60を経由して接続されている。このストレージシステム30は、ストレージ管理サーバ200から、ストレージシステム30のデータについて少なくともバックアップ頻度を含む定期的なバックアップの設定を受け付けると、定期的なバックアップのための時刻を含むスケジュールを設定するスケジューラの一例としてのスナップショットスケジューラ312と、スナップショットスケジューラ312によって設定されたスケジュールの時刻に従って、定期的なバックアップを作成するバックアップ部の一例としてのスナップショットプログラム313と、スナップショットスケジューラ312によって設定されたスケジュールの時刻に従って、作成されたバックアップデータをクラウドストレージ装置210に対して転送するデータ転送部の一例としてのデータ転送プログラム413と、を備えている。
【0082】
このようにすると、ストレージシステム30は、定期的なバックアップを行うに際し、ネットワーク60を経由して逐一バックアップ等の指示を受け取る必要がないため、クラウドシステム20上のストレージ管理サーバ200とストレージシステム30との間のネットワーク60の負担の影響を受けることなく、ストレージシステム30のデータについて確実に定期的なバックアップを行うことができる。
【0083】
また、第1の実施形態では、スナップショットプログラム313は、スナップショットスケジューラ312によってスケジュールが設定されると、定期的にストレージシステム30のデータについてスナップショットを取得する。このようにすると、スナップショットプログラム313は、ネットワーク60の負荷によって遅延することなく、ストレージシステム30のデータについて、定期的にスナップショットを取得して、定期的なバックアップを行うことができる。
【0084】
また、第1の実施形態では、スナップショットスケジューラ312及びスナップショットプログラム313は、ストレージシステム30に設けられている。このようにすると、スナップショットスケジューラ312とスナップショットプログラム313とがネットワークを介してやりとりする必要がなく、スナップショットプログラム313は、バックアップスケジューラ316によって設定されたスケジュールの時刻に従って遅滞なくスナップショットを取得することができる。
【0085】
また、第1の実施形態では、スナップショットスケジューラ312は、ストレージ管理サーバ200から第2の設定を受け取ると、スナップショットプログラム313の定期的な実行スケジュールを設定するスナップショットスケジューラ312と、ストレージ管理サーバ200から第2の設定を受け取ると、データ転送プログラム413によるバックアップデータの転送スケジュールを設定するデータ転送スケジューラ412と、を含む。このようにすると、ストレージシステム30は、クラウドシステム20上のストレージ管理サーバ200とストレージシステム30との間のネットワーク60を経由して逐一バックアップ等の指示を受け取る必要がないため、クラウドシステム20上のストレージ管理サーバ200とストレージシステム30との間のネットワーク60の負担の影響を受けることなく、ストレージシステム30のデータについて確実に定期的なバックアップを行うことができる。
【0086】
また、第1の実施形態では、ストレージシステム30とSmartNIC40との間で定期的なバックアップの状態を共有するための情報共有テーブル500を備える。このようにすると、ストレージシステム30とSmartNIC40とが連携しつつ、遅滞なく、ストレージシステム30のデータについて定期的なバックアップを行うことができる。
【0087】
また、第1の実施形態では、データ転送プログラム413が、ストレージシステム30とは独立した構成であるSmartNIC40に設けられている。このデータ転送プログラム413は、SmartNIC40のプロセッサ上で稼働している。このようにすると、データ転送プログラム413は、ストレージシステム30の負荷の影響を受けることなく、タイムリーに、定期的なバックアップによるバックアップデータをクラウドストレージ装置210に対して転送することができる。
【0088】
(2)第2の実施形態
第2の実施形態では、第1の実施形態と同様の構成及び処理については説明を省略し、第1の実施形態と異なる点を中心として説明する。
図11は、第2の実施形態によるクラウドストレージシステム1aの構成例を概念的に示すブロック図である。
【0089】
第2の実施形態は、第1の実施形態と比較し、ストレージ管理部300が、スナップショットスケジューラ312の代わりにバックアップスケジューラ316を有し、かつ、SmartNIC40がデータ転送スケジューラ412を有しない点が異なる。すなわち、第2の実施形態では、ストレージ管理部300のバックアップスケジューラ316が、第1の実施形態によるスナップショットスケジューラ312の機能を備えるとともに、第1の実施形態によるデータ転送スケジューラ412の機能を代行している。これにより、バックアップスケジューラ316及びスナップショットプログラム313がストレージ管理部300に設けられていることになる。
【0090】
第2の実施形態は、クラウドシステム20上のストレージ管理サーバ200のストレージ管理サービスプログラム200aが、バックアップ設定画面800を介してバックアップスケジュールの設定を受け付けると、ストレージシステム30上のストレージ管理プログラム310のバックアップスケジューラ316にバックアップスケジュールを設定する。そして、バックアップスケジューラ316は、設定に従って定期的にスナップショットを取得し、定期的にクラウドストレージ装置210にデータ転送を実行する。これにより、クラウドバックアップを実現する。
【0091】
システム管理者は、端末10からクラウドシステム20のストレージ管理サーバ200にアクセスする。ストレージ管理サーバ200は、端末10からの操作を受け付け、バックアップ設定画面800を端末10に表示する。システム管理者は、バックアップ設定画面800にて定期的なバックアップの設定の入力を行い、端末10は、設定された定期的なバックアップの情報をストレージ管理サーバ200に設定する(図示の「手順1」に対応)。
【0092】
定期的なバックアップの設定を受け付けたストレージ管理サーバ200は、ネットワーク60を介してストレージシステム30のバックアップスケジューラ316に対しバックアップスケジュールを設定する(図示の「手順2」に対応)。この設定は、上記第2の設定に対応する。バックアップスケジューラ316は、ストレージシステム30のプロセッサ上で稼働し、スナップショットプログラム313の実行スケジュールの時刻に基づきスナップショットプログラム313に指示するとともに、データ転送プログラム413によるバックアップデータの転送スケジュールの時刻に基づき、データ転送プログラム413に指示する。これにより、バックアップスケジューラ316は、設定されたバックアップスケジュールの時刻に従って、定期的に、スナップショットプログラム313を実行し、スナップショットを取得する(図示の「手順3」に対応)。
【0093】
バックアップスケジューラ316は、設定されたバックアップスケジュールの時刻に従って、定期的に、データ転送プログラム413を実行し、スナップショットプログラム313が取得したスナップショットのデータを、クラウドストレージ装置210に転送する(図示の「手順4」に対応)。
【0094】
これらのステップにより、システム管理者が定期的なバックアップの設定をしたときのみ、ストレージ管理サーバ200は、ネットワーク60を介してバックアップスケジューラ316に定期的なスケジュールを設定する一方、実際のバックアップの指示はネットワーク60を介すことなく定期的なバックアップの運用を実現することができる。
【0095】
図12は、第2の実施形態におけるバックアップスケジュール設定処理S13000の手順の一例を示すフローチャートである。バックアップスケジュール設定処理S13000は、クラウドシステム20上のストレージ管理サーバ200のストレージ管理サービスプログラム200aのバックアップスケジュール設定プログラム201によって実行される。
【0096】
バックアップスケジュール設定処理S13000は、システム管理者がバックアップ設定画面800からバックアップスケジュールを設定することにより行われる。バックアップスケジュール設定プログラム201は、システム管理者がバックアップ設定画面800から設定したバックアップスケジュールを受理する(ステップS13001)。
【0097】
バックアップスケジュール設定プログラム201は、ストレージ管理操作プログラム202に対してストレージシステム30にバックアップスケジュールを設定するよう指示する(ステップS13002)。ストレージ管理操作プログラム202は、ストレージシステム30のバックアップスケジューラ316にバックアップスケジュールを設定し(ステップS13003)、バックアップスケジュール設定処理を終了する(ステップS13004)。
【0098】
上記バックアップスケジュール設定処理S13000により、ストレージシステム30のバックアップスケジューラに定期的なスケジュールが設定され、定期的なバックアップの実行の運用ができるようになる。
【0099】
図13は、第2の実施形態におけるクラウドバックアップ処理S14000の手順の一例を示すフローチャートである。このクラウドバックアップ処理S14000は、ストレージシステム30のバックアップスケジューラ316により定期的に実行される。
【0100】
ストレージシステム30のバックアップスケジューラ316は、現在時刻と、設定されたバックアップスケジュールの時刻とが一致するかチェックする(ステップS14001)。現在時刻と、設定されたスナップショットスケジュールの時刻とが一致しない場合(ステップS14002:No)、バックアップスケジューラ316は、再度ステップS14001を実行する。
【0101】
一方、現在時刻と、設定されたバックアップスケジュールの時刻とが一致する場合(ステップS14002:Yes)、バックアップスケジューラ316は、スナップショットプログラム313にスナップショットの取得を指示する(ステップS14003)。スナップショットプログラム313は、スナップショットを取得し(ステップS14004)、バックアップスケジューラ316に応答を返す。
【0102】
バックアップスケジューラ316は、スナップショットプログラム313からの応答を受理し、その後、データ転送プログラム413に対して、バックアップ種別と転送対象スナップショットを指定してデータ転送を指示する(ステップS14005)。バックアップ種別は、フルバックアップ、差分バックアップ、増分バックアップのいずれかである。
【0103】
データ転送プログラム413は、バックアップスケジューラ316から指定されたスナップショットをマウントする(ステップS14006)。
【0104】
データ転送プログラム413は、バックアップスケジューラ316から指定されたバックアップ種別をチェックし、差分バックアップまたは増分バックアップであれば(ステップS14007:Yes)、ステップS14009を実行し、一方、差分バックアップまたは増分バックアップでない(ステップS14007:No)、つまり、フルバックアップであればステップS14008を実行する。
【0105】
データ転送プログラム413は、ストレージ管理プログラム310からデータ差分情報を取得する(ステップS14008)。データ差分情報は、スナップショット間のデータ差分であり、前回のスナップショットから今回のスナップショットの間に更新のあったブロックの情報を含む。本情報の取得方法は、情報共有テーブル500からでもよいし、別の方法でもよい。例えば、管理ネットワークを通してデータ転送プログラム413が、ストレージシステム30のストレージ管理プログラム310に指示する方法でもよい。
【0106】
データ転送プログラム413は、ストレージシステム30からデータを取得し、クラウドストレージ装置210にデータを転送し、データ転送が完了したらバックアップスケジューラ316に応答を返す(ステップS14009)。
【0107】
バックアップスケジューラ316は、データ転送プログラム413から応答を受理すると、クラウドバックアップ処理S14000を終了する(ステップS14010)。
【0108】
図13は、データ転送プログラム413がバックアップ種別を判定し、差分バックアップまたは増分バックアップであればストレージ管理プログラム310からデータ差分情報を取得する例を示したが、バックアップスケジューラ316が、データ転送プログラム413へのバックアップ指示のタイミングでデータ差分情報をデータ転送プログラム413に渡してもよい。
【0109】
第2の実施形態によるクラウドストレージシステム1aは、第1の実施形態によるクラウドストレージシステム1と同様に、ストレージシステム30とクラウドシステム20とがネットワーク60を経由して接続されている。このクラウドストレージシステム1aは、ストレージ管理サーバ200から、ストレージシステム30のデータについて少なくともバックアップ頻度を含む定期的なバックアップの設定を受け付けると、定期的なバックアップのためのスケジュールを設定する時刻を含むスケジューラの一例としてのバックアップスケジューラ316と、バックアップスケジューラ316によって設定されたスケジュールの時刻に従って、バックアップデータを作成するバックアップ部の一例としてのスナップショットプログラム313と、バックアップスケジューラ316によって設定されたスケジュールの時刻に従って、作成されたバックアップデータをクラウドストレージ装置210に対して転送するデータ転送部の一例としてのデータ転送プログラム413と、を備えている。
【0110】
このようにすると、クラウドシステム20上のストレージ管理サーバ200とストレージシステム30との間のネットワーク60を経由して逐一バックアップ等の指示を、ストレージシステム30が受け取る必要がないため、クラウドシステム20上のストレージ管理サーバ200とストレージシステム30との間のネットワーク60の負担の影響を受けることなく、ストレージシステム30のデータについて確実に定期的なバックアップを行うことができる。
【0111】
第2の実施形態では、スケジューラの一例としてのバックアップスケジューラ316及びバックアップ部の一例としてのスナップショットプログラム313がストレージシステム30に設けられている。このようにすると、ストレージ管理サーバ200からSmartNIC40に対してバックアップの設定を指示する必要がなく、ストレージシステム30のみに対してバックアップの設定を指示すれば良くなるため、第1の実施形態よりもさらに、ネットワーク60の負荷の影響を受けることなく、確実に定期的なバックアップを行うことができるようになる。
【0112】
第2の実施形態では、スケジューラの一例としてのバックアップスケジューラ316は、ストレージ管理サーバ200から定期的なバックアップの設定を受け取ると、スナップショットプログラム313の定期的な実行スケジュールの時刻を設定するとともに、データ転送プログラム413によるバックアップデータの転送スケジュールの時刻を設定する。このようにすると、ストレージ管理サーバ200からSmartNIC40に対してバックアップの設定を指示する必要がなく、ストレージシステム30のみに対してバックアップの設定を指示すれば良くなるため、第1の実施形態よりもさらに、ネットワーク60の負荷の影響を受けることなく、確実に定期的なバックアップを行うことができるようになる。
【0113】
(3)第3の実施形態
第3の実施形態では、第1の実施形態及び第2の実施形態と同様の構成及び処理については説明を省略し、第1の実施形態及び第2の実施形態と異なる点を中心として説明する。
図14は、第3の実施形態によるクラウドストレージシステム1bの構成例を概念的に示すブロック図である。
【0114】
第3の実施形態は、第2の実施形態と比較し、ストレージ管理部300がバックアップスケジューラ316を有しておらず、SmartNIC40が、当該バックアップスケジューラ316と同様な機能を有するバックアップスケジューラ415を有している点が異なる。または、第3の実施形態では、SmartNIC40のバックアップスケジューラ415が、第1の実施形態によるストレージ管理部300のスナップショットスケジューラ312及びSmartNIC40のデータ転送スケジューラ412の機能を代行しているといえる。または、第3の実施形態では、SmartNIC40のバックアップスケジューラ415が、第2の実施形態によるストレージ管理部300のバックアップスケジューラ316の機能を代行しているともいえる。
【0115】
第3の実施形態は、クラウドシステム20上のストレージ管理サーバ200のストレージ管理サービスプログラム200aが、バックアップ設定画面800を介してバックアップスケジュールの設定を受け付けると、SmartNIC40上のバックアップスケジューラ415にバックアップスケジュールの時刻を設定する。このバックアップスケジューラ415は、SmartNIC40のプロセッサ上で稼働している。このバックアップスケジューラ415は、スナップショットプログラム313を用いて、当該設定(上記第2の設定に対応)に従って定期的にスナップショットを取得し、当該取得したスナップショットについて定期的にクラウドストレージ装置210にデータ転送を実行する。これにより、クラウドバックアップを実現する。
【0116】
より具体的には、まず、システム管理者は、端末10からクラウドシステム20のストレージ管理サーバ200にアクセスする。ストレージ管理サーバ200は、端末10からの操作を受け付け、バックアップ設定画面800を端末10に表示する。システム管理者は、バックアップ設定画面800にて定期的なバックアップの設定の入力を行い、端末10は設定された定期的なバックアップの情報をストレージ管理サーバ200に設定する(図示の「手順1」に対応)。
【0117】
定期的なバックアップの設定を受け付けたストレージ管理サーバ200は、ネットワーク60を介してSmartNIC40のバックアップスケジューラ415に対しバックアップスケジュールを設定する(図示の「手順2」に対応)。
【0118】
バックアップスケジューラ415は、設定されたバックアップスケジュールの時刻に従って、定期的に、スナップショットプログラム313を実行し、スナップショットを取得する(図示の「手順3」に対応)。
【0119】
さらに、バックアップスケジューラ415は、設定されたバックアップスケジュールの時刻に従って、定期的に、データ転送プログラム413を実行し、スナップショットプログラム313が取得したスナップショットのデータを、クラウドストレージ装置210に転送する(図示の「手順4」に対応)。このデータ転送プログラム413は、SmartNIC40のプロセッサ上で稼働している。
【0120】
これらの手順1から手順4により、システム管理者が定期的なバックアップの設定をしたときのみ、ストレージ管理サーバ200は、ネットワーク60を介してバックアップスケジューラ415に定期的なスケジュールの時刻を設定し、実際のバックアップの指示はネットワーク60を介すことなく定期的なバックアップの実行の運用を実現することができる。
【0121】
図15は、第3の実施形態におけるバックアップスケジュール設定処理S15000の手順の一例を示すフローチャートである。バックアップスケジュール設定処理S15000は、クラウドシステム20上のストレージ管理サーバ200のバックアップスケジュール設定プログラム201によって実行される。
【0122】
バックアップスケジュール設定処理S15000は、システム管理者がバックアップ設定画面800からバックアップスケジュールを設定することにより行われる。バックアップスケジュール設定プログラムは、システム管理者がバックアップ設定画面800から設定したバックアップスケジュールを受理する(ステップS15001)。
【0123】
バックアップスケジュール設定プログラム201は、ストレージ管理操作プログラム202に対してSmartNIC40にバックアップスケジューラ415を設定するよう指示する(ステップS15002)。ストレージ管理操作プログラムは、SmartNIC40のバックアップスケジューラ415にバックアップスケジュールの時刻を設定し(ステップS15003)、バックアップスケジュール設定処理を終了する。
【0124】
上記バックアップスケジュール設定処理S13000により、SmartNIC40のバックアップスケジューラ415に定期的なスケジュールの時刻が設定され、定期的なバックアップの実行の運用ができるようになる。
【0125】
図16は、第3の実施形態によるクラウドバックアップ処理S16000のフローチャートの一例である。第3の実施形態におけるクラウドバックアップ処理S16000は、SmartNIC40のバックアップスケジューラ415により定期的に実行される。
【0126】
バックアップスケジューラ415は、現在時刻と、設定されたバックアップスケジュールの時刻とが一致するかチェックする(ステップS16001)。
【0127】
現在時刻と、設定されたスナップショットスケジュールの時刻とが一致しない場合(ステップS16002:No)、バックアップスケジューラ415は、再度ステップS16001を実行する。
【0128】
一方、現在時刻と、設定されたバックアップスケジュールの時刻とが一致する場合(ステップS16002:Yes)、バックアップスケジューラ415は、スナップショットプログラム313にスナップショットの取得を指示する(ステップS16003)。
【0129】
スナップショットプログラム313は、スナップショットを取得し、バックアップスケジューラ415に応答を返す(ステップS16004)。
【0130】
バックアップスケジューラ415は、スナップショットプログラム313からの応答を受理し、その後、データ転送プログラム413に対して、バックアップ種別と転送対象スナップショットを指定してデータ転送を指示する(ステップS16005)。バックアップ種別は、フルバックアップ、差分バックアップ、増分バックアップのいずれかである。
【0131】
データ転送プログラム413は、バックアップスケジューラ415から指定されたスナップショットをマウントする(ステップS16006)。
【0132】
データ転送プログラム413は、バックアップスケジューラ415から指定されたバックアップ種別をチェックし、差分バックアップまたは増分バックアップであれば(ステップS16007:Yes)、ステップS16009を実行し、一方、差分バックアップまたは増分バックアップでない(ステップS16007:No)、つまり、フルバックアップであればステップS16008を実行する。
【0133】
データ転送プログラム413は、ストレージ管理プログラム310からデータ差分情報を取得する(ステップS16008)。データ差分情報は、スナップショット間のデータ差分であり、前回のスナップショットから今回のスナップショットの間に更新のあったブロックの情報を含む。本情報の取得方法は、情報共有テーブル500からでもよいし、別の方法でもよい。例えば、管理ネットワークを通してデータ転送プログラム413が、ストレージシステム30のストレージ管理プログラム310に指示する方法でもよい。
【0134】
データ転送プログラム413は、ストレージシステム30からデータを取得し、クラウドストレージ装置210にデータを転送し、データ転送が完了したらバックアップスケジューラ415に応答を返す(ステップS16009)。
【0135】
バックアップスケジューラ415は、データ転送プログラム413から応答を受理すると、クラウドバックアップ処理S16000を終了する。
【0136】
上述したように
図16においては、データ転送プログラム413がバックアップ種別を判定し、差分バックアップまたは増分バックアップであればストレージ管理プログラム310からデータ差分情報を取得する例を示したが、バックアップスケジューラ415が、データ転送プログラム413へのバックアップ指示のタイミングでデータ差分情報をデータ転送プログラム413に渡してもよい。
【0137】
第3の実施形態によるクラウドストレージシステム1bは、第1の実施形態によるクラウドストレージシステム1と同様に、ストレージシステム30とクラウドシステム20とがネットワーク60を経由して接続されている。このクラウドストレージシステム1bは、ストレージ管理サーバ200から、ストレージシステム30のデータについて定期的なバックアップを行うべき旨の第1の設定、少なくともバックアップ頻度を含む定期的なバックアップの設定を受け付けると、定期的なバックアップのための時刻を含むスケジュールを設定するスケジューラの一例としてのバックアップスケジューラ415と、バックアップスケジューラ415によって設定されたスケジュールの時刻に従って、定期的にバックアップデータを作成するバックアップ部の一例としてのスナップショットプログラム313と、バックアップスケジューラ415によって設定されたスケジュールの時刻に従って、作成されたバックアップデータをクラウドストレージ装置210に対して転送するデータ転送部の一例としてのデータ転送プログラム413と、を備えている。
【0138】
このようにすると、クラウドシステム20上のストレージ管理サーバ200とストレージシステム30との間のネットワーク60を経由して逐一バックアップの指示を、ストレージシステム30のみならずSmartNIC40も受け取る必要がないため、クラウドシステム20上のストレージ管理サーバ200とストレージシステム30との間のネットワーク60の負担の影響を受けることなく、ストレージシステム30のデータについて確実に定期的なバックアップを行うことができる。
【0139】
第3の実施形態では、スケジューラの一例としてのバックアップスケジューラ415は、ストレージ管理サーバ200から定期的なバックアップの設定を受け取ると、スナップショットプログラム313の定期的な実行スケジュールの時刻を設定するとともに、データ転送プログラム413によるバックアップデータの転送スケジュールの時刻を設定する。このようにすると、ストレージ管理サーバ200からストレージシステム30に対して定期的なバックアップの設定を指示する必要がなく、SmartNIC40のみに対して定期的なバックアップの設定を指示すれば良くなるため、第1の実施形態よりもさらに、ネットワーク60の負荷の影響を受けることなく、確実に定期的なバックアップを行うことができるようになる。
【0140】
第3の実施形態では、SmartNIC40がバックアップスケジューラ415を備えている。このようにすると、上記同様に、ストレージ管理サーバ200からストレージシステム30に対して定期的なバックアップの設定を指示する必要がなく、SmartNIC40のバックアップスケジューラ415のみに対して定期的なバックアップの設定を指示すれば良くなるため、第1の実施形態よりもさらに、ネットワーク60の負荷の影響を受けることなく、確実に定期的なバックアップを行うことができるようになる。
【0141】
(4)他の実施形態
なお、上述の第1~第3の実施形態においては、ストレージシステム30からクラウドストレージ装置210にバックアップする場合について述べたが、本発明はこのようなユースケースに限らず、例えば、ストレージシステム30内のスナップショットでもよい。また、ストレージシステム30内のローカルバックアップでもよい。また、クラウドストレージ装置210からデータをストレージシステム30にリストアするユースケースでもよい。
【0142】
また上述した実施形態においては、「aaaテーブル」の表現にて各種情報を説明することがあるが、各種情報は、テーブル以外のデータ構造で表現されていてもよい。各種情報は、データ構造に依存しないことを示すために「aaaテーブル」を「aaa情報」と呼ぶことができる。また、プログラムやソフトウェアを主語にして説明する場合には、実際には、プロセッサ等がそのプログラムやソフトウェアを実行しているものと解する。
【0143】
上述した実施形態においては、各情報の内容を説明する際に、識別情報について「識別子」、「名」、「ID」等の表現を用いるが、これらはお互いが置換可能である。これらのうちの少なくとも1つに代えて、多種の識別情報が使用されてよい。
【0144】
上述した実施形態においては、「プログラム」を主語として処理を説明している場合があるが、プログラムは、プロセッサによって実行されることで、定められた処理を、適宜に記憶資源(例えば、メモリ)及び/又は通信インターフェイスデバイス(例えば、通信ポート)を用いながら行うため、処理の主語がプロセッサとされてもよい。逆に、プロセッサが主語となっている処理は、1以上のプログラムを実行することにより行われると解釈することができる。プロセッサは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサであるが、処理の一部(例えば、暗号化/復号化、圧縮/伸張)を実行するハードウェア回路を含んでもよい。
【産業上の利用可能性】
【0145】
本発明は、定期的なバックアップを実行可能なストレージシステムに適用することができる。
【符号の説明】
【0146】
10……端末、20……クラウドシステム、30……ストレージシステム、40……SmartNIC、50……ホスト、60……ネットワーク、300……ストレージ管理部、312……スナップショットスケジューラ、313……スナップショットプログラム、316……バックアップスケジューラ、412……データ転送スケジューラ、413……データ転送プログラム、415……バックアップスケジューラ。