(57)【要約】【課題】近地サイト被災時に、フロントサイトと遠地サイトとでフロントサイトにおけるデータ更新順序を保障してデータ同期するレプリケーションシステムを提供する。【解決手段】本発明のストレージは、第二のストレージとの間で同期レプリケーションし、第二のストレージと第三のストレージとの間は準同期または非同期レプリケーションされるストレージであって、データ更新に対応する更新処理を蓄積する更新処理蓄積部と、更新処理を特定する特定情報と複数の更新処理の間での更新順序を示す順序情報とを対応付けて保持する対応情報保持部と、更新処理と該更新処理の順序情報とを第二のストレージに転送する転送部と、を備え、第二のストレージに障害が発生したとき、第三のストレージから順序情報を受信して、対応情報保持部において順序情報に対応する更新処理より後に行われた更新処理を特定し、転送部が特定された更新処理を第三のストレージに転送する。【選択図】      図１
2018163520.tif 000002
【特許請求の範囲】
【請求項１】
第一のストレージシステム内の第一のストレージ装置のデータ更新を、第二のストレージシステム内の第二のストレージ装置に同期レプリケーションによって反映させ、前記第二のストレージ装置のデータ更新を、第三のストレージシステム内の第三のストレージ装置に準同期または非同期レプリケーションよって反映させるレプリケーションシステムにおいて、
前記第一のストレージシステムは、前記第二のストレージシステム及び前記第三のストレージシステムと通信可能に接続され、前記第一のストレージ装置に対して行われたデータ更新に対応する更新処理を特定する特定情報と複数の前記更新処理の間での更新順序を示す順序情報とを対応付けて保持する対応情報保持部と、前記更新処理と該更新処理の順序情報とを前記第二のストレージシステムに転送する転送部と、前記更新処理を蓄積する更新処理蓄積部と、をさらに備え、
前記第三のストレージシステムは、前記第二のストレージシステムと通信可能に接続され、前記第二のストレージシステムを介し前記更新処理と該更新処理の前記順序情報とを受信する受信部と、前記更新処理を前記第三のストレージ装置に反映させる更新処理反映部と、前記更新処理反映部が前記第三のストレージ装置に最後に反映させた前記更新処理の前記順序情報を保持する順序情報保持部と、前記順序情報保持部が保持する前記順序情報を前記第一のストレージシステムに通知する順序情報通知部と、をさらに備え、
前記第二のストレージシステムに障害が発生したとき、前記順序情報通知部が前記順序情報を前記第一のストレージシステムに通知し、前記対応情報保持部において前記順序情報に対応する前記更新処理より後に行われた前記更新処理が特定され、前記転送部が、前記更新処理蓄積部に蓄積された前記更新処理のうち、特定された前記更新処理を前記第三のストレージシステムに転送する、レプリケーションシステム。
【請求項２】
前記対応情報保持部は、前記特定情報を、前記更新処理の更新順番で並べて保持することで、前記更新順序を示す順序情報とする、請求項１に記載のレプリケーションシステム。
【請求項３】
前記第三のストレージシステムが、前記受信部が受信した前記更新処理を保持するバッファを更に備え、前記順序情報保持部は、前記更新処理反映部が前記第三のストレージ装置に最後に反映させた前記更新処理の前記順序情報に加え、前記受信部が受信し、かつ前記前記第三のストレージ装置に反映していない前記更新処理の前記順序情報も保持する、請求項１または２に記載のレプリケーションシステム。
【請求項４】
前記第一のストレージシステムは、前記第三のストレージシステムから前記順序情報を受信すると、蓄積している前記更新処理のうち、前記順序情報と対応する前記更新処理より前の更新処理と、該更新処理に対応する前記順序情報とを削除する、請求項１から３のいずれかに記載のレプリケーションシステム。
【請求項５】
前記第一のストレージシステムは、データ更新を行うための更新処理を通信可能に接続したホストから受信する更新処理受信部を更に備えている、請求項１から４のいずれかに記載のレプリケーションシステム。
【請求項６】
前記第一のストレージシステムが設置されている第一の拠点と、前記第三のストレージシステムが設置されている第三の拠点とは、地理的に離れている、請求項１から５のいずれかに記載のレプリケーションシステム。
【請求項７】
前記第二のストレージシステムが設置されている第二の拠点は、前記第一の拠点と、前記第三の拠点との間に位置している、請求項１から６のいずれかに記載のレプリケーションシステム。
【請求項８】
第一のストレージシステム内の第一のストレージ装置のデータ更新を、第二のストレージシステム内の第二のストレージ装置に同期レプリケーションによって反映させ、前記第二のストレージ装置のデータ更新を、第三のストレージシステム内の第三のストレージ装置に準同期または非同期レプリケーションよって反映させるレプリケーションシステムにおいて、
前記第一のストレージシステムは、前記第二のストレージシステム及び前記第三のストレージシステムと通信可能に接続され、前記第一のストレージ装置に対して行われたデータ更新に対応する更新処理を特定する特定情報と複数の前記更新処理の間での更新順序を示す順序情報とを対応付けて保持する対応情報保持部と、前記更新処理と該更新処理の順序情報とを前記第二のストレージシステムに転送する転送部と、前記更新処理を蓄積する更新処理蓄積部と、をさらに備え、
前記第三のストレージシステムは、前記第二のストレージシステムと通信可能に接続され、前記第二のストレージシステムを介し前記更新処理と該更新処理の前記順序情報とを受信する受信部と、前記更新処理を前記第三のストレージ装置に反映させる更新処理反映部と、前記更新処理反映部が前記第三のストレージ装置に最後に反映させた前記更新処理の前記順序情報を保持する順序情報保持部と、前記順序情報保持部が保持する前記順序情報を前記第一のストレージシステムに通知する順序情報通知部と、をさらに備え、
前記第二のストレージシステムに障害が発生したとき、前記順序情報通知部が前記順序情報を前記第一のストレージシステムに通知し、前記対応情報保持部において前記順序情報に対応する前記更新処理より後に行われた前記更新処理が特定され、前記転送部が、前記更新処理蓄積部に蓄積された前記更新処理のうち、特定された前記更新処理を前記第三のストレージシステムに転送する、レプリケーション方法。
【請求項９】
第一のストレージシステムのデータ更新を第二のストレージシステムに同期レプリケーションし、前記第二のストレージシステムのデータ更新を第三のストレージシステムに準同期または非同期レプリケーションするレプリケーションシステムにおいて、
前記第一のストレージシステムのデータに対して行われた更新処理の更新順序を示す順序情報を生成し、前記更新処理と前記順序情報とを対応付けて前記第一のストレージシステムにて蓄積し、前記第三のストレージシステムにて、最後に同期した前記更新処理に対応する前記順序情報を保持し、
前記第二のストレージシステムに障害が発生したとき、前記第三のストレージシステムが最後に同期した前記更新処理に対応する前記順序情報を前記第一のストレージシステムに通知し、前記第一のストレージシステムは、受信した前記順序情報に対応する前期更新処理より後の前記更新処理を前記第三のストレージシステムに送信する、レプリケーション方法。
【請求項１０】
第二のストレージ及び第三のストレージと通信可能に接続され、データ更新が行われると当該データ更新を第二のストレージに同期レプリケーションによって反映させ、前記第二のストレージにおけるデータ更新は第三のストレージに準同期または非同期レプリケーションよって反映されるストレージであって、
データ更新に対応する更新処理を蓄積する更新処理蓄積部と、前記更新処理を特定する特定情報と複数の前記更新処理の間での更新順序を示す順序情報とを対応付けて保持する対応情報保持部と、前記更新処理と該更新処理の順序情報とを前記第二のストレージに転送する転送部と、を備え、
前記第二のストレージに障害が発生したとき、前記第三のストレージから前記順序情報を受信して、前記対応情報保持部において前記順序情報に対応する更新処理より後に行われた更新処理を特定し、前記転送部が特定された更新処理を前記第三のストレージに転送する、ストレージ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置、レプリケーションシステム及びレプリケーション方法にかかり、特に、ある記憶装置のデータを更新したときの更新情報を他の記憶装置へ転送するストレージ装置、レプリケーションシステム及びレプリケーション方法に関する。
【背景技術】
【０００２】
コンピュータシステムの災害対策構成として、三拠点にストレージシステムを配置し、それらをネットワーク接続してデータバックアップを行う、三拠点間レプリケーションが一般的に知られている（特許文献１参照）。ここで、互いにネットワーク接続される各拠点のストレージシステムはそれぞれフロントサイト、近地サイト、遠地サイトに設置されているとし、フロントサイトのストレージシステムはホストと接続され、ホストからデータ更新を受け、近地サイトは遠地サイトより地理的またはネットワーク的にフロントサイトに近い拠点であるとする。このような場合に、各拠点のストレージシステム間が例えば以下のようにデータ同期される。
【０００３】
まず、フロントサイトと近地サイトとのストレージシステム間は、同期レプリケーションにてデータ同期が行われ、次に、近地サイトと遠地サイトとのストレージシステム間は、例えば特許文献２で開示される、データ更新順序を保証する準同期モードのレプリケーション、又は特許文献３で開示されるデータ更新順序を保証する非同期レプリケーションにてデータ同期が行われる。
【０００４】
前述のように、近地サイトと遠地サイトとの間では準同期または非同期レプリケーションにてデータ同期が行われることで、ホストの更新ＩＯ性能への影響を軽減することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６―１１９７４５号公報
【特許文献２】特開２００３−１６７６８４号公報
【特許文献３】特開２００１−２０９５６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、前述の三拠点間レプリケーションでは近地サイトが被災した場合に遠地サイトへの継続的なデータバックアップができなくなる可能性がある。具体的には、近地サイトで蓄積されたデータが被災などによる障害発生によって失われた場合、近地サイトと遠地サイトとの間でのデータ同期がどこまで行われたかは、フロントサイトからは不明である。このため、フロントサイトから遠地サイトへ直接データバックアップを行う場合は、全てのデータをコピーする必要があり、大規模環境では長時間を要すという問題がある。また、フロントサイトから遠地サイトへ直接全てのデータをコピーする場合、データをコピーしている間はフロントサイトにおけるデータ更新が行えないか、更新が行われたとしても、このデータ更新に対応する更新処理を、更新順序を保障して保持し、転送する構成をフロントサイトが持たないため、遠地サイトとのデータ同期が行えないという問題がある。
【０００７】
本発明は、ホストの更新ＩＯ性能への影響を低減し、更に、近地サイト被災時に、フロントサイトと遠地サイトとでフロントサイトにおけるデータ更新順序を保障してデータ同期するレプリケーションシステムを提供することを一つの目的とする。
【課題を解決するための手段】
【０００８】
本発明の第１の側面は、第一のストレージシステム内の第一のストレージ装置のデータ更新を、第二のストレージシステム内の第二のストレージ装置に同期レプリケーションによって反映させ、第二のストレージ装置のデータ更新を、第三のストレージシステム内の第三のストレージ装置に準同期または非同期レプリケーションよって反映させるレプリケーションシステムにおいて、第一のストレージシステムは、第二のストレージシステム及び第三のストレージシステムと通信可能に接続され、第一のストレージ装置に対して行われたデータ更新に対応する更新処理を特定する特定情報と複数の更新処理の間での更新順序を示す順序情報とを対応付けて保持する対応情報保持部と、更新処理と該更新処理の順序情報とを第二のストレージシステムに転送する転送部と、更新処理を蓄積する更新処理蓄積部と、をさらに備え、第三のストレージシステムは、第二のストレージシステムと通信可能に接続され、第二のストレージシステムを介し更新処理と該更新処理の順序情報とを受信する受信部と、更新処理を第三のストレージ装置に反映させる更新処理反映部と、更新処理反映部が第三のストレージ装置に最後に反映させた更新処理の順序情報を保持する順序情報保持部と、順序情報保持部が保持する順序情報を第一のストレージシステムに通知する順序情報通知部と、をさらに備え、第二のストレージシステムに障害が発生したとき、順序情報通知部が順序情報を第一のストレージシステムに通知し、対応情報保持部において順序情報に対応する更新処理より後に行われた更新処理が特定され、転送部が、更新処理蓄積部に蓄積された更新処理のうち、特定された更新処理を第三のストレージシステムに転送する、レプリケーションシステムである。
【０００９】
本発明の第２の側面は、第一のストレージシステムのデータ更新を第二のストレージシステムに同期レプリケーションし、第二のストレージシステムのデータ更新を第三のストレージシステムに準同期または非同期レプリケーションするレプリケーションシステムにおいて、第一のストレージシステムのデータに対して行われた更新処理の更新順序を示す順序を特定する特定情報を生成し、更新処理と順序特定情報とを対応付けて更新順に第一のストレージシステムにて蓄積し、第三のストレージシステムにて、最後に同期した更新処理に対応する順序特定情報を保持し、第二のストレージシステムに障害が発生したとき、第三のストレージシステムが最後に同期した更新処理に対応する順序特定情報を第一のストレージシステムに通知し、第一のストレージシステムは、受信した順序特定情報に対応する前期更新処理より後の続きの更新処理を第三のストレージシステムに送信する、レプリケーション方法である。
【００１０】
本発明の第三の側面は、第二のストレージ装置及び第三のストレージ装置と通信可能に接続され、データ更新が行われると当該データ更新を第二のストレージ装置に同期レプリケーションによって反映させ、第二のストレージ装置におけるデータ更新は第三のストレージ装置に準同期または非同期レプリケーションよって反映されるストレージ装置であって、データ更新に対応する更新処理を蓄積する更新処理蓄積部と、更新処理  を特定する特定情報と複数の更新処理の間での更新順序を示す順序情報とを対応付けて保持する対応情報保持部と、更新処理と該更新処理の順序情報とを第二のストレージ装置に転送する転送部と、を備え、第二のストレージ装置に障害が発生したとき、第三のストレージ装置から順序情報を受信して、対応情報保持部において順序情報に対応する更新処理より後に行われた更新処理を特定し、転送部が特定された更新処理を第三のストレージに転送する、ストレージ装置である。
【発明の効果】
【００１１】
本発明におけるストレージ装置、レプリケーションシステム及びレプリケーション方法は、以上のように構成されることにより、近地サイトで障害が発生した場合に、フロントサイトから遠地サイトへ全てのデータを送信することなく、フロントサイトと遠地サイトとの間で同期できるという効果を有する。
【図面の簡単な説明】
【００１２】
【図１】本発明の第一の実施形態におけるレプリケーションシステムの構成の概略を示すブロック図である。
【図２】本発明のレプリケーションシステムを実現するハードウェア構成の一例を示す概略図である。
【図３】第一の実施形態におけるレプリケーションシステムの動作を説明するためのフローチャートである。
【図４】本発明の第二の実施形態におけるレプリケーションシステムの構成の概略を示すブロック図である。
【図５】本発明の第二の実施形態におけるフロントサイトの構成の概略を示すブロック図である。
【図６】本発明の第二の実施形態における近地サイトの構成の概略を示すブロック図である。
【図７】本発明の第二の実施形態における遠地サイトの構成の概略を示すブロック図である。
【図８】本発明の第二の実施形態におけるフロントサイトの動作を説明するためのフローチャートである。
【図９】本発明の第二の実施形態における近地サイトの動作を説明するためのフローチャートである。
【図１０】本発明の第二の実施形態における遠地サイトの動作を説明するためのフローチャートである。
【図１１】本発明の第二の実施形態において近地サイトに障害が発生した場合のレプリケーションシステムの動作を説明するためのフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態について図面を参照して詳細に説明する。
［第一の実施形態］本発明の第一の実施形態を、図１及び２を参照して説明する。図１は、レプリケーションシステムの構成を説明するための図である。図２は、レプリケーションシステムを実現するハードウェア構成の一例を示す図である。
【００１４】
［構成の説明］最初に、第一の実施形態におけるレプリケーションシステム１の構成を、図１を用いて説明する。第一の実施形態におけるレプリケーションシステム１は、第一のストレージシステム１０と、第二のストレージシステム２０と、第三のストレージシステム３０と、を備え、各ストレージシステム１０、２０、３０間は通信可能に接続されている。また、レプリケーションシステム１は、全体として、第一のストレージシステム１０内の第一のストレージ装置のデータ更新を、第二のストレージシステム２０内の第二のストレージ装置に同期レプリケーションによって反映させ、第二のストレージ装置のデータ更新を、第三のストレージシステム３０内の第三のストレージ装置に準同期または非同期レプリケーションよって反映させるという動作を行う。
【００１５】
第一のストレージシステム１０は、第一のストレージ装置１２と、第一のストレージ装置１２に対して行われたデータ更新に対応する更新処理を特定する特定情報と複数の更新処理の間での更新順序を示す順序情報とを対応付けて保持する対応情報保持部１３と、更新処理とその順序情報とを第二のストレージシステム２０に転送する転送部１４と、更新処理を蓄積する更新処理蓄積部１５と、を備える。第一のストレージシステム１０は、後述する順序情報通知部３４から順序情報が通知されると、対応情報保持部１３において、通知された順序情報に対応する更新処理より後に行われた更新処理を特定し、転送部１４が、更新処理蓄積部１５に蓄積された更新処理のうち、特定された更新処理を第三のストレージシステム３０に転送する。ここで更新処理は、例えばトランザクションログファイルまたはトランザクションログなど、一連の更新処理を実行するために必要とされるデータである。
【００１６】
第二のストレージシステム２０は、第二のストレージ装置２３と、データ反映部２１と、送受信部２２と、を備える。
【００１７】
第三のストレージシステム３０は、第二のストレージシステム２０を介し更新処理とその順序情報とを受信する受信部３１と、更新処理を第三のストレージ装置３５に反映させる更新処理反映部３２と、更新処理反映部３２が第三のストレージ装置３５に最後に反映させた更新処理の順序情報を保持する順序情報保持部３３と、順序情報保持部３３が保持する順序情報を第一のストレージシステム１０に通知する順序情報通知部３４と、を備える。順序情報通知部３４は、第二のストレージシステム２０に障害が発生したとき、順序情報を第一のストレージシステム１０に通知する。
【００１８】
（レプリケーションシステム１のハードウェア構成の一例）次に、図２を参照し、第一の実施形態にかかる第一のストレージシステム１０を実現可能なハードウェア構成の一例を説明する。第一のストレージシステム１０（コンピュータ）を構成するハードウェアは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４１、メモリ４２、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）４３、通信インターフェース（Ｉ／Ｆ）４４を備える。第一のストレージシステム１０は、さらに入力装置または出力装置を備えていてもよい。第一のストレージシステム１０の機能は、例えばＣＰＵ４１が、メモリ４２に読み出されたコンピュータプログラム（ソフトウェアプログラム、以下単に「プログラム」と記載する）を実行することにより実現される。実行に際して、ＣＰＵ４１は、通信インターフェース４４、入力装置および出力装置を適宜制御する。
【００１９】
尚、本実施形態および後述する各実施形態を例として説明される本発明は、係るプログラムが格納されたコンパクトディスク等の不揮発性の記憶媒体によって構成されてもよい。記憶媒体が格納するプログラムは、例えばドライブ装置により読み出される。
【００２０】
第一のストレージシステム１０が実行する通信は、例えばＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）が提供する機能を使ってアプリケーションプログラムが通信インターフェース４４を制御することによって実現される。入力装置は、例えばキーボード、マウスまたはタッチパネルである。出力装置は、例えばディスプレイである。第一のストレージシステム１０は、２つ以上の物理的に分離した装置が有線または無線で接続されることによって構成されていてもよい。例えば、前述のＨＤＤ４３の代わりにストレージ装置を用いることで、コンピュータとストレージ装置によって第一のストレージシステム１０が構成される。また、コンピュータとストレージ装置は各々が複数であってもよい。
【００２１】
図２に示すハードウェア構成例は、後述する各実施形態にも適用可能である。なお、第一のストレージシステム１０は専用の装置であってもよい。なお、第一のストレージシステムおよびその各機能部のハードウェア構成は、上述の構成に限定されない。第二のストレージシステム２０、第三のストレージシステム３０も同様に構成することができる。
【００２２】
［動作の説明］次に、レプリケーションシステム１の動作を、図３を参照して説明する。レプリケーションシステム１は、通常時、全体として、第一のストレージシステム１０内の第一のストレージ装置１２のデータ更新を、第二のストレージシステム２０内の第二のストレージ装置２３に同期レプリケーションによって反映させ、前記第二のストレージ装置２３のデータ更新を、第三のストレージシステム３０内の第三のストレージ装置３５に準同期または非同期レプリケーションよって反映させるという動作を行う。
【００２３】
一方、レプリケーションシステム１は、第二のストレージシステム２０に障害が発生したとき、まず順序情報通知部３４が順序情報を第一のストレージシステム１０に通知する（ステップＳ４１）。第一のストレージシステム１０は、順序情報を受信すると、対応情報保持部１３において順序情報に対応する更新処理より後に行われた更新処理を特定し（ステップＳ４２）、転送部１４で第三のストレージシステム３０に、特定された更新処理を転送する（ステップＳ４３）。
【００２４】
［効果の説明］上記構成により、第一の実施形態におけるレプリケーションシステム１は、第二のストレージシステム２０に障害が発生したとき、まず順序情報通知部３４が順序情報を第一のストレージシステム１０に通知する。第一のストレージシステム１０は、順序情報を受信すると、対応情報保持部１３において順序情報に対応する更新処理より後に行われた更新処理を特定し、転送部１４で第三のストレージシステム３０に、特定された更新処理を転送する。このように、第三のストレージシステム３０から第一のストレージシステム１０に順序情報が通知されることで、第一のストレージシステム１０から転送する更新処理が特定できるため、全てのデータを第一のストレージシステム１０から第三のストレージシステム３０へ送信することなく、第一のストレージシステム１０と第三のストレージシステム３０とが同期される。
【００２５】
［第二の実施形態］本発明の第二の実施形態を図４から図１１を参照して説明する。図４は、レプリケーションシステムの構成を説明するための図である。図５は、レプリケーションシステムを構成するフロントサイトの構成を説明するための図である。図６は、レプリケーションシステムを構成する近地サイトの構成を説明するための図である。図７は、レプリケーションシステムを構成する遠地サイトの構成を説明するための図である。図８は、フロントサイトの動作を説明するための図である。図９は、近地サイトの動作を説明するための図である。図１０は、遠地サイトの動作を説明するための図である。図１１は、近地サイトに障害が発生した場合のレプリケーションシステムの動作を説明するための図である。
【００２６】
[構成の説明]最初に、第二の実施形態におけるレプリケーションシステム５００の構成を、図４を用いて説明する。第二の実施形態におけるレプリケーションシステム５００は、第一の実施形態におけるレプリケーションシステム１の一構成例である。レプリケーションシステム５００は、フロントサイトに設置されたストレージシステム（以下フロントサイト１００とする）と、近地サイトに設置されたストレージシステム（以下近地サイト２００とする）と、遠地サイトに設置されたストレージシステム（以下遠地サイト３００とする）と、ネットワーク４１０、４２０、４３０、及び４４０と、を備える。フロントサイト１００は第一の実施形態における第一のストレージシステム１０の一構成例である。同様に、近地サイト２００は第二のストレージシステム２０の、遠地サイト３００は第三のストレージシステム３０の一構成例である。また、ネットワーク４１０、４２０、４３０、及び４４０は、例えばＷＡＮ（Ｗｉｄｅ Ａｒｅａ Ｎｅｔｗｏｒｋ）やＬＡＮ（Ｌｏｃａｌ Ａｒｅａ Ｎｅｔｗｏｒｋ）で構成され、有線または無線通信である。ストレージシステム間の通信は広い帯域を必要とするため、通常は有線回線で構成される。
【００２７】
ここで、フロントサイト１００は、ネットワーク４１０を介してホスト５０と通信可能に接続され、ホスト５０からデータ更新を受ける。また、フロントサイト１００と近地サイト２００とは地理的に近距離の関係にあり、これらのシステム間は、ネットワーク４２０を介して通信可能に接続され、同期レプリケーションによってデータ同期が行われる。また、近地サイト２００と遠地サイト３００とは地理的に遠距離の関係にあり、これらの装置間は、ネットワーク４３０を介して通信可能に接続され、非同期レプリケーションまたは準同期レプリケーションによってデータ同期が行われる。
【００２８】
次に、レプリケーションシステム５００を構成するフロントサイト１００の構成を、図５を参照して説明する。フロントサイト１００は、ホスト５０からデータを受信する第一のデータ受信部１１０と、受信したデータのうちレプリケーション対象データである更新処理をジャーナルボリューム１２２に格納するデータ格納部１１１と、更新処理を格納するジャーナルボリューム１２２を備える。さらにフロントサイト１００は、前述の更新処理の更新処理情報、後述する更新処理に付与された更新順番、ジャーナルボリューム１２２内での更新処理の格納位置情報を示すジャーナルリンク情報を更新順番管理テーブル１１２ａに書き込む更新処理情報格納部１１３と、テーブル格納ボリューム１１２とを備える。テーブル格納ボリューム１１２には、更新処理情報、更新処理に付与された更新順番、ジャーナルリンク情報を持つ更新順番管理テーブル１１２ａが格納される。さらにフロントサイト１００は、更新処理に更新順番を付与し、更新順番管理テーブル１１２ａに書き込む更新順番付与部１１４と、ホスト５０からの更新処理をマスターボリューム１２０、１２１に反映させる第一のデータ更新部１１５と、更新処理を反映したデータを記憶するマスターボリューム１２０、１２１と、更新処理、更新処理情報及び付与された更新順番をレプリケーションデータとして近地サイト２００に転送する第一のデータ転送部１１６と、を備える。ここで、更新処理情報は、データ格納先のマスターボリューム順序情報（図５においてはマスターボリューム１２０、１２１の論理ディスク番号（ＬＤＮ、Ｌｏｇｉｃａｌ Ｄｉｓｋ Ｎｕｍｂｅｒ））、ブロックアドレス、レングス）を含む。また、ジャーナルリンク情報は、データ格納先ジャーナルボリューム情報（図５においては、ジャーナルボリューム１２２のＬＤＮ）、ブロックアドレス、レングスを含む。ここで、データ格納部１１１とジャーナルボリューム１２２が第一の実施形態における更新処理蓄積部１５の一構成例である。また、更新処理情報格納部１１３と、更新順番管理テーブル１１２ａと、更新順番付与部１１４は、第一の実施形態における対応情報保持部１３の一構成例である。またマスターボリューム１２０、１２１は、第一の実施形態における第一のストレージ装置１２の一構成例である。また、第一のデータ転送部１１６は、第一の実施形態における転送部１４の一構成例である。
【００２９】
ここで、更新処理に更新順番を付与する代わりに、更新処理に含まれる、タイプスタンプを活用して更新順序を判断してもよい。タイプスタンプの情報を更新処理と別で保持しても良く、更新処理の記載を読み出して活用しても良い。この場合、フロントサイト１００は、例えば更新順番付与部１１４が更新処理を付与する代わりに、更新情報格納部１１３がタイムスタンプを読み出し、更新順番の代わりに更新順番管理テーブル１１２ａに書き込むことができる。また、ジャーナルボリューム１２２は１つ、マスターボリューム１２０、１２１は２つとして記載しているが、おのおの１つだけであってもよく、複数あってもよい。後述する、他のサイトの各ボリュームについても同様である。マスターボリューム１２０、１２１は後述する近地サイト２００の第一の複製ボリューム２２０、２２１とデータ同期が行われる、すなわちペアの関係である。
【００３０】
次に、レプリケーションシステム５００を構成する近地サイト２００の構成を、図６を参照して説明する。近地サイト２００は、フロントサイト１００からレプリケーションデータを受信する第二のデータ受信部２１０と、受信したレプリケーションデータ内に付与された更新順番、更新処理の更新処理情報を更新順番管理テーブル２１１ａに書き込む第二の更新処理情報格納部２１３と、テーブル格納ボリューム２１１と、更新順番、更新処理の更新処理情報を格納する更新順番管理テーブル２１１ａと、受信したレプリケーションデータを後述する第一の複製ボリューム２２０、２２１に反映させる第二のデータ更新部２１２と、レプリケーションデータを遠地サイト３００に転送する第二のデータ転送部２１４と、データを記憶する第一の複製ボリューム２２０、２２１とを備える。ここで、第二のデータ受信部２１０と第二のデータ転送部２１４は、第一の実施形態における送受信部２２の一構成例である。また、第二のデータ更新部２１２は第一の実施形態におけるデータ反映部２１の一構成例である。さらに、第一の複製ボリューム２２０、２２１は、第一の実施形態における第二のストレージ装置２３の一構成例である。第一の複製ボリューム２２０、２２１は、後述する遠地サイト３００の第二の複製ボリューム３２０、３２１とデータ同期が行われる、すなわちペアの関係である。
【００３１】
近地サイト２００と遠地サイト３００との間のデータ同期は、準同期または非同期レプリケーションのどちらで行うことも可能であるが、準同期レプリケーションを行う場合には、準同期送信用バッファ２３０が近地サイト２００に必要である。この場合、準同期送信用バッファ２３０には、フロントサイト１００から受信したレプリケーションデータ（更新処理、更新順番、更新処理情報を含む）が格納される。非同期レプリケーションを行う場合には、フロントサイト１００と同様、ジャーナルボリュームが近地サイト２００に必要である。さらに、非同期レプリケーションを行う場合には、更新順番管理テーブル２１１ａは、フロントサイト１００と同様、更新処理の更新処理情報（第一の複製ボリューム２２０、２２１のＬＤＮ、ブロックアドレス、レングス）、フロントサイト１００で更新処理に付与された更新順番、近地サイト２００におけるジャーナルボリューム内での格納情報、を持つ。
【００３２】
次に、レプリケーションシステム５００を構成する遠地サイト３００の構成を、図７を参照して説明する。遠地サイト３００は、近地サイト２００からレプリケーションデータを受信する第三のデータ受信部３１０と、受信したデータを準同期受信用バッファ３３０に格納するバッファ格納部３１１と、データを格納する準同期受信用バッファ３３０を備える。さらに、遠地サイト３００は、準同期受信用バッファ３３０に格納されたデータから更新順に更新処理を取り出し、第二の複製ボリューム３２０、３２１に反映させるデータ取り出し部３１３と、データを記憶する第二の複製ボリューム３２０、３２１と、最後に取り出されたデータの更新順番で、更新順番管理テーブル３１２ａの更新順番を更新する第三の更新処理情報格納部３１４を備える。さらに、遠地サイト３００は、テーブル格納ボリューム３１２と、テーブル格納ボリューム３１２に格納され、更新順番を記憶する更新順番管理テーブル３１２ａと、更新順番管理テーブル３１２ａをフロントサイト１００に転送する第三のデータ転送部３１５と、を備える。ここで、第三のデータ受信部３１０は、第一の実施形態における受信部３１の一構成例である。以下同様に、データ取り出し部３１３は更新処理反映部３２の、第二の複製ボリューム３２０、３２１は第三のストレージ装置３５の、第三の更新処理情報格納部３１４は順序情報保持部３３の、第三のデータ転送部３１５は順序情報通知部３４の一構成例である。
【００３３】
［動作の説明］次に、フロントサイト１００におけるデータ更新処理を、図８を参照して説明する。フロントサイト１００は、ホスト５０からデータを第一のデータ受信部１１０で受信する（ステップＳ１）と、レプリケーション対象データである更新処理をデータ格納部１１１がジャーナルボリューム１２２に格納する（ステップＳ２）。ジャーナルボリューム１２２への格納に成功した場合（ステップＳ３：Ｙｅｓ）、更新順番管理テーブル１１２ａに更新処理情報、ジャーナルリンク情報を追加する（ステップＳ４）。ジャーナルボリューム１２２への格納に失敗した場合（ステップＳ３：Ｎｏ）、同期コピーを停止する。フロントサイト１００から近地サイト２００にホスト５０からのデータ更新と同期してデータコピーを行うとき、更新処理のコピーＩＯに更新順番を付与し、付与した更新順番を更新順番管理テーブル１１２ａに書き込む（ステップＳ５）。図５を参照すると、例えば、ホスト５０からの更新処理がLDN=0000/Address=00001000/Length=0040の場合、コピーＩＯには更新順番=00003を付与する。レプリケーションデータの転送後、マスターボリューム１２０、１２１に更新処理を反映させる（ステップＳ６）。
【００３４】
次に、近地サイト２００におけるデータ更新処理を、図９を参照して説明する。ここでは、近地サイト２００は、遠地サイト３００と準同期レプリケーションでデータ同期を行うとする。近地サイト２００は、フロントサイト１００からのレプリケーションデータ受信時（ステップＳ１１）、準同期送信用バッファ２３０に受信したデータを格納する（ステップＳ１２）。準同期送信用バッファ２３０への格納に成功した場合（ステップＳ１３：Ｙｅｓ）、更新順番管理テーブル２１１ａに更新処理情報を追加する（ステップＳ１４）。準同期送信用バッファ２３０への格納に失敗した場合（ステップＳ１３：Ｎｏ）、同期コピーを停止する。更新処理情報には、データ格納先の第一の複製先ボリューム順序情報（図６においては第一の複製ボリューム２２０、２２１のＬＤＮ）、ブロックアドレス、レングスが含まれる。次に、近地サイト２００から遠地サイト３００に準同期レプリケーションでデータコピーを行うとき（ステップＳ１５）、更新処理のコピーＩＯに更新順番を付与する。例えば、遠地サイト３００に送信するレプリケーションデータが特許文献２のパッキングデータである場合、パッキングデータが、LDN=0200/Address=00001000/Length=0008、LDN=0201/Address=00002080/Length=0020、LDN=0200/Address=00001000/Length=0040、である場合、それぞれの行（更新処理情報）に対して更新順番00001、00002、00003が付与される。また、パッキングデータには複製先である第二の複製ボリューム３２０、３２１のＬＤＮを格納する。レプリケーションデータの転送後、第一の複製ボリューム２２０、２２１に更新処理を反映させる（ステップＳ１６）。
【００３５】
次に、遠地サイト３００におけるデータ更新処理を、図１０を参照して説明する。遠地サイト３００は、近地サイト２００からのレプリケーションデータを第三のデータ受信部３１０で受信した時（ステップＳ２１）、特許文献２に記載の準同期レプリケーションにて、受信したデータをバッファ格納部３１１が準同期受信用バッファ３３０に格納する（ステップＳ２２）。準同期受信用バッファ３３０への格納に成功した場合（Ｓ２３：Ｙｅｓ）、準同期受信用バッファ３３０に格納されたデータは、データ取り出し部３１３に更新順にデータを取り出され（ステップＳ２４）、第二の複製ボリューム３２０、３２１に反映される（ステップＳ２５）。準同期受信用バッファ３３０への格納に失敗した場合（Ｓ２３：Ｎｏ）、同期コピーを停止する。次に、データ取り出し部３１３が最後に取り出したデータの更新順番で、第三の更新処理情報格納部３１４が更新順番管理テーブル３１２ａの更新順番を更新する（ステップＳ２６）。準同期受信用バッファ３３０から全てのデータが取り出されるまで、Ｓ２５からＳ２６の処理を繰り返す（ステップＳ２７）。
【００３６】
次に、近地サイト２００に障害が発生した場合の処理を、近地サイト２００が被災したことにより障害が発生した場合を例に図１１を参照して説明する。近地サイト２００が被災したことにより障害が発生すると、ネットワーク４４０を介して接続したフロントサイト１００のマスターボリューム１２０、１２１と遠地サイト３００の第二の複製ボリューム３２０、３２１とのペア構成に組み替えを行う。具体的には、フロントサイト１００のマスターボリューム１２０、１２１と近地サイト２００の第一の複製ボリューム２２０、２２１との間で構築されているペアを切り離す（ステップＳ３１）。次に、近地サイト２００の第一の複製ボリューム２２０、２２１と遠地サイト３００の第二の複製ボリューム３２０、３２１との間で構築されているペアを切り離す（ステップＳ３２）。次に、フロントサイト１００のマスターボリューム１２０、１２１と遠地サイト３００の第二の複製ボリューム３２０、３２１との間でペアを構築する（ステップＳ３３）。
【００３７】
次に、遠地サイト３００から更新順番管理テーブル３１２ａが第三のデータ転送部３１５によってフロントサイト１００に送信される（ステップＳ３４）。フロントサイト１００は、受信した更新順番管理テーブル３１２ａに記載の更新順番で、自サイト１００の更新順番管理テーブル１１２ａを検索し、更新順番の位置を特定する（ステップＳ３５）。フロントサイト１００は、特定した位置より後の更新順番に対応するジャーナルボリューム１２２に格納された更新処理を遠地サイト３００に更新順番どおりに送信する（ステップＳ３６）。
【００３８】
例えば、遠地サイト３００から受信した更新順番管理テーブル３１２ａ内の更新順番が00003であれば、フロントサイト１００の更新順番管理テーブル１１２ａの更新順番00004、00005に該当するデータが遠地サイト３００に送信される。
【００３９】
ここで、近地サイト２００と遠地サイト３００との間の準同期または非同期レプリケーション時に、送信されるレプリケーションデータが更新順番どおりに第三のデータ受信部３１０で受信されない場合、例えば後から発生した更新処理の送信によって追い越しが発生する場合、以下の構成をとることもできる。すなわち、準同期受信用バッファ３３０に格納済みで、第二の複製ボリューム３２０，３２１に反映されていない更新処理の更新順番も更新順番管理テーブル３１２ａで保持する。この未反映の更新処理は、先に更新されるべき更新処理の受信、格納を待っている状態である。近地サイト２００の障害時に、第三のデータ転送部３１５によって更新順番管理テーブル３１２ａがフロントサイト１００に送信され、フロントサイト１００は、遠地サイト３００で更新済みの更新順番の位置を特定し、さらに遠地サイト３００が既に保持しており、かつ未更新の更新処理を特定する。そして、フロントサイト１００は、特定した位置より後の更新順番に対応するジャーナルボリューム１２２に格納された更新処理のうち、遠地サイト３００が既に保持しており、かつ未更新の更新処理以外の更新処理を遠地サイト３００に更新順番どおりに送信する。
【００４０】
以上のように、本発明におけるレプリケーションシステム５００によると、近地サイト２００が被災し障害が発生すると、新たにペア構成となったフロントサイト１００と遠地サイト３００とにおいて、遠地サイト３００からフロントサイト１００に更新順番管理テーブル３１２ａが送信され、フロントサイト１００は、受信した更新順番管理テーブル３１２ａに記載の更新順番で、自サイト１００の更新順番管理テーブル１１２ａを検索し、特定した位置より後の更新順番に対応するジャーナルボリューム１２２に格納された更新処理を遠地サイト３００に更新順番どおりに送信する。
【００４１】
［効果の説明］このように、遠地サイト３００が近地サイト２００と同期済みのものより後の更新処理について、フロントサイト１００と遠地サイト３００とで、データ同期することにより、全データをフロントサイト１００から遠地サイト３００へ送信することなく、フロントサイト１００と遠地サイト３００とを同期することができる。また、フロントサイト１００と遠地サイト３００とは準同期または非同期レプリケーションによって同期するため、近地サイト２００の障害時においても、ホスト５０の更新ＩＯ性能の低下を低減できる。
【００４２】
［他の実施形態］上述した構成に加え、遠地サイト３００の更新順番管理テーブル３１２ａに書き込まれた更新順番は、近地サイト２００が被災した時以外にも、定期的にフロントサイト１００に送信されてもよい。フロントサイト１００は、定期的に更新順番を受信する場合、遠地サイト３００へのバックアップが完了したデータとして、更新順番管理テーブル１１２ａで特定した、受信した更新順番以前の更新処理をジャーナルボリューム１２２から削除する。これにより近地サイト１００のジャーナルボリューム１２２内のデータ記憶領域の消費を低減することができる。また、削除した更新処理に対応する、更新順番管理テーブル１１２ａ内の情報を削除し、さらに記憶領域の消費を低減してもよい。
【００４３】
また、上述した各実施形態は、適宜組み合わせて実施されることが可能である。
【００４４】
各ブロック図に示したブロック分けは、説明の便宜上から表された構成である。各実施形態を例に説明された本発明は、その実装に際して、各ブロック図に示した構成には限定されない。
【００４５】
以上、本発明を実施するための形態について説明したが、上記実施の形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく変更、改良され得ると共に、本発明にはその等価物も含まれる。
【符号の説明】
【００４６】
１    レプリケーションシステム
１０    第一のストレージシステム
１２    第一のストレージ装置
１３    対応情報保持部
１４    転送部
１５    更新処理蓄積部
２０    第二のストレージシステム
２１    データ反映部
２２    送受信部
２３    第二のストレージ装置
３０    第三のストレージシステム
３１    受信部
３２    更新処理反映部
３３    順序情報保持部
３４    順序情報通知部
３５    第三のストレージ装置
４１    ＣＰＵ
４２    メモリ
４３    ＨＤＤ
４４    Ｉ／Ｆ
５０    ホスト
１００    フロントサイト
１１０    第一のデータ受信部
１１１    データ格納部
１１２    テーブル格納ボリューム
１１２ａ    更新順番管理テーブル
１１３    更新処理情報格納部
１１４    更新順番付与部
１１５    第一のデータ更新部
１１６    第一のデータ転送部
１２０、１２１    マスターボリューム
１２２    ジャーナルボリューム
２００    近地サイト
２１０    第二のデータ受信部
２１１    テーブル格納ボリューム
２１１ａ    更新順番管理テーブル
２１２    第二のデータ更新部
２１３    第二の更新処理情報格納部
２１４    第二のデータ転送部
２２０、２２１    第一の複製ボリューム
２３０    準同期送信用バッファ
３００    遠地サイト
３１０    第三のデータ受信部
３１１    バッファ格納部
３１２    テーブル格納ボリューム
３１２ａ    更新順番管理テーブル
３１３    データ取り出し部
３１４    第三の更新処理情報格納部
３１５    第三のデータ転送部
３２０、３２１    第二の複製ボリューム
４１０、４２０、４３０、４４０    ネットワーク
５００    レプリケーションシステム
【図１】
2018163520.tif 000003
【図２】
2018163520.tif 000004
【図３】
2018163520.tif 000005
【図４】
2018163520.tif 000006
【図５】
2018163520.tif 000007
【図６】
2018163520.tif 000008
【図７】
2018163520.tif 000009
【図８】
2018163520.tif 000010
【図９】
2018163520.tif 000011
【図１０】
2018163520.tif 000012
【図１１】
2018163520.tif 000013