(57)【特許請求の範囲】
【請求項１】
更新ジャーナルを含むユーザデータを格納する第１のマスタストレージと、
前記第１のマスタストレージとソフトウェアによって二重化された第２のマスタストレージと、
前記第１または第２のマスタストレージから転送された前記ユーザデータを格納するリモートストレージと、
前記第１および第２のマスタストレージに格納された前記更新ジャーナルを更新させる制御と、更新された前記更新ジャーナルを前記第１および第２のマスタストレージのうちいずれかから前記リモートストレージに転送させる制御とを独立して実行するマスタホストとを備え、
前記第１および第２のマスタストレージは、
前記ユーザデータを格納する少なくとも一つの論理媒体と、
前記マスタホストからのデータ更新要求を制御するために前記更新ジャーナルの出力設定に対応させて前記論理媒体ごとに仮想的に定義され、入力された前記ユーザデータを前記更新ジャーナルの出力設定に応じて出力する少なくとも二つの仮想媒体とを有するストレージシステム。
【請求項２】
前記第１および第２のマスタストレージは、
前記マスタホストからの入力データを処理するとともに、入力された前記ユーザデータを前記仮想媒体に出力する入力データ処理手段と、
前記リモートストレージに転送される前記更新ジャーナルを格納する更新ジャーナル格納手段と、
前記更新ジャーナル格納手段の空き状況に応じて前記更新ジャーナルを保存する更新ジャーナル保存手段と、
前記更新ジャーナル保存手段にアクセスし、前記更新ジャーナルの退避／復元を行う更新ジャーナル退避／復元手段と、
前記更新ジャーナルの出力設定に応じて出力された前記更新ジャーナルを取得し、前記更新ジャーナル格納手段の空き状況に応じて前記更新ジャーナルを前記更新ジャーナル格納手段または前記更新ジャーナル退避／復元手段に出力するとともに、前記更新ジャーナル格納手段に前記更新ジャーナルを格納するための空きが無い場合にアテンションを出力する更新ジャーナル処理手段と、
前記更新ジャーナル処理手段から取得した前記アテンションを前記マスタホストに通知するアテンション通知手段とを有する請求項１に記載のストレージシステム。
【請求項３】
前記マスタホストは、
前記第１および第２のマスタストレージのうちいずれが正系媒体用であるのかを記録するとともに、前記第１および第２のマスタストレージのそれぞれに含まれる前記論理媒体同士の対応関係を記録する二重化制御表と、
前記第１および第２のマスタストレージが有する前記更新ジャーナル格納手段の空状態を記録するとともに、前記第１および第２のマスタストレージのうちいずれが前記更新ジャーナルの蓄積を行う更新ジャーナル保存装置であり、いずれが前記更新ジャーナルを転送する更新ジャーナル転送装置であるのかを記録する二重化レプリケーション制御表と、
前記第１および第２のマスタストレージのそれぞれに含まれる前記論理媒体の対応関係を前記二重化制御表に設定し、前記第１および第２のマスタストレージのうちいずれが正系媒体となるのかを示す初期値とともに、前記第１および第２のマスタストレージのうちいずれが前記更新ジャーナル保存装置であり、いずれが前記更新ジャーナル転送装置であるのかを前記二重化レプリケーション制御表に設定する二重化／レプリケーション設定手段と、
前記二重化制御表および二重化レプリケーション制御表を参照し、前記第１および第２のマスタストレージへの前記更新ジャーナルの出力を制御するデータ更新制御手段と、
前記アテンション通知手段から前記アテンションを受信し、受信した前記アテンションに応じた処理を実行するアテンション処理手段を有する請求項２に記載のストレージシステム。
【請求項４】
前記リモートストレージは、
取得された前記更新ジャーナルを格納するデータ格納手段と、
前記第１および第２のマスタストレージから取得された前記更新ジャーナルを受信し、受信した前記更新ジャーナルを前記データ格納手段に格納するデータ受取手段と、
前記更新ジャーナルを含む前記ユーザデータを格納する記録媒体と、
前記更新ジャーナルの内容を前記記録媒体に反映するデータ処理手段とを備える請求項１乃至３のいずれか一項に記載のストレージシステム。
【請求項５】
前記第１および第２のマスタストレージに含まれる前記論理媒体に対応する記憶媒体を含む前記リモートストレージに関する情報と、前記更新ジャーナルの転送の許可・禁止に関する設定情報とを含むレプリケーション制御表と、
前記第１および第２のマスタストレージと前記リモートストレージとの間のレプリケーションに関する設定を行い、設定した情報を前記レプリケーション制御表に格納するレプリケーション設定手段と、
前記レプリケーション制御表の設定に応じて前記更新ジャーナルを前記リモートストレージに転送する更新ジャーナル転送手段とを有する請求項４に記載のストレージシステム。
【請求項６】
前記第１および第２のマスタストレージと同じ機能構成を有する少なくとも一つのマスタストレージを備える請求項１乃至５のいずれか一項に記載のストレージシステム。
【請求項７】
前記第１および第２のマスタストレージと、前記リモートストレージとの間にネットワークスイッチを備える請求項１乃至６のいずれか一項に記載のストレージシステム。
【請求項８】
前記マスタホストと同じ機能構成を有するリモートホストを備える請求項１乃至７のいずれか一項に記載のストレージシステム。
【請求項９】
更新ジャーナルを含むユーザデータを格納する二重化された第１および第２のマスタストレージと、マスタホストと、リモートストレージとがネットワークを介して接続されたストレージシステムの制御方法であって、
前記ユーザデータを格納する少なくとも一つの論理媒体と、前記マスタホストからのデータ更新要求を制御するために前記更新ジャーナルの出力設定に対応させて前記論理媒体ごとに仮想的に定義され、入力された前記ユーザデータを前記更新ジャーナルの出力設定に応じて出力する少なくとも二つの仮想媒体とを有する前記第１および第２のマスタストレージに関して、
前記マスタホストが、
前記第１および第２のマスタストレージに格納された前記更新ジャーナルを更新させる制御と、更新された前記更新ジャーナルを前記第１および第２のマスタストレージのうちいずれかから前記リモートストレージに転送させる制御とを独立して実行する制御方法。
【請求項１０】
更新ジャーナルを含むユーザデータを格納する二重化された第１および第２のマスタストレージと、マスタホストと、リモートストレージとがネットワークを介して接続されたストレージシステムの制御プログラムであって、
前記ユーザデータを格納する少なくとも一つの論理媒体と、前記マスタホストからのデータ更新要求を制御するために前記更新ジャーナルの出力設定に対応させて前記論理媒体ごとに仮想的に定義され、入力された前記ユーザデータを前記更新ジャーナルの出力設定に応じて出力する少なくとも二つの仮想媒体とを有する前記第１および第２のマスタストレージに関して、
前記第１および第２のマスタストレージに格納された前記更新ジャーナルを更新させる制御と、更新された前記更新ジャーナルを前記第１および第２のマスタストレージのうちいずれかから前記リモートストレージに転送させる制御とを独立して実行する処理をコンピュータに実行させる制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステム、制御方法および制御プログラムに関する。特に、マスタストレージがソフトウェアによって二重化されたストレージシステム、制御方法および制御プログラムに関する。
【背景技術】
【０００２】
近年、ストレージに格納されるデータの信頼性を確保するために、主要なストレージから予備のストレージにデータを複製するレプリケーションが行われている。一般に、レプリケーションはホストの制御によって実行される。
【０００３】
特許文献１には、３台のストレージ装置を直列に接続してレプリケーションを行う方法が開示されている。特許文献１によれば、１台目と２台目のストレージ装置の間を同期モード、２台目と３台目のストレージ装置の間を非同期モードにてレプリケーションを行い、システム全体として同期モードのレプリケーションを継続させることができる。
【０００４】
また、レプリケーションには、データの書き込み順が保障される方式（以下、更新順序保障レプリケーション）と、データの書き込み順が保障されない方式とがある。データの書き込み順が保障されない方式では、データを書き込む際にシステムを一時停止する必要がある。そのため、一時停止することが好ましくないシステムでは、更新順序保障レプリケーションを継続する方法が求められる。
【０００５】
特許文献２には、ジャーナル専用の外部ストレージを備えた情報システムについて開示されている。特許文献２の情報システムによれば、専用の外部ストレージに更新ジャーナルを保存しておくことにより、更新順序保証レプリケーションを継続することができる。
【０００６】
特許文献３には、一方のストレージ装置のデータベース更新時に、更新内容を表すジャーナルを、他方のストレージ装置のデータベースに転送して反映させるレプリケーションシステムについて開示されている。特許文献３のレプリケーションシステムでは、他方のストレージ装置に転送された複数のジャーナルボリュームに含まれるジャーナルのうち、それぞれ一部のジャーナルを含むジャーナル群を形成するよう補正し、他方のストレージ装置のデータベースに反映する。特許文献３によれば、レプリケーションシステムの信頼性の低下を解決することができる。
【０００７】
特許文献４には、複数のストレージ装置と、各ストレージ装置へデータのリード／ライトを行う複数のホスト計算機と、各ホスト計算機を管理する管理計算機とを含むストレージシステムについて開示されている。各ストレージ装置は、データを格納する複数のディスク装置と、各ディスク装置が提供する記憶領域とによって、複数のボリュームを構成する。各ホスト計算機は、複数のボリュームのうちの所定数のボリュームで構成されるボリュームグループの構成情報を管理する。管理計算機は、ボリュームグループの構成情報を用いてボリュームグループの構成変更の有無を検出し、構成変更が検出された場合には、予め設定されたボリュームグループの構成に併せた監視条件に基づいてボリュームグループの監視条件の設定を変更する。特許文献４によれば、レプリケーション管理者の管理負荷を軽減するとともに、監視負荷を低減することが可能となる。
【０００８】
特許文献５には、複数のストレージサブシステムから校正される複数のサイト間でのリモートコピーを実現するリモートコピーシステムについて開示されている。特許文献５によれば、リモートサイトの複数の副ボリュームが複数のストレージサブシステムを跨いで存在していても、複数の副ボリューム間でメインサイトからコピーされたデータの更新順序を確保できる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特表２００５−５３９２９０号公報
【特許文献２】特開２０１０−１８２１５４号公報
【特許文献３】特開２０１２−１２３６７０号公報
【特許文献４】特開２００９−２６６０１５号公報
【特許文献５】特開２００８−２９９７８９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
特許文献１の方法では、余分なストレージ装置が必要となるため、装置コストが増加するという問題点がある。また、１台目と２台目のストレージ装置は、比較的近くに設置しないとアクセス性能が低下するため、広域災害を考慮したディザスタリカバリには対応できない可能性がある。
【００１１】
特許文献２の情報システムでは、専用の外部ストレージが必要となるため、装置コストが増加するという問題点がある。また、特許文献２の情報システムでは、専用外部ストレージのアクセス性能がマスタストレージ装置のアクセス性能と同等以上でなければ、マスタストレージ装置のアクセス性能が低下してしまうという問題点がある。
【００１２】
特許文献３〜５では、データ更新と、更新データ管理・保存とを同一のストレージ装置内で行っている。そのため、メインストレージとサブストレージとの間の回線に不都合が生じた場合、ストレージ装置内のボリュームへのアクセス性能の低下が起こり、状況によっては更新順序を保証したレプリケーションを継続できない可能性がある。
【００１３】
本発明は、一時的なアクセス負荷の増大や回線障害が発生しても、論理ディスクのアクセス性能を低下させことなく、更新順序を保証したレプリケーションを継続することが可能となるストレージシステムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明のストレージシステムは、更新ジャーナルを含むユーザデータを格納する第１のマスタストレージと、第１のマスタストレージとソフトウェアによって二重化された第２のマスタストレージと、第１または第２のマスタストレージから転送されたユーザデータを格納するリモートストレージと、第１および第２のマスタストレージに格納された更新ジャーナルを更新させる制御と、更新された更新ジャーナルを第１および第２のマスタストレージのうちいずれかからリモートホストに転送させる制御とを独立して実行するマスタホストとを備える。
【００１５】
本発明の制御方法は、更新ジャーナルを含むユーザデータを格納する二重化された第１および第２のマスタストレージと、マスタホストと、リモートストレージとがネットワークを介して接続されたストレージシステムの制御方法であって、第１および第２のマスタストレージに格納された更新ジャーナルを更新させる制御と、更新された更新ジャーナルを第１および第２のマスタストレージのうちいずれかからリモートホストに転送させる制御とを独立して実行する。
【００１６】
本発明の制御プログラムは、更新ジャーナルを含むユーザデータを格納する二重化された第１および第２のマスタストレージと、マスタホストと、リモートストレージとがネットワークを介して接続されたストレージシステムの制御プログラムであって、第１および第２のマスタストレージに格納された更新ジャーナルを更新させる制御と、更新された更新ジャーナルを第１および第２のマスタストレージのうちいずれかからリモートホストに転送させる制御とを独立して実行する処理をコンピュータに実行させる。
【発明の効果】
【００１７】
本発明によれば、一時的なアクセス負荷の増大や回線障害が発生しても、論理ディスクのアクセス性能を低下させことなく、更新順序を保証したレプリケーションを継続するストレージシステムを提供できる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１の実施形態に係るストレージシステムの構成を示す概念図である。
【図２】本発明の第１の実施形態に係るストレージシステムのマスタホストの機能構成を示すブロック図である。
【図３】本発明の第１の実施形態に係るストレージシステムのマスタホストが管理する二重化制御表の一例を示すテーブルである。
【図４】本発明の第１の実施形態に係るストレージシステムのマスタホストが管理する二重化レプリケーション制御表の一例を示すテーブルである。
【図５】本発明の第１の実施形態に係るストレージシステムの第１のマスタストレージの機能構成を示すブロック図である。
【図６】本発明の第１の実施形態に係るストレージシステムのマスタストレージ装置が管理するレプリケーション制御表の一例を示すテーブルである。
【図７】本発明の第１の実施形態に係るストレージシステムの第２のマスタストレージの機能構成を示すブロック図である。
【図８】本発明の第１の実施形態に係るストレージシステムのリモートストレージ装置の機能構成を示すブロック図である。
【図９】本発明の第１の実施形態に係るストレージシステムの運用状況を説明するための概念図である。
【図１０】本発明の第１の実施形態に係るストレージシステムの運用状況を説明するための概念図である。
【図１１】本発明の第１の実施形態に係るストレージシステムの運用状況を説明するための概念図である。
【図１２】本発明の第１の実施形態に係るストレージシステムの運用状況を説明するための概念図である。
【図１３】本発明の第１の実施形態に係るストレージシステムの二重化／レプリケーション設定手段の動作を説明するためのフローチャートである。
【図１４】本発明の第１の実施形態に係るストレージシステムのデータ更新制御手段の動作を説明するためのフローチャートである。
【図１５】本発明の第１の実施形態に係るストレージシステムのデータ更新制御手段の動作を説明するためのフローチャートである。
【図１６】本発明の第１の実施形態に係るストレージシステムのアテンション処理手段の動作を説明するためのフローチャートである。
【図１７】本発明の第１の実施形態に係るストレージシステムのアテンション処理手段の動作を説明するためのフローチャートである。
【図１８】本発明の第１の実施形態に係るストレージシステムのアテンション処理手段の動作を説明するためのフローチャートである。
【図１９】本発明の第１の実施形態に係るストレージシステムの入力データ処理手段の動作を説明するためのフローチャートである。
【図２０】本発明の第１の実施形態に係るストレージシステムの更新ジャーナル処理手段の動作を説明するためのフローチャートである。
【図２１】本発明の第１の実施形態に係るストレージシステムの更新ジャーナル転送手段の動作を説明するためのフローチャートである。
【図２２】本発明の第１の実施形態の変形例に係るストレージシステムの構成を示す概念図である。
【図２３】本発明の第２の実施形態に係るストレージシステムの構成および運用状況を説明するための概念図である。
【図２４】本発明の第２の実施形態に係るストレージシステムのネットワークスイッチの動作を説明するためのフローチャートである。
【図２５】本発明の第３の実施形態に係るストレージシステムの構成を示す概念図である。
【図２６】本発明の第３の実施形態に係るストレージシステムのリモートホストの機能構成を示すブロック図である。
【図２７】本発明の関連技術に係るストレージシステムの構成および運用状況を説明するための概念図である。
【発明を実施するための形態】
【００１９】
以下に、本発明を実施するための形態について図面を用いて説明する。ただし、以下に述べる実施形態には、本発明を実施するために技術的に好ましい限定がされているが、発明の範囲を以下に限定するものではない。
【００２０】
（第１の実施形態）
まず、図面を参照しながら本発明の第１の実施形態に係るストレージシステムについて説明する。図１は、本発明の第１の実施形態に係るストレージシステムの構成を示す概念図である。
【００２１】
第１の実施形態に係るストレージシステムは、マスタホスト１と、第１のマスタストレージ２と、第２のマスタストレージ３と、リモートストレージ４と、ネットワーク６とによって構成される。本実施形態においては、第１のマスタストレージ２と第２のマスタストレージ３とはソフトウェアによって二重化されており、互いに同様の構成をもつ。
【００２２】
なお、図１においては、マスタホスト１と、第１のマスタストレージ２および第２のマスタストレージ３とが直接接続されているように図示しているが、ネットワーク６を介して接続するように構成してもよい。また、図１には、マスタホスト１が二つのストレージ装置を管理する構成を示しているが、マスタホスト１が三つ以上のストレージ装置を管理するように構成してもよい。また、リモートストレージ４が複数あってもよい。
【００２３】
＜マスタホスト＞
次に、図２を参照しながら本実施形態に係るマスタホスト１について説明する。
【００２４】
図２のように、マスタホスト１は、二重化／レプリケーション設定手段１１、二重化制御表１２、データ更新制御手段１３、二重化レプリケーション制御表１４およびアテンション処理手段１５を有する。
【００２５】
二重化／レプリケーション設定手段１１は、第１のマスタストレージ２と第２のマスタストレージ３との間のソフトウェア二重化ペアの設定を行う。二重化／レプリケーション設定手段１１は、設定した情報を二重化制御表１２に格納する。なお、ソフトウェア二重化ペアとは、第１のマスタストレージ２および第２のマスタストレージ３のそれぞれが有する論理媒体のうち、同一のデータを格納するように対応付けられた論理媒体の組（ペア）のことである。
【００２６】
また、二重化／レプリケーション設定手段１１は、第１のマスタストレージ２または第２のマスタストレージ３と、リモートストレージ４との間のレプリケーションに関する設定を行う。さらに、二重化／レプリケーション設定手段１１は、二重化レプリケーション制御表１４に設定した情報を格納する。
【００２７】
二重化制御表１２は、二重化／レプリケーション設定手段１１によって設定されたソフトウェア二重化ペアに関する情報を格納する。二重化制御表１２には、ソフトウェア二重化されたペアに関して、第１のマスタストレージ２と第２のマスタストレージ３とを対応させて格納する。すなわち、二重化制御表１２は、ソフトウェア二重化媒体の正媒体と副媒体との対応関係を格納する。言い換えると、本実施形態に係るストレージシステムにおいては、ソフトウェア二重化媒体の正媒体と副媒体との対応関係が二重化制御表１２によって管理される。
【００２８】
図３には、二重化制御表１２の一例（二重化制御表１２０）を示す。図３の二重化制御表１２０には、正系媒体用マスタストレージ装置および副系媒体用マスタストレージ装置の情報が含まれる。なお、初期設定としては、第１のマスタストレージ２が正系媒体用マスタストレージ装置に対応し、第２のマスタストレージ３が副系媒体用マスタストレージ装置に対応する。
【００２９】
また、図３の二重化制御表１２０には、ソフトウェア二重化媒体のペアに関する情報として、二重化媒体ペア情報１は媒体Ａ（正系）と媒体ａ（副系）とを、二重化媒体ペア情報２は媒体Ｂ（正系）と媒体ｂ（副系）とをペアとする情報が格納されている。なお、図３の二重化制御表１２０には、二組の二重化媒体ペア情報しか記録されていないが、二つ以上の二重化媒体ペア情報がある場合には全ての情報を記録しておく。
【００３０】
データ更新制御手段１３は、第１のマスタストレージ２および第２のマスタストレージ３に対して各種Ｉ／Ｏを発行する（Ｉ／Ｏ：Ｉｎｐｕｔ  Ｏｕｔｐｕｔ）。
【００３１】
マスタホスト１上には、ユーザデータを出力するプログラムが動作している。マスタホスト１上で動作するプログラムは、データ更新制御手段１３に対して、媒体Ａへのデータの出力を要求する。データ更新制御手段１３は、プログラムからの要求に応じてマスタストレージ装置に出力データを転送し、媒体Ａを更新する。その際、媒体Ａを更新したデータは、更新ジャーナルとして、マスタストレージ装置（第１のマスタストレージ２または第２のマスタストレージ３）からリモートストレージ４に送られる。
【００３２】
二重化レプリケーション制御表１４は、二重化／レプリケーション設定手段１１によって設定された第１のマスタストレージ２または第２のマスタストレージ３と、リモートストレージ４との間のレプリケーションに関する設定を格納する。具体的には、二重化レプリケーション制御表１４は、各マスタストレージ装置の更新ジャーナル格納手段の使用状況を示す空情報とともに、各マスタストレージ装置のうちいずれが更新ジャーナルを保存・転送しているのかを示す情報を記録する。
【００３３】
図４には、二重化レプリケーション制御表１４の一例（二重化レプリケーション制御表１４０）を示す。図４の二重化レプリケーション制御表１４０には、正系媒体用マスタストレージ装置および副系媒体用マスタストレージ装置がともに、空有りであることが記録されている（内容の「空有り」に下線）。
【００３４】
また、図４の二重化レプリケーション制御表１４０には、更新ジャーナル保存装置および更新ジャーナル転送装置がともに正系媒体用マスタストレージ装置に設定されていることが記録されている（内容の「正系媒体用マスタストレージ装置」に下線）。
【００３５】
なお、更新ジャーナル保存装置とは、更新ジャーナルを蓄える動作をしている側のマスタストレージ装置のことを指す。また、更新ジャーナル転送装置とは、ネットワーク６を介して、マスタストレージ装置に蓄えられている更新ジャーナルをリモートストレージ４に転送しているマスタストレージ装置を指す。初期設定においては、「更新ジャーナル保存装置」と「更新ジャーナル転送装置」とは、同じマスタストレージ装置に設定される。本実施形態においては、「更新ジャーナル保存装置」に設定されていたマスタストレージ装置の更新ジャーナル格納手段が溢れると、「更新ジャーナル保存装置」は別のマスタストレージ装置に切り替わる。すなわち、図２の二重化レプリケーション制御表１４は、現状の「更新ジャーナル保存装置」および「更新ジャーナル転送装置」がいずれのマスタストレージ装置に設定されているのかを示す情報を含む。
【００３６】
アテンション処理手段１５は、第１のマスタストレージ２および第２のマスタストレージ３から受信した各種アテンションに対応した処理を行う。アテンション処理手段１５は、受信したアテンションの内容を判断し、二重化／レプリケーション制御表１４を設定する。
【００３７】
以上が、本実施形態に係るマスタホスト１についての説明である。
【００３８】
＜マスタストレージ装置＞
次に、図５〜図７を参照しながら、本実施形態に係るマスタストレージ装置について説明する。本実施形態に係るマスタストレージ装置である第１のマスタストレージ２および第２のマスタストレージ３は、ソフトウェアによって二重化されており、同様の内部構成を有する。
【００３９】
図５のように、第１のマスタストレージ２は、アテンション通知手段２１、入力データ処理手段２２、レプリケーション設定手段２５、更新ジャーナル処理手段２７、更新ジャーナル退避／復元手段２８および更新ジャーナル保存手段２９を備える。さらに、第１のマスタストレージ２は、仮想ディスク２３、論理ディスク２４、レプリケーション制御表２６、更新ジャーナル転送手段２０１および更新ジャーナル格納手段２０２を含む。なお、仮想ディスク２３は、論理ディスク２４にアクセスするための仮想的なディスクであり、実媒体ではない。
【００４０】
アテンション通知手段２１は、第１のマスタストレージ２が有する他の構成要素からの要求に応じて、マスタホスト１に対して各種アテンションを通知する。なお、マスタホスト１に対して通知する各種アテンションには、「更新ジャーナル格納手段空なし通知」、「更新ジャーナル転送完了通知」などが含まれる。
【００４１】
例えば、アテンション通知手段２１は、自装置が「更新ジャーナル保存装置」に設定されていた場合、更新ジャーナル格納手段２０２の容量が溢れた際に、「更新ジャーナル格納手段空なし通知」をアテンションとして通知する。なお、アテンション通知手段２１は、更新ジャーナル格納手段２０２が溢れそうな際に、アテンションを発行するようにしてもよい。
【００４２】
また、例えば、アテンション通知手段２１は、リモートストレージ４に更新ジャーナルを転送する際に、更新ジャーナル格納手段２０２に格納されている更新ジャーナルを全て転送した段階で、「更新ジャーナル転送完了通知」をアテンションとして通知する。なお、更新ジャーナル保存手段２９にも更新ジャーナルが保存されていた場合、アテンション通知手段２１は、自装置に格納されている更新ジャーナルを全て転送した段階で「更新ジャーナル転送完了通知」を通知する。
【００４３】
入力データ処理手段２２は、マスタホスト１からの各種Ｉ／Ｏを受け取る。そして、入力データ処理手段２２は、マスタホスト１から受け取った各種Ｉ／Ｏの内容に応じた処理を行う。
【００４４】
例えば、入力データ処理手段２２は、データ更新制御手段１３からユーザデータを受信すると、入力したユーザデータを仮想ディスク２３に送る。その際に、仮想ディスク２３に送られたユーザデータは、更新ジャーナルの出力設定（レプリケーションの有無）に応じて処理される。
【００４５】
レプリケーションされる場合、ユーザデータは、論理ディスク２４に格納される。同時に、更新ジャーナルは、更新ジャーナル処理手段２７を経由させてリモートストレージ４に転送され、更新順序保障レプリケーションが実行される。一方、レプリケーションされない場合、ユーザデータは、論理ディスク２４に格納されるが、リモートストレージ４に転送はされない。
【００４６】
仮想ディスク２３は、更新ジャーナルの出力設定（レプリケーションの有無）に対応するように論理ディスク２４ごとに提供され、入力されたユーザデータを更新ジャーナルの出力設定に応じて出力する。
【００４７】
なお、仮想ディスク２３を構成する媒体２３１Ａや媒体Ａ２３２Ａは、実媒体ではなく、第１のマスタストレージ２がマスタホスト１からのデータ更新要求（Ｉ／Ｏ要求）を制御する目的で仮想的に定義された媒体である。実際のデータは、全て論理ディスク２４に記載されている媒体Ａ中に格納される。また、対応する論理ディスク内の媒体が三つ以上の場合は、必要に応じて提供する媒体を増やせばよい。
【００４８】
図５において、媒体Ａに対しては、レプリケーション有りの場合は媒体２３１Ａ、レプリケーション無しの場合は媒体２３２Ａが提供される。また、媒体Ｂに対しては、レプリケーション有りの場合は媒体２３１Ｂ、レプリケーション無しの場合は媒体２３２Ｂが提供される。
【００４９】
例えば、媒体Ａ・レプリケーション有り（媒体２３１Ａ）に関するデータ更新要求（Ｉ／Ｏ要求）を受け取ると、入力データ処理手段２２は、媒体２３１Ａを更新するとともに、更新ジャーナルを更新ジャーナル処理手段２７に渡たす。また、例えば、媒体Ａ・レプリケーション無し（媒体２３２Ａ）に関するデータ更新要求（Ｉ／Ｏ要求）を受け取ると、入力データ処理手段２２は、媒体２３２Ａを更新するだけで、更新ジャーナルは出力しない。
【００５０】
論理ディスク２４は、実際にユーザデータを格納する媒体（論理媒体とも呼ぶ）である。図５においては、媒体Ａ（媒体２４１Ａ）および媒体Ｂ（媒体２４１Ｂ）が論理ディスクに含まれる。なお、図５には、図を簡潔にするために二つの媒体（媒体２４１Ａ・媒体２４１Ｂ）しか定義していないが、実際には三つ以上の媒体を定義しうる。論理ディスク２４は、例えば、ハードディスクなどの補助記憶装置として実現される。
【００５１】
レプリケーション設定手段２５は、マスタストレージとリモートストレージ４との間のレプリケーション関連の設定を行う。なお、設定されたレプリケーション情報は、レプリケーション制御表２６に格納される。
【００５２】
レプリケーション制御表２６は、レプリケーション設定手段２５によって設定されたマスタストレージ装置とリモートストレージ４との間のレプリケーション関連の設定を格納するテーブルである。
【００５３】
図６には、レプリケーション制御表２６の一例（レプリケーション制御表２６０）を示す。図６のレプリケーション制御表２６０は、リモートストレージ装置の情報を含む。また、レプリケーション制御表２６０は、更新ジャーナル転送処理が許可されているか否かに関する設定を含む。
【００５４】
さらに、図６のレプリケーション制御表２６０は、更新ジャーナルを、第１のマスタストレージ２の何れの論理ディスク２４（媒体Ａまたは媒体Ｂ）から、リモートストレージ４の何れの論理ディスク４４（媒体１または媒体２）に転送するかを示す情報を含む。この情報は、リモートデータレプリケーションペア媒体情報（以下、ＲＤＲペア媒体情報）と呼ばれる（ＲＤＲ：Ｒｅｍｏｔｅ  Ｄａｔａ  Ｒｅｐｌｉｃａｔｉｏｎ）。なお、ＲＤＲとは、異なるストレージシステム間でレプリケーションを行う機能のことを示す。一方、同一ストレージシステム内でレプリケーションを行う機能は、ＤＤＲと呼ばれる（ＤＤＲ：ＤｙｎａｍｉｃＤａｔａＲｅｐｌｉｃａｔｉｏｎ）。
【００５５】
例えば、図６のレプリケーション制御表２６０には、２つのＲＤＲペア媒体情報が含まれる。一つは、媒体Ａの更新ジャーナルをリモートストレージの媒体１に格納することを示すＲＤＲペア媒体情報１である。もう一つは、媒体Ｂの更新ジャーナルをリモートストレージの媒体２に格納することを示すＲＤＲペア媒体情報２である。また、第２のマスタストレージ３が更新ジャーナルを転送するため、レプリケーション制御表２６０には、媒体ａおよび媒体ｂの更新ジャーナルをそれぞれリモートストレージの媒体１および媒体２に格納することを示すＲＤＲペア媒体情報を含むことが好ましい。
【００５６】
更新ジャーナル処理手段２７は、論理ディスク２４の更新時に出力された更新ジャーナルを、更新ジャーナル格納手段２０２または更新ジャーナル保存手段２９に振り分ける処理をする。更新ジャーナル処理手段２７は、更新ジャーナル格納手段２０２の空き状況に応じて、更新ジャーナル格納手段２０２または更新ジャーナル保存手段２９に更新ジャーナルを格納（退避）する処理を行う。
【００５７】
例えば、更新ジャーナル格納手段２０２に十分な空きがある場合、更新ジャーナル処理手段２７は、更新ジャーナル格納手段２０２に更新ジャーナルを格納するように処理する。また、例えば、更新ジャーナル格納手段２０２に十分な空きが無い場合、更新ジャーナル処理手段２７は、更新ジャーナル退避／復元手段２８によって、更新ジャーナル保存手段２９に更新ジャーナルを退避させる。
【００５８】
また、更新ジャーナル格納手段２０２の空容量が少なくなると、更新ジャーナル処理手段２７は、アテンション通知手段２１経由でマスタホスト１に対し、「更新ジャーナル格納手段空きなし通知」を通知する。なお、これ以降、更新ジャーナルを格納するための十分な空きが更新ジャーナル格納手段２０２に無い状況を、「空きが無い」または「空きが少ない」などと表現することがある。
【００５９】
更新ジャーナル退避／復元手段２８は、更新ジャーナル格納手段２０２に空きが少なくなった場合に、更新ジャーナル処理手段２７から更新ジャーナルを受け取り、受け取った更新ジャーナルを更新ジャーナル保存手段２９に退避する。また、更新ジャーナル退避／復元手段２８は、更新ジャーナル保存手段２９に保存された更新ジャーナルを転送する場合、更新ジャーナル保存手段２９から更新ジャーナルを復元し、復元した更新ジャーナルを更新ジャーナル転送手段に出力する。
【００６０】
更新ジャーナル保存手段２９は、更新ジャーナル格納手段２０２に更新ジャーナルを格納できない場合に、更新ジャーナルを保存するための記憶領域である。更新ジャーナル保存手段２９へのアクセスは、更新ジャーナル退避／復元手段２８によって行われる。更新ジャーナル保存手段２９は、更新ジャーナル格納手段２０２よりもアクセス性能は劣るとしても、更新ジャーナル格納手段２０２よりも容量が大きい方が好ましい。例えば、更新ジャーナル保存手段２９は、ハードディスクドライブなどのディスク媒体によって実現できる。
【００６１】
更新ジャーナル転送手段２０１は、更新ジャーナル格納手段２０２および更新ジャーナル保存手段２９に格納されている更新ジャーナルを、リモートストレージ４に転送する。更新ジャーナル転送手段２０１は、更新ジャーナル格納手段２０２および更新ジャーナル保存手段２９に格納されている更新ジャーナルが空になると、アテンション通知手段２１経由でマスタホスト１に対して、「更新ジャーナル転送完了通知」を通知する。
【００６２】
更新ジャーナル格納手段２０２は、リモートストレージ４に転送前の更新ジャーナルを格納するための記憶領域である。更新ジャーナル格納手段２０２は、更新ジャーナル保存手段２９よりも高速アクセスが可能な記憶領域である。例えば、更新ジャーナル格納手段２０２は、キャッシュメモリなどとして実現できる。
【００６３】
続いて、図７を参照しながら、第２のマスタストレージ３について説明する。なお、第１のマスタストレージ２および第２のマスタストレージ３の内部構成・機能のうち、同様の構成・機能については説明を省略する。
【００６４】
図７のように、第２のマスタストレージ３は、アテンション通知手段３１、入力データ処理手段３２、レプリケーション設定手段３５、更新ジャーナル処理手段３７、更新ジャーナル退避／復元手段３８および更新ジャーナル保存手段３９を備える。さらに、第２のマスタストレージ３は、仮想ディスク３３、論理ディスク３４、レプリケーション制御表３６、更新ジャーナル転送手段３０１、および、更新ジャーナル格納手段３０２を含む。なお、仮想ディスク３３は、論理ディスク３４にアクセスするための仮想的なディスクであり、実媒体ではない。
【００６５】
第１のマスタストレージ２と第２のマスタストレージ３との異なる点は、論理ディスクおよび仮想ディスク内の媒体の名称である。第２のマスタストレージ３の論理ディスク３４は、媒体３４１ａ（以下、媒体ａ）と、媒体２４１ｂ（以下、媒体ｂ）とを含む。また、仮想ディスク３３においては、媒体ａに対して、レプリケーション有りの場合は媒体３３１ａ、レプリケーション無しの場合は媒体３３２ａが提供される。同様に、仮想ディスク３３においては、媒体ｂに対して、レプリケーション有りの場合は媒体３３１ｂ、レプリケーション無しの場合は媒体３３２ｂが提供される。
【００６６】
なお、仮想ディスク３３内の媒体は実媒体ではなく、第２のマスタストレージ３がマスタホスト１からのデータ更新要求（Ｉ／Ｏ要求）を制御する目的で仮想的に定義された媒体（仮想媒体とも呼ぶ）である。
【００６７】
その他、第２のマスタストレージ３において、第１のマスタストレージ２と同じ名称の構成要素は、第１のマスタストレージ２と同様の機能を有する。
【００６８】
以上が、マスタストレージ装置についての説明である。
【００６９】
＜リモートストレージ＞
次に、図８を参照しながら、リモートストレージ４について説明する。
【００７０】
図８のように、リモートストレージ４は、更新ジャーナル受取手段４１、更新ジャーナル格納手段４２、更新ジャーナル処理手段４３および論理ディスク４４を有する。リモートストレージ４には、マスタストレージ装置上（第１のマスタストレージ２または第２のマスタストレージ３）の論理ディスク（２４または３４）の複製が作成される。
【００７１】
レプリケーションにおいては、マスタストレージ装置内の媒体（例えば、媒体Ａ）の内容と、対リモートストレージ４内の対応する媒体（例えば、媒体１）の内容が完全に一致した状態を「同期状態」と呼ぶ。同期状態となった後、媒体Ａへの更新データは、更新ジャーナルとしてマスタストレージ装置（第１のマスタストレージ２または第２のマスタストレージ３）からリモートストレージ４に転送される。
【００７２】
更新ジャーナル受取手段４１は、マスタストレージ装置から転送されてきた更新ジャーナルを受け取り、受け取った更新ジャーナルを更新ジャーナル格納手段４２に格納するデータ受取手段である。
【００７３】
更新ジャーナル格納手段４２は、リモートストレージ４に転送される更新ジャーナルを格納するための高速アクセスが可能な記憶領域である。更新ジャーナル格納手段４２は、例えば、キャッシュメモリなどとして実現する。
【００７４】
更新ジャーナル処理手段４３は、更新ジャーナル格納手段４２に格納された更新ジャーナルの内容を論理ディスク４４に反映するデータ処理手段である。
【００７５】
論理ディスク４４は、少なくとも一つの媒体(記憶媒体ともよぶ)を含む。図８においては、論理ディスク４４に、媒体４４１（以下、媒体１）と媒体４４２（以下、媒体２）とが含まれる。媒体１は、第１のマスタストレージ２の論理ディスク２４の媒体Ａの複製媒体である。媒体Ａのユーザデータは、二重化／レプリケーション設定手段１１によって、媒体Ａと媒体１とがペア設定されたタイミングで、媒体Ａから媒体１へと転送される。同様に、媒体２は、第１のマスタストレージ２の論理ディスク２４の媒体Ｂの複製媒体である。媒体Ａと同様に、媒体Ｂのユーザデータも、二重化／レプリケーション設定手段１１によって、媒体Ｂと媒体２とがペア設定されたタイミングで、媒体Ｂから媒体２へと転送される。
【００７６】
論理ディスク４４は、第１のマスタストレージ２の論理ディスク２４とレプリケーションペア設定された媒体によって構成される論理ディスクである。論理ディスク４４に反映された更新ジャーナルの内容は、更新順序保証レプリケーションされている。
【００７７】
例えば、第１のマスタストレージ２の媒体Ａからの更新ジャーナルは、第１のマスタストレージ２のレプリケーション制御表２６に記録されたＲＤＲペア媒体情報１に基づいて、媒体１に格納される。また、例えば、第１のマスタストレージ２の媒体Ｂからの更新ジャーナルは、第１のマスタストレージ２のレプリケーション制御表２６に記録されたＲＤＲペア媒体情報２に基づいて、媒体２に格納される。
【００７８】
以上が、リモートストレージ４についての説明である。
【００７９】
＜ネットワーク＞
次に、図１を参照しながら、ネットワーク６について説明する。
【００８０】
ネットワーク６は、第１の実施形態に係るストレージシステムを構成する各構成要素間を接続するデータ通信網である。ネットワーク６は、例えば、インターネットやＬＡＮ、ＷＡＮなどとして構築される（ＬＡＮ：Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ、ＷＡＮ：Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）。なお、ネットワーク６は、上述のデータ通信網以外の構成を利用してもよい。また、ネットワーク６は、本実施形態に係るストレージシステム含まれていてもよいし、含まれていなくてもよい。
【００８１】
以上が、ネットワーク６についての説明である。
【００８２】
第１の実施形態に係るストレージシステムでは、データ更新を行うストレージ装置と、更新データの管理（保存・格納・転送等を含む）を行うストレージ装置とを独立して管理することを特徴とする。なお、データ更新とは「ＤＢ／ファイル更新」のことを指し、更新データとは「ジャーナル／レプリケーション対象データ」のことを指す。また、「データ更新を行うストレージ装置」のことを「更新ジャーナル保存装置」と呼び、「更新データの管理・保存を行うストレージ装置」のことを「更新ジャーナル転送装置」と呼ぶ。すなわち、第１の実施形態に係るストレージシステムでは、更新ジャーナル保存装置と、更新ジャーナル転送装置とを独立して管理する。
【００８３】
本実施形態に係るストレージシステムでは、通常運用時は、正系媒体用の第１のマスタストレージ２によって更新順序保障レプリケーションが実行される（図１の実線矢印）。そして、何らかの理由で、正系媒体用の第１のマスタストレージ２の更新ジャーナル格納手段２０２に空きが十分ではなくなった場合、第２のストレージシステム３によって更新順序保障レプリケーションが実行される（図１の破線矢印）。いずれの場合においても、一方のマスタストレージのみによって、更新順序保障レプリケーションが実行される。本実施形態によれば、レプリケーションを実行するマスタストレージが切り替わったとしても、リモートストレージ４への更新順序保障レプリケーションを継続することができる。
【００８４】
また、第１の実施形態に係るストレージシステムでは、マスタストレージの二重化／レプリケーション設定時に、一方のマスタストレージ装置のみから、マスタホストからのＩ／Ｏの更新ジャーナルを出力する。すなわち、一方のマスタストレージ装置とリモートストレージとの間でのみ更新ジャーナルの転送（レプリケーション）を行う。そのため、通常運用時は、一方のマスタストレージ装置のみから更新ジャーナルが出力され、一方のマスタストレージ装置とリモートストレージとの間でのみレプリケーションが行われる。
【００８５】
本実施形態に係るストレージシステムでは、ソフトウェア二重化された正系媒体および副系媒体のそれぞれが格納されている２台のマスタストレージの更新ジャーナル格納手段を交互に利用する。そのため、本実施形態によれば、機器を追加することなしに、一時的なマスタホストからのデータ更新量の増大や回線障害などが発生した場合も、ストレージのアクセス性能を落とさずに更新順序保証レプリケーションを継続することができる。
【００８６】
＜運用＞
次に、図９〜図１２を用いて、第１の実施形態に係るストレージシステムの運用について説明する。図９〜図１２を用いた以下の説明では、第１のマスタストレージ２を正系媒体用マスタストレージ装置２０、第２のマスタストレージ３を副系媒体用マスタストレージ装置３０と呼ぶ。図９〜図１２のように、正系媒体用マスタストレージ装置２０および副系媒体用マスタストレージ装置３０は、共にネットワーク６０を介して、リモートストレージ装置４０と接続される。
【００８７】
また、図９〜図１２においては、論理ディスク２４中の媒体２４１（以下、媒体Ａ）に対して、レプリケーション有りの場合は媒体２３１、レプリケーション無しの場合は媒体２３２が仮想ディスクとして提供される。同様に、図９〜図１２において、論理ディスク３４中の媒体３４１（媒体ａ）に対しては、レプリケーション有りの場合は媒体３３１、レプリケーション無しの場合は媒体３３２が仮想ディスクとして提供される。
【００８８】
図９〜図１２においては、論理ディスク２４が単一の媒体で構成されるものとし、入力データ処理手段２２は、レプリケーション有りの場合は媒体２３１へのＩ／Ｏを受け取り、レプリケーション無しの場合は媒体２３２へのＩ／Ｏを受け取るものとして説明する。そのため、論理ディスク２４が含む媒体を媒体２４１と記載し、末尾の符号を省略する。なお、図９〜図１２においては、媒体Ａに対応する媒体１のみを図示しているが、第１のマスタストレージ２の論理ディスク２４を構成する全ての媒体に対応するように、リモートストレージ４の論理ディスク４４に媒体を設けることができる。
【００８９】
図９は、マスタストレージ装置の二重化／レプリケーション設定時のストレージシステムの運用状況についての概念図である。
【００９０】
まず、マスタホスト１０の二重化／レプリケーション設定手段１１が二重化制御表１２に二重化ペア装置情報を設定し、二重化レプリケーション制御表１４に初期値を設定する。なお、二重化ペア装置情報とは、ソフトウェア二重化されたマスタストレージ装置のペアに関し、いずれのマスタストレージ装置が正系媒体用または副系媒体用であるのかを示す情報である。
【００９１】
そして、二重化／レプリケーション設定手段１１が正系媒体用マスタストレージ装置２０のレプリケーション設定手段２５に設定を通知すると、レプリケーション設定手段２５は、レプリケーション関連の設定をレプリケーション制御表２６に格納する。このとき、レプリケーション制御表２６には、更新ジャーナル転送処理を許可とする設定が格納される。
【００９２】
また、二重化／レプリケーション設定手段１１が副系媒体用マスタストレージ装置３０のレプリケーション設定手段３５に設定を通知すると、レプリケーション設定手段３５は、レプリケーション関連の設定をレプリケーション制御表３６に格納する。このとき、レプリケーション制御表３６には、更新ジャーナル転送処理を禁止とする設定が格納される。
【００９３】
すなわち、マスタストレージ装置の二重化／レプリケーション設定時において、マスタホスト１０からのＩ／Ｏの更新ジャーナルは、正系媒体用マスタストレージ装置２０でのみ出力するように設定される。その結果、正系媒体用マスタストレージ装置２０とリモートストレージ装置４０との間でレプリケーション（更新ジャーナルの転送）を行う設定となる。
【００９４】
図１０は、ストレージシステムの通常運用時において、正系媒体用マスタストレージ装置２０のみから更新ジャーナルが出力され、正系媒体用マスタストレージ装置２０とリモートストレージ装置４０との間でレプリケーションが行われる例の概念図である。なお、図１０の例では、正系媒体用マスタストレージ装置２が「更新ジャーナル保存装置」および「更新ジャーナル転送装置」に設定されているものとする。
【００９５】
「論理ディスクへのデータ更新要求（以下、Ｉ／Ｏ要求）」を受けると、データ更新制御手段１３は、二重化レプリケーション制御表１４から「更新ジャーナル保存装置」情報を取得する。そして、データ更新制御手段１３は、正系媒体用マスタストレージ装置２０および副系媒体用マスタストレージ装置３０に対してユーザデータを出力する。
【００９６】
正系媒体用マスタストレージ装置２０の入力データ処理手段２２は、仮想ディスク２３の媒体２３１（レプリ有）にＩ／Ｏを発行する。このとき、入力データ処理手段２２は、論理ディスク２４の媒体２４１にユーザデータを格納するとともに、ユーザデータの更新ジャーナルを更新ジャーナル処理手段２７に出力するように処理する。更新ジャーナル処理手段２７は、取得した更新ジャーナルを、更新ジャーナル格納手段２０２に格納するか、更新ジャーナル退避／復元手段２８を用いて更新ジャーナル保存手段２９に保存する。
【００９７】
一方、副系媒体用マスタストレージ装置３０の入力データ処理手段３２は、仮想ディスク２３の媒体３３２（レプリ無）にＩ／Ｏを発行する。このとき、入力データ処理手段３２は、論理ディスク３４の媒体３４１にユーザデータを格納するものの、ユーザデータの更新ジャーナルを更新ジャーナル処理手段３７に出力しないように処理する。
【００９８】
ところで、「更新ジャーナル転送装置設定要求」を受けると、データ更新制御手段１３は、二重化レプリケーション制御表１４から「更新ジャーナル転送装置」情報を取得する。そして、データ更新制御手段１３は、「更新ジャーナル転送装置」に設定されている正系媒体用マスタストレージ装置２０に「更新ジャーナル転送許可Ｉ／Ｏ」を発行し、副系媒体用マスタストレージ装置３０に「更新ジャーナル転送禁止Ｉ／Ｏ」を発行する。
【００９９】
正系媒体用マスタストレージ装置２０の更新ジャーナル処理手段２７は、レプリケーション制御表２６に更新ジャーナル転送処理を許可する設定を格納する。
【０１００】
正系媒体用マスタストレージ装置２０の更新ジャーナル転送手段２０１は、レプリケーション制御表２６を参照して更新ジャーナル転送処理が許可となっていることを確認し、更新ジャーナル転送処理を実行する。すなわち、更新ジャーナル転送手段２０１は、更新ジャーナル格納手段２０２または更新ジャーナル保存手段２９に格納・保存された更新ジャーナルを、更新順序を保証するようにリモートストレージ装置４０に転送する（更新順序保障レプリケーション）。
【０１０１】
一方、副系媒体用マスタストレージ装置３０の更新ジャーナル転送手段３０１は、レプリケーション制御表３６を参照して更新ジャーナル転送処理が禁止されていることを確認し、更新ジャーナル転送処理を実行しない。
【０１０２】
そして、リモートストレージ装置４０の更新ジャーナル受取手段４１は、受信した更新ジャーナルを更新ジャーナル格納手段４２に格納する。さらに、更新ジャーナル処理手段４３は、更新ジャーナル格納手段４２に格納された更新ジャーナルの内容を論理ディスク４４に反映させるように処理する。
【０１０３】
図１１および図１２は、正系媒体用マスタストレージ装置２０の更新ジャーナル格納手段２０２が一杯になった場合に、レプリケーションを実行するマスタストレージ装置を切り替えるときのストレージシステムの運用状況を説明するための概念図である。
【０１０４】
図１１は、更新ジャーナル格納手段２０２が一杯になった直後のストレージシステムの運用状況を示す。図１１において、更新ジャーナル格納手段２０２が一杯になると、更新ジャーナル処理手段２７は、アテンション通知手段２１を介してマスタホスト１０のアテンション処理手段１５に「更新ジャーナル格納手段空きなし通知」を通知する（図１１の破線）。
【０１０５】
「更新ジャーナル格納手段空きなし通知」を受け取ったアテンション処理手段１５は、二重化／レプリケーション制御表１４の「正系媒体用マスタストレージ装置の更新ジャーナル格納手段の空情報」を「空なし」に更新する。同時に、アテンション処理手段１５は、「更新ジャーナル保存装置」を「副系媒体用マスタストレージ装置」に変更する。その結果、以降のマスタホスト１０からのＩ／Ｏの更新ジャーナルは、副系媒体用マスタストレージ装置３０のみから出力され、更新ジャーナル格納手段３０２に蓄えられる。
【０１０６】
このとき、副系媒体用マスタストレージ装置３０の更新ジャーナル格納手段３０２に蓄えられた更新ジャーナルは、ただちにリモートストレージ装置４０に転送されるのではない。更新ジャーナル格納手段３０２に蓄えられた更新ジャーナルは、更新ジャーナル格納手段２０２または更新ジャーナル保存手段２９に蓄えられた更新ジャーナルの転送完了後に転送される。
【０１０７】
図１２は、正系媒体用マスタストレージ装置２０内に蓄えられた更新ジャーナルの転送が完了し、「更新ジャーナル転送装置」が副系媒体用マスタストレージ装置３０に切り替わった後のストレージシステムの運用状況を示す。図１２は、更新ジャーナル格納手段２０２または更新ジャーナル保存手段２９に蓄えられていた更新ジャーナルの転送が完了した後の状況である。
【０１０８】
このとき、更新ジャーナル転送手段２０１は、アテンション通知手段２１を介して、マスタホスト１０のアテンション処理手段１５に「更新ジャーナル転送完了通知」を通知する（図１２の破線）。
【０１０９】
「更新ジャーナル転送完了通知」を受け取ったアテンション処理手段１５は、二重化／レプリケーション制御表１４の「正系媒体用マスタストレージ装置の更新ジャーナル格納手段の空情報」を「空あり」に変更する。同時に、アテンション処理手段１５は、「更新ジャーナル転送装置」を「副系媒体用マスタストレージ装置」に変更するとともに、データ更新制御手段１３に「更新ジャーナル転送装置設定要求」を行う。
【０１１０】
「更新ジャーナル転送装置設定要求」を受け取ったデータ更新制御手段１３は、正系媒体用マスタストレージ装置２０の入力データ処理手段２２に「更新ジャーナル転送禁止Ｉ／Ｏ」を発行する。併せて、データ更新制御手段１３は、副系媒体用マスタストレージ装置３０の入力データ処理手段３２に「更新ジャーナル転送許可Ｉ／Ｏ」を発行する。その結果、図１２のように、副系媒体用マスタストレージ装置３０からの更新ジャーナル転送が開始され、正系媒体用マスタストレージ装置２０からの更新ジャーナル転送は行われなくなる。
【０１１１】
以上のように、本実施形態のストレージシステムの運用においては、更新ジャーナルを出力するマスタストレージ装置と、更新ジャーナルを転送するマスタストレージ装置とを独立して制御する。その結果、各マスタストレージ装置の更新ジャーナル格納手段を有効に活用することにより、マスタストレージ装置のアクセス性能を低下させることなく、更新順序保証レプリケーションを継続させることが可能となる。
【０１１２】
なお、各マスタストレージ装置の更新ジャーナル格納手段（キャッシュ等）が両方とも一杯となった場合は、容量が大きな更新ジャーナル保存手段（ディスク媒体等）を使用する。キャッシュ等で実現する更新ジャーナル格納手段と比較すると、ディスク媒体等で実現する更新ジャーナル保存手段のアクセス性能は劣るため、マスタストレージ装置へのアクセス性能は低下する。しかしながら、更新ジャーナル保存手段を使用することによって、更新順序保証レプリケーション自体を継続することは可能となる。
【０１１３】
（動作）
次に、図１３〜図２１のフローチャートを参照しながら、ソフトウェア二重化された媒体の更新順序保証レプリケーションを実行する本実施形態に係るストレージシステムの動作を説明する。
【０１１４】
＜二重化／レプリケーション設定手段＞
まず、二重化／レプリケーション設定手段１１によるソフトウェア二重化およびレプリケーション設定処理について説明する。図１３は、ソフトウェア二重化およびレプリケーション設定時における二重化／レプリケーション設定手段１１の動作を説明するためのフローチャートである。
【０１１５】
まず、図１３において、二重化／レプリケーション設定手段１１は、指定されたソフトウェア二重化情報を二重化制御表１２に設定する（ステップＳ１０１）。
【０１１６】
二重化／レプリケーション設定手段１１は、マスタストレージ装置２台に関するレプリケーション情報の初期値を二重化／レプリケーション制御表１４に設定する（ステップＳ１０２）。
【０１１７】
二重化／レプリケーション設定手段１１は、正系媒体用マスタストレージ装置２０のレプリケーション設定手段２５に通知し、レプリケーション制御表２６にレプリケーション関連情報を設定する（ステップＳ１０３）。
【０１１８】
二重化／レプリケーション設定手段１１は、副系媒体用マスタストレージ装置３０のレプリケーション設定手段３５に通知し、レプリケーション制御表３６にレプリケーション関連情報を設定する（ステップＳ１０４）。
【０１１９】
以上が、ソフトウェア二重化およびレプリケーション設定時における二重化／レプリケーション設定手段１１の動作についての説明である。
【０１２０】
＜データ出力制御手段＞
続いて、「論理ディスクの媒体へのＩ／Ｏ要求」または「更新ジャーナル転送装置設定要求」を受けた際の、マスタホスト１０のデータ更新制御手段１３によるデータ出力制御処理について説明する。図１４および図１５は、マスタホスト１０のデータ更新制御手段１３の動作を説明するためのフローチャートである。
【０１２１】
まず、図１４において、データ更新制御手段１３は、受信した要求が論理ディスク２４へのＩ／Ｏ要求か否かを判断する（ステップＳ２０１）。
【０１２２】
論理ディスクの媒体２４１へのＩ／Ｏ要求だった場合（ステップＳ２０１でＹｅｓ）、データ更新制御手段１３は、二重化／レプリケーション制御表１４から「更新ジャーナル保存装置」情報を取得する（ステップＳ２０２）。一方、ステップＳ２０１において、論理ディスクの媒体２４１へのＩ／Ｏ要求ではなかった場合（ステップＳ２０１でＮｏ）、図１５のステップＳ２０８に進む（図１５のＡ〜Ｂ）。
【０１２３】
ここで、データ更新制御手段１３は、「更新ジャーナル保存装置」が正系媒体用マスタストレージ装置２０であるか否かを判断する（ステップＳ２０３）。
【０１２４】
「更新ジャーナル保存装置」が正系媒体用マスタストレージ装置２０の場合（ステップＳ２０３でＹｅｓ）、データ更新制御手段１３は、正系媒体用マスタストレージ装置２０の仮想ディスク２３の媒体２３１（レプリ有）にＩ／Ｏを発行する（ステップＳ２０４）。
【０１２５】
そして、データ更新制御手段１３は、副系媒体用マスタストレージ装置３０の仮想ディスク３３の媒体３３２（レプリ無）にＩ／Ｏを発行する（ステップＳ２０５）。ここで、ステップＳ２０３でＹｅｓの場合のフローは終了となる。
【０１２６】
「更新ジャーナル保存装置」が副系媒体用マスタストレージ装置３０の場合（ステップＳ２０３でＮｏ）、データ更新制御手段１３は、副系媒体用マスタストレージ装置３０の仮想ディスク３３の媒体３３１（レプリ有）にＩ／Ｏを発行する（ステップＳ２０６）。
【０１２７】
そして、データ更新制御手段１３は、正系媒体用マスタストレージ装置２０の仮想ディスク２３の媒体２３２（レプリ無）にＩ／Ｏを発行する（ステップＳ２０７）。ここで、ステップＳ２０３でＮｏの場合のフローは終了となる。
【０１２８】
続いて、図１５を用いて、図１４のステップＳ２０１において、論理ディスク２４へのＩ／Ｏ要求ではなかった場合（ステップＳ２０１でＮｏ）における処理について説明する（図１５のＡ〜Ｂ）。
【０１２９】
図１５において、データ更新制御手段１３は、「更新ジャーナル転送装置設定要求」であるか否かを判断する（ステップＳ２０８）。
【０１３０】
「更新ジャーナル転送装置設定要求」の場合（ステップＳ２０８でＹｅｓ）、データ更新制御手段１３は、二重化／レプリケーション制御表１４から「更新ジャーナル転送装置」情報を取得する（ステップＳ２０９）。一方、更新ジャーナル転送装置設定要求」ではなかった場合（ステップＳ２０８でＮｏ）、図１５のフローは終了となる。
【０１３１】
ここで、ステップＳ２０８でＹｅｓの場合、データ更新制御手段１３は、「更新ジャーナル転送装置」が正系媒体用マスタストレージ装置２０であるか否かを判断する（ステップＳ２１０）。
【０１３２】
「更新ジャーナル転送装置」が正系媒体用マスタストレージ装置２０の場合（ステップＳ２１０でＹｅｓ）、データ更新制御手段１３は、正系媒体用マスタストレージ装置２０に「更新ジャーナル転送許可Ｉ／Ｏ」を発行する（ステップＳ２１１）。
【０１３３】
そして、データ更新制御手段１３は、副系媒体用マスタストレージ装置３０に「更新ジャーナル転送禁止Ｉ／Ｏ」を発行する（ステップＳ２１２）。ここで、ステップＳ２１０でＹｅｓの場合のフローは終了となる。
【０１３４】
一方、「更新ジャーナル転送装置」が副系媒体用マスタストレージ装置３０の場合（ステップＳ２１０でＮｏ）、データ更新制御手段１３は、副系媒体用マスタストレージ装置３０に「更新ジャーナル転送許可Ｉ／Ｏ」を発行する（ステップＳ２１３）。
【０１３５】
そして、データ更新制御手段１３は、正系媒体用マスタストレージ装置２０に「更新ジャーナル転送禁止Ｉ／Ｏ」を発行する（ステップＳ２１４）。ここで、ステップＳ２１０でＮｏの場合のフローは終了となる。
【０１３６】
以上が、「論理ディスクの媒体へのＩ／Ｏ要求」または「更新ジャーナル転送装置設定要求」を受けた際の、マスタホスト１０のデータ更新制御手段１３の動作についての説明である。
【０１３７】
＜アテンション処理手段＞
続いて、図１６〜図１８を用いて、正系媒体用マスタストレージ装置２０の更新ジャーナル格納手段２０２の空き状況に応じたマスタホスト１０のアテンション処理手段１５の動作について説明する。図１６〜図１８は、マスタホスト１０のアテンション処理手段１５の動作を説明するためのフローチャートである。
【０１３８】
まず、図１６において、アテンション処理手段１５は、正系媒体用マスタストレージ装置２０または副系媒体用マスタストレージ装置３０からアテンションを受け取る（ステップＳ３０１）。
【０１３９】
ここで、アテンション処理手段１５は、受け取ったアテンションが正系媒体用マスタストレージ装置２０からの通知であるか否かを判断する（ステップＳ３０２）。
【０１４０】
正系媒体用マスタストレージ装置２０からの通知だった場合（ステップＳ３０２でＹｅｓ）、アテンション処理手段１５は、受け取ったアテンションが「更新ジャーナル格納手段空なし通知」であるか否かを判断する（ステップＳ３０３）。一方、正系媒体用マスタストレージ装置２０からの通知ではなかった場合（ステップＳ３０２でＮｏ）、すなわち副系媒体用マスタストレージ装置３０からの通知であった場合、図１８に進む（図１８のＥ〜Ｆ）。
【０１４１】
ステップＳ３０３において、「更新ジャーナル格納手段空なし通知」の場合（ステップＳ３０３でＹｅｓ）、アテンション処理手段１５は、二重化／レプリケーション制御表１４に設定を行う。すなわち、アテンション処理手段１５は、二重化／レプリケーション制御表１４の「正系媒体用マスタストレージ装置＿更新ジャーナル格納手段の空情報」を「空なし」に設定する（ステップＳ３０４）。一方、「更新ジャーナル格納手段空なし通知」ではない場合（ステップＳ３０３でＮｏ）、図１７のステップＳ３０７に進む（図１７のＣ〜Ｄ）。
【０１４２】
さらに、アテンション処理手段１５は、二重化／レプリケーション制御表１４の副系媒体用マスタストレージ装置＿更新ジャーナル格納手段の空情報が「空あり」であるか否かを判断する（ステップＳ３０５）。
【０１４３】
「副系媒体用マスタストレージ装置＿更新ジャーナル格納手段の空情報」が「空あり」の場合（ステップＳ３０５でＹｅｓ）、アテンション処理手段１５は、二重化／レプリケーション制御表１４に設定を行う。すなわち、アテンション処理手段１５は、二重化／レプリケーション制御表１４の「更新ジャーナル保存装置」を「副系媒体用マスタストレージ装置」に設定する（ステップＳ３０６）。一方、「副系媒体用マスタストレージ装置＿更新ジャーナル格納手段の空情報」が「空なし」の場合（ステップＳ３０５でＮｏ）、図１６のフローは終了となる。
【０１４４】
続いて、図１６のステップＳ３０３において、アテンション処理手段１５が受け取ったアテンションが「更新ジャーナル格納手段空なし通知」ではない場合（図１６のステップＳ３０３でＮｏ）について、図１７を用いて説明する（図１７のＣ〜Ｄ）。
【０１４５】
図１７において、アテンション処理手段１５は、受け取ったアテンションが「更新ジャーナル転送完了通知」であるか否かを判断する（ステップＳ３０７）。
【０１４６】
「更新ジャーナル転送完了通知」の場合（ステップＳ３０７でＹｅｓ）、アテンション処理手段１５は、二重化／レプリケーション制御表１４の「正系媒体用マスタストレージ装置＿更新ジャーナル格納手段の空情報」を「空あり」に設定する（ステップＳ３０８）。一方、「更新ジャーナル転送完了通知」ではなかった場合（ステップＳ３０７でＮｏ）、図１７のフローは終了とする。
【０１４７】
さらに、アテンション処理手段１５は、二重化／レプリケーション制御表１４の「更新ジャーナル保存装置」が「副系媒体用マスタストレージ装置」であるか否かを判断する（ステップＳ３０９）。
【０１４８】
「更新ジャーナル保存装置」が「副系媒体用マスタストレージ装置」の場合（ステップＳ３０９でＹｅｓ）、アテンション処理手段１５は、二重化／レプリケーション制御表１４の設定を行う。すなわち、アテンション処理手段１５は、二重化／レプリケーション制御表１４の「更新ジャーナル転送装置」に「副系媒体用マスタストレージ装置」を設定する（ステップＳ３１０）。一方、「更新ジャーナル保存装置」が「副系媒体用マスタストレージ装置」ではなかった場合（ステップＳ３０９でＮｏ）、図１７のフローは終了とする。
【０１４９】
そして、アテンション処理手段１５は、データ更新制御手段１３に「更新ジャーナル転送装置設定要求」を行う（ステップＳ３１１）。ここで、図１７のフロー（Ｃ〜Ｄ）は終了となる。
【０１５０】
続いて、図１６のステップＳ３０２において、アテンション処理手段１５が受け取ったアテンションが「副系媒体用マスタストレージ装置３０からの通知」であった場合（図１６のステップＳ３０２でＮｏ）について図１８を用いて説明する（図１８のＥ〜Ｆ）。
【０１５１】
図１８において、アテンション処理手段１５は、受け取ったアテンションが「更新ジャーナル格納手段空なし通知」であるか否かを判断する（ステップＳ３１２）。
【０１５２】
「更新ジャーナル格納手段空なし通知」の場合（ステップＳ３１２でＹｅｓ）、アテンション処理手段１５は、二重化／レプリケーション制御表１４の設定を行う。すなわち、アテンション処理手段１５は、二重化／レプリケーション制御表１４の「副系媒体用マスタストレージ装置＿更新ジャーナル格納手段の空情報」を「空なし」に設定する（ステップＳ３１３）。一方、「更新ジャーナル格納手段空なし通知」ではなかった場合（ステップＳ３１２でＮｏ）、ステップＳ３１６に進む。
【０１５３】
さらに、アテンション処理手段１５は、二重化／レプリケーション制御表１４の「正系媒体用マスタストレージ装置＿更新ジャーナル格納手段の空情報」が「空あり」であるか否かを判断する（ステップＳ３１４）。
【０１５４】
「正系媒体用マスタストレージ装置＿更新ジャーナル格納手段の空情報」が「空あり」の場合（ステップＳ３１４でＹｅｓ）、アテンション処理手段１５は、二重化／レプリケーション制御表１４の設定をする。すなわち、アテンション処理手段１５は、二重化／レプリケーション制御表１４の「更新ジャーナル保存装置」を「正系媒体用マスタストレージ装置」に設定する（ステップＳ３１５）。一方、「正系媒体用マスタストレージ装置＿更新ジャーナル格納手段の空情報」が「空なし」の場合（ステップＳ３１４でＮｏ）、図１８のフローは終了とする。
【０１５５】
ここで、ステップＳ３１２において、アテンション処理手段１５が受け取ったアテンションが「更新ジャーナル格納手段空なし通知」ではない場合（ステップＳ３１２でＮｏ）について説明する。
【０１５６】
「更新ジャーナル格納手段空なし通知」ではない場合（ステップＳ３１２でＮｏ）、アテンション処理手段１５は、受け取ったアテンションが「更新ジャーナル転送完了通知」であるか否かを判断する（ステップＳ３１６）。
【０１５７】
「更新ジャーナル転送完了通知」の場合（ステップＳ３１６でＹｅｓ）、アテンション処理手段１５は、二重化／レプリケーション制御表１４の「副系媒体用マスタストレージ装置＿更新ジャーナル格納手段の空情報」を「空あり」に設定する（ステップＳ３１７）。一方、「更新ジャーナル転送完了通知」ではなかった場合（ステップＳ３１６でＮｏ）、図１８のフローは終了とする。
【０１５８】
さらに、アテンション処理手段１５は、二重化／レプリケーション制御表１４の「更新ジャーナル保存装置」が「正系媒体用マスタストレージ装置」であるか否かを判断する（ステップＳ３１８）。
【０１５９】
「更新ジャーナル保存装置」が「正系媒体用マスタストレージ装置」の場合（ステップＳ３１８でＹｅｓ）、アテンション処理手段１５は、二重化／レプリケーション制御表１４の設定をする。すなわち、アテンション処理手段１５は、二重化／レプリケーション制御表１４の「更新ジャーナル転送装置」を「正系媒体用マスタストレージ装置」に設定する（ステップＳ３１９）。一方、「更新ジャーナル保存装置」が「副系媒体用マスタストレージ装置」の場合（ステップＳ３１８でＮｏ）、図１８のフローは終了とする。
【０１６０】
そして、アテンション処理手段１５は、データ更新制御手段１３に「更新ジャーナル転送装置設定要求」を行う（ステップＳ３２０）。ここで、図１８のフロー（Ｅ〜Ｆ）は終了となる。
【０１６１】
以上が、正系媒体用マスタストレージ装置２０の更新ジャーナル格納手段２０２の空き状況に応じたマスタホスト１０のアテンション処理手段１５の動作についての説明である。
【０１６２】
＜入力データ処理手段＞
続いて、図１９を用いて、マスタストレージ装置の入力データ処理手段の動作について説明する。図１９は、正系媒体用マスタストレージ装置２０の入力データ処理手段２２、または副系媒体用マスタストレージ装置３０の入力データ処理手段３１の動作を説明するためのフローチャートである。なお、図１９における動作主体は、正系媒体用マスタストレージ装置２０の入力データ処理手段２２、または副系媒体用マスタストレージ装置３０の入力データ処理手段３１のいずれかであるため、以下の説明においては単に入力データ処理手段と記載する。また、図１９の説明に関しては、他の構成要素についても符号を省いて記載する。
【０１６３】
まず、図１９において、入力データ処理手段は、受け取ったＩ／Ｏが「更新ジャーナル転送許可Ｉ／Ｏ」であるか否かを判断する（ステップＳ４０１）。
【０１６４】
「更新ジャーナル転送許可Ｉ／Ｏ」の場合（ステップＳ４０１でＹｅｓ）、入力データ処理手段は、レプリケーション制御表の「更新ジャーナル転送処理」を「許可」に設定する（ステップＳ４０２）。
【０１６５】
一方、「更新ジャーナル転送許可Ｉ／Ｏ」ではなかった場合（ステップＳ４０１でＮｏ）、入力データ処理手段は、受け取ったＩ／Ｏが「更新ジャーナル転送禁止Ｉ／Ｏ」であるか否かを判断する（ステップＳ４０３）。
【０１６６】
「更新ジャーナル転送禁止Ｉ／Ｏ」の場合（ステップＳ４０３でＹｅｓ）、入力データ処理手段は、レプリケーション制御表の「更新ジャーナル転送処理」を「禁止」に設定する（ステップＳ４０４）。
【０１６７】
一方、「更新ジャーナル転送禁止Ｉ／Ｏ」ではなかった場合（ステップＳ４０３でＮｏ）、入力データ処理手段は、受け取ったＩ／Ｏが仮想ディスクの「媒体（レプリ有）」へのＩ／Ｏであるか否かを判断する（ステップＳ４０５）。
【０１６８】
仮想ディスクの「媒体（レプリ有）」へのＩ／Ｏの場合（ステップＳ４０５でＹｅｓ）、入力データ処理手段は、更新ジャーナル処理手段に更新ジャーナルを渡す（ステップＳ４０６）。
【０１６９】
そして、入力データ処理手段は、仮想ディスクの「媒体（レプリ有）」に対応する論理ディスクの「媒体」を更新する（ステップＳ４０７）。
【０１７０】
一方、仮想ディスクの「媒体（レプリ有）」へのＩ／Ｏではなかった場合（ステップＳ４０５でＮｏ）、入力データ処理手段は、仮想ディスクの「媒体（レプリ無）」へのＩ／Ｏであるか否かを判断する（ステップＳ４０８）。
【０１７１】
仮想ディスクの「媒体（レプリ無）」へのＩ／Ｏの場合（ステップ４０８でＹｅｓ）、入力データ処理手段は、仮想ディスクの「媒体（レプリ無）」に対応する論理ディスクの「媒体」を更新する（ステップＳ４０９）。ここで、図１９のフローは終了となる。
【０１７２】
以上が、マスタストレージ装置の入力データ処理手段の動作についての説明である。
【０１７３】
＜更新ジャーナル処理手段＞
続いて、図２０を用いて、マスタストレージ装置の更新ジャーナル処理手段の動作について説明する。図２０は、正系媒体用マスタストレージ装置２０の更新ジャーナル処理手段２７、または副系媒体用マスタストレージ装置３０の更新ジャーナル処理手段３７の動作を説明するためのフローチャートである。なお、図２０における動作主体は、正系媒体用マスタストレージ装置２０の更新ジャーナル処理手段２７、または副系媒体用マスタストレージ装置３０の更新ジャーナル処理手段３７のいずれかであるため、単に更新ジャーナル処理手段と記載する。また、図２０の説明に関しては、他の構成要素についても符号を省いて記載する。
【０１７４】
まず、図２０において、更新ジャーナル処理手段は、更新ジャーナル格納手段に空きが無いか否かを判断する（ステップＳ５０１）。
【０１７５】
更新ジャーナル格納手段の空きが無い場合（ステップＳ５０１でＹｅｓ）、更新ジャーナル処理手段は、更新ジャーナル退避／復元手段に更新ジャーナルを渡す（ステップＳ５０２）。
【０１７６】
そして、更新ジャーナル退避／復元手段は、更新ジャーナル処理手段から渡された更新ジャーナルを更新ジャーナル保存手段に保存する（ステップＳ５０３）。ここで、ステップＳ５０１でＹｅｓの場合、図２０のフローは終了となる。
【０１７７】
一方、ステップＳ５０１で更新ジャーナル格納手段の空きがあった場合（ステップＳ５０１でＮｏ）、更新ジャーナル処理手段は、更新ジャーナル格納手段の空きが５％以下であるか否かを判断する（ステップＳ５０４）。なお、ステップＳ５０４における更新ジャーナル格納手段の空きの判断基準は、５％に限らず任意の数値に設定できる。ここでは、一例として、５％という数値を挙げる。
【０１７８】
更新ジャーナル格納手段の空が５％以下だった場合（ステップＳ５０４でＹｅｓ）、更新ジャーナル処理手段は、アテンション通知手段に「更新ジャーナル格納手段空きなし」を通知する（ステップＳ５０５）。
【０１７９】
アテンション通知手段は、マスタホスト１０に「更新ジャーナル格納手段空きなし通知」を通知する（ステップＳ５０６）。
【０１８０】
更新ジャーナル処理手段は、更新ジャーナル格納手段に更新ジャーナルを格納する（ステップＳ５０７）。ここで、ステップＳ５０４でＹｅｓの場合、図２０のフローは終了となる。
【０１８１】
ところで、ステップＳ５０４で更新ジャーナル格納手段の空が５％以上だった場合（ステップＳ５０４でＮｏ）、更新ジャーナル処理手段は、更新ジャーナル格納手段に更新ジャーナルを格納する（ステップＳ５０８）。ここで、図２０のフローは終了となる。
【０１８２】
以上が、マスタストレージ装置の更新ジャーナル処理手段の動作についての説明である。
【０１８３】
＜更新ジャーナル転送手段＞
最後に、図２１を用いて、マスタストレージ装置の更新ジャーナル転送手段の動作について説明する。図２１は、正系媒体用マスタストレージ装置２０の更新ジャーナル転送手段２０１、または副系媒体用マスタストレージ装置３０の更新ジャーナル転送手段３０１の動作を説明するためのフローチャートである。なお、図２１における動作主体は、正系媒体用マスタストレージ装置２０の更新ジャーナル転送手段２０１、または副系媒体用マスタストレージ装置３０の更新ジャーナル転送手段３０１のいずれかであるため、単に更新ジャーナル転送手段と記載する。また、図２１の説明に関しては、他の構成要素についても符号を省いて記載する。
【０１８４】
まず、図２１において、更新ジャーナル転送手段は、レプリケーション制御表を参照し、「更新ジャーナル転送処理」＝「許可」であるか否かを判断する（ステップＳ６０１）。
【０１８５】
ステップＳ６０１で「更新ジャーナル転送処理」＝「許可」ではない場合、すなわち「更新ジャーナル転送処理」＝「禁止」の場合（ステップＳ６０１でＮｏ）、何もしないでステップＳ６０１に戻る。
【０１８６】
一方、ステップＳ６０１で「更新ジャーナル転送処理」＝「許可」の場合（ステップＳ６０１でＹｅｓ）、更新ジャーナル転送手段は、更新ジャーナル格納手段に更新ジャーナルがあるか否かを判断する（ステップＳ６０２）。
【０１８７】
更新ジャーナル格納手段に更新ジャーナルがある場合（ステップＳ６０２でＹｅｓ）、更新ジャーナル転送手段は、更新ジャーナル格納手段の更新ジャーナルをリモートストレージ装置４０に転送する（ステップＳ６０６）。
【０１８８】
そして、更新ジャーナル転送手段は、転送した更新ジャーナルを更新ジャーナル格納手段から削除し（ステップＳ６０７）、ステップＳ６０１に戻る。
【０１８９】
一方、ステップＳ６０２で更新ジャーナル格納手段に更新ジャーナルがない場合（ステップＳ６０２でＮｏ）、更新ジャーナル転送手段は、更新ジャーナル保存手段に更新ジャーナルがあるか否かを判断する（ステップＳ６０３）。
【０１９０】
ステップＳ６０３で更新ジャーナル保存手段に更新ジャーナルがある場合（ステップＳ６０３でＹｅｓ）、更新ジャーナル転送手段は、更新ジャーナル保存手段の更新ジャーナルをリモートストレージ装置４０に転送する（ステップＳ６０８）。
【０１９１】
そして、更新ジャーナル転送手段は、転送した更新ジャーナルを更新ジャーナル保存手段から削除し（ステップＳ６０９）、ステップＳ６０１に戻る。
【０１９２】
一方、ステップＳ６０３で更新ジャーナル保存手段に更新ジャーナルがなかった場合（ステップＳ６０３でＮｏ）、更新ジャーナル転送手段は、アテンション通知手段に「更新ジャーナル転送完了」を通知する（ステップＳ６０４）。
【０１９３】
そして、アテンション通知手段は、マスタホスト１０に「更新ジャーナル転送完了通知」を通知する（ステップＳ６０５）。ここで、図２１のフローは終了となる。
【０１９４】
以上が、マスタストレージ装置の更新ジャーナル転送手段の動作についての説明である。
【０１９５】
ソフトウェア二重化された媒体の更新順序保証レプリケーションを実行する本実施形態に係るストレージシステムの動作についての説明は以上である。ただし、以上の図１３〜図２１のフローチャートにおける動作順は、処理内容が変わらない限り任意に入れ替えてもよい。
【０１９６】
（効果）
以上の本実施形態によれば、ソフトウェア二重化された論理ディスクの更新順序保証レプリケーションにおいて、一時的なアクセス負荷の増大や回線障害が発生しても、更新順序保証レプリケーションを継続することが可能となる。このとき、本実施形態においては、論理ディスクのアクセス性能を低下させることがなく、また、追加装置も不要である。
【０１９７】
その理由は、本実施形態によれば、更新ジャーナル保存装置と更新ジャーナル転送装置とを独立させて別々に管理することにより、２台のマスタストレージ装置の更新ジャーナル格納手段を有効に利用することができるからである。
【０１９８】
また、本実施形態によれば、一時的なアクセス負荷の増大や回線障害が発生しても、更新順序保証レプリケーションを継続できる遠隔レプリケーションシステムを構成することが可能となる。
【０１９９】
（変形例）
本実施形態に係るストレージシステムとしては、二重化されたマスタストレージの例について説明した。本実施形態に係るストレージシステムは、三重化や四重化などといったように多重化されたマスタストレージについても本実施形態に係る手法を適用できる。図２２には、変形例として、第ｎのマスタストレージ９を備え、三重化以上に多重化（ソフトウェア多重化）されたマスタストレージを含むストレージシステムについて図示した（ｎは任意の自然数）。第ｎのマスタストレージ９も、第１のマスタストレージ２および第２のマスタストレージ３と同様の機能構成を持つ。
【０２００】
変形例に係るストレージシステムでは、第１のマスタストレージ２、第２のマスタストレージ３および第ｎのマスタストレージ９によって、更新ジャーナルを含むユーザデータを格納するためにシステムの可用性が向上する。しかしながら、変形例に係るストレージシステムとしては、同じ構成のマスタストレージを多重化して制御する必要があるため、多重化の程度によっては装置コストや運用コストなどが過剰となってしまう。そのため、三重化以上で多重化する際には、ストレージシステムのコストを考慮してシステムを構成する必要がある。
【０２０１】
（第２の実施形態）
次に、図２３および図２４を用いて、本発明の第２の実施形態に係るストレージシステムについて説明する。
【０２０２】
図２３は、第２の実施形態に係るストレージシステムの機能構成を示す概念図である。第２の実施形態に係るストレージシステムのシステム構成（図２３）は、第１の実施形態に係るストレージシステムのシステム構成（図９）に、ネットワークスイッチ７０を追加した構成をもつ。
【０２０３】
第１の実施形態においては、更新ジャーナルを転送するマスタストレージの制御を、マスタホスト１０とマスタストレージ装置（正系媒体用マスタストレージ装置２０および副系媒体用マスタストレージ装置３０）との間で行った。それに対し、第２の実施形態においては、更新ジャーナルを転送するマスタストレージ装置の制御をネットワークスイッチ７０によって行う。つまり、第２の実施形態においては、レプリケーション制御表には「更新ジャーナル転送処理」の項目が無く、データ更新制御手段および入力データ処理手段には「更新ジャーナル転送許可Ｉ／Ｏ」および「更新ジャーナル転送禁止Ｉ／Ｏ」に関する処理がない。
その代わりに、第２の実施形態においては、ネットワークスイッチ７０が図２４のフローチャートに示す制御を行うことにより、更新ジャーナルを転送するマスタストレージ装置を制御する。
【０２０４】
ここで、図２４を用いて、第２の実施形態に係るストレージシステムのネットワークスイッチ７０の動作について説明する。
【０２０５】
まず、図２４において、ネットワークスイッチ７０は、ポート７２（以下、ポート２）を閉じる（ステップＳ７０１）。
【０２０６】
そして、ネットワークスイッチ７０は、ポート７１（以下、ポート１）を開く（ステップＳ７０２）。
【０２０７】
ネットワークスイッチ７０は、ポート１から受信したデータをリモートストレージ装置４０に送信する（ステップＳ７０３）。
【０２０８】
ここで、一定時間ポート１からのデータ通信が無い場合（ステップＳ７０４でＹｅｓ）、ネットワークスイッチ７０は、ポート１を閉じる（ステップＳ７０５）。そして、ネットワークスイッチ７０は、ポート２を開く（ステップＳ７０６）。
【０２０９】
一方、一定時間の間にポート１からのデータ通信があった場合（ステップＳ７０４でＮｏ）、ステップＳ７０３に戻る。
【０２１０】
ネットワークスイッチ７０は、ポート２から受信したデータをリモートストレージ装置４０に送信する（ステップＳ７０７）。
【０２１１】
ここで、一定時間ポート２からのデータ通信が無い場合（ステップＳ７０８でＹｅｓ）、ステップＳ７０１に戻る。一方、一定時間ポート２からのデータ通信があった場合（ステップＳ７０８でＮｏ）、ステップＳ７０７に戻る。なお、データ通信の有無の判定待ち時間は、任意に設定できる。
【０２１２】
以上が、第２の実施形態に係るストレージシステムのネットワークスイッチ７０の動作についての説明である。
【０２１３】
第２の実施形態によれば、更新ジャーナルを転送するマスタストレージ装置の制御をネットワークスイッチによって行うことが可能となる。その結果、レプリケーション制御表から「更新ジャーナル転送処理」の項目を省き、データ更新制御手段および入力データ処理手段による「更新ジャーナル転送許可Ｉ／Ｏ」および「更新ジャーナル転送禁止Ｉ／Ｏ」に関する処理を省略できる。
【０２１４】
なお、第２の実施形態に係るストレージシステムは、第１の実施形態の変形例のようにソフトウェア多重化されたマスタストレージを備える場合にも適用可能である。
【０２１５】
（第３の実施形態）
図２５のように、第３の実施形態に係るストレージシステムは、第１の実施形態に係るストレージシステムにリモートホストを追加した構成をもつ。また、第３の実施形態に係るストレージシステムのリモートホスト８０は、図２６のように、マスタホスト１０（図２）と同様の構成を有する。すなわち、リモートホスト８０は、二重化／レプリケーション設定手段８１、二重化制御表８２、データ更新制御手段８３、二重化レプリケーション制御表８４およびアテンション処理手段８５を有する。なお、リモートホスト８０の構成は、マスタホスト１０の構成と同様であるため、各構成要素の詳細な説明は省略する。
【０２１６】
ストレージシステムの通常運用において、リモートストレージ装置４０には、マスタホスト１０に蓄積されるユーザデータや更新ジャーナルの複製を格納させておく。なお、マスタホスト８０からリモートホスト８０へは、任意のタイミングで切り替えることができる。
【０２１７】
マスタホスト１０に何らかの障害が発生した場合、マスタホスト１０の機能をリモートホスト８０に切り替える。例えば、マスタホスト１０の設置地域に災害が発生した場合に、災害の影響を受けなかったリモートホスト８０にマスタホスト１０の機能を切り替えるディザスタリカバリシステムを構成することができる。
【０２１８】
第３の実施形態に係るストレージシステムによれば、ディザスタリカバリシステムを構成することができる。また、通常のシステム運用時においても、正系媒体用マスタストレージ装置２０をメインテナンスする場合などに、任意のタイミングでマスタストレージ装置を切り替えるようにすることが可能となり、可用性を向上できる。
【０２１９】
一般に、装置間レプリケーションは、ユーザデータの遠隔地バックアップやマスターサイトが被災した場合のリモートサイトでの業務再開の目的で利用される。本実施形態に係るストレージシステムによれば、マスタホスト１０に障害が及んだ場合に、リモートホスト８０にストレージシステムのホスト機能を切り替えることができるため、より信頼性の高いディザスタリカバリシステムを構築することができる。
【０２２０】
なお、第３の実施形態に係るストレージシステムは、第１の実施形態の変形例のようにソフトウェア多重化されたマスタストレージを備える場合にも適用可能である。
【０２２１】
本発明の実施形態に係るストレージシステムのハードウェアは、パーソナルコンピュータやワークステーション、サーバ、ストレージなどの装置を組み合わせることによって実現される。本実施形態に係るストレージシステムを実現する装置は、例えば、中央演算処理装置や主記憶装置、キャッシュメモリ、不揮発性メモリ、揮発性メモリ、ネットワークインターフェース、補助記憶装置などのハードウェアを含む構成とすることができる。また、本実施形態に係るストレージシステムを実現する装置には、ユーザの操作を受け付けるキーボードやタッチパネル、マウスなどの入力機器、操作画面を表示するためのディスプレイなどの表示機器といった周辺機器を接続できる。また、本実施形態に係るストレージシステムを実現する装置は、適切なオペレーティングシステムの制御によって動作する。
【０２２２】
これまで説明してきた本発明の実施形態に係るストレージシステムの制御方法は、同様の構成を有するストレージシステムであれば、第１〜第３の実施形態とは異なる構成をもつストレージシステムに関しても適用することができる。また、本発明の実施形態に係るストレージシステムの制御処理は、上述の制御方法をコンピュータに実行させる制御プログラムを含むソフトウェアによって実現することも可能である。また、本発明のストレージシステムの制御プログラムを格納したプログラム記録媒体も本発明の範囲に含まれる。プログラム記録媒体としては、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、フラッシュメモリ等の半導体記憶装置、光ディスク、磁気ディスク、光磁気ディスクなどを挙げることができる。
【０２２３】
（関連技術）
図２７には、関連技術として、正系媒体用マスタストレージ装置２００と副系媒体用マスタストレージ装置３００とを用いて媒体をソフトウェア二重化している一般的なストレージシステムの一例を示す。関連技術のストレージシステムは、マスタホスト１００、正系媒体用マスタストレージ装置２００、副系媒体用マスタストレージ装置３００およびリモートストレージ装置４００がネットワーク６００を介して接続された構成をもつ。
【０２２４】
マスタホスト１００は、二重化／レプリケーション設定手段１０１、二重化制御表１０２、データ更新制御手段１０３を含む。正系媒体用マスタストレージ装置２００は、入力データ処理手段２０２、レプリケーション設定手段２０５、更新ジャーナル処理手段２０７を有する。さらに、正系媒体用マスタストレージ装置２００は、媒体２４０を含む論理ディスク２０４、レプリケーション制御表２０６、更新ジャーナル転送手段２１１および更新ジャーナル格納手段２１２を含む。副系媒体用マスタストレージ装置３００は、入力データ処理手段３０２、レプリケーション設定手段３０５、更新ジャーナル処理手段３０７を有する。さらに、副系媒体用マスタストレージ装置３００は、媒体３４０を含む論理ディスク３０４、レプリケーション制御表３０６、更新ジャーナル転送手段３１１および更新ジャーナル格納手段３１２を含む。なお、各構成要素の詳細な説明については省略する。
【０２２５】
図２７のようなストレージシステムにおいて、正系媒体用マスタストレージ装置２００および副系媒体用マスタストレージ装置３００の両装置を個々にレプリケーションする場合、内容が全く同じデータを正・副で２回レプリケートすることになる。その結果、回線容量が２倍以上必要となり、無駄が多くなる。
【０２２６】
そのため、正系媒体用マスタストレージ装置２０のみをレプリケートする方法が用いられることもある。しかしながら、一方のマスタストレージ装置のみをレプリケーションする方法では、一時的なマスタホスト１０からのデータ更新量の増大や回線障害によって、更新順序保証レプリケーションが継続できない可能性があった。なぜならば、正系媒体用マスタストレージ装置２０の更新ジャーナル格納手段２７が一杯になってしまうと、マスタホスト１０からのＩ／Ｏを止めない限り、更新順序通りにリモートストレージ装置４０に更新ジャーナルを転送することができないためである。
【０２２７】
それに対し、本発明実施形態に係るストレージシステムによれば、正系媒体用マスタストレージ装置２０の更新ジャーナル格納手段２７が一杯になっても、更新順序通りにリモートストレージ装置４０に更新ジャーナルを転送することができる。このとき、本実施形態に係るストレージシステムにおいては、マスタホスト１０からのＩ／Ｏを止めなくてもよいため、更新順序を保証したレプリケーションを継続して実行することが可能となる。
【０２２８】
以上、実施形態を参照して本発明を説明してきたが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【０２２９】
１    マスタホスト
２    第１のマスタストレージ
３    第２のマスタストレージ
４    リモートストレージ
６    ネットワーク
１０    マスタホスト
１１    二重化／レプリケーション設定手段
１２    二重化制御表
１３    データ更新制御手段
１４    二重化レプリケーション制御表
１５    アテンション処理手段
２０    正系媒体用マスタストレージ装置
３０    副系媒体用マスタストレージ装置
２１、３１    アテンション通知手段
２２、３２    入力データ処理手段
２３、３３    仮想ディスク
２４、３４    論理ディスク
２５、３５    レプリケーション設定手段
２６、３６    レプリケーション制御表
２７、３７    更新ジャーナル処理手段
２８、３８    更新ジャーナル退避／復元手段
２９、３９    更新ジャーナル保存手段
４１    更新ジャーナル受取手段
４２    更新ジャーナル格納手段
４３    更新ジャーナル処理手段
４４    論理ディスク
６０    ネットワーク
７０    ネットワークスイッチ
８０    リモートホスト
１２０    二重化制御表
１４０    二重化レプリケーション制御表
２６０    レプリケーション制御表
２０１、３０１    更新ジャーナル転送手段
２０２、３０２    更新ジャーナル格納手段
【図１】
0006379914.tif 000002
【図２】
0006379914.tif 000003
【図３】
0006379914.tif 000004
【図４】
0006379914.tif 000005
【図５】
0006379914.tif 000006
【図６】
0006379914.tif 000007
【図７】
0006379914.tif 000008
【図８】
0006379914.tif 000009
【図９】
0006379914.tif 000010
【図１０】
0006379914.tif 000011
【図１１】
0006379914.tif 000012
【図１２】
0006379914.tif 000013
【図１３】
0006379914.tif 000014
【図１４】
0006379914.tif 000015
【図１５】
0006379914.tif 000016
【図１６】
0006379914.tif 000017
【図１７】
0006379914.tif 000018
【図１８】
0006379914.tif 000019
【図１９】
0006379914.tif 000020
【図２０】
0006379914.tif 000021
【図２１】
0006379914.tif 000022
【図２２】
0006379914.tif 000023
【図２３】
0006379914.tif 000024
【図２４】
0006379914.tif 000025
【図２５】
0006379914.tif 000026
【図２６】
0006379914.tif 000027
【図２７】
0006379914.tif 000028