(57)【特許請求の範囲】
【請求項１】
管理サーバと、複数のストレージ装置とを有するストレージシステムであって、前記ストレージシステムに含まれる各ストレージ装置のデータが、前記ストレージシステムに含まれる1以上の他のストレージ装置に複製データとして複製され、前記管理サーバが、前記ストレージシステムに含まれるストレージ装置の組合せ毎に、前記ストレージ装置間でのデータの複製における保護の強さを示す、データ複製中にデータが損失する確率を値「１」から減算した値に、複製される前記データの量を乗算した値を、データ保護重みとして設定されたデータ保護重みテーブルを有するストレージシステムにおけるデータの移行方法であって、
前記管理サーバが、
前記ストレージ装置に格納されているそれぞれの前記複製データの移行先である移行複製先ストレージ装置を決定し、
全ての前記複製データを対応する移行複製先ストレージ装置に移行させるための1以上のステップであって、各ステップにおいて、前記ストレージシステムに含まれるストレージ装置間で1以上の複製データが複製されるステップを設定し、
前記ステップのそれぞれを設定することは、前記管理サーバが、
それぞれの前記複製データを保持しているストレージ装置と、それぞれの前記複製データの複製先となる複製先ストレージ装置との組む合わせ群であって、
当該ステップの前の段階における組合せ群よりも、複製先ストレージ装置が、対応する複製データの移行複製先ストレージ装置と一致する数が多く、
且つ、当該ステップの前の段階における組合せ群よりも、それぞれの組合せに対応する前記複製データの複製における前記データ保護重みの合計が大きい組合せ群を決定する、ことを含むストレージシステムの移行方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステムの移行方法およびプログラムに関するものである。
【背景技術】
【０００２】
ストレージシステムのデータ保護に関して、特許文献１には、地理的に分散したサイトに設置されたストレージ装置について、津波のような災害に対するデータ喪失リスクを定量評価し、リスクの低いサイトを見出すことで、災害に対して安全なサイトにデータを選択的に複製する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国公開特許２０１３／０２９０６２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示された技術を用いれば、データの複製先として安全なサイトを特定できる。一方、ストレージシステムは運用が開始された後に、より安全なサイトを見出せる場合、例えば、安全なサイトが追加して設置された場合や、安全なサイトのストレージ容量が拡張された場合などがあり、そのサイトに複製データを移行することが望ましい。
【０００５】
これに対し、移行の途中で災害が発生する可能性もあり、特許文献１には複製データの安全な移行に関する技術は開示されていない。
【０００６】
そこで、本発明の目的は、ストレージシステムのデータを安全に移行することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明の代表的なストレージシステムの移行方法は、管理サーバを有し、異なるストレージ装置に元データと前記元データの複製データを格納させる、ストレージシステムの移行方法において、前記管理サーバが、前記ストレージシステムのストレージ装置の空き容量を算出し、前記算出した空き容量が前記複製データの容量以上のストレージ装置を候補として特定し、前記候補として特定されたストレージ装置と、前記元データが格納されるストレージ装置との組み合わせを特定し、前記特定された組み合わせのデータ保護重みの値の総和を算出し、前記算出した総和が所定の値を超える場合、前記特定された組み合わせを、中継複製先として、登録することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ストレージシステムのデータを安全に移行できる。
【図面の簡単な説明】
【０００９】
【図１】ストレージシステムの構成の例を示す図である。
【図２】ストレージ構成管理テーブルの例を示す図である。
【図３】データ保護重み管理テーブルの例を示す図である。
【図４】複製構成管理テーブルの例を示す図である。
【図５】複製先決定プログラムの例を示すフローチャートである。
【図６】複製計画プログラムの例を示すフローチャートである。
【図７】実施例２における複製構成管理テーブルの例を示す図である。
【図８】実施例２における容量調整・複製計画プログラムの例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら本発明の実施の形態を説明する。なお、以下の説明では、「管理テーブル」等の表現にて各種情報を説明することがあるが、各種情報は、テーブル以外のデータ構造で表現されていてもよい。また、データ構造に依存しないことを示すために「管理テーブル」を「管理情報」と呼ぶことができる。
【００１１】
また、「プログラム」を主語として処理を説明する場合がある。そのプログラムは、プロセッサ、例えば、ＭＰ（Micro Processor）やＣＰＵ（Central Processing Unit）によって実行されるものであって、定められた処理をするものである。なお、処理は、適宜に記憶資源（例えばメモリ）および通信インターフェース装置（例えば、通信ポート）を用いながら行われるため、処理の主語がプロセッサとされてもよい。
【００１２】
プロセッサは、ＭＰやＣＰＵの他に専用ハードウェアを有していてもよい。コンピュータプログラムは、プログラムソースから各コンピュータにインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバ又は記憶メディアなどで提供されるものであってもよい。
【００１３】
また、各要素、例えばテーブルなどは番号などで識別可能であるが、識別可能な情報であれば、番号以外に名前など他種の識別情報が用いられてもよい。以下の説明および図において同一部分には同一符号を付与しているが、本発明が本実施例に制限されることは無く、本発明の思想に合致するあらゆる応用例が本発明の技術的範囲に含まれる。また、特に限定しない限り、各構成要素は複数でも単数でも構わない。
【実施例１】
【００１４】
＜中継複製先の生成＞
以下、本発明を実施するための実施例１について図１から図６を参照して説明する。実施例１では、互いに複製（レプリカ）データを既に格納し合っている３台のストレージからなるストレージシステムに、新たに１台のストレージが加えられて、４台のストレージの複製先が見直され、移行される。
【００１５】
図１は、ストレージシステム１００の構成の例を示すブロック図である。ストレージシステム１００は、３台以上のストレージ１０１ａ〜１０１ｎ（以下、任意の１台を代表してストレージ１０１とする）と管理サーバ１０２で構成する。管理サーバ１０２は、ＣＰＵ１０６と、メモリ１０７と、管理ネットワーク１０５に接続するためのインターフェース１０８（以下、運用Ｉ／Ｆ１０８とする）と、管理コンソール１０３に接続するためのインターフェース１０９（以下、コンソールＩ／Ｆ１０９とする）とから構成される。
【００１６】
メモリ１０７には、ストレージ構成管理テーブル１１０と、データ保護重み管理テーブル１１１と、複製構成管理テーブル１１２と、複製先決定プログラム１１３と、複製計画プログラム１１４と、複製制御プログラム１１５、容量調整・複製計画プログラム１１６とが格納されており、ＣＰＵ１０６がこれらのプログラムを実行する。なお、容量調整・複製計画プログラム１１６は実施例２で説明する。
【００１７】
管理ネットワーク１０５は、管理サーバ１０２がストレージ１０１を管理するためのネットワークであり、Ethernet（登録商標）などが好適である。データネットワーク１０４は複数のストレージ１０１の間でデータを転送するためのネットワークであり、Ethernet、ファイバーチャネル、インターネットなどが好適である。なお、データネットワーク１０４は管理ネットワーク１０５と同一のネットワークであってもよい。
【００１８】
ストレージ１０１ａ〜１０１ｎのそれぞれを特定するため、各ストレージ１０１にはＩＤが付与されている。図１の例ではストレージ１０１ａに「ストレージＡ」というＩＤが付与されている。以下では、ストレージＡというＩＤの付与されたストレージ１０１ａを表すため、便宜的にストレージＡと記載することもある。
【００１９】
ストレージ１０１は、図示を省略したＣＰＵと、メモリと、データを格納するボリュームと、管理ネットワーク１０５に接続するためのインターフェース（運用Ｉ／Ｆ）と、データネットワーク１０４に接続するためのインターフェース（データＩ／Ｆ）とから構成される。
【００２０】
ストレージ１０１の有するメモリには複製プログラムが配置されており、ストレージ１０１の有するＣＰＵが複製プログラムを実行する。複製プログラムは、他のストレージ１０１の複製プログラムとデータネットワーク１０４を介して通信し、ボリュームに格納されたデータを他のストレージ１０１に複製する。データの複製単位は、ボリューム単位、ブロック単位、ファイル単位、オブジェクト単位などである。
【００２１】
なお、メモリ１０７に格納された各テーブルおよび各プログラムが、ストレージ１０１の有するメモリに格納され、この格納された各プログラムをストレージ１０１の有するＣＰＵが実行する構成であってもよい。
【００２２】
以下、ストレージシステム１００が３台のストレージ１０１で構成されており、各ストレージ１０１のデータ冗長度が２であるときに（すなわち、各ストレージ１０１が格納するデータの複製が１つずつ作成済みのときに）、新しく１台のストレージ１０１が追加されることで得られる新しい複製先に、データを移行する動作について説明する。
【００２３】
図２は、ストレージ構成管理テーブル１１０の例を示す図である。ストレージ構成管理テーブル１１０は、少なくとも、ストレージ１０１を特定するＩＤ２００と、各ストレージ１０１が格納するデータ量２０１と、各ストレージ１０１が複製データを格納するための空き容量２０２と、各ストレージ１０１が格納するデータの冗長度２０３と、各ストレージ１０１にアクセスするために必要なＩＰアドレス２０４と、を有する。
【００２４】
なお、ＩＤ２００の情報として図２の例では「ストレージＡ」「ストレージＢ」「ストレージＣ」「ストレージＤ」としたが、他の表現の情報であってもよい。また、ＩＤ２００はストレージ１０１の単位ではなく、ボリューム単位などで特定される情報であってもよい。
【００２５】
さらに、ＩＰアドレス２０４は、各ストレージ１０１の有する運用Ｉ／ＦのＩＰアドレスを例として示すが、ネットワークの構成に応じて、例えば、各ストレージ１０１の有するデータＩ／Ｆであってもよいし、両方を含んでもよい。また、ネットワークがファイバーチャネルで構成されている場合は、ＷＷＮ（World Wide Name）を含んでもよい。ストレージ管理テーブル１１０は、以下で説明する複製に先立ち、管理コンソール１０３を使って、管理者により作成される。
【００２６】
図３は、データ保護重み管理テーブル１１１の例を示す図である。データ保護重み管理テーブル１１１は、少なくとも、複製元３００と、複製先３０１と、それらの組み合わせそれぞれに対する値であるデータ保護重み３０２と、を有する。
【００２７】
データ保護重み３０２は、災害に対するデータ保護の強さを示す数値である。データ保護重み３０２は、各ストレージ１０１の災害リスクと、各ストレージ１０１のデータ量と、から計算される。災害リスクは、例えば、地震や津波などの災害により、複製元３００と複製先３０１のストレージ１０１が同時に損壊し、その格納データを喪失する確率である。
【００２８】
このとき、複製元３００のストレージＡ〜Ｄが複製先３０１のストレージＡ〜Ｄへ行う複製のデータ保護重み３０２は、値「１」からそれらのストレージＡ〜Ｄの間のデータを喪失する確率を減算した値に、複製元３００のストレージＡ〜Ｄが格納するデータ量を乗算することで得られる。ここで、複製元３００のストレージＡ〜Ｄが格納するデータ量の代わりに、複製元３００のストレージＡ〜Ｄのデータが格納されるボリュームのサイズとしてもよく、ボリュームのサイズは格納されるデータ量に非依存の容量としてもよい。
【００２９】
図３の例では、ストレージＡからストレージＢにデータを複製した場合、そのデータを喪失する確率は「０．１」であり、ストレージＡのデータ量が「１」であることから、データ保護重みは「０．９」である。また、ストレージＢからストレージＣにデータを複製した場合、そのデータを喪失する確率は「０．２」であり、ストレージＢのデータ量が「１」であることから、データ保護重みは「０．８」である。データ保護の観点ではストレージＡからストレージＡへの複製は意味がないため、そのデータ保護重みの値は定義なし「−」とする。
【００３０】
データ保護重み管理テーブル１１１は、複製を実行する前、事前に作成されて設定されるものとする。データ保護重み管理テーブル１１１の作成に必要な災害リスクは、例えば、実際の地震や津波の被害に関する統計的情報から、被害確率を算定されてもよいし、既存の地震モデルや津波モデルを用いて算定されてもよいし、数値シミュレータを用いて算定されてもよい。そして、これら算定された災害リスクに基づき、データ保護重み管理テーブル１１１が管理コンソール１０３から設定されてもよい。
【００３１】
なお、複製元３００の項目と複製元３０１の項目は、ストレージ１０１の全てを含んでもよいし、一部だけを含んでもよい。
【００３２】
図４は、複製構成管理テーブル１１２の例を示す図である。複製構成管理テーブル１１２は、少なくとも、複製元のストレージ１０１のＩＤである複製元４００と、その格納データの現在の複製先のストレージ１０１のＩＤを示す現在の複製先４０１と、その格納データの次のステップでの複製先のストレージ１０１のＩＤを示す中継複製先４０２と、その格納データの複製が最終的に格納されるべきストレージ１０１のＩＤを示す移行複製先４０４と、を有する。中継複製先４０２は、図４に示すように、中継複製先４０２ａ、中継複製先４０２ｂなど複数のフィールドを構成してもよい。
【００３３】
ストレージシステム１００が複製先を決定した後、管理コンソール１０３は、複製構成管理テーブル１１３を表示し、修正を受け付けることができる。例えば、管理者が管理コンソール１０３を操作し、複製先に問題がないかを確認したり、特別な要件にあわせて調整したりすることができる。
【００３４】
なお、図４の例では、複製元４００と、現在の複製先４０１と、中継複製先４０２と、移行複製先４０３として、ストレージ１０１のＩＤ２００と同じ情報を含んでいるが、ストレージ１０１のＩＰアドレス２０４であってもよい。また、図４の例では、中継複製先４０２を２組（２列）だけ含んでいるが、３組（３列）以上の複数組を含んでもよい。
【００３５】
また、ここで現在とは、移行元４００から最初の複製先へ複製されて所定の冗長度が確保された時点であり、次に説明する複製先決定プログラム１１３により決定される現在の複製先４０１へ複製された時点である。複製先決定プログラム１１３は、データ移行のための複製計画処理と、それを用いたデータ複製の実行前に、移行複製先を決定する複製先決定処理を行う。
【００３６】
図５は、複製構成管理テーブル１１２の現在の複製先４０１および移行複製先４０３を決定する手順の例を示すフローチャートである。現在の複製先４０１を決定する手順と移行複製先４０３を決定する手順とは同一であるので、図５を用いた説明の複製先とは現在の複製先４０１か移行複製先４０３のいずれかである。
【００３７】
複製先決定処理が開始されると、複製先決定プログラム１１３は、まず、データ保護重み管理テーブル１１１を読み込む（Ｓ５０１）。次に、実行可能な全ての組み合わせに対し、そのデータ保護重みの和を計算する。（Ｓ５０２）。ここで、実行可能とは、全てのストレージ１０１について、ストレージ構成管理テーブル１１０の空き容量２０２が不足することなく、データが冗長度２０３と等しい数だけシステム内に存在するようデータを複製することである。
【００３８】
最後に、複製構成管理テーブル１１２の複製先に、最良の組み合わせのストレージのＩＤを書き込み（Ｓ５０３）、複製先を決定する複製先決定処理が終了する。ここで、最良の組み合わせとは、データ保護重みの和が最大となる組み合わせを示す。現在の複製先４０１と移行複製先４０３の決定のために、以上の手順はそれぞれ１度ずつ実行される。
【００３９】
この例において、現在の複製先４０１を決定するとき、ストレージ１０１のうちＩＤがストレージＡ、ストレージＢ、ストレージＣであるストレージ１０１だけがシステムに登録されている。したがって、Ｓ５０１において読み込むデータ保護重み管理テーブル１１１には、ストレージＤは存在せず、複製元にも複製先にもならない。
【００４０】
Ｓ５０２で、複製先決定プログラム１１３は、２つの実行可能な組み合わせを得る。第１の組み合わせは、ストレージＡがストレージＢに、ストレージＢがストレージＣに、ストレージＣがストレージＡに、それぞれデータを複製する組み合わせである。このときのデータ保護重みの和は、０．９＋０．８＋０．８＝２．５である。第２の組み合わせは、ストレージＡがストレージＣに、ストレージＢがストレージＡに、ストレージＣがストレージＢに、それぞれデータを複製する組み合わせである。このときのデータ保護重みの和は、０．５＋０．９＋０．５＝１．９である。
【００４１】
Ｓ５０３で、複製先決定プログラム１１３は、データ保護重みの和が大きい（つまり、安全な）組み合わせである第１の組み合わせを最良と判定し、複製構成管理テーブル１１２の現在の複製先４０１に書き込む。
【００４２】
また、この例において移行複製先４０３を決定するとき、ストレージ１０１のうちＩＤがストレージＡ、ストレージＢ、ストレージＣ、ストレージＤであるストレージ１０１がシステムに登録されている。したがって、Ｓ５０２で、複製先決定プログラム１１３は、９つの実行可能な組み合わせを得て、それぞれの組み合わせについてデータ保護重みの和を計算する。Ｓ５０３で、複製先決定プログラム１１３は、ストレージＡがストレージＢに、ストレージＢがストレージＡに、ストレージＣがストレージＤに、ストレージＤがストレージＣに、それぞれデータを複製する組み合わせ（データ保護重みの和が３．５となる組み合わせ）を最良と判定し、複製構成管理テーブル１１２の移行複製先４０３に書き込む。
【００４３】
図６は、複製構成管理テーブル１１２の中継複製先４０２を決定する手順の例を示すフローチャートである。複製計画処理が開始されると、複製計画プログラム１１４は、現在の複製先４０１を処理対象に設定する（Ｓ６０１）。このＳ６０１で複製計画プログラム１１４は、複製構成管理テーブル１１２の現在の複製先４０１のＩＤを読み込む。ここで、処理対象は現在の複製先４０１であるが、以下で説明する処理の中で処理対象は順次変更されるため、単に処理対象の複製先と記載する。
【００４４】
次に、複製計画プログラム１１４は、移行複製先４０３に近づく複製先の組み合わせＡを作成する（Ｓ６０２）。このＳ６０２で、まず、複製計画プログラム１１４は、処理対象の複製先に複製データが格納された場合に、各ストレージ１０１がもつ空き容量を算出する。次に、複製計画プログラム１１４は、その空き容量を使って、処理対象の複製先と移行複製先４０３との差を小さくする組み合わせの候補を作成する。
【００４５】
なお、移行複製先４０３に近づく複製先や、対象の複製先と移行複製先４０３との差が小さいとは、処理対象の複製先のストレージ１０１と移行複製先４０３のストレージ１０１とが同じである移行元４００のストレージ１０１の台数が多いことである。
【００４６】
例えば、処理対象の複製先を現在の複製先４０１とした場合、図４に示すように、移行元４００のストレージＡに対して、現在の複製先４０１のストレージＢと移行複製先４０３のストレージＢと同じであり、移行元４００のストレージＢに対して、現在の複製先４０１のストレージＣと移行先複製先４０３のストレージＡとは異なる。このため、移行元４００のストレージＡとストレージＢの２台に限ってみると、処理対象の複製先のストレージ１０１と移行複製先４０３のストレージ１０１とが同じである移行元４００のストレージ１０１の台数は１台となる。このストレージＡのようなストレージ１０１の台数の多い状態が、差の小さい状態である。
【００４７】
そして、複製計画プログラム１１４は、ストレージ構成管理テーブル１１０を読み込み、現在の複製先４０１に複製データが格納された状態において、ストレージＤに値「１」の空き容量があることを検出する。次に、複製計画プログラム１１４は、移行複製先４０３を参照し、ストレージＣの複製先としてストレージＤを追加することで、現在の複製先４０１と移行複製先４０３との差が小さくできるため、組み合わせＡを得る。
【００４８】
ここで、得られる組み合わせＡは、ストレージＡがストレージＢに、ストレージＢがストレージＣに、ストレージＣが以前に複製されたストレージＡと新たに複製されるストレージＤとに、それぞれデータを複製する組み合わせである。
【００４９】
次に、複製計画プログラム１１４は、組み合わせＡから冗長度２０３の値を超える冗長データを削除した複製先の組み合わせＢを作成する（Ｓ６０３）。このＳ６０３で複製計画プログラム１１４は、Ｓ６０２で新たに複製先を追加した複製元の、以前に決められた複製先を削除した組み合わせを、組み合わせＢとする。
【００５０】
例えば、処理対象の複製先が、ストレージＡがストレージＢに、ストレージＢがストレージＣに、ストレージＣがストレージＡに、それぞれデータを複製する組み合わせであり、組み合わせＡが、ストレージＡがストレージＢに、ストレージＢがストレージＣに、ストレージＣがストレージＡとストレージＤとに、それぞれデータを複製する組み合わせである場合、組み合わせＡのストレージＣがストレージＡに複製されることは処理対象の複製先に含まれるので削除され、組み合わせＢは、ストレージＡがストレージＢに、ストレージＢがストレージＣに、ストレージＣがストレージＤに、それぞれデータを複製する組み合わせである。
【００５１】
なお、組み合わせＡに冗長度２０３の値を超える冗長データがない場合、複製計画プログラム１１４は冗長データを削除しない。
【００５２】
複製計画プログラム１１４は、組み合わせＢのデータ保護重みの総和を計算する（Ｓ６０４）。このＳ６０４で複製計画プログラム１１４は、データ保護重み管理テーブル１１１を読み込み、組み合わせＢのデータ保護重みの総和を算出する。例えば図３に示したデータ保護重み管理テーブル１１１では、それぞれのデータ保護重みの値は、ストレージＡがストレージＢに複製する場合が０．９、ストレージＢがストレージＣに複製する場合が０．８、ストレージＣがストレージＤに複製する場合が０．９であるから、その総和は０．９＋０．８＋０．９＝２．６である。
【００５３】
複製計画プログラム１１４は、組み合わせＢのデータ保護重みの総和が現在の複製先４０１のデータ保護重みの総和よりも増加するかどうかを判定する（Ｓ６０５）。このＳ６０５で複製計画プログラム１１４は、Ｓ６０４で得られた組み合わせＢのデータ保護重みの総和と、現在の複製先４０１のデータ保護重みの総和とを比較し、組み合わせＢの方が増加していた場合はＳ６０６に進み、そうでない場合はＳ６０２に進む。
【００５４】
例えば、現在の複製先４０１が、図４に示すように、ストレージＡがストレージＢに、ストレージＢがストレージＣに、ストレージＣがストレージＡに、それぞれデータを複製する組み合わせである場合、図３に示したデータ保護重み管理テーブルの値から、そのデータ保護重みの総和は０．９＋０．８＋０．８＝２．５である。このため、組み合わせＢのデータ保護重みの総和が上記のように２．６である場合、複製計画プログラム１１４はＳ６０６に進む。
【００５５】
もし、組み合わせＢのデータ保護重みの総和が２．５よりも小さい場合、複製計画プログラム１１４はＳ６０２に進み、別の組み合わせＡを作成する。
【００５６】
Ｓ６０６に進むと、複製計画プログラム１１４は、組み合わせＢが移行複製先４０３のストレージ１０１の組み合わせと一致するかを判定する。組み合わせＢが移行複製先４０３のストレージ１０１の組み合わせと一致する場合、複製計画処理は終了となる。そうでない場合、複製計画プログラム１１４はＳ６０７に進む。
【００５７】
Ｓ６０７に進むと、複製計画プログラム１１４は、組み合わせＢを複製構成管理テーブル１１２の中継複製先４０２に書き込む。このＳ６０７ステップで複製計画プログラム１１４は、処理対象が現在の複製先４０１であれば中継複製先４０２ａに組み合わせＢを書き込み、処理対象が中継複製先４０２ａであれば中継複製先４０２ｂに組み合わせＢを書き込む。ここで、中継複製先４０２ｂ以降の中継複製先が存在してもよい。
【００５８】
次に、複製計画プログラム１１４は、新しい中継複製先を処理対象に設定する（Ｓ６０８）。このＳ６０８で複製計画プログラム１１４は、Ｓ６０７で複製構成管理テーブル１１２に書き込んだ中継複製先を、次の処理対象に設定し、Ｓ６０２に進む。
【００５９】
以上の説明からも明らかなように、複製計画プログラム１１４は、移行複製先４０３と一致する中継複製先４０２が得られるまで、Ｓ６０２からＳ６０６までの処理を繰り返し行う。その後、複製制御プログラム１１５が複製構成管理テーブル１１３を参照し、各ストレージ１０１の複製プログラムに対して複製を指示する。このとき、中継複製先４０２を１つずつ順番に指示し、各ストレージ１０１の複製プログラムが、データの複製を完了するのを待って次の指示を行う。
【００６０】
例えば、まず、複製制御プログラム１１５は、中継複製先４０２aに書き込まれた各ストレージ１０１へ複製を指示すると、指示された各ストレージ１０１の複製プログラムは、現在の複製先４０１に書き込まれた各ストレージ１０１から中継複製先４０２aに書き込まれた各ストレージ１０１となるようにデータの複製を行う。
【００６１】
次に、複製制御プログラム１１５が、中継複製先４０２ｂに書き込まれた各ストレージ１０１へ複製を指示すると、各ストレージ１０１の複製プログラムは、中継複製先４０２ｂに書き込まれた各ストレージ１０１へデータの複製を行う。最後に、複製制御プログラム１１５が、移行複製先４０３に書き込まれた各ストレージ１０１へ複製を指示すると、各ストレージ１０１の複製プログラムは、中継複製先４０２ｂに書き込まれた各ストレージ１０１へ複製を行い、複製を完了する。
【００６２】
なお、実施例１では、データ量が１、空き容量が１、冗長度が２の場合を例に説明したが、複製数がデータ量や空き容量が２の場合や冗長度が３以上の場合も同様の処理を用いることができる。また、実施例１では、データ保護重みは、災害リスクと、各ストレージ１０１のデータ量とから計算されたが、単に災害リスクを値「１」から減算することで得てもよい。
【００６３】
また、実施例１では、複製制御プログラム１１５は、中継複製先４０２を１つ作成するために、組み合わせＡを１つ作成し、それに対応する組み合わせＢを作成し、そのデータ保護重みの総和を計算し、その総和が現在の複製先４０１よりも大きいかどうかを判定することで、中継複製先４０２の１つを選定したが、このような処理ではなく、組み合わせＡを一度に複数個作成してもよい。
【００６４】
すなわち、複製制御プログラム１１５は、組み合わせＡを複数個作成し、それぞれに対応する組み合わせＢを作成し、それぞれのデータ保護重みの総和を計算し、その総和がもっとも大きい組み合わせＢを選定した後、その選定した組み合わせＢのデータ保護重み総和が現在の複製先よりも大きいかどうかを判定してもよい。
【００６５】
また、実施例１では、複製制御プログラム１１５が中継複製先４０２に書き込まれた各ストレージ１０１への複製を１つずつ指示し、そのたびに複製プログラムの実行完了を待つこととしたが、複製制御プログラム１１５が中継複製先４０２に書き込まれた２つまたはそれ以上のストレージ１０１へ複製を指示し、移行複製先４０３に書き込まれた２つまたはそれ以上のストレージ１０１への複製を指示し、複製プログラムが１つずつ実行してもよいし、その間、複製制御プログラム１１５は完了を待たなくてもよい。
【００６６】
以上で説明したように、現在の複製先４０１から移行複製先４０３までデータ保護重みの値の総和を低下させることなく、すなわち安全に中継複製先４０２を経由して複製データを移行できる。
【実施例２】
【００６７】
＜空き容量がない場合の中継複製先の生成＞
以下、図７および図８を参照して、本発明を実施するための別の形態である実施例２について説明する。なお、実施例２では、実施例１と処理に違いがない部分の説明を省略し、その違いのみを説明する。
【００６８】
実施例２は、実施例１において複製データによって各ストレージ１０１の空き容量が全くない場合であっても、中継複製先を生成して目的の複製先へ移行可能にする。実施例２では、ストレージシステム１００は、実施例１で述べた中継複製先を生成する段階より前に、データ保護重みに応じて複製先を解消することで、空き容量を確保する。
【００６９】
実施例２では、実施例１における複製計画プログラム１１４に加えて容量調整・複製計画プログラム１１６を用い、さらに、管理サーバ１０２のメモリ１０７に図示を省略した許容度が格納される。許容度は、ストレージ１０１の組み合わせごとに計算されるデータ保護重みの総和の値に対応する値であり、容量調整・複製計画プログラム１１６の実行に先立って、管理者により管理コンソール１０３が操作されて設定される。以下の説明は、許容度として「２．５」が設定されている例である。
【００７０】
図７は、実施例２における複製構成管理テーブル１１２の例を示す図である。複製構成管理テーブル１１２は、少なくとも、複製元のストレージ１０１のＩＤを示す複製元７００と、その格納データの現在の複製先のストレージ１０１のＩＤを示す現在の複製先７０１と、その格納データの次のステップでの複製先のストレージ１０１のＩＤを示す中継複製先７０２と、その格納データの複製が最終的に格納されるべきストレージ１０１のＩＤを示す移行複製先７０４と、を有する。
【００７１】
中継複製先７０２は、図７に示すように、中継複製先７０２ａ、中継複製先７０２ｂなど複数のフィールドを構成してもよい。複製構成管理テーブル１１２における、実施例２と実施例１との違いは、複製先のストレージ１０１のＩＤの値である。現在の複製先７０１のストレージ１０１のＩＤは管理者の操作により入力され、移行複製先７０３ストレージ１０１のＩＤは複製先決定プログラム１１３により設定される。中継複製先７０２は、後述する容量調整・複製先複製計画プログラム１１６の実行中に設定される。複製構成管理テーブル１１２の項目は図４と同じであるが、ストレージ１０１のＩＤの値が異なるため、そのストレージ１０１のＩＤを指し示すために異なる符号を付けてある。
【００７２】
図８は、実施例２における複製構成管理テーブル１１２の中継複製先７０２を決定する手順の例を示すフローチャートである。容量調整・複製計画処理が開始されると、容量調整・複製計画プログラム１１６は、現在の複製先７０１を対象にする（Ｓ８０１）。このＳ８０１で容量調整・複製計画プログラム１１６は、複製構成管理テーブル１１２の現在の複製先７０１に書かれた複製先を処理対象にする。
【００７３】
次に、容量調整・複製計画プログラム１１６は、一部の複製先を解消した組み合わせＣを得る（Ｓ８０２）。このＳ８０２で容量調整・複製計画プログラム１１６は、データ保護重み管理テーブル１１１を読み込み、現在の複製先７０１のうち移行複製先７０３と異なる複製先となっている複製関係の中から、複製元７００と現在の複製先７０１の関係の中で最もデータ保護重みの低い複製元７００と複製先の組み合わせを検索し、その複製関係から複製先を解消する。
【００７４】
例えば、図７に示すように、複製元７００から現在の複製先７０１が、ストレージＡからストレージＢへ、ストレージＢからストレージＣへ、ストレージＣからストレージＤへ、ストレージＤからストレージＡへの組み合わせであり、複製元７００から移行複製先７０３が、ストレージＡからストレージＢへ、ストレージＢからストレージＡへ、ストレージＣからストレージＤへ、ストレージＤからストレージＣへの組み合わせである場合、容量調整・複製計画プログラム１１６はストレージＢからストレージＣへの複製関係のデータ保護重み（０．８）と、ストレージＤからストレージＡへの複製関係のデータ保護重み（０．５）と、を比較して、データ保護重みの低いストレージＤからストレージＡへの複製関係の複製先を解消する。したがって、組み合わせＣは、ストレージＡからストレージＢへ、ストレージＢからストレージＣへ、ストレージＣからストレージＤへ、それぞれデータを複製する組み合わせである。
【００７５】
次に、容量調整・複製計画プログラム１１６は、組み合わせＣが許容されるかどうかを判定する（Ｓ８０３）。許容されると判定された場合、容量調整・複製計画プログラム１１６はＳ８０４に進み、許容されないと判定された場合、Ｓ８０２に進み、別の複製先を解消した組み合わせＣを得る。ここで、組み合わせＣが許容されるとは、組み合わせＣのデータ保護重みの総和が、許容度の値よりも大きいことを意味する。例えば、図７を用いて説明した組み合わせＣのデータ保護重みは０．９＋０．８＋０．９＝２．６であるから、許容度の値２．５よりも大きいため、この例では許容される。
【００７６】
Ｓ８０４へ進むと、容量調整・複製計画プログラム１１６は、複製計画処理を実行する。複製計画処理は、図６を用いて説明した複製計画プログラム１１４が行う処理である。Ｓ８０４の複製計画処理が終了すると、容量調整・複製計画処理は終了する。
【００７７】
以上で説明したように、複製データの格納によって空き容量がなくなってしまったストレージシステム１００においても、中継複製先７０２を生成することができる。これにより、データの安全性を確保しながら、ストレージ１０１の容量拡張をすることなくデータの移行を行うことができる。
【００７８】
なお、実施例２では、許容度はストレージ１０１の組み合わせごとに計算されるデータ保護重みの総和の値に対応する値としたが、現在の複製先７０１のデータ保護重みの総和の１０％などという割合としてもよい。この場合、管理サーバ１０２は、容量調整・複製計画プログラム１１６の実行に先立って、現在の複製先７０１から得られるデータ保護重みの総和の値と、１０％などの設定された割合とから、データ保護重みの総和の値に対応する値を計算することにより、容量調整・複製計画プログラム１１６は以上の説明と同じように実行可能である。
【００７９】
また、実施例２では、組み合わせＣを１つ得るたびに許容度されるかを判定する手順としたが、中継複製先７０２に含まれる組み合わせＣを全てを得た後に、全ての組み合わせＣについて許容度を超えているかをそれぞれ判定する手順であってもよい。
【００８０】
以上で説明した実施例１、２に加えて、中継複製先４０２、７０２を決定する基準としてデータ保護重みとともに、その中継複製先４０２、７０２に移行する際に見込まれるストレージシステム１００全体の移行データ量の上限があらかじめ設定され、それを満たす組み合わせから中継複製先４０２、７０２の各ストレージ１０１を選ぶようにしてもよい。
【００８１】
これにより、1つの中継複製先４０２、７０２へ移行するためにかかる時間を見積もることができるので、複数日にわたって移行が必要になる大量データを移行する際に、1日あたりに移行するデータ量に見合った中継複製先４０２、７０２のストレージ１０１を選び出すことができ、データ移行計画の作成を容易にすることが可能となる。なお、ストレージシステム１００全体の移行データ量の上限ではなく、各ストレージ１０１の移行データ量の上限がそれぞれ設定されてもよい。
【００８２】
また、1台のストレージ１０１のボリュームやファイルなどのデータを分割し、中継複製先４０２、７０２の複数のストレージ１０１にそれぞれ格納するように構成してもよい。このために、管理サーバ１０２は、1台のストレージ１０１に対して複数の複製先を管理し、さらに、それぞれの複製先に格納したデータを記録するように構成してもよい。ここで、ファイル名を１つ１つ記録してもよいし、フォルダ名などで複数のファイルやフォルダをまとめて記録してもよい。
【００８３】
また、管理サーバ１０２が移行複製先４０３、７０３に一致するまで中継複製先４０２、７０２を１つ１つ決定するのではなく、管理サーバ１０２が移行複製先４０３、７０３に一致する中継複製先４０２、７０２の列を候補として計算し、中継複製先４０２、７０２の列全体のデータ保護重みの平均がもっとも高くなるような組み合わせの列を求めてもよい。これにより、複数の中継複製先４０２、７０２それぞれが平均的に安全になるような中継複製先４０２、７０２の列を得ることができる。
【符号の説明】
【００８４】
１００  ストレージシステム
１０１  ストレージ
１０２  管理サーバ
１０３  管理コンソール
１１０  ストレージ構成管理テーブル
１１１  データ保護重み管理テーブル
１１２  複製構成管理テーブル
１１３  複製先決定プログラム
１１４  複製計画プログラム
１１５  複製制御プログラム
【図１】
0006637258.tif 000002
【図２】
0006637258.tif 000003
【図３】
0006637258.tif 000004
【図４】
0006637258.tif 000005
【図５】
0006637258.tif 000006
【図６】
0006637258.tif 000007
【図７】
0006637258.tif 000008
【図８】
0006637258.tif 000009