(57)【要約】【課題】省電力化を図りつつ、性能の低下や短寿命化を解決する。【解決手段】本発明のストレージシステム１００は、データの分散記憶処理の内容を表し、データを分散する記憶装置の数を表す分散数を含むジョブデータを記憶して管理する記憶処理内容管理手段１０１と、ジョブデータに基づいて、記憶するデータを分散数の記憶装置に分散して記憶する分散記憶制御手段１０２と、を備え、当該分散記憶制御手段１０２は、分散数に基づいて少なくとも分散数の記憶装置１１０を決定し、当該決定した記憶装置のみの電源をオンにする、という構成をとる。【選択図】図１６
2015176279.tif 000002
【特許請求の範囲】
【請求項１】
データの分散記憶処理の内容を表し、データを分散する記憶装置の数を表す分散数を含むジョブデータを記憶して管理する記憶処理内容管理手段と、
前記ジョブデータに基づいて、記憶するデータを前記分散数の記憶装置に分散して記憶する分散記憶制御手段と、を備え、
前記分散記憶制御手段は、前記分散数に基づいて少なくとも前記分散数の記憶装置を決定し、当該決定した記憶装置のみの電源をオンにする、
ストレージシステム。
【請求項２】
請求項１に記載のストレージシステムであって、
前記分散記憶制御手段は、過去に分散記憶処理を行ったときに前記決定した記憶装置とは異なる組み合わせの記憶装置を決定する、
ストレージシステム。
【請求項３】
請求項２に記載のストレージシステムであって、
前記分散記憶制御手段は、前回に分散記憶処理を行ったときに前記決定した記憶装置のうち、分散記憶の対象となった記憶装置を含み、かつ、当該決定した記憶装置とは異なる組み合わせの記憶装置を決定して、当該決定した記憶装置の電源をオンにし、当該決定した記憶装置のうち前記分散数の記憶装置に対して分散記憶処理を行う、
ストレージシステム。
【請求項４】
請求項３に記載のストレージシステムであって、
前記分散記憶制御手段は、前回に分散記憶処理を行ったときに電源をオンにしている記憶装置のうち、分散記憶の対象となっていなかった記憶装置の電源をオフにし、分散記憶の対象となっていた記憶装置の電源をオンにしたまま、当該分散記憶の対象となっていた記憶装置と、当該記憶装置とは異なる他の記憶装置と、の組み合わせの記憶装置を決定して当該他の記憶装置の電源をオンにし、当該電源がオンになっている記憶装置のうち、前記他の記憶装置を含む前記分散数の記憶装置に対して分散記憶処理を行う、
ストレージシステム。
【請求項５】
請求項３又は４に記載のストレージシステムであって、
前記分散記憶制御手段は、前回に分散記憶処理を行ったときに分散記憶の対象となっていた記憶装置が決定されずに電源がオフになった場合、当該記憶装置に対して分散記憶されたデータを、電源がオンになっている記憶装置に記憶されているデータから再生成して、当該電源がオンになっている記憶装置に記憶する、
ストレージシステム。
【請求項６】
請求項２乃至５のいずれかに記載のストレージシステムであって、
前記分散記憶制御手段は、ストレージシステムの稼働日数と前記分散数とに基づいて記憶装置を決定する、
ストレージシステム。
【請求項７】
情報処理装置に、
データの分散記憶処理の内容を表し、データを分散する記憶装置の数を表す分散数を含むジョブデータを記憶して管理する記憶処理内容管理手段と、
前記ジョブデータに基づいて、記憶するデータを前記分散数の記憶装置に分散して記憶する分散記憶制御手段と、を実現させるプログラムであり、
前記分散記憶制御手段は、前記分散数に基づいて少なくとも前記分散数の記憶装置を決定し、当該決定した記憶装置のみの電源をオンにする、
プログラム。
【請求項８】
請求項７に記載のプログラムであって、
前記分散記憶制御手段は、過去に分散記憶処理を行ったときに前記決定した記憶装置とは異なる組み合わせの記憶装置を決定する、
プログラム。
【請求項９】
データの分散記憶処理の内容を表し、データを分散する記憶装置の数を表す分散数を含むジョブデータを記憶して管理し、
前記ジョブデータに基づいて、記憶するデータを前記分散数の記憶装置に分散して記憶する、分散記憶方法であって、
前記分散数に基づいて少なくとも前記分散数の記憶装置を決定し、当該決定した記憶装置のみの電源をオンにして、前記ジョブデータに基づいて分散記憶処理を行う、
分散記憶方法。
【請求項１０】
請求項９に記載の分散記憶方法であって、
過去に分散記憶処理を行ったときに前記決定した記憶装置とは異なる組み合わせの記憶装置を決定する、
分散記憶方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステムにかかり、特に、データを複数の記憶装置に分散して記憶するストレージシステムに関する。
【背景技術】
【０００２】
近年、ディザスタリカバリ観点による業務データのバックアップ運用が加速しており、それに伴い大容量のストレージ装置の使用台数も増加している。そして、データをバックアップする際には、記憶データの信頼性を高めるべく、冗長性を高め、複数のストレージ装置に分散配置することが行われている。
【０００３】
しかしながら、ストレージ装置は通常のサーバと比べると消費電力が大きく、また、夏季には電力不足の問題も生じるため、企業の各職場や事業場においても省電力需要が高まっている。このため、ストレージ装置の使用電力をいかに削減するかが、バックアップ運用において課題となっている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２７１８２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、ストレージの省電力を実現する技術として、PARAIDがある。この技術は、RAIDを構成する各ディスクのパリティ配置を偏らせることにより、アクティブ状態のディスク数を少なくすることで省電力を実現している。
【０００６】
また、上記特許文献１には、更新されたデータと読み出されたデータを、アドレスの小さい番地から順番に追記する技術が開示されている。これにより、アクセスされないデータがアドレスの小さい方に固まるため、アクセスされないデータを集めたディスク装置を節電モードにしている。
【０００７】
しかしながら、上述した技術のいずれも、特定のディスクに対してのみデータの読み書きが行われるようになってしまう。このため、特定のディスクに対する負荷が高まり、性能が低下したり、寿命が短くなる、といった問題が生じる。
【０００８】
このため、本発明の目的は、上述した課題である、ストレージシステムの省電力化を図りつつ、当該ストレージシステムの性能の低下や短寿命化、といった問題を解決することにある。
【課題を解決するための手段】
【０００９】
本発明の一形態であるストレージシステムは、
データの分散記憶処理の内容を表し、データを分散する記憶装置の数を表す分散数を含むジョブデータを記憶して管理する記憶処理内容管理手段と、
前記ジョブデータに基づいて、記憶するデータを前記分散数の記憶装置に分散して記憶する分散記憶制御手段と、を備え、
前記分散記憶制御手段は、前記分散数に基づいて少なくとも前記分散数の記憶装置を決定し、当該決定した記憶装置のみの電源をオンにする、
という構成をとる。
【００１０】
また、本発明の他の形態であるプログラムは、
情報処理装置に、
データの分散記憶処理の内容を表し、データを分散する記憶装置の数を表す分散数を含むジョブデータを記憶して管理する記憶処理内容管理手段と、
前記ジョブデータに基づいて、記憶するデータを前記分散数の記憶装置に分散して記憶する分散記憶制御手段と、を実現させるプログラムであり、
前記分散記憶制御手段は、前記分散数に基づいて少なくとも前記分散数の記憶装置を決定し、当該決定した記憶装置のみの電源をオンにする、
という構成をとる。
【００１１】
また、本発明の他の形態である分散記憶方法は、
データの分散記憶処理の内容を表し、データを分散する記憶装置の数を表す分散数を含むジョブデータを記憶して管理し、
前記ジョブデータに基づいて、記憶するデータを前記分散数の記憶装置に分散して記憶する、分散記憶方法であって、
前記分散数に基づいて少なくとも前記分散数の記憶装置を決定し、当該決定した記憶装置のみの電源をオンにして、前記ジョブデータに基づいて分散記憶処理を行う、
という構成をとる。
【発明の効果】
【００１２】
本発明は、以上のように構成されることにより、ストレージシステムの省電力化を図りつつ、性能の低下や短寿命化を抑制することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態１におけるバックアップ装置の構成を示す機能ブロック図である。
【図２】図１に開示したジョブテーブルのデータ構造の一例を示す図である。
【図３】図１に開示した切り替え時刻テーブルのデータ構造の一例を示す図である。
【図４】図１に開示したディレクトリ情報テーブルのデータ構造の一例を示す図である。
【図５】図１に開示したバックアップ装置におけるバックアップ時の動作を説明するための説明図である。
【図６】図１に開示したバックアップ装置にて処理されるデータの一例を示す図である。
【図７】図１に開示したバックアップ装置にて処理されるデータの一例を示す図である。
【図８】図１に開示したバックアップ装置にて処理されるデータの一例を示す図である。
【図９】図１に開示したバックアップ装置にて処理されるデータの一例を示す図である。
【図１０】図１に開示したバックアップ装置によるストレージノードの様子を説明するための説明図である。
【図１１】図１に開示したバックアップ装置にて処理されるデータの一例を示す図である。
【図１２】図１に開示したバックアップ装置にて処理されるデータの一例を示す図である。
【図１３】図１に開示したバックアップ装置によるストレージノードの様子を説明するための説明図である。
【図１４】図１に開示したバックアップ装置におけるリストア時の動作を説明するための説明図である。
【図１５】図１に開示したバックアップ装置にて処理されるデータの一例を示す図である。
【図１６】本発明の付記１におけるストレージシステムの構成を示すブロック図である。
【発明を実施するための形態】
【００１４】
＜実施形態１＞
本発明の第１の実施形態を、図１乃至図１５を参照して説明する。図１乃至図４は、バックアップ装置の構成を説明するための図である。図５は、バックアップ装置のバックアップ時の動作を説明するための図である。図６乃至図９は、バックアップ装置にて処理されるデータの一例を示す図である。図１０は、ストレージノードの様子を説明するための図である。図１１乃至図１２は、バックアップ装置にて処理されるデータの一例を示す図である。図１３は、ストレージノードの様子を説明するための図である。図１４は、バックアップ装置のリストア時の動作を説明するための図である。図１５は、バックアップ装置にて処理されるデータの一例を示す図である。
【００１５】
［構成］
本発明におけるバックアップ装置１００は、バックアップ対象装置４０からバックアップ対象となるデータを受けて、当該データを記憶装置に分散記憶するストレージシステムである。また、バックアップ装置１００は、記憶装置に記憶したデータを、リストア先５０となる他の記憶装置にリストアする機能も有する。
【００１６】
具体的に、バックアップ装置１００は、図１に示すように、バックアップサーバ１０と、データを分散冗長配置するグリッド型のストレージノード群２０と、を備えて構成されている。
【００１７】
バックアップサーバ１０は、演算装置を備えた情報処理装置であり、当該演算装置にプログラムが組み込まれることで構築された、バックアップジョブを管理するジョブ管理部１１と、主にストレージノード群２０にデータをWriteする記憶制御部１２と、を備えている。
【００１８】
また、ストレージノード群２０は、複数のストレージノード２１を備えて構成されている。ストレージノード２１は、記憶装置を備えた情報処理装置であり、後述するように、バックアップサーバ１０から分散記憶処理により、バックアップ対象となるデータが分散されて記憶される。ストレージノード２１の名称（識別情報）は、図１に示すように、１台目を「No.0」とし、Ｎ台目を「No.(N-1)」とする。なお、図１の例では、６台（No.0〜No.5）のストレージノード２１を備えている場合を例示しているが、ストレージノード２１の数はこれに限定されず、最少１台のストレージノード２１で構成されてもよい。
【００１９】
ジョブ管理部１１（記憶処理内容管理手段）は、ユーザ３０が登録したバックアップジョブのデータ（ジョブデータ）を格納するジョブテーブル１１ａを有する。ユーザ３０がバックアップサーバ１０にバックアップジョブを登録すると、ジョブテーブル１１ａに新たなレコードとして、バックアップジョブのデータが追加される。ジョブテーブル１１ａは、バックアップジョブによるバックアップ対象データの分散処理の内容を表すデータであり、例えば、図２に示すように構成される。特に、ジョブテーブル１１ａの各レコードには、バックアップ対象データを分散記憶する対象となるストレージノードの数を表す分散ノード数（分散数）を含んでいる。そして、ジョブ管理部１１は、ジョブテーブル１１ａの「次回開始時刻」に沿って、バックアップジョブをスケジュール実行し、記憶制御部１２に実行するジョブのデータを伝達する。
【００２０】
記憶制御部１２は、ジョブ管理部１１からジョブのデータを受け取ると、後述するように、分散ノード数に基づいてWrite先（記憶対象）となるストレージノード２１を決定する。そして、必要に応じてWrite先となるストレージノード２１の電源をON（オン）にした後、バックアップ対象装置４０からバックアップ対象データをReadし（読み込み）、ストレージノード２１に分散してWriteする（記憶する）。このとき、記憶制御部１２が電源をONすることを決定するストレージノード２１は、Write先となるストレージノード２１だけでなく、前回のバックアップでWrite先となっていた最新世代のデータが格納されているストレージノード２１も対象となる。
【００２１】
また、記憶制御部１２は、バックアップを実行する毎に、ストレージノード２１の組み合わせを変更して決定する。ストレージノード２１の組み合わせを決定する具体例については、後の動作説明時に詳述する。
【００２２】
また、記憶制御部１２は、切り替え時刻テーブル１２ａとディレクトリ情報テーブル１２ｂとを持つ。切り替え時刻テーブル１２ａは、ユーザ３０がシステムの初回使用時に登録するデータである１日のうちでバックアップが行われない時間を、システム切り替え時刻として格納しており、例えば、図３に示すように構成される。なお、切り替え時刻テーブル１２ａは、ユーザ任意での新規のレコード追加は行わない。
【００２３】
また、ディレクトリ情報テーブル１２ｂは、バックアップ対象データをストレージノード２１にWriteした後に、ジョブ名やWriteしたデータのストレージノード２１上の格納位置などが新規レコードとして追加される。なお、ディレクトリ情報テーブル１２ｂは、一般的なファイルシステムが持つディレクトリ情報に加えて、図４に示す項目の情報を持つものとする。
【００２４】
［動作］
次に、本実施形態におけるバックアップ装置１によるバックアップ動作及びリストア動作を説明する。なお、この動作説明にて、上述したバックアップ装置１の各構成の機能についても詳細に説明する。
【００２５】
（日次（Daily）バックアップ）
まず、日次（Daily）バックアップつまり毎日のバックアップをスケジュール実行する際の動作について、図５乃至図１０を参照して説明する。なお、この日次バックアップのジョブは、１日で終わるものと仮定する。
【００２６】
まず、ユーザ３０は、１日のうちバックアップが実行されない時間帯（分単位）を、バックアップサーバ１０に対して登録する（図５の矢印Ａ１）。この手順は、バックアップ装置１の初回利用時に必ず行われる。この例では、今回は初回利用時であったと仮定し、例えば、ユーザ３０が「12:00」と入力したとする。その後、バックアップサーバ１０の記憶制御部１２は、図６に示すように、切り替え時刻テーブル１２ａのバックアップ切り替え時刻に「12:00」を入力し、切り替え時刻テーブル１２ａのシステム稼働日数に「0」を入力する。
【００２７】
次に、ユーザ３０は、バックアップサーバ１０にバックアップジョブ（以下、ジョブ）の登録を行う（図５の矢印Ａ２）。ジョブの登録の際、ユーザ３０は、ジョブ一つにつき図７（Ａ）に示す項目のデータを全て入力する。なお、ここでは、ユーザ３０は図７（Ｂ）に示す値をジョブとして入力したとする。その後、バックアップサーバ１０のジョブ管理部１１は、図７（Ｂ）に示す入力された「スケジュール」の時刻と、システムの現在時刻から、「次回開始時刻」を算出する。そして、ジョブ管理部１１は、図７（Ｂ）の入力された情報と算出した「次回開始時刻」とに基づいて、図８（Ａ）に示すように、ジョブテーブル１１ａに新規レコードのジョブを追加する。
【００２８】
ジョブ管理部１１は、毎分、ジョブテーブル１１ａに登録されているジョブの「次回開始時刻」列を参照する。「次回開始時刻」の列にシステムの現在時刻と等しいデータがある場合、そのデータのレコードのバックアップジョブを開始する。図８（Ａ）のジョブテーブル１１ａの例では、「2013/11/11 21:00」にバックアップジョブが開始される。そして、ジョブ管理部１１は、バックアップジョブの開始時に、図８（Ｂ）に示すように、システムの現在時刻をジョブテーブル１１ａの「最終開始時刻」に入力する。また、ジョブ管理部１１は、システムの現在時刻と「ジョブ種別」から、「次回開始時刻」を算出し、ジョブテーブル１１ａの当該「次回開始時刻」項目を上書きする。この例では、「ジョブ種別」が日次（Daily）バックアップであるため、１日後の日時を「次回開始時刻」に上書きする。
【００２９】
その後、ジョブ管理部１１は、ジョブテーブル１１中の実行するジョブのレコードの一部を、記憶制御部１２に伝達する（図５の矢印Ａ３）。ここでは、図８（Ｃ）に示すように、ジョブのレコードから、ジョブ名、ジョブ種別、バックアップ対象データ、分散ノード数、パリティ数、世代、のデータを、記憶制御部１２に伝達する。
【００３０】
記憶制御部１２は、図８（Ｃ）に示すジョブのレコードの一部データを受け取ると、仮想ノードグループを決定する。ここで、決定する仮想ノードグループとは、バックアップ対象データの分散格納処理の際に、電源をONにするストレージノード２１の組み合わせであり、少なくともバックアップ対象データを分散する分散先となる複数のストレージノード２１を含む。なお、仮想ノードグループとして決定されるストレージノード２１は、分散先となるストレージノード２１だけで構成されていてもよく、後述するように、前回のバックアップ時に格納先となっていたストレージノード２１を含んでいてもよい。
【００３１】
具体的に、記憶制御部１２は、図８（Ｃ）に示すジョブのレコードに含まれる「分散ノード数」と、図６に示す切り替え時刻テーブル１２ａの「システム稼働日数」と、を用いて、下記計算式（１）に基づいて、仮想ノードグループを決定する。
【００３２】
仮想ノードグループを決定する計算式（１）は、以下のように、ストレージノード２１の名称（No.）となる数値を算出するよう設定されている。
・計算式（１）
［No.（システム稼働日数％ストレージノード台数），No.（（システム稼働日数＋１）％ストレージノード台数），・・・，No.（（システム稼働日数＋（分散ノード数−１））％ストレージノード台数）］
【００３３】
なお、上記計算式（１）における「％」は、（システム稼働日数）と（分散ノード数：０〜（最大値−１））の和を、（ストレージノード台数）で割ったときの剰余、を表している。従って、初回のバックアップジョブ実行時には、「No.0」〜「No.（分散ノード数−１）」のストレージノード２１の組み合わせが、仮想ノードグループとして決定されることとなる。今回の例では、「分散ノード数」が「３」であるため、図１０の斜線で示すように、「No.0, No.1, No.2」といった３つのストレージノード２１が、仮想ノードグループとして決定される。但し、仮想ノードグループを決定する方法は、上述した計算式（１）であることに限定されず、いかなる方法で決定されてもよい。
【００３４】
記憶制御部１２は、仮想ノードグループが決定すると、仮想ノードグループを構成する各ストレージノード２１に対してアクセスが可能かを確認する。電源がOFF（オフ）であることによりアクセスができないストレージノード２１が存在する場合には、かかるストレージノード２１の電源をONにするよう制御する（図４の矢印Ａ４）。今回の例では、「No.0, No.1, No.2」ストレージノードのみの電源がONになる。なお、記憶制御部１２は、仮想ノードグループとして決定されなかったその他のストレージノードの電源がONである場合には、これらの電源をOFFにしてもよい。
【００３５】
記憶制御部１２は、仮想ノードグループへアクセスができることを確認した後、図８（Ｃ）に示される「バックアップ対象データ」を参照して、バックアップ対象装置４０からデータをReadする（図５の矢印Ａ５）。そして、バックアップ対象データに対して「パリティ数」の値のパリティを付加して、決定した仮想ノードグループ「No.0, No.1, No.2」の各ストレージノード２１に、分散してWriteする（分散冗長配置する）（図５の矢印Ａ６）。このとき、初回のバックアップ時には、仮想ノードグループとして「分散ノード数」のストレージノード２１しか決定されていないため、仮想ノードグループを構成する全てのストレージノード２１を分散記憶の対象としている。
【００３６】
記憶制御部１２は、上述したWrite完了後、図８（Ｃ）に示すレコードの「世代」に「１」を加算し、Writeしたデータの情報を、図９（Ａ）に示すように、ディレクトリ情報テーブル１２ｂに新規レコードとして追加する。なお、このレコードからなるデータは、ディレクトリ情報と呼ばれ、ユーザからの情報閲覧要求に応じて提供される。また、記憶制御部１２は、「Write完了時刻」と「世代」をジョブ管理部１１に返却し、ジョブ管理部１１は、受け取った値を、図９（Ｂ）に示すように、ジョブテーブル１１ａ内の該当レコードの「最終完了時刻」と「世代」に、それぞれ入力する。
【００３７】
続いて、２回目以降となる翌日の日次（Daily）バックアップの動作について説明する。記憶制御部１２は、図６に示す切り替え時刻テーブル１２ａの「バックアップ切り替え時刻」を毎分参照する。そして、現在時刻と「バックアップ切り替え時刻」が等しい場合、切り替え時刻テーブルの「システム稼働日数」に「１」を加算し、また、図９（Ａ）に示すディレクトリ情報テーブル１２ｂの「分散ノード数」列を参照して、「分散ノード数」の最大値を取得する。
【００３８】
記憶制御部１２は、上述した「システム稼働日数」と「分散ノード数」とを用いて、下記計算式（２）に基づいて、新たな仮想ノードグループを決定する。計算式（２）では、以下のように、前回の仮想ノードグループから外して電源をOFFにするストレージノードと、新たに仮想ノードグループに追加して電源をONにするストレージノードと、の名称（No.）となる数値を算出するよう設定されている。
【００３９】
・計算式（２）
電源ON：No.（システム稼働日数＋（分散ノード数−１））％ストレージノード台数
電源OFF：No.（システム稼働日数−２）％ストレージノード台数
【００４０】
なお、上記計算式（２）における「％」は、「（システム稼働日数）と（分散ノード数−１）の和」あるいは「（システム稼働日数）−２」を、（ストレージノード台数）で割ったときの剰余、を表している。従って、前回、仮想ノードグループとして決定され電源がONになっている「No.0, No.1, No.2」の３つのストレージノードに対して、「システム稼働日数」が「１」となったため、上記計算式（２）により新たに「No.3」のストレージノードの電源がONとなる。一方、電源がOFFとなるストレージノードはいずれも該当しない。その結果、前回の組み合わせとは異なる「No.0, No.1, No.2, No.3」の４つのストレージノード２１の組み合わせが、新たな仮想ノードグループとして決定される。
【００４１】
そして、記憶制御部１２は、上述したように電源をON、OFFにすると決定したストレージノード２１に対して、それぞれ電源ON、OFFの操作を行う。上記の場合は、「No.3」のストレージノードの電源ON操作のみを行う。すると、図１０（Ｂ）の斜線に示すように、「No.0, No.1, No.2, No.3」の４つのストレージノード２１の電源がONの状態となる。この場合、新たに追加された「No.3」と、番号が大きい「No.1」「No.2」の３つのストレージノードのみが分散記憶の対象となる。一方、「No.0」のストレージノードは、分散記憶の対象とはならないが、前回の分散記憶の対象となっていたため、最新世代のデータが記憶されている。このため、「No.0」のストレージノードの電源をONにしておくことで、即時にデータをReadすることができる。
【００４２】
なお、さらに次の日は、「システム稼働日数」が「２」となるため、図１０（Ｃ）の斜線に示す前回とは異なる組み合わせである「No.1, No.2, No.3, No.4」の４つのストレージノード２１が、仮想ストレージノードとして決定される。つまり、「No.4」のストレージノードの電源がONになり、「No.0」のストレージノードの電源がOFFとなる。そして、新たに追加された「No.4」と、番号が大きい「No.2」「No.3」の３つのストレージノードのみが分散記憶の対象となり、「No.1」のストレージノードは、最新世代のデータのReadのために電源がONの状態となっている。
【００４３】
以上のように、本実施形態では、一日ごとに値が１ずつ加算される「システム稼働日数」を含めた上記計算式（２）で、電源ONのストレージノードと、電源OFFのストレージノードを決定することにしている。これにより、一日ずつ、仮想ノードグループを構成するストレージノードの組み合わせがローテーションされることとなり、各ストレージノードに記憶されるデータの容量を均一化しつつ、省電力化を図ることができる。その結果、特定のストレージノードに負荷が集中することを抑制することができ、ストレージシステムにおける性能の低下や寿命の短命化を抑制することができる。
【００４４】
これに加え、本実施形態では、最新世代のデータを記憶しているストレージノードも仮想ノードグループに含めて電源をONにしている。これにより、省電力化を図りつつ、即時に最新世代のデータをReadすることができる。なお、仮想ノードグループを決定する方法は、上述した計算式（２）を用いることに限定されず、いかなる方法で決定されてもよい。
【００４５】
（週次（Weekly）バックアップ）
次に、週次（Weekly）バックアップつまり週に１度のバックアップをスケジュール実行する際の動作について、図５、及び、図１１乃至図１２を参照して説明する。ここでは、上述した日次バックアップの翌日に、週次バックアップを登録し、スケジュール実行する処理を例に挙げて説明する。そのため、図５の矢印Ａ１に示すバックアップが実行されない時間帯の登録は行われない。なお、本説明でのバックアップジョブは、１日で終わるものと仮定する。
【００４６】
ユーザ３０は、バックアップサーバ１０にジョブの登録を行う（図５の矢印Ａ２）。登録の際、ユーザ３０は、ジョブ一つにつき、図７（Ａ）に示す項目を全て入力する。なお、登録されたジョブがジョブテーブル１１ａに新規レコードとして追加された場合の一例を、図１１（Ａ）の３行目に示す。
【００４７】
その後、ジョブの「次回開始時刻」に従い、「2013/11/12 23:30」にバックアップジョブが開始される。すると、ジョブ管理部１１は、図１１（Ｂ）に示すように、実行するジョブのジョブテーブル１１ａのレコードの一部を、記憶制御部１２に伝達する（図５の矢印Ａ３）。
【００４８】
記憶制御部１２は、図１１（Ｂ）に示すデータを受け取り、この中の「分散ノード数」と、図１１（Ｃ）に示す切り替え時刻テーブル１２ａの「システム稼働日数」を参照して、Write先のストレージノードの組み合わせである仮想ノードグループを決定する。このとき、上述した計算式（１）を用いることで、今回の例では、「No.1, No.2, No.3」の３つのストレージノード２１が、仮想ノードグループとして決定される。
【００４９】
記憶制御部１２は、これらの仮想ノードグループにアクセス可能かを確認し、アクセスができないストレージノード（電源がOFFのノード）が存在する場合、当該ストレージノードの電源をONにする（図５の矢印Ａ４）。これにより、仮想ノードグループとして決定されたストレージノードのみの電源をON状態とする。なお、今回の例では、新たに電源がONになるノードは存在しない。
【００５０】
その後、記憶制御部１２が、図１１（Ｂ）に示す「バックアップ対象データ」を参照して、バックアップ対象装置４０からデータをReadする（図５の矢印Ａ５）。そして、バックアップ対象データにパリティ数の値のパリティを付加して、先ほど算出した仮想ノードグループを構成する「No.1, No2, No3」の各ストレージノードにWrite（分散冗長配置）する（図５の矢印Ａ６）
【００５１】
Write完了後、図１１（Ｂ）に示す「世代」に「１」を加算し、Writeしたデータの情報を、図１２（Ａ）に示すように、ディレクトリ情報テーブル１２ｂに新規レコードとして追加する。記憶制御部１２は、「Write完了時刻」と「世代」をジョブ管理部１１に返却し、ジョブ管理部１１は、受け取った値を、図１２（Ｂ）に示すように、ジョブテーブル１１ａの「最終完了時刻」と「世代」にそれぞれ入力する。
【００５２】
なお、記憶制御部１２は、週次データのパリティ再生成が必要な場合、パリティ再生成の処理を行う。これは、週次データのWrite（バックアップ）の実行が週に一度のため、上述した電源ON、電源OFFのストレージノードのローテーションにより、最新世代の週次データをWriteしたストレージノードの電源がOFFになる場合があることによる。つまり、仮に最新の週次データが電源ONノードにない場合には、データの即時Readができなくなるためである。かかる処理について、図１３を参照して説明する。
【００５３】
まず、上記の例では、週次データがWriteされた際の「システム稼働日数」は「１」であり、データをWriteした仮想ノードグループは、図１３（Ａ）の斜線に示すように、「No.1, No2, No,3」である。その後、「システム稼働日数」が「３」となったときには、図１３（Ｃ）の斜線に示すように、「No.1」のストレージノードの電源がOFFとなり、「No.5」のストレージノードが電源ONになる。このとき、記憶制御部１２は、図１２（Ａ）に示すディレクトリ情報テーブル１２ｂの「ジョブ種別」列と「仮想ノードグループ」列を参照し、「ジョブ種別」が「Weekly」かつ、先ほど電源OFFにしたストレージノードが「仮想ノードグループ」に含まれているデータを探す。該当するデータが存在した場合、電源OFFにしたストレージノード上の当該データのパリティを、電源ONにしたノードに再生成する。図１２（Ａ）の例では、「Job02」が該当するため、「Job02」のデータがWriteされていて新たに電源がOFFになった「No.1」のストレージノードに格納されているデータのパリティを、新たに電源ONとなったNo.5のストレージノードに再生成する（図１３（Ｃ）の矢印参照）。このとき、他の電源がONになっているストレージノードに記憶されているデータを用いて、ストレージノード「No.1」に記憶されているデータを再生する。あるいは、ストレージノード「No.1」に記憶されているデータをそのままストレージ「No.5」に移動してもよい。
【００５４】
（リストア）
次に、ストレージノード群２０からバクアップデータをリストアするときの動作について、図１４乃至図１５を参照して説明する。なお、ここでは、上述した日次バックアップのデータをリストアする処理を例に挙げて説明する。
【００５５】
まず、ユーザ３０は、バックアップサーバ１０に、図１５（Ａ）に示す項目を全て入力する（図１４の矢印Ｂ１）。例えば、ユーザ３０は、図１５（Ｂ）に示す値を入力したとする。その後、バックアップサーバ１０の記憶制御部１２は、図１５（Ｂ）に示すデータの「ジョブ名」と「世代」について、ディレクトリ情報テーブル１２ｂを検索して、該当するデータを探す。
【００５６】
記憶制御部１２は、データが見つかったら、ディレクトリ情報テーブル１２ｂの「仮想ノードグループ」と「データ格納位置」を参照して、リストア対象のバックアップデータの格納位置を特定し、ストレージノード群２０からデータをReadする（図１４の矢印Ｂ２）。なお、この際、Readするバックアップデータが格納されているストレージノードにアクセスが出来なかった場合（電源OFFの場合）、当該ストレージノードの電源をONにして、その後バックアップデータのReadを行う。
【００５７】
データのRead後、図１５（Ｂ）に示すように、ユーザ３０が入力したリストア先５０に、データをリストアする（図１４の矢印Ｂ３）。その後、上述した処理で電源をONにしたストレージノードがあれば、かかるストレージノードの電源をOFFにする。
【００５８】
ここで、上記では、バックアップサーバとグリッド型のストレージが一体となったバックアップ装置を説明したが、バックアップサーバの部分を汎用のバックアップサーバで代用することも可能である。その場合、バックアップサーバからストレージノードへバックアップ実行の命令を送る際に、バックアップ対象データや分散ノード数、パリティ数などの情報をスクリプトで受け渡すようにするなどの実装が考えられる。また、その場合、記憶制御部１２のディレクトリ情報テーブル１２ｂと切り替え時刻テーブル１２ａを、各ストレージノードにコピーして配置する必要がある。
【００５９】
なお、新規のデータWriteと最新世代のデータReadの即時性が求められない場合、データのWrite/Read時にのみストレージノードの電源を立ち上げることで、更なるストレージノードの消費電力の削減が期待できる。
【００６０】
また、上記では、バックアップが１日で終わることを仮定しているが、切り替え時刻テーブル１１ａのバックアップ切り替え時刻を２日おきなどと設定することで、２日以上のバックアップにも対応することが可能である。これに伴い、計算式（１），（２）を適宜変更してもよい。
【００６１】
＜付記＞
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明におけるストレージシステム（図１６参照）、プログラム、分散記憶方法の構成の概略を説明する。但し、本発明は、以下の構成に限定されない。
【００６２】
（付記１）
データの分散記憶処理の内容を表し、データを分散する記憶装置の数を表す分散数を含むジョブデータを記憶して管理する記憶処理内容管理手段１０１と、
前記ジョブデータに基づいて、記憶するデータを前記分散数の記憶装置１１０に分散して記憶する分散記憶制御手段１０２と、を備え、
前記分散記憶制御手段１０２は、前記分散数に基づいて少なくとも前記分散数の記憶装置を決定し、当該決定した記憶装置のみの電源をオンにする、
ストレージシステム１００。
【００６３】
（付記２）
付記１に記載のストレージシステムであって、
前記分散記憶制御手段は、過去に分散記憶処理を行ったときに前記決定した記憶装置とは異なる組み合わせの記憶装置を決定する、
ストレージシステム。
【００６４】
（付記３）
付記２に記載のストレージシステムであって、
前記分散記憶制御手段は、前回に分散記憶処理を行ったときに前記決定した記憶装置のうち、分散記憶の対象となった記憶装置を含み、かつ、当該決定した記憶装置とは異なる組み合わせの記憶装置を決定して、当該決定した記憶装置の電源をオンにし、当該決定した記憶装置のうち前記分散数の記憶装置に対して分散記憶処理を行う、
ストレージシステム。
【００６５】
（付記４）
付記３に記載のストレージシステムであって、
前記分散記憶制御手段は、前回に分散記憶処理を行ったときに電源をオンにしている記憶装置のうち、分散記憶の対象となっていなかった記憶装置の電源をオフにし、分散記憶の対象となっていた記憶装置の電源をオンにしたまま、当該分散記憶の対象となっていた記憶装置と、当該記憶装置とは異なる他の記憶装置と、の組み合わせの記憶装置を決定して当該他の記憶装置の電源をオンにし、当該電源がオンになっている記憶装置のうち、前記他の記憶装置を含む前記分散数の記憶装置に対して分散記憶処理を行う、
ストレージシステム。
【００６６】
（付記５）
付記３又は４に記載のストレージシステムであって、
前記分散記憶制御手段は、前回に分散記憶処理を行ったときに分散記憶の対象となっていた記憶装置が決定されずに電源がオフになった場合、当該記憶装置に対して分散記憶されたデータを、電源がオンになっている記憶装置に記憶されているデータから再生成して、当該電源がオンになっている記憶装置に記憶する、
ストレージシステム。
【００６７】
（付記６）
付記２乃至５のいずれかに記載のストレージシステムであって、
前記分散記憶制御手段は、ストレージシステムの稼働日数と前記分散数とに基づいて記憶装置を決定する、
ストレージシステム。
【００６８】
上記発明によると、ジョブデータに含まれる分散数に基づく数の記憶装置のみの電源がオンとなり、データが分散して記憶される。このとき、ジョブデータ毎に含まれる分散数に応じて電源がオンとなる記憶装置が決定されるため、分散記憶する対象となる記憶装置が固定されることがない。特に、分散記憶する記憶装置の組み合わせがローテーションされるよう適宜変更することにより、省電力化を図りつつ、特定の記憶装置に対するデータの書き込みや読み込みが集中することを防止して、各記憶装置に記憶されるデータの容量を均一化できる。その結果、省電力化を図りつつ、ストレージシステムにおける性能の低下や寿命の短命化を抑制することができる。
【００６９】
さらに、電源をオンにする記憶装置に、前回の分散処理の際に分散記憶の対象となった記憶装置を含めることで、省電力を図りながら、最新のデータの読み込みも高速に行うことができる。また、前回の分散処理の際に分散記憶の対象となった記憶装置の電源がオフであっても、当該記憶装置に記憶されているデータを、電源がオンである記憶装置から再生成することで、上述同様に、省電力を図りながら、最新のデータの読み込みも高速に行うことができる。
【００７０】
（付記７）
情報処理装置に、
データの分散記憶処理の内容を表し、データを分散する記憶装置の数を表す分散数を含むジョブデータを記憶して管理する記憶処理内容管理手段と、
前記ジョブデータに基づいて、記憶するデータを前記分散数の記憶装置に分散して記憶する分散記憶制御手段と、を実現させるプログラムであり、
前記分散記憶制御手段は、前記分散数に基づいて少なくとも前記分散数の記憶装置を決定し、当該決定した記憶装置のみの電源をオンにする、
プログラム。
【００７１】
（付記８）
付記７に記載のプログラムであって、
前記分散記憶制御手段は、過去に分散記憶処理を行ったときに前記決定した記憶装置とは異なる組み合わせの記憶装置を決定する、
プログラム。
【００７２】
（付記９）
データの分散記憶処理の内容を表し、データを分散する記憶装置の数を表す分散数を含むジョブデータを記憶して管理し、
前記ジョブデータに基づいて、記憶するデータを前記分散数の記憶装置に分散して記憶する、分散記憶方法であって、
前記分散数に基づいて少なくとも前記分散数の記憶装置を決定し、当該決定した記憶装置のみの電源をオンにして、前記ジョブデータに基づいて分散記憶処理を行う、
分散記憶方法。
【００７３】
（付記１０）
付記９に記載の分散記憶方法であって、
過去に分散記憶処理を行ったときに前記決定した記憶装置とは異なる組み合わせの記憶装置を決定する、
分散記憶方法。
【００７４】
（付記１１）
付記１０に記載の分散記憶方法であって、
前回に分散記憶処理を行ったときに前記決定した記憶装置のうち、分散記憶の対象となった記憶装置を含み、かつ、当該決定した記憶装置とは異なる組み合わせの記憶装置を決定して、当該決定した記憶装置の電源をオンにし、当該決定した記憶装置のうち前記分散数の記憶装置に対して分散記憶処理を行う、
分散記憶方法。
【００７５】
（付記１２）
付記１１に記載の分散記憶方法であって、
前回に分散記憶処理を行ったときに電源をオンにしている記憶装置のうち、分散記憶の対象となっていなかった記憶装置の電源をオフにし、分散記憶の対象となっていた記憶装置の電源をオンにしたまま、当該分散記憶の対象となっていた記憶装置と、当該記憶装置とは異なる他の記憶装置と、の組み合わせの記憶装置を決定して当該他の記憶装置の電源をオンにし、当該電源がオンになっている記憶装置のうち、前記他の記憶装置を含む前記分散数の記憶装置に対して分散記憶処理を行う、
分散記憶方法。
【００７６】
（付記１３）
付記１１又は１２に記載の分散記憶方法であって、
前回に分散記憶処理を行ったときに分散記憶の対象となっていた記憶装置が決定されずに電源がオフになった場合、当該記憶装置に対して分散記憶されたデータを、電源がオンになっている記憶装置に分散記憶されているデータから再生成して、当該電源がオンになっている記憶装置に記憶する、
分散記憶方法。
【００７７】
なお、上述したプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されている。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
【００７８】
以上、上記実施形態等を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることができる。
【符号の説明】
【００７９】
１  バックアップ装置
１０  バックアップサーバ
１１  ジョブ管理部
１１ａ  ジョブテーブル
１２  記憶制御部１２
１２ａ  切り替え時刻テーブル
１２ｂ  ディレクトリ情報テーブル
２０  ストレージノード群
２１  ストレージノード
１００  ストレージシステム
１０１  記憶処理内容管理手段
１０２  分散記憶制御手段
【図１】
2015176279.tif 000003
【図２】
2015176279.tif 000004
【図３】
2015176279.tif 000005
【図４】
2015176279.tif 000006
【図５】
2015176279.tif 000007
【図６】
2015176279.tif 000008
【図７】
2015176279.tif 000009
【図８】
2015176279.tif 000010
【図９】
2015176279.tif 000011
【図１０】
2015176279.tif 000012
【図１１】
2015176279.tif 000013
【図１２】
2015176279.tif 000014
【図１３】
2015176279.tif 000015
【図１４】
2015176279.tif 000016
【図１５】
2015176279.tif 000017
【図１６】
2015176279.tif 000018