(57)【要約】【課題】  レプリケート機能を有するストレージシステムで、リビルト用のデータが二重にレプリケートされる無駄を回避する。【解決手段】      ストレージシステムは、レプリケートを行う第１のマスターボリューム１１０とリビルトデータを入出力しレプリケートを行わない第１のリビルト用ボリューム１２０とを含む第１のストレージ１００を有している。また、データのレプリケートを行わない第２のマスターボリューム２１０を有する第２のストレージ２００を有している。またマスターボリューム１１０に書き込まれた入出力データがレプリケートされるレプリカボリューム３００を有している。そして第１のストレージ１００をリビルトする場合に第２のマスターボリューム２１０からリビルトデータを読出して第１のリビルト用ボリューム１２０にリビルトデータを格納するリビルト制御手段４１０を有するストレージ制御手段４００を有している。【選択図】      図１
2015185056.tif 000002
【特許請求の範囲】
【請求項１】
通常の入出力データが書き込まれレプリケートを行う第１のマスターボリュームとリビルトデータを入出力しレプリケートを行わない第１のリビルト用ボリュームを含む第１のストレージと、データのレプリケートを行わない第２のマスターボリュームを含む第２のストレージと、前記入出力データがレプリケートされるレプリカボリュームと、前記第１のストレージをリビルトする場合に前記第２のマスターボリュームからリビルトデータを読出して第１のリビルト用ボリュームに前記リビルトデータを格納するリビルト制御手段を有するストレージ制御手段と、を有することを特徴とするストレージシステム。
【請求項２】
前記第２のストレージがリビルトデータを入出力する第２のリビルト用ボリュームを有する、ことを特徴とする請求項１に記載のストレージシステム。
【請求項３】
前記第１のストレージと切替えて使用され通常の入出力データが書き込まれレプリケートを行う第３のマスターボリュームとリビルトデータを入出力しレプリケートを行わない第３のリビルト用ボリュームを有する予備ストレージを有する、ことを特徴とする請求項１または請求項２に記載のストレージシステム。
【請求項４】
前記第１、第２、第３のリビルト用ボリュームと前記リビルト制御手段とを接続する専用のパス、を有することを特徴とする請求項３に記載のストレージシステム。
【請求項５】
前記第１のストレージと前記第２のストレージと前記第１のストレージをレプリケートするレプリカボリュームとからなるストレージグループを複数有し、少なくとも１つの前記予備ストレージと、前記予備ストレージのレプリケート先をどのレプリカボリュームとするか選択するレプリケート制御手段と、を有することを特徴とする請求項３または請求項４に記載のストレージシステム。
【請求項６】
前記ストレージ制御手段が、非リビルト期間中において各ストレージに設けられたリビルト用ボリュームとの間で監視信号の入出力を行うストレージ監視手段を有している、ことを特徴とする請求項１乃至請求項５いずれか一項に記載のストレージシステム。
【請求項７】
通常の入出力データが書き込まれレプリケートを行う第１のマスターボリュームとリビルトデータを入出力しレプリケートを行わない第１のリビルト用ボリュームを含む第１のストレージと、データのレプリケートを行わない第２のマスターボリュームを含む第２のストレージと、前記入出力データがレプリケートされるレプリカボリュームと、前記第１のストレージをリビルトする場合に前記第２のマスターボリュームからリビルトデータを読出して第１のリビルト用ボリュームに前記リビルトデータを格納するリビルト制御手段を有するストレージ制御手段と、を有するストレージシステムの制御方法であって、前記第１のストレージのリビルトを行う場合に、前記第１のマスターボリュームへの書き込みを停止し、前記リビルト制御手段が前記第２のマスターボリュームからリビルトデータを読出し、前記第１のリビルト用ボリュームに前記リビルトデータを格納する、ことを特徴とするストレージシステムの制御方法。
【請求項８】
前記第２のストレージがリビルトデータを入出力する第２のリビルト用ボリュームを有し、前記第２のマスターボリュームから前記第２のリビルト用ボリュームにデータをコピーする、ことを特徴とする請求項７に記載のストレージシステムの制御方法。
【請求項９】
通常の入出力データが書き込まれレプリケートを行う第１のマスターボリュームとリビルトデータを入出力しレプリケートを行わない第１のリビルト用ボリュームを含む第１のストレージと、データのレプリケートを行わない第２のマスターボリュームを含む第２のストレージと、前記入出力データがレプリケートされるレプリカボリュームと、前記第１のストレージと切替えて使用され通常の入出力データが書き込まれレプリケートを行う第３のマスターボリュームとリビルトデータを入出力しレプリケートを行わない第３のリビルト用ボリュームを有する予備ストレージと、前記第１のストレージをリビルトする場合に前記第２のマスターボリュームからリビルトデータを読出して前記第３のリビルト用ボリュームに前記リビルトデータを格納するリビルト制御手段を有するストレージ制御手段と、を有するストレージシステムの制御方法であって、前記予備ストレージのリビルトを行う場合に、前記第１のマスターボリュームへの書き込みを停止し、書き込み先を前記第３のマスターボリュームに切替え、前記リビルト制御手段が前記第２のマスターボリュームからリビルトデータを読出し、前記第３のリビルト用ボリュームに前記リビルトデータを格納する、ことを特徴とするストレージシステムの制御方法。
【請求項１０】
通常の入出力データが書き込まれレプリケートを行う第１のマスターボリュームとリビルトデータを入出力しレプリケートを行わない第１のリビルト用ボリュームを含む第１のストレージと、データのレプリケートを行わない第２のマスターボリュームを含む第２のストレージと、前記入出力データがレプリケートされるレプリカボリュームと、前記第１のストレージをリビルトする場合に前記第２のマスターボリュームからリビルトデータを読出して第１のリビルト用ボリュームに前記リビルトデータを格納するリビルト制御手段を有するストレージ制御手段と、を有するストレージシステムの制御プログラムであって、前記第１のストレージのリビルトを行う場合に、前記第１のマスターボリュームへの書き込みを停止するステップと、前記リビルト制御手段が前記第２のマスターボリュームからリビルトデータを読出すステップと、前記第１のリビルト用ボリュームに前記リビルトデータを格納するステップと、を有することを特徴とするストレージシステムの制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステムおよびその制御方法およびその制御プログラムに関する。
【背景技術】
【０００２】
近年、地震、津波、洪水などの災害やテロに備えて、データをバックアップしたり、遠隔地にバックアップシステムを構築したりする、災害対策の重要性が増している。災害対策の技術としてデータを遠隔地に送るレプリケーションという技術がある。被災時の迅速な復旧を可能にするために、ストレージ装置全体のデータをストレージ装置のレプリケーション機能を使用して、遠隔地に送っておくことも一般的になってきた。
【０００３】
ストレージ装置の遠隔レプリケーションとは、メインサイトにあるストレージ装置内のボリュームへの更新を、遠隔地にあるストレージ装置内のボリュームに反映し、遠隔地にボリュームの複製を作成することである。
【０００４】
このレプリケーションの効率を向上したいという要求がある。例えば特許文献１には、レプリケーションデータに順番情報を付加して、書き込み済のデータを重複して記録することが無いようにしている。
【０００５】
また、ディスク装置の障害に備えて、複数の独立したディスク装置を使用し、耐障害性を向上する技術として、ソフトウェア二重化がある。ソフトウェア二重化とは、ＯＳなどのソフトウェアが、２つの独立したストレージ装置に対して、同じ内容を書き込み、冗長度を上げる技術である。
【０００６】
さらに、ミッションクリティカルな領域では、ディスク装置全体の障害に備えて、複数の独立したディスク装置を使用し、上位のソフトウェアで冗長化を行うソフトウェア二重化が行われている。
【０００７】
ソフトウェア二重化を使用している場合に、ソフトウェア二重化の片系が障害となった場合、ディスク交換などの物理的な処置後に、二重化状態に復旧する。そのために、正常なボリュームから障害となったボリュームへ全面コピーを行うリビルドが行われる。
【０００８】
このようなリビルトを高速に行う方法が、例えば特許文献２に開示されている。この方法では、ボリュームに備えられた高速のライトキャッシュをリビルト時に有効化し、リビルトの高速化を図っている。さらに、停電等の突発的な事態によりリビルト処理が中断した場合は、最後に書き込んだリビルドデータのアドレスから書き込み済の容量を算出する。これによりリビルトデータを重複して書き込むロスを低減している。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００６−２８５３３６号公報
【特許文献２】特開２０１２−１４６３８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、リモートサイトへレプリケーションを行うシステムでは、特許文献１、特許文献２いずれの技術を用いても、リビルトデータがリモートサイトに書き込まれる、すなわち既に保存されているデータを二重に記録する無駄が生じてしまう。これは、ストレージ装置はリビルドのデータか否かを区別しないため、リビルドのデータがリモートサイトにレプリケートされることによる。
【００１１】
本発明は、上記の課題に鑑みてなされたものであり、リビルトの入出力を重複してリモートサイトにレプリケートする無駄を解消する方法を提供することを目的としている。
【課題を解決するための手段】
【００１２】
上記の課題を解決するため、本発明のストレージシステムは、通常の入出力データが書き込まれレプリケートを行う第１のマスターボリュームとリビルトデータを入出力しレプリケートを行わない第１のリビルト用ボリュームを有する第１のストレージと、データのレプリケートを行わない第２のマスターボリュームを有する第２のストレージと、前記入出力データがレプリケートされるレプリカボリュームと、前記第１のストレージをリビルトする場合に前記第２のマスターボリュームからリビルトデータを読出して第１のリビルト用ボリュームに前記リビルトデータを格納するリビルト制御手段を有するストレージ制御手段と、を有している。
【発明の効果】
【００１３】
本発明の効果は、リビルトの入出力を重複してレプリケートする無駄を解消できることである。
【図面の簡単な説明】
【００１４】
【図１】本発明第１の実施の形態を示すブロック図である。
【図２】本発明第２の実施の形態の通常動作を示すシーケンス図である。
【図３】本発明第２の実施の形態のリビルト動作を示すシーケンス図である。
【図４】本発明第３の実施の形態を示すブロック図である。
【図５】本発明第３の実施の形態のストレージ切替え動作を示すシーケンス図である。
【図６】本発明第３の実施の形態のリビルト動作を示すシーケンス図である。
【図７】本発明第４の実施の形態を示すブロック図である。
【図８】本発明第４の実施の形態の動作を示すシーケンス図である。
【図９】本発明第５の実施の適用例を示すブロック図である。
【図１０】本発明第６の実施の形態を示すシーケンス図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照しながら本発明について詳細に説明する。
（第１の実施の形態）
図１は本発明第１の実施の形態を示すブロック図である。本実施の形態のストレージシステムは、通常の入出力データが書き込まれレプリケートを行う第１のマスターボリューム１１０とリビルトデータを入出力しレプリケートを行わない第１のリビルト用ボリューム１２０とを含む第１のストレージ１００を有している。また、データのレプリケートを行わない第２のマスターボリューム２１０を含む第２のストレージ２００を有している。またマスターボリューム１１０に書き込まれた入出力データがレプリケートされるレプリカボリューム３００を有している。そして第１のストレージ１００をリビルトする場合に第２のマスターボリューム２１０からリビルトデータを読出して第１のリビルト用ボリューム１２０にリビルトデータを格納するリビルト制御手段４１０を有するストレージ制御手段４００を有している。
【００１６】
以上の構成とすることにより、ストレージのリビルトを行った場合に、リビルト用のデータは第１のリビルト用ボリューム１２０にコピーされる。したがって、既にレプリカボリュームに格納されているデータが重複してレプリケートされることを防止しながらリビルトを実行することができる。このためレプリケーションの負荷を低減し、レプリケーションを高速に行うことができる。
【００１７】
なお上記の各ボリュームは物理的なボリュームに限られるものではなく、仮想化された論理ボリュームであってよい。また第２のストレージにレプリケートを行わない第２のリビルト用ボリュームが設けられていても良い。
（第２の実施の形態）
本実施の形態では第１の実施の形態のストレージシステムの動作について説明する。
【００１８】
まず、通常の書き込み動作について説明する。図２は通常の書き込み動作を示すシーケンス図である。
【００１９】
まずストレージ制御手段４００から第１のマスターボリューム１１０に対して書き込みデータが送信される（Ｓ１）。第１のマスターボリューム１１０は、これを受信してデータを格納する（Ｓ２）。次いで第１のマスターボリューム１１０はレプリカボリューム３００に対してレプリカデータを送信する（Ｓ３）。第２のレプリカボリューム３００はレプリカデータを格納する（Ｓ４）。ストレージ制御手段４００は、第１のマスターボリューム１１０にデータを送信する時、同じデータを第２のマスターボリューム２１０に対しても送信する（Ｓ５）。そして第２のマスターボリューム２１０はこれを格納する（Ｓ６）。以上により、通常時の書き込み動作が完了する。
【００２０】
図３は第１のマスターボリューム１１０が障害などにより停止した場合のリビルト動作を示すシーケンス図である。なお、図中ではボリュームをＶと略記している。
【００２１】
まず第１のマスターボリューム１１０が停止する（Ｓ１０１）。この障害はストレージ制御手段４００によって検知される（Ｓ１０２）。するとストレージ制御手段４００は、データの整合性を保つため第１のマスターボリューム１１０と第２のマスターボリューム２１０への入出力発行を保留する（１０３）。そしてリビルト制御手段４１０を用いて、正常に動作している第２のマスターボリューム２１０にリビルトデータの送信を要求する（Ｓ１０４）。次に第２のマスターボリューム２１０は、第１のリビルトボリューム１２０に向けてリビルトデータを送信する（Ｓ１０５）。第１のリビルトボリューム１２０はこれを格納する（Ｓ１０６）。第１のリビルトボリューム１２０はレプリケーションを行わないので、リビルトデータはレプリカボリューム３００には書き込まれない。次いでディスク交換等により第１のマスターボリューム１１０が復旧完了し（Ｓ１０７）、ストレージ制御手段４００に対して復旧完了通知を送信する（１０８）。これでシステムが正常に戻ったため、ストレージ制御装置４００は入出力の保留を解除し、通常の入出力を第１のマスターボリューム１１０と、第２のマスターボリューム２１０に対して送信する（Ｓ１０９、Ｓ１１０）。以上により、第１のストレージ装置では、データが整合性を維持した状態で格納される。
【００２２】
以上説明したように、本実施の形態によれば、リビルトデータをレプリケートすることなくリビルト行うことが可能となる。
（第３の実施の形態）
第２の実施の形態では、第１のストレージ装置で、マスターボリューム１１０に障害が発生し、第１のリビルトボリュームが正常に動作していることを前提としていた。しかし、第１のマスターボリューム１１０と第１のリビルトボリューム１２０物理的に１つのディスクであるなどで同時に停止する場合がある。このような場合には第１の実施の形態を適用できない。
【００２３】
そのような事態を回避する手段として、ソフトウェア二重化がある。図４はソフトウェア二重化を用いた実施形態を示すブロック図である。
【００２４】
本実施の形態では第１の実施の形態に加えて、予備ストレージ５００を設けている。予備ストレージ５００はレプリケートを行うマスターボリューム５１０とレプリケートを行わないリビルト用ボリューム５２０を有している。予備系ストレージ５００はストレージ制御手段４００によって制御され、レプリケートのターゲットは第１のストレージと同じレプリカボリューム３００である。ただし、通常時には予備系ストレージ５００にはストレージ制御手段４００からの入出力は発行されない。ここで、第１のストレージ１００を正系６００、第２のストレージを副系７００、予備ストレージ５００を予備系８００と呼ぶこととする。
【００２５】
次に第１のストレージ１００に障害が発生した時の動作について説明する。図５はこの動作を示すシーケンス図である。なお図では第１のマスターボリュームを正マスターＶ、予備ストレージ５００のマスターボリュームを予備マスターＶなどと略記している。
【００２６】
まず障害により第１のマスターボリュームが停止する（Ｓ２１０）。次いでストレージ制御手段４００が障害を検知する（Ｓ２０２）。次にストレージ制御手段４００は第１のマスターボリューム１１０に対する入出力の発行を停止し、発行先のマスターボリュームを予備系８００のマスターボリューム５１０に切替える（Ｓ２０３）。次にエラーとなった入出力をマスターボリューム５１０に向けて再送信する（Ｓ２０４）。マスターボリューム５１０はエラーとなったデータを格納する（Ｓ２０５）。次にマスターボリューム５１０はエラーとなった入出力をレプリカボリューム３００にレプリケートする（Ｓ２０６）。レプリカボリューム３００はこのデータを格納する（Ｓ２０７）。以上の動作で、障害発生時点までの入出力はすべてレプリカボリューム５２０に反映されることになる。こうして障害発生時までのデータ格納が完了する。次に、ストレージ制御手段４００は予備系のマスターボリューム５１０と副系のマスターボリューム２１０に通常の入出力を発行する（Ｓ２０８、Ｓ２１１）。以降は、予備系のマスターボリューム５１０がこのデータの格納（Ｓ２０９）とレプリカ送信を行い（Ｓ２１０）、副系のマスターボリュームがデータを格納する（Ｓ２１２）正常動作に移行する。
【００２７】
次に、入出力送信先切替え後のリビルト動作について、説明する。図６はこの動作を示すシーケンス図である。
【００２８】
まずストレージ制御手段４００が副系７００のマスターボリューム２１０にリビルトデータの送信を要求する（Ｓ３０１）。次にマスターボリューム２１０は予備系８００のリビルト用ボリューム５２０にリビルトデータを送信し（Ｓ３０２）、リビルト用ボリューム５２０がこれを格納する（Ｓ３０３）。リビルト用ボリューム５２０はレプリケートを行わないので、リビルトデータがレプリケートされることなくリビルトが完了する。以降は、正系６００を予備系８００に切替えた通常の動作に移行する。すなわち、ストレージ制御手段４００が通常の入出力を送信し（Ｓ３０４）、マスターボリューム５１０がこれを格納し（Ｓ３０５）、レプリカ入出力を送信し（Ｓ３０６）、レプリカボリュームが格納する（３０７）。またストレージ制御手段４００は副系７００のマスターボリューム２１０に通常の入出力を送信し（Ｓ３０８）、マスターボリューム２１０はこれを格納する。
【００２９】
以上により、リビルトデータをレプリケートすることなく、リビルトを実行することができる。
（第４の実施の形態）
図７は第４の実施の形態を示すブロック図である。本実施の形態のストレージシステムは、正系６００、副系７００、予備系８００それぞれのリビルト用ボリュームとリビルト制御手段４１０を接続するリビルト専用パス４２０を設けている。リビルト専用パス４２０により、リビルト用の通信を高速に行うことができる。なおリビルト専用パス４２０は物理的なリンクに限られるものではなく仮想リンクであっても良い。
【００３０】
次に本実施の形態のストレージシステムにおけるリビルト動作について説明する。図８はこの動作を示すシーケンス図である。まずストレージ制御手段４００が、副系７００のマスターボリューム２１０に対して、リビルト用ボリューム２２０にリビルトデータを複製するよう要求する（Ｓ４０１）。次にマスターボリューム２１０はリビルト用ボリューム２２０にリビルトデータを送信し（Ｓ４０２）、リビルト用ボリューム２２０はこれを格納する（Ｓ４０３）。続けて、ストレージ制御手段４００はリビルト制御手段４１０にリビルトを指示する（Ｓ４０４）。これを受けてリビルト制御手段４１０は、リビルト専用パス４２０を介して、副系のリビルト用ボリューム２２０に、予備系８００のリビルト用ボリューム５２０にリビルトデータを送信するよう要求する（Ｓ４０５）。リビルト用ボリューム２２０はリビルト専用パス４２０を介して、予備系のリビルト用ボリューム５２０にリビルトデータを送信する（Ｓ４０６）。リビルト用ボリューム５２０はこれを格納する（Ｓ４０７）。以上によりリビルトが完了し、Ｓ４０８以降の通常の動作に移行する。
【００３１】
以上説明したように、本実施の形態の動作によれば、リビルトに関わる通信がリビルト専用パス４２０を介して行われるため、リビルトを高速に行うことができる。
（第５の実施の形態）
図９は本発明第５の実施の形態を示すブロック図である。本実施の形態のストレージシステムは、第１のストレージ１００（正系ストレージ）と第２のストレージ（副系ストレージ）とレプリカボリュームを有するグループを複数と、少なくとも１つの予備ストレージ５００を有している。図中の（１００ａ、２００ａ、３００ａ）、（１００ｂ、２００ｂ、３００ｂ）、（１００ｃ、２００ｃ、３００ｃ）、・・・がそれぞれのグループの構成要素である。
【００３２】
上記の構成は、いわゆるＮ＋１コールドスタンバイの構成であり、複数のストレージグループが少なくとも１台の予備ストレージ５００を共有している形となっている。障害が発生したストレージグループを予備系８００に切替えて動作する。レプリケート制御手段４３０は、予備系に置き換えたレプリケート先のレプリカボリューム３００を予備系のマスターボリュームに接続するように制御される。その制御はストレージ制御手段４００が行う。
【００３３】
以上の、構成とすることにより、Ｎ＋１コールドスタンバイの構成においても本発明を適用し、リビルトデータをレプリケートすることなくリビルトを実行することができる。
（第６の実施の形態）
本発明ではレプリケートを行わないリビルト用ボリュームを各ストレージに設けている。したがってリビルト実行中の期間を除いては、レプリケーションを必要としない入出力をリビルトに発行して種々の動作を行うことができる。例えば、定期的に論理ボリュームに読み書き信号を出し、ディスクドライブの障害監視を行うことが可能である。図１０は、この例の動作を示すシーケンス図である。まずリビルト制御手段４１０が正系６００のリビルト用ボリューム１２０に監視信号を送信する（Ｓ５０１）。リビルト用ボリューム１２０は正常であれば、応答を返し（Ｓ５０２）、異常であれば応答を返さないので、障害の有無を判定することができる。同様に副系７００のリビルト用ボリューム２２０、予備系８００のリビルト用ボリューム５２０に監視信号を発行し、応答の有無を調べることができる（Ｓ５０３〜Ｓ５０６）。
【００３４】
以上説明したように、本実施の形態では、リビルド用ボリュームを使用するため、ストレージ装置のレプリケーションに影響を与えず監視を実施することができる。加えて、ストレージ装置とは独立したソフトウェアで実施できるため、異種のストレージ間で均質の障害監視を行うことができる。
【符号の説明】
【００３５】
１００    第１のストレージ
２００    第２のストレージ
３００    レプリカボリューム
４００    ストレージ制御手段
４１０    リビルト制御手段
４２０    リビルト専用パス
４３０    レプリケート制御手段
５００    予備ストレージ
６００    正系
７００    副系
８００    予備系
１１０、２１０、５１０    マスターボリューム
１２０、２２０、５２０    リビルト用ボリューム
【図１】
2015185056.tif 000003
【図２】
2015185056.tif 000004
【図３】
2015185056.tif 000005
【図４】
2015185056.tif 000006
【図５】
2015185056.tif 000007
【図６】
2015185056.tif 000008
【図７】
2015185056.tif 000009
【図８】
2015185056.tif 000010
【図９】
2015185056.tif 000011
【図１０】
2015185056.tif 000012