JP2007128335A - レプリケーション調停装置と方法並びにプログラム - Google Patents
レプリケーション調停装置と方法並びにプログラム Download PDFInfo
- Publication number
- JP2007128335A JP2007128335A JP2005321128A JP2005321128A JP2007128335A JP 2007128335 A JP2007128335 A JP 2007128335A JP 2005321128 A JP2005321128 A JP 2005321128A JP 2005321128 A JP2005321128 A JP 2005321128A JP 2007128335 A JP2007128335 A JP 2007128335A
- Authority
- JP
- Japan
- Prior art keywords
- transmission
- information
- update information
- storage system
- replication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 230000010076 replication Effects 0.000 title claims abstract description 197
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000003860 storage Methods 0.000 claims abstract description 568
- 230000005540 biological transmission Effects 0.000 claims abstract description 383
- 230000014759 maintenance of location Effects 0.000 claims abstract description 70
- 238000013507 mapping Methods 0.000 claims description 77
- 230000004044 response Effects 0.000 claims description 49
- 238000012546 transfer Methods 0.000 claims description 43
- 230000008569 process Effects 0.000 claims description 39
- 230000001360 synchronised effect Effects 0.000 claims description 27
- 238000012545 processing Methods 0.000 claims description 26
- 238000006243 chemical reaction Methods 0.000 claims description 20
- 230000008439 repair process Effects 0.000 claims description 16
- 239000000284 extract Substances 0.000 claims description 7
- 230000010365 information processing Effects 0.000 claims description 4
- 230000001960 triggered effect Effects 0.000 claims description 4
- 238000009825 accumulation Methods 0.000 claims description 2
- 208000033748 Device issues Diseases 0.000 claims 1
- 238000004590 computer program Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2071—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2064—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring while ensuring consistency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/273—Asynchronous replication or reconciliation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2038—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2048—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share neither address space nor persistent storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/855—Details of asynchronous mirroring using a journal to transfer not-yet-mirrored changes
Abstract
【課題】マスターストレージが複数のストレージで構成されている場合、あるいは仮想化されている場合に、待機系サイトでの業務再開を可能とする装置、方法、プログラムの提供。
【解決手段】マスターストレージ1a、1bとレプリカストレージ2a、2bのレプリケーションを調停装置3を介して行い、調停装置3は、更新情報の送信を制御することで、レプリカストレージでの更新の順序を適正化する。
【選択図】図1
【解決手段】マスターストレージ1a、1bとレプリカストレージ2a、2bのレプリケーションを調停装置3を介して行い、調停装置3は、更新情報の送信を制御することで、レプリカストレージでの更新の順序を適正化する。
【選択図】図1
Description
本発明は、レプリケーションを行う情報処理システムに関し、特にレプリカボリュームの更新順序を適正化するシステムと方法及びプログラムに関する。
従来から、災害等が発生しても機能を維持するために正常系(あるいは稼働系)サイトと待機系サイトを備えたコンピュータシステムが用いられている。このようなコンピュータシステムを「レプリケーションシステム」と呼ぶ。例えば、通常には、正常系サイトがシステム機能を提供する動作をしており、正常系サイトが正常に機能できないときには、その正常系サイトに代わって待機系サイトが動作する。
コンピュータシステムとしての機能を提供するために、正常系サイトと待機系サイトは各々にデータを格納するためのストレージを有している。
そして、レプリケーションシステムでは、待機系サイトが正常系サイトに代わって動作できるように、正常系サイトのストレージ内のデータが待機系サイトのストレージに複製され、保持される(例えば、非特許文献1、2等参照)。この処理は、「レプリケーション」と呼ばれている。
レプリケーションシステムでは、正常系サイトと待機系サイトが「同期」している場合(以下、「同期レプリケーション」という)と、「非同期」の場合(以下、「非同期レプリケーション」という)がある。
同期レプリケーションでは、正常系サイトにおいてストレージにWRITE(データの書き込み)があると、それを契機に、待機系サイトのストレージにも同じデータのWRITEが行われる。
他方、非同期レプリケーションでは、待機系サイトのストレージに対するWRITEは正常系サイトに対するWRITEを契機とせず、事後的(したがって非同期)に行われる。
一方、複数のストレージから構成されるストレージシステムでは、全体を一つのストレージのように見せる仮想化技術が使用される場合がある。
また、ファイルシステムは、ストレージを複数のファイルという単位に仮想化するシステムであり、ファイルがストレージにどのように割り当てられているかを、ファイルシステム層で管理しており、ストレージがブロックベースの装置であった場合には、ファイルという単位を理解することができない。
そして、正常系サイトが被災した際、待機系サイトでは、正常系サイトのストレージ(以下、「マスターストレージ」という)のコピーである待機系サイトのストレージ(以下、「レプリカストレージ」という)中のデータの修復を行った後に、業務を再開する。
待機系サイトで行われるデータの修復において、
・マスターストレージとレプリカストレージが完全に同期している場合や、
・マスターストレージのある時点でのデータを非同期に送っている場合、
には、データの修復が可能である。
・マスターストレージとレプリカストレージが完全に同期している場合や、
・マスターストレージのある時点でのデータを非同期に送っている場合、
には、データの修復が可能である。
しかしながら、マスターストレージとレプリカストレージの同期にずれが発生している場合には、レプリカストレージのデータの修復ができない。
なお、
・データベースシステムや、
・linuxのext3, reiserFS, xfs
のような、journalファイルシステムでは、ジャーナルログ(journal log)を格納したファイル/ボリューム/ブロックが、他のデータを格納したファイル/ボリューム/ブロックよりも新しい状態にある場合には、データの修復が可能である。
・データベースシステムや、
・linuxのext3, reiserFS, xfs
のような、journalファイルシステムでは、ジャーナルログ(journal log)を格納したファイル/ボリューム/ブロックが、他のデータを格納したファイル/ボリューム/ブロックよりも新しい状態にある場合には、データの修復が可能である。
なお、複数のディスクサブシステムにわたってデータ更新の順序性/データの整合性を保証し、非同期型のリモートコピー機能を有するディスクサブシステムとして、例えば特許文献1には、メインセンターとリモートセンターがそれぞれ、ホストコンピュータと、複数のディスクサブシステムと、ゲートウェイサブシステムを備え、各センターのディスクサブシステムのリモートコピー対象となるボリュームとゲートウェイサブシステムの任意のボリューム間は同期型リモートコピーでデータの二重化が行われ、メインセンターのゲートウェイサブシステムは、自サブシステム内のボリュームが更新された順番に従い更新データをリモートセンターのゲートウェイサブシステムに送信し、リモートセンターのゲートウェイサブシステムは受け取った順番に従い更新データを自サブシステム内のボリュームに反映する非同期型のリモートコピーでデータの二重化が行われるシステムが開示されている。特許文献1に開示されたシステムにおいては、メインセンターのゲートウェイサブシステムでは、ホストがディスクサブシステムに書き込み要求を発行すると、これに同期して当該データを自己のディスクサブシステム内のバッファメモリにも書き込んでおり、非同期でリモートのゲートウェイサブシステムにデータの書き込みの指示を行っている。特許文献1に開示されたシステムは、更新された順番を保持して転送することでメインセンターとリモートセンターのディスクサブシステムのボリュームを巨視的にみて常に同一に保つものであるが、ゲートウェイサブシステムを対向配置する等、構成上の制約があり、且つ、非同期型のリモート転送に制限されている。さらに、特許文献1に開示されたシステムにおいては、もっぱら更新順にデータを転送する構成とされており、更新情報に応じて転送制御を可変させることでデータ修復を可能とするための手法等については、いっさい開示も示唆もされていない。さらに、特許文献1には、仮想化されたファイルシステムのレプリケーションにおいて、更新データの更新順序を保持して転送するための手法はいっさい開示も示唆もされていない。
従来の情報処理システムでは、データの修復が可能な順序でレプリカストレージにレプリケーションが行われていることが保障されないため、待機系サイトでは、業務が再開できない、という問題が生じる。
また、特許文献1に開示されたシステムにおいては、更新順序を保ってリモートセンターへの転送が行われるため、データの修復は可能ではあるが、構成上に制約がある上、データの転送制御もデータの更新順に固定されており、例えば転送データのストレージでの格納位置、データの種別等に応じて転送の順序等を可変に制御することはできない。そして、特許文献1には、仮想化されたファイルシステムにおける更新データの更新順序を保持して転送するための手法はいっさい開示も示唆もされていない。
したがって、本発明の主たる目的は、更新情報に応じて転送の仕方を可変制御することで、転送の効率化を図りながら、レプリケーション先のストレージにおいてデータ修復を可能たらしめるシステム及び方法並びにコンピュータプログラムを提供することにある。
本発明の他の目的は、仮想化されたファイルシステムのレプリケーションにおいて、レプリケーション先のストレージにおいてデータ修復を可能たらしめるシステム及び方法並びにコンピュータプログラムを提供することにある。
本願で開示される発明は、上記課題を解決するため、概略以下の構成とされる。
本発明の1つのアスペクト(側面)に係る装置は、レプリケーション元のストレージシステムとレプリケーション先のストレージシステムとの間に配設される調停装置であって、前記レプリケーション元のストレージシステムと前記レプリケーション先のストレージシステム間の転送は前記調停装置を介して行われ、前記レプリケーション元のストレージシステムから転送された更新情報を、前記更新情報の前記レプリケーション元のストレージでのアドレス情報に基づき、即時に又は優先的に前記レプリケーション先のストレージシステムに転送するか、あるいは、一旦、記憶手段に蓄積したのち所定のイベント発生を契機として、前記レプリケーション先のストレージシステムへ転送するように制御する手段を備えている。
本発明は、前記レプリケーション元のストレージシステムから送信された更新情報を受け取る受付手段と、
前記受付手段で受け取った更新情報に関して、前記更新情報の前記レプリケーション先のストレージシステムでの適用順序を決定する送信ルールを参照して、前記更新情報の送信のスケジューリング制御を行う送信スケジューラと、
前記送信スケジューラからの送信の指示を受け前記更新情報を、前記レプリケーション先のストレージシステムに送信する送信手段と、を備えている。
前記受付手段で受け取った更新情報に関して、前記更新情報の前記レプリケーション先のストレージシステムでの適用順序を決定する送信ルールを参照して、前記更新情報の送信のスケジューリング制御を行う送信スケジューラと、
前記送信スケジューラからの送信の指示を受け前記更新情報を、前記レプリケーション先のストレージシステムに送信する送信手段と、を備えている。
本発明において、前記送信スケジューラは、前記更新情報の送信元のストレージの識別情報とアドレス情報に基づき、前記送信ルールのいずれに該当するか検索し、検索された送信ルールで規定されている動作種別に応じて、前記更新情報を記憶手段に一旦蓄積し、所定のイベントの発生をまって送信するか、あるいは、即時に送信する制御を行う。
本発明において、前記レプリケーション元のストレージシステム、及び、レプリケーション先のストレージシステムが複数のストレージを備えている。
本発明において、前記送信ルールは、
レプリケーション元のストレージシステムのストレージ情報、
ボリューム情報、
ボリューム内でのブロックの範囲を示すオフセット情報、
前記更新情報の送信動作の種別とを、
1組として備えている。
レプリケーション元のストレージシステムのストレージ情報、
ボリューム情報、
ボリューム内でのブロックの範囲を示すオフセット情報、
前記更新情報の送信動作の種別とを、
1組として備えている。
本発明において、前記受付手段は、更新情報と、前記レプリケーション元のストレージシステムにおけるストレージIDと、更新情報を受け付けた順番に対応する受付IDを関係付けて1組の情報として、前記送信スケジューラに受け渡す。
本発明において、更新情報の送信動作の種類として、
即時送信、
前記記憶手段の空き容量との関係で送信の有無を制御、
更新情報を受信後の経過時間との関係で送信の有無を制御、
外部からの指示で送信の有無を制御、
指定時刻にしたがって送信を制御、
優先度との関係で送信を制御、
の少なくとも1つ又は複数の組合わせで規定される。
即時送信、
前記記憶手段の空き容量との関係で送信の有無を制御、
更新情報を受信後の経過時間との関係で送信の有無を制御、
外部からの指示で送信の有無を制御、
指定時刻にしたがって送信を制御、
優先度との関係で送信を制御、
の少なくとも1つ又は複数の組合わせで規定される。
本発明において、前記レプリケーション元のストレージシステムは仮想化されており、
前記レプリケーション元のストレージシステムの仮想化状況を示すマッピング情報を取得し論理アドレスへの変換を行うアドレス変換手段を備え、
前記マッピング情報にしたがって仮想化されたアドレスから、レプリケーション元のストレージシステムのストレージ識別情報、ブロック番号を算出し、前記送信ルールに基づき、前記更新情報の前記レプリケーション先ストレージでのデータの更新の順序を適正化する。
前記レプリケーション元のストレージシステムの仮想化状況を示すマッピング情報を取得し論理アドレスへの変換を行うアドレス変換手段を備え、
前記マッピング情報にしたがって仮想化されたアドレスから、レプリケーション元のストレージシステムのストレージ識別情報、ブロック番号を算出し、前記送信ルールに基づき、前記更新情報の前記レプリケーション先ストレージでのデータの更新の順序を適正化する。
本発明において、前記レプリケーション元のストレージシステムのストレージ情報と更新情報のアドレス情報からアドレスを入手し、前記マッピング情報を基に、論理アドレスに変換するアドレス変換手段を備えている。
本発明において、前記受付手段は、前記更新情報からアドレス情報を抽出して前記アドレス変換手段から論理アドレスを取得し、前記更新情報からアドレス情報を論理アドレスに変換して受付IDとともに送信スケジューラに渡す。
本発明において、前記レプリケーション先のストレージシステムは前記レプリケーション元のストレージシステムの論理イメージを格納するようにしてもよい。
本発明において、前記レプリケーション元のストレージシステムのファイルのマッピングを管理するファイルマッピング管理手段から、マッピング情報を取得する。
本発明において、前記マッピング情報には、ファイル、及びメタ情報に応じて、ファイルの識別情報、ファイル内でのアドレス、前記レプリケーション元のストレージシステムのストレージ内のアドレス情報を含む。
本発明において、前記送信スケジューラは、前記レプリケーション元のストレージシステムから転送された前記更新情報に対応する送信ルールが即時送信でない場合、記憶手段に更新情報を蓄積し、前記受付手段に対して前記レプリケーション元のストレージシステムへの応答返却の指示を出し、送信ルールが一定時間経過後送信の場合、該当する時間に送信契機イベントが発生するように設定する。即時送信の場合、送信手段に送信の指示を出し、応答を受信すると、前記受付手段に対して前記レプリケーション元のストレージシステムへの応答返却の指示を出す。
本発明において、前記送信スケジューラは、送信契機イベント発生時、記憶手段に蓄積されている更新情報を受付順序に応じて取り出し、対応する送信ルールが送信契機と合致している場合、前記更新情報の送信を前記送信手段に指示する。
本発明において、更新情報に対応する送信ルールが複数ある場合、優先度が最も高い送信ルールでの送信が実行される。
本発明に係るシステムは、前記レプリケーション元システムと、前記調停装置と、前記レプリケーション先ストレージシステムと、前記レプリケーション先ストレージシステムを修復する修復手段を備えている。
本発明に係る方法は、レプリケーション元のストレージシステムとレプリケーション先のストレージシステム間に配設された調停装置を介して、前記レプリケーション元のストレージシステムと前記レプリケーション先のストレージシステム間の転送が行われるレプリケーション制御方法であって、
前記調停装置が、前記レプリケーション元のストレージシステムから転送された更新情報を受け取る工程と、
前記調停装置が、前記更新情報の前記レプリケーション元のストレージでのアドレス情報に基づき、前記更新情報を、即時に又は優先的に前記レプリケーション先のストレージシステムに転送するか、あるいは、一旦、記憶手段に蓄積したのち所定のイベント発生を契機として、前記レプリケーション先のストレージシステムへ転送するように制御する工程と、
を含む。
前記調停装置が、前記レプリケーション元のストレージシステムから転送された更新情報を受け取る工程と、
前記調停装置が、前記更新情報の前記レプリケーション元のストレージでのアドレス情報に基づき、前記更新情報を、即時に又は優先的に前記レプリケーション先のストレージシステムに転送するか、あるいは、一旦、記憶手段に蓄積したのち所定のイベント発生を契機として、前記レプリケーション先のストレージシステムへ転送するように制御する工程と、
を含む。
本発明に係るコンピュータプログラムは、レプリケーション元のストレージシステムとレプリケーション先のストレージシステムとの間に配設される調停装置を介して前記レプリケーション元のストレージシステムと前記レプリケーション先のストレージシステム間の転送が行われる、前記調停装置を構成するコンピュータに、
前記レプリケーション元のストレージシステムから転送された更新情報を受け取る処理と、
前記更新情報の前記レプリケーション元のストレージでのアドレス情報に基づき、前記更新情報を、即時に、前記レプリケーション先のストレージシステムに転送するか、あるいは、一旦記憶手段に蓄積したのち、所定のイベント発生時に、前記レプリケーション先のストレージシステムへ転送するように制御する処理と、
を実行させるプログラムよりなる。
前記レプリケーション元のストレージシステムから転送された更新情報を受け取る処理と、
前記更新情報の前記レプリケーション元のストレージでのアドレス情報に基づき、前記更新情報を、即時に、前記レプリケーション先のストレージシステムに転送するか、あるいは、一旦記憶手段に蓄積したのち、所定のイベント発生時に、前記レプリケーション先のストレージシステムへ転送するように制御する処理と、
を実行させるプログラムよりなる。
本発明に係るコンピュータプログラムにおいて、前記更新情報の前記レプリケーション元のストレージの識別情報、ボリューム情報、ボリューム内でのブロックアドレス情報の少なくとも1つの情報に基づき、前記更新情報の前記レプリケーション先のストレージシステムでの適用順序を決定する送信ルールを検索し、検索された前記送信ルールにしたがって前記更新情報を前記レプリケーション先のストレージシステムに転送する、ようにしてもよい。
本発明に係るコンピュータプログラムにおいて、レプリケーション元のストレージシステムと、レプリケーション先のストレージシステムとの間に配設され、調停装置を介して前記レプリケーション元のストレージシステムと前記レプリケーション先のストレージシステム間で転送が行われる調停装置を構成するコンピュータに、
前記レプリケーション元のストレージシステムから送信された更新情報を受け取る受付け処理と、
前記受け取った更新情報に関して、前記更新情報の前記レプリケーション先のストレージシステムでの適用順序を決定する送信ルールを参照して、前記更新情報の送信のスケジューリング制御を行う送信スケジューラの処理と、
前記送信スケジューラからの送信の指示を受け前記更新情報を、前記レプリケーション先のストレージシステムに送信する送信処理と、
を実行させるプログラムよりなる。
前記レプリケーション元のストレージシステムから送信された更新情報を受け取る受付け処理と、
前記受け取った更新情報に関して、前記更新情報の前記レプリケーション先のストレージシステムでの適用順序を決定する送信ルールを参照して、前記更新情報の送信のスケジューリング制御を行う送信スケジューラの処理と、
前記送信スケジューラからの送信の指示を受け前記更新情報を、前記レプリケーション先のストレージシステムに送信する送信処理と、
を実行させるプログラムよりなる。
本発明に係るコンピュータプログラムにおいて、前記送信スケジューラは、前記更新情報の送信元のストレージの識別情報とアドレス情報に基づき、前記送信ルールのいずれに該当するか検索し、検索された送信ルールで規定されている動作種別に応じて、前記更新情報を記憶手段に一旦蓄積し、所定のイベントの発生をまって送信するか、あるいは、即時に送信する制御を行う。
本発明に係るコンピュータプログラムにおいて、前記レプリケーション元のストレージシステム、及び、レプリケーション先のストレージシステムが複数のストレージを備えている。
本発明に係るコンピュータプログラムにおいて、前記送信ルールは、
レプリケーション元のストレージシステムのストレージ識別情報、
ボリューム情報、
ボリューム内でのブロックの範囲を示すオフセット情報、及び、
前記更新情報の送信動作の種別
をエントリーとして備えている。
レプリケーション元のストレージシステムのストレージ識別情報、
ボリューム情報、
ボリューム内でのブロックの範囲を示すオフセット情報、及び、
前記更新情報の送信動作の種別
をエントリーとして備えている。
本発明に係るコンピュータプログラムにおいて、前記受付処理は、更新情報と、前記レプリケーション元のストレージシステムにおけるストレージIDと、更新情報を受け付けた順番に対応する受付IDを関係付けて1組の情報として、前記送信スケジューラに受け渡す。
本発明に係るコンピュータプログラムにおいて、更新情報の送信動作の種類として、
即時送信、
前記記憶手段の空き容量との関係で送信の有無を制御、
更新情報を受信後の経過時間との関係で送信の有無を制御、
外部からの指示で送信の有無を制御、
指定時刻にしたがって送信を制御、
優先度との関係で送信を制御、
即時送信の場合における同期転送又は非同期転送、
の少なくとも1つ又は複数の組合わせで規定される。
即時送信、
前記記憶手段の空き容量との関係で送信の有無を制御、
更新情報を受信後の経過時間との関係で送信の有無を制御、
外部からの指示で送信の有無を制御、
指定時刻にしたがって送信を制御、
優先度との関係で送信を制御、
即時送信の場合における同期転送又は非同期転送、
の少なくとも1つ又は複数の組合わせで規定される。
本発明に係るコンピュータプログラムにおいて、前記レプリケーション元のストレージシステムは仮想化されており、
前記レプリケーション元のストレージシステムの仮想化状況を示すマッピング情報を取得し論理アドレスへの変換を行うアドレス変換処理と、
前記マッピング情報にしたがって仮想化されたアドレスから前記レプリケーション元のストレージシステムのストレージ識別情報、ブロック番号を算出し、前記送信ルールに基づき、前記更新情報の前記レプリケーション先ストレージでのデータの更新の順序を適正化する処理を前記コンピュータで実行する処理を含む。
前記レプリケーション元のストレージシステムの仮想化状況を示すマッピング情報を取得し論理アドレスへの変換を行うアドレス変換処理と、
前記マッピング情報にしたがって仮想化されたアドレスから前記レプリケーション元のストレージシステムのストレージ識別情報、ブロック番号を算出し、前記送信ルールに基づき、前記更新情報の前記レプリケーション先ストレージでのデータの更新の順序を適正化する処理を前記コンピュータで実行する処理を含む。
本発明に係るコンピュータプログラムにおいて、前記レプリケーション元のストレージシステムのストレージ情報と更新情報のアドレス情報からアドレスを入手し、前記マッピング情報を基に、論理アドレスに変換するアドレス変換処理を含むようにしてもよい。
本発明に係るコンピュータプログラムにおいて、前記受付処理は、前記更新情報からアドレス情報を抽出して前記アドレス変換処理から論理アドレスを取得し、前記更新情報からアドレス情報を論理アドレスに変換して受付IDとともに送信スケジューラに渡すようにしてもよい。
本発明に係るコンピュータプログラムにおいて、前記レプリケーション先のストレージシステムは前記レプリケーション元のストレージシステムの論理イメージを格納するようにしてもよい。
本発明に係るコンピュータプログラムにおいて、前記レプリケーション元のストレージシステムのファイルのマッピングを管理するファイルマッピング管理手段から、マッピング情報を取得するようにしてもよい。前記マッピング情報には、ファイル、及びメタ情報に応じて、ファイルの識別情報、ファイル内でのアドレス、前記レプリケーション元のストレージシステムのストレージ内のアドレス情報が含まれる。
本発明に係るコンピュータプログラムにおいて、前記送信スケジューラは、前記レプリケーション元のストレージシステムから転送された前記更新情報に対応する送信ルールが即時送信でない場合、記憶手段に更新情報を蓄積し、前記受付手段に対して前記レプリケーション元のストレージシステムへの応答返却の指示を出し、送信ルールが一定時間経過後送信の場合、該当する時間に送信契機イベントが発生するように設定し、即時送信の場合、前記送信処理に送信の指示を出し、応答を受信すると、前記受付手段に対して前記レプリケーション元のストレージシステムへの応答返却の指示を出すようにしてもよい。
本発明に係るコンピュータプログラムにおいて、前記送信スケジューラは、送信契機イベント発生時、前記記憶手段に蓄積されている更新情報を受付順序に応じて取り出し、対応する送信ルールが送信契機と合致している場合、前記更新情報の送信を前記送信処理に指示するようにしてもよい。
本発明に係るコンピュータプログラムにおいて、前記送信スケジューラは、前記更新情報に対応する送信ルールを前記更新情報に関連付けて格納しておき、前記送信契機イベント発生時における前記更新情報に対応する送信ルールの検索処理を省くようにしてもよい。
本発明に係るコンピュータプログラムにおいて、前記送信スケジューラは、前記更新情報に対応する送信ルールが複数ある場合、優先度が最も高い送信ルールでの送信を実行するように制御してもよい。
本発明によれば、レプリケーション元のストレージシステムとレプリケーション先のストレージシステムとの間に配設される調停装置が、レプリケーション元のストレージシステムからレプリケーション先のストレージシステムへ転送される更新情報に応じて転送の仕方を可変に制御することで、転送の効率性等を高めながら、レプリケーション先のストレージシステムでのデータ修復を保証している。本発明によれば、更新情報のアドレス情報等に基づき、同期転送、非同期転送等、イベント発生待ち等、各種転送の仕方を可変制御することにより、レプリケーション元のストレージに格納したデータにあわせてレプリケーションのやり方を切り替えることができる。
本発明によれば、レプリケーション元のストレージシステムが仮想化されている場合にも、レプリケーション先のストレージシステムの更新を可能とし、レプリケーション先のストレージシステムでのデータの修復を可能としている。
上記した本発明についてさらに詳細に説述すべく、添付図面を参照して説明する。本発明は、マスターストレージ(図1の1a、1b)とレプリカストレージ(図1の2a、2b)の間でレプリケーションを行う際に、調停装置(図1の3)を介して行う。
調停装置(3)は、装置内部に記憶保持されている送信ルールに基づき、マスターストレージから送られてきた更新情報を、レプリカストレージに送信し、レプリカストレージでは、送信ルールに基づいた順序にて、更新情報が適用される。
送信ルールに、レプリカストレージで更新情報を適切に適用するための適用順序を決定するためのルールを予め規定しておき、調停装置(3)は、送信スケジューラ(図2の
23)が、該送信ルールに従って、個々の送信情報を適切な順序でレプリカストレージに適用されるように、スケジューリングを行う。
23)が、該送信ルールに従って、個々の送信情報を適切な順序でレプリカストレージに適用されるように、スケジューリングを行う。
本発明においては、マスターストレージが仮想化されている場合(図10、図15)、あるいは、ファイルマッピング管理手段(図23の8)でマッピングされている場合、マスターストレージと、レプリカストレージの間でレプリケーションは、仮想アドレスのアドレス変換を行う調停装置(図10の6、図15の15、図23の40)を介して行う。
調停装置では、内部に記憶保持されている送信ルールと、仮想化装置から取得したマッピング情報、又は、ファイルマッピング手段からのマッピング情報に基づき、マスターストレージから送られてきた更新情報を、レプリカストレージに送信し、レプリカストレージで送信ルールに基づいた順序で更新情報が適用される。
送信ルールに、マスターストレージが仮想化された状態でのレプリカストレージで更新情報を適切に適用するための適用順序を決定するためのルールを記録しておき、調停装置で、マッピング情報を用いて、仮想化されていないマスターストレージからの更新情報を仮想化された状態に変換して、変換した更新情報と前記ルールを基に、個々の送信情報を、適切な順序でレプリカストレージに適用されるようにスケジューリングを行う。以下、いくつかの実施例に即して詳細に説明する。
<第1の実施例>
本発明の第1の実施例について図面を参照して詳細に説明する。図1を参照すると、本発明の第1の実施例は、複数のマスターストレージ1a、1bと、レプリカストレージ2a、2bと、マスターストレージ1a、1bとレプリカストレージ2a、2bのレプリケーションのための通信を仲介する調停装置3を備えている。本実施例では、レプリカストレージ2a、2bには修復手段60が接続される。なお、図1では簡単のため、マスターストレージ群とレプリカストレージ群はそれぞれ、2台のストレージ構成が示されているが、本発明はかかる構成に制限されるものでないことは勿論である。
本発明の第1の実施例について図面を参照して詳細に説明する。図1を参照すると、本発明の第1の実施例は、複数のマスターストレージ1a、1bと、レプリカストレージ2a、2bと、マスターストレージ1a、1bとレプリカストレージ2a、2bのレプリケーションのための通信を仲介する調停装置3を備えている。本実施例では、レプリカストレージ2a、2bには修復手段60が接続される。なお、図1では簡単のため、マスターストレージ群とレプリカストレージ群はそれぞれ、2台のストレージ構成が示されているが、本発明はかかる構成に制限されるものでないことは勿論である。
マスターストレージ1a、1bは、不図示のホストから、ワンセットとして利用される。例えば、データベースシステムの場合、マスターストレージ1aにテーブルが格納され、マスターストレージ1bにはジャーナルが格納される。あるいは、マスターストレージ1aの全ボリュームとマスターストレージ1bのボリュームの一部にテーブルが格納され、マスターストレージ1bのボリュームの残りにジャーナルが格納されるようにしてもよい。
特に制限されないが、以下では、マスターストレージ1aのレプリカがレプリカストレージ2aに対応し、マスターストレージ1bのレプリカがレプリカストレージ2bに対応しているものとする。
不図示のホストからマスターストレージ1aに対して、write要求が発行された場合、マスターストレージ1aは、write要求を、マスターストレージ1a内部の不図示の記憶媒体(HDD等)又はキャッシュに記憶するとともに、レプリカストレージ2aに対して、該write要求から構成された更新情報を送信し、その応答を待って、ホストに対して、writeの完了を通知する。
なお、マスターストレージ1aに対するホストからのread要求に対する動作は、一般的なストレージのreadの動作と同様である。
本実施例において、更新情報は、例えば、下記情報から構成される。
・writeにより変更されたストレージ中のデータブロックを示す情報(以下、「アドレス情報」という)、
・更新後のデータ(以下、「更新データ」という)。
・更新後のデータ(以下、「更新データ」という)。
本実施例において、図1に示すように、調停装置3は、マスターストレージとレプリカストレージの間に配置されている。調停装置3は、マスターストレージ1a、1bと、レプリカストレージ2a、2bが通信する際にその更新情報等が、必ず通過するのであれば、任意の位置に配置してもよい。
また、マスターストレージ1a、1b、及び、レプリカストレージ2a、2bから、調停装置3を隠蔽させるようにしてもよい。例えば、マスターストレージ1から調停装置3を見ると、調停装置3はレプリカストレージ2のアドレスに見え、一方、レプリカストレージ2から調停装置3を見ると、調停装置3はマスターストレージ1のアドレスに見えるように、構成する手法等を用いてもよい。
あるいは、調停装置3をマスターストレージ1a、1bとレプリカストレージ2a、2bの間に、ネットワークのゲートウェイ装置のように配置してもよい。このようにすると、マスターストレージ1a、1bは、あたかもレプリカストレージ2a、2bと通信しているように見えるが、実際には、調停装置3と通信する。レプリカストレージ2a、2bは、マスターストレージ1a、1bと通信しているように見えるが、実際には、調停装置3と通信することになる。
さらに別の例として、調停装置3を、マスターストレージ1a、1bと、レプリカストレージ2a、2bの間に、明示的に、挿入するようにしてもよいことは勿論である。この場合、マスターストレージ1a、1bは、明示的に、調停装置3に対して送信を行い、調停装置3では、受信した更新情報の発信元のマスターストレージを判定し、調停装置にあらかじめ設定されたマスターストレージとレプリカストレージの対応関係(レプリケーション・ペア情報)に基づき、更新情報を対応したレプリカストレージに送るようにしてもよい。
レプリカストレージ2a、2bは、レプリケーションのレプリカ機能を持ったストレージであり、マスターストレージ1a、1bと切り離された際には、不図示のホストからのreadの要求やwriteの要求を処理する。
本実施例において、レプリカストレージ2a、2bは、更新情報を受け取ると、更新情報中のアドレス情報に対応したブロックに、更新後のデータを書き込み、更新情報の送り元のマスターストレージ1a、1bに調停装置3を介して応答を返す。
図2は、図1の調停装置3の構成の一例を示す図である。図2を参照すると、調停装置3は、マスターストレージ1a、1bからの更新情報を受け取る受付手段20と、更新情報を一時的に蓄積する更新情報プール21と、更新情報の送信のスケジューリングを行う送信スケジューラ23と、レプリカストレージ2a、2bに更新情報を送信する送信手段24を備えている。なお、これらの手段は、調停装置3を構成するコンピュータ上で実行されるプログラムによりその処理・機能を実現するようにしてもよいことは勿論である。他の実施例についても同様である。
受付手段20は、マスターストレージ1a、1bから、更新情報を受け取ると、図3に示すように、
・更新情報、
・送信元のマスターストレージを示す情報(「マスターID」という)、
・受け付けた順序を示す番号(「受付ID」という)、
・更新情報の宛先の情報、
をまとめて一時記憶形式を作成する。
・更新情報、
・送信元のマスターストレージを示す情報(「マスターID」という)、
・受け付けた順序を示す番号(「受付ID」という)、
・更新情報の宛先の情報、
をまとめて一時記憶形式を作成する。
なお、受付手段20で更新情報を受信したとき、受付手段20内の不図示の受信バッファに更新情報を蓄積し、一次記憶形式に格納する更新情報は、受信バッファのポインタ及びサイズ情報であってもよい。
受付手段20は作成した一時記憶形式を送信スケジューラ23に渡す。
次に、受付手段20は、送信スケジューラ23から応答返却の指示を待ち、更新情報の送信先であるマスターストレージ1a、1bに応答を送信する。
特に制限されないが、送信スケジューラ23は、受付手段20から受け取った更新情報の一次記憶形式ごとに、それに適した処理(すぐ送る、蓄積する、蓄積した場合にはどの契機で送るか)を決定するための送信ルールを、内部の記憶装置(不図示)に備えている。送信ルールは、調停装置3内において、送信スケジューラ23が参照できる記憶装置(不図示)に格納するようにしてもよい。
本実施例で用いられる送信ルールの一例について説明する。
送信ルールは、複数のエントリーを持つ表として構成され、各エントリーは、例えば図4に示すように、以下の情報を持つ。
・マスターID、
・ボリュームID(マスターストレージ中のボリュームを特定する情報)、
・オフセット範囲[先頭(start)・最後尾(end)](ボリューム中のブロックの範囲を特定するための情報)、
・動作の種類を示す情報
・ボリュームID(マスターストレージ中のボリュームを特定する情報)、
・オフセット範囲[先頭(start)・最後尾(end)](ボリューム中のブロックの範囲を特定するための情報)、
・動作の種類を示す情報
なお、更新情報の一次記憶形式に格納されたマスターIDが、送信ルールのマスターIDと一致すれば、他の項目、すなわち、ボリュームIDやオフセットの値を考慮しなくてもよいことを示す値を、ボリュームID、オフセット範囲に記録するようにしてもよい。
更新情報の一次記憶形式に格納されたマスターIDとボリュームIDが一致すれば、オフセットの値を考慮しなくてもよいことを示す値を、ボリュームID、オフセット範囲に記録するようにしてもよい。
あるいは、受付手段20からの更新情報の一次記憶形式が、送信ルールのどのエントリーにも照合しなかった場合の動作を示す値(デフォルト値)を、マスターID、ボリュームID、オフセット範囲に記録しておくようにしてもよい。この場合、更新情報のアドレス情報が、送信ルールのエントリーと照合しなかった場合、該更新情報の送信に関してデフォルトの動作が実行される。
また、送信ルールは、エントリーの優先度順に評価され、評価した一時記憶形式が、複数のエントリーに該当する場合、優先度が最も高いエントリーの送信が実行される。なお、エントリーに、優先度情報を格納するようにしてもよいし、優先度順にエントリーを配列し、先頭から探索・評価するようにしてもよい。
送信スケジューラ23における更新情報の送信動作の種類としては、例えば、以下の動作、又はその組合わせが用いられる。特に制限されないが、送信ルールの検索の結果、更新情報に照合したエントリーで規定される送信動作の種類としては、以下のものがある。
(A1)即時に送信する。
(A2)更新情報プール21の空き容量が閾値以下となるまで送信しない。
(A3)更新情報を受信後予め定められた時間の間送信しない。
(A4)更新情報を受信後予め定められた時間経過後に送信する。
(A5)外部からの指示があるまで送信しない。
(A6)予め定められた時刻になるまで送信しない。
(A7)送信対象の更新情報に関して、該更新情報の優先度よりも、優先度の高い更新情報が、更新情報プール21に溜まっていない場合に送信する。
なお、即時に送信する以外は、複数の動作(A2)乃至(A7)のいずれかを組合わせるようにしてもよい。また、即時に送信する場合、後述するように、同期型、非同期型の種別を規定してもよい。さらに、(A7)において、更新情報の優先度は、送信スケジューラ23において、送信ルールの検索の結果、更新情報に照合したエントリーの優先度に対応している。
なお、(A1)乃至(A7)は、送信ルールの各エントリーにコード化されて格納され、また、(A3)等の場合、設定時間をパラメータとして可変に指定できるようにしてもよい。また、(A5)の場合、外部からの指示を固定とするか、可変とし、その指示の内容を可変に設定できるようにしてもよい。
(A6)の場合、時刻を送信ルールの動作の種類のフィールドで可変に設定できるようにしてもよい。
例えば、(A4)と(A2)のOR演算の組合わせにより、次の(A8)が設定される。
(A8)更新情報を受信後10分経過するか、更新情報プール21の空きがなくなったら送る。
また、(A2)と(A5)のOR演算の組合わせにより、次の(A9)が設定される。
(A9)更新情報プール21の空きがなくなるか、外部からの指示があったら送る。
また、(A2)と(A6)のOR演算の組合わせにより、次の(A10)が設定される。
(A10)更新情報プール21の空きがなくなるか、指定された時刻になったら送る。
また、(A6)と(A4)のOR演算の組合わせにより、次の(A11)が設定される。
(A11)外部からの指示があったときに、指定された期間以上経過していたら送る。
次に、本実施例における、送信スケジューラ23において、更新情報を送信する契機となるイベントの具体例について説明する。送信契機イベントとして、例えば下記の(B1)乃至(B3)等が用いられる。
(B1)更新情報の受信から予め定められた時間経過後の送信において、予め定められた時間が過ぎる。
(B2)予め定められた時刻となる。
(B3)更新情報プール21の空き容量が閾値を下回る。
図5は、本実施例における送信スケジューラ23の動作を示す流れ図である。図5を参照して、送信スケジューラ23の動作を説明する。
イベント待ち状態(ステップS101)において、イベント発生時、送信スケジューラ23はイベントの種類を判別する(ステップS102)。受付手段20から更新情報の一時記憶形式を受け取った場合、送信スケジューラ23は、一時記憶形式のマスターIDとアドレス情報を基に、送信ルールを検索し、マスターID等が照合する送信ルールのエントリーを探す(ステップS103)。
照合した送信ルールの動作の種類が、即時送信でない場合(ステップS104のNo分岐)、送信スケジューラ23は、一次記憶形式を、更新情報プール21に蓄積する(ステップS105)。
送信スケジューラ23は、受付手段20に、マスターストレージに対して応答を返却するように指示する(ステップS106)。
送信スケジューラ23は、更新情報を受信した後、予め定められた時間経過後の送信であるかチェックし(ステップS107)、時間経過後送信でない場合には(ステップS107のNo分岐)、ステップS101に戻る。
時間経過後送信の場合には(ステップS107のYes分岐)、送信時間に送信契機イベントが発生するように、送信スケジューラ23は、不図示のタイマを設定し(ステップS108)、ステップS101に戻る。
ステップS104において、即時送信の場合(ステップS104のYes分岐)、送信スケジューラ23は、送信手段24に更新情報の送信を指示する(ステップS109)。
送信スケジューラ23は、更新情報を送信した宛先であるレプリカストレージからの応答を待ち(ステップS110)、受付手段20に応答の返却を指示する(ステップS111)。
ステップS102のイベントの種別の判別の結果、送信契機イベント(上記(B1)乃至(B3)のいずれか等)が発生時、更新情報プール21に蓄積されている一次記憶形式の中から、受付IDの最も小さい一次記憶形式を選択する(ステップS130)。
一次記憶形式のマスタIDと、更新情報中のアドレス情報を基に、送信ルールのエントリーを検索する(ステップS131)。
発生した送信契機と、検索された送信ルールの動作の種類が一致する場合(ステップS132のYes分岐)、送信スケジューラ23は、送信手段24に、当該受付IDの一次形式の更新情報の送信を指示する(ステップS133)。送信スケジューラ23は、更新情報を送信後、更新情報プール21から、送信した一次記憶形式を削除する(ステップS134)。
更新情報プール21に蓄積されている確認対象の一次記憶形式を、次に受付IDが小さいものに変更する(ステップS135)。
ステップS131からステップS135の処理を、更新情報プール21内に蓄積されている一次記憶手段の全ての受付IDについて完了すると(ステップS136のYes)、ステップS101に戻る。
高優先度の更新情報が、更新情報プール21に蓄積されていないかを確認する場合、更新情報プール21に蓄積されている一次記憶形式の中から、受付IDの最も小さい一次記憶形式を選択する(ステップS140)。
一次記憶形式のマスタIDと、更新情報中のアドレス情報を基に、送信ルールのエントリーを検索する(ステップS141)。
対象エントリーよりも優先度の高いルールの場合(ステップS142のYes分岐)、ステップS101に戻る。
対象エントリーよりも優先度の低いルールの場合(ステップS142のNo分岐)、確認する対象を、次に受付IDが小さいものに変更する(ステップS143)。
ステップS141からステップS144の処理を、更新情報プール21に蓄積されている一次記憶形式の全てについて確認した場合(ステップS144のYes)、ステップS130に移行し、送信契機発生の処理を行う。
本実施例においては、送信ルールで、即時送信となっていないエントリーに該当した更新情報は、更新情報プール21に登録された段階で、マスターストレージ(1a、1b)に応答が返るため、非同期型レプリケーションとなる。
即時送信となっているエントリーに該当した更新情報は、レプリカストレージからの応答が返ってきてから、調停装置3からマスターストレージ(1a、1b)に応答が返り(ステップS110、S111)、ホストに応答が返るので、同期型レプリケーションとなる。
この実施例の送信スケジューラ23は、一次記憶形式に関して、送信ルールの同じエントリーに該当する更新情報の全てを送信するように制御しているが、一部を送信できた段階で、イベント待ちに移行するようにしてもよい。
次に、更新情報プール21における一時記憶形式の記憶管理の一例について説明する。特に制限されないが、本実施例では、更新情報の一時記憶形式に、他の一時記憶形式の先頭を示す情報を保管するポインタ領域を持たせ、線形リスト形式で管理する。更新情報は可変長とされる。すなわち、図6に示すように、一時記憶形式は、図3の構成に加えて、次の一時記憶形式の先頭を示す情報を保管するポインタ領域を備え、複数の一時記憶形式が繋がれ、最後尾の一時記憶形式のポインタ領域には、最後尾を示す情報(例えばNull)が格納される。なお、一時記憶形式において、ポインタ領域が配置される欄は、先頭欄に限定されず、どの欄であってもよい。
あるいは、一時記憶形式ごとにファイルを作成し、ファイルとして管理してもよい。この場合、更新情報プール21は、ファイルをアクセスするための情報(アドレス、サイズ)が格納される。あるいは、前述したように、更新情報をファイルに格納し、一記憶形式の更新情報の欄を、ファイルのアドレス情報としてもよい。
送信スケジューラ23は、一次記憶形式のマスターID等と送信ルールのエントリーの照合の行う場合、基本的に、受付IDの古い順に行う。
送信手段24は、送信スケジューラ23から、一時記憶形式を渡され、送信を指示されると、更新情報の宛先と更新情報を取り出し、更新情報を宛先に対して送信する。更新情報を送信した宛先のレプリカストレージから応答が調停装置3に返却されたら、送信スケジューラ23に応答が来たことを通知して処理を終了する。
本実施例の送信ルールの一具体例としてデータベースを例に説明する。
データベースシステムでは、ジャーナルデータ(ログ、ジャーナルログ、redoログともいう)が更新順序どおりに転送され、マスターストレージとレプリカストレージのデータが初期状態で一致していれば、ジャーナルデータにより、データベースのテーブルを修復することができる。マスターストレージ1aがテーブル、マスターストレージ1bがジャーナルデータを格納している場合、マスターストレージ1bは、ジャーナルデータの更新情報を、即時でレプリカストレージ2b宛てに転送し、マスターストレージ1aは、データの更新情報を、任意のタイミングで転送するようにする。このようにすることで、障害発生等により、マスターストレージが使用不可となっても、レプリカストレージをほぼ、最新の状態に設定することができる。
すなわち、
調停装置3の送信スケジューラ23において、
・ジャーナルデータを格納するストレージ、該ストレージ中のボリュームを即時送信、
・他のストレージ、ボリュームを任意の送信動作、
とした送信ルールを用いることで、データベースシステムにおいて、修復可能な状態で転送することが可能となる。
調停装置3の送信スケジューラ23において、
・ジャーナルデータを格納するストレージ、該ストレージ中のボリュームを即時送信、
・他のストレージ、ボリュームを任意の送信動作、
とした送信ルールを用いることで、データベースシステムにおいて、修復可能な状態で転送することが可能となる。
このようにすると、少なくとも調停装置3とレプリカストレージの間では、即時に送信されるジャーナルデータが転送可能な帯域のネットワークを用意すればよいことから、ネットワークの費用を下げることが可能となる。
次に、本実施例の送信ルールの別の具体例としてファイルシステムを例に説明する。
メタデータロギングを行うジャーナリングファイルシステムにおいて、ジャーナル情報、ファイル管理情報等のメタ情報、ファイルデータのそれぞれを異なるストレージあるいはボリューム、少なくともアドレスに格納するようにしたシステムの場合、
・ジャーナル情報を、即時で1番目の優先度、
・ファイル管理情報等のメタ情報を、2番目の優先度で30秒に一度転送、
・ファイルデータを、3番目の優先度で、上位の優先度がないときに転送、
とすることで、レプリカストレージでは、ジャーナル情報から、メタデータを再構成することができる。
・ジャーナル情報を、即時で1番目の優先度、
・ファイル管理情報等のメタ情報を、2番目の優先度で30秒に一度転送、
・ファイルデータを、3番目の優先度で、上位の優先度がないときに転送、
とすることで、レプリカストレージでは、ジャーナル情報から、メタデータを再構成することができる。
このため、ファイルのチェック及び修復を行うコマンド(Linux(登録商標)系のfsck、Windows(登録商標)系のscandisk)等の修復プログラムにより、ファイル管理情報は最新の情報に修復が可能となる。
図2の送信スケジューラ23の動作の別の例を説明する。図7は、本実施例における送信スケジューラ23の動作の変形例を示す図である。図7において、図2の受付手段20から一時記憶形式を受け取るイベント以外の処理は、図5と同じであるため、省略されている。
図7に示す例においては、受付手段20から一時記憶形式を受け取ると、受付手段20に応答返却を指示する(ステップS112)。
一時記憶形式のマスタIDとアドレス情報を基に、送信ルールを検索し一致するエントリーを探す(ステップS103)。
送信ルールが、即時送信でない場合(ステップS104のNo分岐)、一次記憶形式を更新情報プール21に蓄積する(ステップS105)。
更新情報を受信した後予め定められた時間経過後の送信であるかチェックし(ステップS107)、時間経過後の送信でない場合、ステップS101に戻る。
時間経過後の送信の場合、送信時間に、送信契機イベントを発生するように、タイマを設定し(ステップS108)、ステップS101に戻る。
ステップS104において、即時送信の場合、送信スケジューラ23は、送信手段24に更新情報の送信を指示する(ステップS109)。
図7に示した例は、非同期型レプリケーションの動作となる。従って、即時送信の場合であっても、レプリカストレージ2a、2bへの転送の処理は、マスターストレージ1a、1bに影響を与えない。なお、図7に示す例では、一次記憶形式のマスターID等と照合したエントリーの送信ルールに関して、同じエントリーに該当する一次記憶形式の更新情報を全て宛先のレプリカストレージに送信しているが、一致する一次記憶形式の更新情報を全て送信するのではなく、一致する複数の一次記憶形式のうちの一部を送信できた段階で、ステップS101のイベント待ちに移行するようにしてもよい。
次に、図2の送信スケジューラ23の別の動作の例を説明する。図8は、送信スケジューラ23の更に別の動作を示す図である。受付手段から一時記憶形式を受け取るイベント以外は、図5と同じ動作となるので省略されている。
この動作では、送信ルールで、即時送信を同期、非同期の2種類に分ける。
ステップS104の判定の結果、動作が即時送信の場合、同期、非同期であるかを判定し(ステップS113)、同期型の場合(ステップS113のYes分岐)、図5のステップS109乃至S111と同じ動作を行う。一方、非同期の場合(ステップS113のNo分岐)、受付手段20に応答返却を指示し(ステップS114)、送信手段24に送信を指示する(ステップS115)。
図8に示した例の場合、ストレージ、又は、ストレージ中のデータブロックによって、同期型レプリケーション(レプリカストレージの応答を転送)と非同期レプリケーション(受付手段で応答)を切り替えて行うことが可能となる。すなわち、ストレージ、あるいはストレージ中のデータブロックによって、レプリケーションの影響を、マスターストレージの処理に出さないか(非同期型レプリケーション)、データが完全に複製することを保障するか(同期型レプリケーション)を切り替えることが可能となる。つまり、ストレージに格納したデータにあわせて、適切にレプリケーションのやり方を切り替えることが可能となる。
図8の例においても、一次記憶形式のマスターID等と照合した送信ルールに関して、同じエントリーに該当する一次記憶形式の更新情報を全て宛先のレプリカストレージに送信しているが、一致する一次記憶形式の更新情報を全て送信するのではなく、一致する複数の一次記憶形式のうちの一部を送信できた段階で、ステップS101のイベント待ちに移行するようにしてもよい。また、一次記憶形式のマスターID等と照合した送信ルールのうち複数のエントリーに一致している場合、最も優先度の高いエントリーを選択し、該エントリーの動作にしたがって送信するようにしてもよい。
図5、図7、図8を参照して説明した送信スケジューラの動作の変形例についてさらに説明する。
前述の3つの例において、図9に示すように、更新情報の一時記憶形式内に、送信ルールのエントリーのID(エントリー番号)を記録する領域を設けておくようにしてもよい。
送信スケジューラ23は、受付手段20から一時記憶形式を受け取り、送信ルールを検索した際、即時送信以外であった場合には、適応した送信ルールのエントリーに対応したIDを、一時記憶形式の送信ルールのエントリーIDの欄に記録しておく。
送信契機イベント発生等により、送信スケジューラ23が、一次記憶形式と送信ルールとの照合を行う際、一時記憶形式に格納されているエントリーIDを用いることで、実際の送信ルールの検索を省略することができる。すなわち、送信スケジューラ23において、送信契機イベント発生時に、送信ルールを検索する必要がなくなり、各処理が短時間で処理できるようになる。すなわち、調停装置の処理能力が向上する。
次に、本実施例における修復手段60(図1参照)について説明する。障害又は運用等により、マスターストレージ1a、1bが動作できなくなった場合、レプリカストレージ2a、2bを使用して、処理を再開する。
処理を再開する前に、修復手段60による、レプリカストレージ2a、2bのデータの修復が行われる。修復手段60による修復処理としては、修復手段60が、レプリカストレージ2a、2bからデータを読み出し、レプリカストレージ2a、2b内のデータの不整合箇所を、不整合のない状態に変更する。
修復手段60は、不図示のレプリカストレージを使用するホスト中に実装される。
修復手段60による、修復の一具体例としてデータベースについて説明する。
データベースシステムでは、ジャーナルデータを古いものから順にテーブルのデータに適用していくことで、最新の状態に戻すことができる(「クラッシュリカバリー」と呼ばれる処理に対応する)。
レプリカストレージにおいて、初期状態以降の全てのジャーナルデータを保持し続けることは困難である。
古いジャーナルデータを破棄する時点において、レプリカストレージ中のテーブルデータが、該破棄される古いジャーナルデータによって更新された状態よりも、新しい状態になっていれば、残されたジャーナルデータから、最新の状態にすることが可能である。
ジャーナルデータが破棄されるまでの期間が、例えば1週間であった場合、テーブルデータは、その期間よりも前(ジャーナルデータ転送後、1週間が経過する前)に、レプリカストレージに転送されさえすればよい。これを実現するには、以下の手法がある。
調停装置3にマスタストレージから更新情報が到着後1週間よりも短い期間経過したら該更新情報を送信するように、送信ルールを設定する。
レプリカストレージにおいて、ジャーナルデータの破棄が行われるよりも一定期間前に、外部からの指示で送信を行わせる。
修復処理の別の具体例として、ジャーナリングファイルシステムについて説明する。修復手段60は、ジャーナルデータ中のメタ情報の更新履歴を、ジャーナル中の古い更新の順に、メタ情報を変更して行く。このようにして、メタ情報が無矛盾な状態になる。
<第2の実施例>
次に、本発明の第2の実施例について図面を参照して詳細に説明する。本発明の第2の実施例においては、マスターストレージとレプリカストレージが同じように仮想化されていて、物理イメージでレプリケーションを行う。図10は、本実施例のシステム構成を示す図である。マスターストレージ1a、1bと、レプリカストレージ2a、2bは、それぞれ1対1に対応している。マスターストレージ1a、1bは、仮想化装置5により、仮想化されている。ホスト61は、仮想化されたマスターストレージ1a、1bを論理イメージで用いる。なお、レプリカストレージ2a、2bも、仮想化装置14により仮想化されて用いられる。また、仮想化装置5と仮想化装置14は、仮想化する対象がマスターストレージ1a、1b、レプリカストレージ2a、2bであり、対象ストレージが異なるだけで同じマッピング情報で仮想化が行われる。
次に、本発明の第2の実施例について図面を参照して詳細に説明する。本発明の第2の実施例においては、マスターストレージとレプリカストレージが同じように仮想化されていて、物理イメージでレプリケーションを行う。図10は、本実施例のシステム構成を示す図である。マスターストレージ1a、1bと、レプリカストレージ2a、2bは、それぞれ1対1に対応している。マスターストレージ1a、1bは、仮想化装置5により、仮想化されている。ホスト61は、仮想化されたマスターストレージ1a、1bを論理イメージで用いる。なお、レプリカストレージ2a、2bも、仮想化装置14により仮想化されて用いられる。また、仮想化装置5と仮想化装置14は、仮想化する対象がマスターストレージ1a、1b、レプリカストレージ2a、2bであり、対象ストレージが異なるだけで同じマッピング情報で仮想化が行われる。
仮想化装置5と仮想化装置14のマッピング情報は、初期状態で同一とし、仮想化装置5でマッピング情報を変更した際に、仮想化装置14に対して、その変更を通知し、マッピング情報を同期状態に保つ。
仮想化装置5によりマスターストレージ1a、1bは、仮想化される。仮想化の仕方としては、以下の手法を用いることができる。
(C1)マスターストレージ1aとマスターストレージ1bとを連結する(マスターストレージ1aの終端まできたらマスターストレージ1bの先頭になる)。
(C2)マスターストレージ1aとマスターストレージ1bとをストライピングする(ブロック単位で、マスターストレージ1aとマスターストレージ1bを交互に使っていく)。
(C3)HSM(Hierarchial Storage Management)のように、使う頻度にあわせて、良く使われるデータブロックはマスターストレージ1aとし、そうでないものをマスターストレージ1bに置く。なお、HSMでのブロックの移動の際には、ブロックの移動に伴い、データの書き込みも、レプリケーションの対象となる。
次に、本実施例における仮想化装置5、14の動作について説明する。仮想化装置5は、ホスト61からread/write要求を受け取ると、マッピング情報を基に、そのread/write要求を対応するマスターストレージ1a、1bの対応したブロックへのread/write要求に変換し、マスターストレージ1a、1bに要求を発行し、writeであれば、書き込むデータも転送する。
そして、マスターストレージ1a、1bからの応答をホスト61に転送する。read要求の場合、応答の転送とともに、読み出されたデータもホスト61に転送する。なお、図10では、簡単のため、ホスト61は1台のみが示されているが、複数台であってもよいことは勿論である。
次に、本実施例のマッピング情報について説明する。マッピング情報は、仮想化された状態のアドレス(論理アドレス)と、該論理アドレスに対応した領域を格納したマスターストレージのID(マスターID)、および、マスターストレージ中の領域のアドレス(物理アドレス)を一つのエントリーとし、エントリーをまとめた表として構成する。なお、論理アドレスおよび物理アドレスは、ボリューム番号とアドレスの対であってもかまわない。
ストライピングで行う場合には、マッピング情報は、数式で表すことができる。
仮想化されたストレージおよびマスターストレージを、ストライプさせる幅でブロックに分割し、仮想化されたストレージのブロック番号をX、マスターストレージのIDをS、マスターストレージ内のブロック番号をBとし、N台のストレージに分割した場合、S、Bは次式(1)、(2)で与えられる。
S=f(X/N) …(1)
B=m(X,N) …(2)
B=m(X,N) …(2)
なお、
f(x)は、小数点以下を切り捨てる関数であり、
m(x、y)は、xをyで割った剰余を返す関数である。
f(x)は、小数点以下を切り捨てる関数であり、
m(x、y)は、xをyで割った剰余を返す関数である。
仮想化されたストレージが連結されたものである場合に、マッピング情報は、数式で表すことができる。仮想化されたストレージのブロック番号をX、マスターストレージのIDをS、マスターストレージ内のブロック番号をB、マスターストレージのサイズをMとした場合、S、Bは、次式(1)’、(2)’で与えられる。
S=f(X/M) …(1)’
B=m(X,M) …(2)’
B=m(X,M) …(2)’
なお、
f(x)は、小数点以下を切り捨てる関数であり、
m(x、y)は、xをyで割った剰余を返す関数である。
f(x)は、小数点以下を切り捨てる関数であり、
m(x、y)は、xをyで割った剰余を返す関数である。
本実施例において、調停装置6を、マスターストレージ1a、1bとレプリカストレージ2a、2bの間に配置する構成は、前記第1の実施例と同様である。すなわち、調停装置6を、隠蔽しても、明示的に配置するようにしてもよい。
本実施例における、マスターストレージの動作は第1の実施例と同じである。また、本実施例における、更新情報も、第1の実施例と同じである。本実施例において、レプリカストレージ2a、2bが、更新情報を受け取ったときの動作は、前記第1の実施例と同じである。
図11は、本実施例における調停装置6の構成を示す図である。図11を参照すると、仮想化装置5からマッピング情報31が、調停装置6の送信スケジューラ30に供給される。調停装置6の受付手段20の動作は、第1の実施例の調停装置6の受付手段20の動作と同じであるため、その説明は省略する。マッピング情報31は、前述したように、論理アドレス、マスターID、物理アドレスの3つ組、あるいは、数式(1)、(2)で与えられるマスターストレージのID、マスターストレージ内のブロック番号を有する。
送信ルールにおいて、動作の種類は、仮想化装置5で仮想化された状態(論理アドレス)での送信ルールである点を除き、第1の実施例と同じである。各エントリーは、図4に示すように、下記から構成される。
・ボリュームID(仮想化されたストレージ中のボリュームを特定する情報)、
・オフセット範囲[先頭・最後尾](仮想化されたボリューム中のブロックの範囲を特定するための情報)、
・動作の種類を示す情報
・オフセット範囲[先頭・最後尾](仮想化されたボリューム中のブロックの範囲を特定するための情報)、
・動作の種類を示す情報
次に、本実施例の送信スケジューラ30の動作を説明する。図12は、本実施例の送信スケジューラ30の動作を示す流れ図である。図5の処理と同一の処理は、同一の参照番号が付されている。
送信スケジューラ30の動作は、送信ルールを検索する前に、マスターIDと更新情報のアドレス情報中のアドレス情報からアドレスを入手し、仮想化装置5から入手したマッピング情報31を基に、論理アドレスに変換するステップ(ステップS116、S137、S145)が挿入されている点を除き、第1の実施例の送信スケジューラ23の動作と同じである。
仮想化された論理アドレスから物理アドレスへの変換については前述したが、マッピング情報を基にした逆変換(物理アドレスから仮想化されたストレージのブロック番号)について説明する。
マッピング情報が、論理アドレスとマスターIDと物理アドレスを1組のエントリーとし、エントリーをまとめた表として構成されている場合、
・マッピング情報のマスターIDを、マスターIDとし、
・更新情報のアドレス情報のアドレスを物理アドレス、
として、マッピング情報の複数のエントリー(論理アドレスとマスターIDと物理アドレス)の中から、一致したエントリーの論理アドレスを論理アドレスとして、送信ルールの検索に使用する。
・マッピング情報のマスターIDを、マスターIDとし、
・更新情報のアドレス情報のアドレスを物理アドレス、
として、マッピング情報の複数のエントリー(論理アドレスとマスターIDと物理アドレス)の中から、一致したエントリーの論理アドレスを論理アドレスとして、送信ルールの検索に使用する。
また、ストライピングを行っている場合には、ストライピングで行う場合、
仮想化されたストレージのブロック番号をX、
マスターストレージのIDをS、
マスターストレージ内のブロック番号をBとし、
N台のストレージに分割した場合、Xは次式(3)で与えられる。
仮想化されたストレージのブロック番号をX、
マスターストレージのIDをS、
マスターストレージ内のブロック番号をBとし、
N台のストレージに分割した場合、Xは次式(3)で与えられる。
X=B×N+S …(3)
ストレージが連結された場合には、仮想化されたストレージのブロック番号をX、マスターストレージのIDをS、マスターストレージ内のブロック番号をB、マスターストレージのサイズをMとした場合、Xは次式(4)で与えられる。
X=M×S+B …(4)
次に、本実施例における送信スケジューラ30の別の動作について説明する。図13は、送信スケジューラ30の別の動作を示す流れ図である。送信スケジューラ30の動作は、送信ルールを検索する前に、マスターIDと更新情報中のアドレス情報中のアドレス情報からアドレスを入手し、仮想化装置5から入手したマッピング情報を基に、論理アドレスに変換するステップ(S116)が挿入されている点を除き、図7に示した第1の実施例の動作と同じである。
図13の処理手順では、非同期型レプリケーションの動作となる。従って、即時送信をやる場合でも、レプリカストレージへの転送の処理は、マスターストレージに影響を与えない。図13に示す例では、一次記憶形式のマスターID等と照合したエントリーの送信ルールに関して、同じエントリーに該当する一次記憶形式の更新情報を全て宛先のレプリカストレージに送信しているが、一致する一次記憶形式の更新情報を全て送信するのではなく、一致する複数の一次記憶形式のうちの一部を送信できた段階で、ステップS101のイベント待ちに移行するようにしてもよい。
送信スケジューラ30のさらに別の動作の例について説明する。図14は、送信スケジューラ30の別の動作を示す流れ図である。送信スケジューラ30の動作は、送信ルールを検索する前に、マスターIDと更新情報中のアドレス情報からアドレスを入手し、仮想化装置5から入手したマッピング情報を基に、論理アドレスに変換するステップS116が新たに挿入されている点を除き、図8に示した第1の実施例の送信スケジューラ23の別の動作と同じである。
この動作では、送信ルールにおいて、即時送信を同期、非同期の2種類に分ける。論理ストレージ中のボリューム、又は、ストレージ中のデータブロックによって、同期型レプリケーション(レプリカストレージの応答を転送)と、非同期レプリケーション(受付手段で応答)を切り替えて行うことが可能となる。
すなわち、ストレージ、あるいはストレージ中のデータブロックによって、レプリケーションの影響を、マスターストレージの処理に出さないか(非同期型レプリケーション)、データが完全に複製することを保障するか(同期型レプリケーション)のいずれかに切り替えることが可能となる。つまり、ストレージに格納したデータにあわせて、適切にレプリケーションのやり方を切り替えることが可能となる。
なお、図14に示す例では、一次記憶形式のマスターID等と照合したエントリーの送信ルールに関して、同じエントリーに該当する一次記憶形式の更新情報を全て宛先のレプリカストレージに送信しているが、一致する一次記憶形式の更新情報を全て送信するのではなく、一致する複数の一次記憶形式のうちの一部を送信できた段階で、ステップS101のイベント待ちに移行するようにしてもよい。
また、送信スケジューラ30においても、図9を参照して説明したように、一時記憶形式に送信ルールのエントリーのIDを記録する領域を設け、受付手段20から受け取り、送信ルールを検索した際、即時送信以外であった場合に、適応した送信ルールのエントリーに対応したIDを前記領域に記録するように改良し、送信契機等での、送信ルールの検索時にそのIDを使用することで実際の検索を省略するようにしてもよい。このようにすることで、送信ルールを検索する必要がなくなり、各処理が短時間で処理できるようになる。すなわち、調停装置6の処理能力が向上する。
本実施例において、更新情報プール21での一時記憶形式の管理は、図6を参照して説明した前記第1の実施例の管理と同一である。また送信手段24の動作も、前記第1の実施例と同一である。
本実施例における修復手段60は、仮想化装置14を経由して、仮想化されたレプリカストレージに対してアクセスする点を除き、前記第1の実施例と同一である。
<第3の実施例>
本発明の実施例3について説明する。図15は、本発明の第3の実施例の構成を示す図である。本実施例は、第2の実施例の変形例であり、マスターストレージ1a、1bは仮想化装置5で仮想化し、レプリカストレージは仮想化されたマスターストレージのレプリカを格納するものである。調停装置15では、物理アドレスと論理アドレスの変換を行ってレプリケーションを実行する。
本発明の実施例3について説明する。図15は、本発明の第3の実施例の構成を示す図である。本実施例は、第2の実施例の変形例であり、マスターストレージ1a、1bは仮想化装置5で仮想化し、レプリカストレージは仮想化されたマスターストレージのレプリカを格納するものである。調停装置15では、物理アドレスと論理アドレスの変換を行ってレプリケーションを実行する。
マスターストレージ1a、1bは仮想化装置5により仮想化され、ホスト61はこの仮想化されたマスターストレージ1a、1bを使用する。
マスターストレージ1a、1bのそれぞれは、ホスト61によって更新が行われた場合、レプリカストレージ2へレプリケーションを行う。
レプリカストレージ2は、仮想化されたマスターストレージのレプリカである。
マスターストレージ1a、1bは、調停装置15に対してレプリケーションのための更新情報を送り、調停装置15は、仮想化装置5から入手したマッピング情報を基に、アドレスの物理変換を行い、更新情報を変更し、レプリカストレージ2へ転送する。
本実施例において、仮想化装置5は、前記第2の実施例の仮想化装置5と同じである。
マスターストレージ1a、1bの動作は、レプリケーションの通信先が、調停装置15である点を除き、前記第2の実施例と同じである。
レプリカストレージ2で更新情報を受け取ったときの動作は、応答の送り先が、調停装置15である点(前記第1の実施例では、応答の送り先は、調停装置3)を除き、前記第1の実施例と同じである。
図16は、本実施例の調停装置15の構成を示す図である。図16を参照すると、調停装置15は、受付手段33と、マッピング情報31を入力するアドレス変換手段32と、送信スケジューラ34と、更新情報プール21と、送信手段35を備えている。
図17は、一次記憶形式の一例を示す図である。本実施例での一時記憶形式は、アドレス情報が変換された更新情報と受付IDを備えている。宛先のレプリカストレージが1つであるため、宛先に関する情報は保持する必要はない。論理ストレージを、1種類しか扱わないので、マスターIDも、一時記憶形式に格納する必要はない。
図19は、本実施例の受付手段33の動作を示す流れ図である。アドレス変換手段32は、仮想化装置5から入手したマッピング情報31を基に、受付手段33から渡されたマスターIDと更新情報中のアドレス情報を用いて、論理アドレスに変換する。
マッピング情報31は、論理アドレスとマスターIDと物理アドレスを1エントリーとし、エントリーをまとめた表として構成された場合、このマッピング情報のマスターIDをマスターIDとする。更新情報中のアドレス情報を物理アドレスとして、一致したエントリーの論理アドレスを、論理アドレスとして、送信ルールの検索に使用する。なお、一時記憶形式には、マスターIDは格納されないが、送信ルールとの照合で、マッピング情報のマスターIDが用いられる。
また、ストライピングを行っている場合には、ストライピングで行う場合、仮想化されたストレージのブロック番号をX、マスターストレージのIDをS、マスターストレージ内のブロック番号をBとし、N台のストレージに分割した場合、Xは次式(5)で与えられる。
X=B×N+S …(5)
複数のストレージが連結された場合には、仮想化されたストレージのブロック番号をX、マスターストレージのIDをS、マスターストレージ内のブロック番号をB、マスターストレージのサイズをMとすると、Xは次式(6)で与えられる。
X=M×S+B …(6)
送信スケジューラ34の送信ルールは、複数のエントリーを持つ表として構成され、各エントリーは、例えば図18に示すように、以下の情報を持つ。
・ボリュームID(仮想化されたストレージ中のボリュームを特定する情報)
・オフセット範囲[先頭・最後尾](ボリューム中のブロックの範囲を特定するための情報)
・動作の種類を示す情報
・オフセット範囲[先頭・最後尾](ボリューム中のブロックの範囲を特定するための情報)
・動作の種類を示す情報
なお、ボリュームIDが一致すれば、オフセットの値を考慮しなくてもよいことを示す値を、オフセット範囲に記録してもよい。
どのエントリーにも一致しなかった場合の動作を示す値(default値)が、ボリュームID、オフセット範囲に記録するようにしてもよい。
また、送信ルールは、エントリーの優先度順に評価され、評価した一時記憶形式が複数のエントリーに該当する場合、優先度が最も高いエントリーの動作が実行される。
なお、本実施例において、動作の種類、送信契機の例は、第1の実施例の送信ルールと同様である。
図19を参照すると、受付手段33は、更新情報からアドレス情報を抽出する(ステップS201)。
受付手段33は、アドレス変換手段32に、アドレス情報とマスターIDを指定して、物理、論理変換を依頼する(ステップS202)。
受付手段33は、アドレス変換手段32から、論理アドレスを取得する(ステップS203)。
受付手段33は、更新情報のアドレス情報を、論理アドレスに変換する(ステップS204)。
受付手段33は、更新情報と受付IDからなる一時記憶形式を作成し送信スケジューラ34に一時記憶形式を渡す。受付手段33は、送信スケジューラ34からの応答指示を待つ(ステップS206)。
受付手段33は、送信スケジューラ34から応答指示を受けると、マスターストレージに応答を返す(ステップS207)。
図20は、本実施例の送信スケジューラ34の動作を示す図である。図20を参照すると、図5のステップS103が、アドレス情報を基に送信ルールを検索し一致するエントリーを探すステップS117に置き換えられている。他の手順は、図5と同じである。
送信ルールで即時送信となっていないエントリーに該当した更新情報は、更新情報プール21に登録された段階でマスターストレージに応答が返るので、非同期型レプリケーションとなる。
即時送信となっているエントリーに該当した更新情報は、レプリカストレージからの応答が返ってきてから調停装置15から応答が返るので、同期型レプリケーションとなる。なお、送信ルールの同じエントリーに該当する一次記憶形式の更新情報を全て宛先のレプリカストレージに送信しているが、一致する一次記憶形式の更新情報を全て送信するのではなく、一致する複数の一次記憶形式のうちの一部を送信できた段階で、ステップS101のイベント待ちに移行するようにしてもよい。
図21は、送信スケジューラ34の別の動作を示す流れ図である。図21において、受付手段33から一時記憶形式を受け取るイベント以外は、図20と同じであるため、省略されている。図20を参照すると、図7のステップS103が、アドレス情報を基に送信ルールを検索し一致するエントリーを探すステップS117に置き換えられている。他の手順は、図7と同じである。
図21の動作は、非同期型レプリケーションの動作となる。従って、即時送信の場合でも、レプリカストレージへの転送の処理は、マスターストレージに影響を与えない。
なお、送信ルールの同じエントリーに該当する一次記憶形式の更新情報を全て宛先のレプリカストレージに送信しているが、一致する一次記憶形式の更新情報を全て送信するのではなく、一致する複数の一次記憶形式のうちの一部を送信できた段階で、ステップS101のイベント待ちに移行するようにしてもよい。
図22は、送信スケジューラ34の更に別の動作を示す流れ図である。図22において、受付手段33から一時記憶形式を受け取るイベント以外は、図20と同じであるため、省略されている。図22を参照すると、図8のステップS103が、アドレス情報を基に送信ルールを検索し一致するエントリーを探すステップS117に置き換えられている。他の手順は、図8と同じである。
この例では、送信ルールにより、即時送信は、同期、非同期の2種類に分けられる。ストレージ、又は、ストレージ中のデータブロックによって、同期型レプリケーション(レプリカストレージの応答を転送)と非同期レプリケーション(受付手段で応答)を切り替えて行うことが可能となる。すなわち、ストレージ、あるいはストレージ中のデータブロックによって、レプリケーションの影響を、マスターストレージの処理に出さないか(非同期型レプリケーション)、データが完全に複製することを保障するか(同期型レプリケーション)を切り替えることが可能となる。つまり、ストレージに格納したデータにあわせて、適切にレプリケーションのやり方を切り替えることが可能となる。
なお、送信ルールの同じエントリーに該当する一次記憶形式の更新情報を全て宛先のレプリカストレージに送信しているが、一致する一次記憶形式の更新情報を全て送信するのではなく、一致する複数の一次記憶形式のうちの一部を送信できた段階で、ステップS101のイベント待ちに移行するようにしてもよい。
また、特に制限されないが、更新情報プール21に蓄積するものについて、同期型を実現するメリットはないため、本実施例では、更新情報プール21に蓄積した後に送信するのは、非同期型レプリケーションのみとしている。
なお、本実施例においても、図9に示すように、一時記憶形式に送信ルールのエントリーのIDを記録する領域を設け、受付手段33から受け取り、送信ルールを検索した際、即時送信以外であった場合に適応した送信ルールのエントリーに対応したID(エントリー番号)を、一時記憶形式のエントリーのIDを記録する領域に記録しておき、送信契機等での、送信ルールの検索時に、一時記憶形式のエントリーのIDを用いることで、実際の検索を省略するようにしてもよい。このようにすることで、送信ルールを検索する必要がなくなり、各処理が短時間で処理できるようになる。すなわち、調停装置15の処理能力が向上する。
本実施例において、更新情報プール21は、前記第1の実施例と同一であるため、その説明は省略する。
本実施例において、送信手段35は、送信スケジューラ34から一時記憶形式を渡され、送信を指示されると、一時記憶形式から更新情報を取り出し、更新情報を、調停装置に設定されたレプリカストレージ2に対して送信する。更新情報を送信した宛先から応答が返却されたら、送信スケジューラ34に応答が来たことを通知し終了する。
本実施例における、修復手段60による修復の動作は、前記第2の実施例と同一であるため、その説明は省略する。
<第4の実施例>
次に、本発明の第4の実施例について説明する。図23は、本発明の第4の実施例の構成を示す図である。ホスト62と、マスタストレージ1と、調停装置40と、レプリカストレージ2と、修復手段60を備えている。ホスト62は、ファイルマッピング管理手段8を備えている。
次に、本発明の第4の実施例について説明する。図23は、本発明の第4の実施例の構成を示す図である。ホスト62と、マスタストレージ1と、調停装置40と、レプリカストレージ2と、修復手段60を備えている。ホスト62は、ファイルマッピング管理手段8を備えている。
ホスト62がファイルにアクセスする際、ファイルマッピング管理手段8を用い、ファイルとファイル内のブロックのアドレス情報から、マスターストレージ1内のブロックのアドレス情報に変換する。
ファイルマッピング管理手段8における、ファイルとストレージ(ブロックデバイス)中のブロックのマッピングの管理方法およびアドレス変換は、例えばFAT、VFAT、NTFS、UFS、ext2、ext3、raiserFS、xfs等のファイルシステムで行われている手法が用いられる。
また、ファイルシステムのディレクトリやFAT、inode、間接参照ブロックのようなメタ情報およびext3、raiserFS、xfs等のジャーナリングファイルシステムでのジャーナル情報もマスターストレージ1に格納される。
ファイルマッピング管理手段8が持つマッピング情報は、図24(A)乃至図24(C)に示すように、以下の情報からなる。
ファイルデータの場合、
・ファイルID(ファイル名)、
・ファイル内オフセットアドレス、
・マスターストレージ内オフセットアドレス。
・ファイルID(ファイル名)、
・ファイル内オフセットアドレス、
・マスターストレージ内オフセットアドレス。
メタ情報の場合、
・メタ情報内でのオフセットアドレス(メタ情報のID)、
・マスターストレージ内オフセットアドレス。
・メタ情報内でのオフセットアドレス(メタ情報のID)、
・マスターストレージ内オフセットアドレス。
ジャーナル情報の場合(ファイルシステムによっては存在しない)、
・ジャーナル情報内でのオフセットアドレス、
・マスターストレージ内オフセットアドレス。
・ジャーナル情報内でのオフセットアドレス、
・マスターストレージ内オフセットアドレス。
マスターストレージ1、レプリカストレージ2の動作は、それぞれ、前記第1の実施例のマスターストレージ、レプリカストレージの動作と同一である。
図25は、本実施例の調停装置40の構成を示す図である。図25を参照すると、調停装置40は、受付手段41と、送信スケジューラ42と、更新情報プール21と、送信手段43を備え、送信スケジューラ42は、ファイルマッピング管理手段8からのマッピング情報44を参照する。
受付手段41は、マスターストレージ1から更新情報を受け取ると、受け付けた順序を示す受付IDと、一時記憶形式を作成する。
次いで、作成した一時記憶形式を送信スケジューラ42に渡す。
次いで、送信スケジューラ42から、応答返却の指示を待ち、更新情報の送信先であるマスターストレージ1に応答を送信する。
送信ルールは、複数のエントリーを持つ表として構成され、図26に示すように、各エントリーは以下の情報を持つ。
・データの種類(ファイルデータ/メタ情報/ジャーナル情報)
・ファイルID(ファイルデータの場合のみ)
・動作の種類を示す情報
・ファイルID(ファイルデータの場合のみ)
・動作の種類を示す情報
なお、ファイルIDを考慮しなくてもよいことを示す値が、ファイルIDに記録するようにしてもよい。また、送信ルールはエントリーの優先度順に評価され、評価した一時記憶形式が複数のエントリーに該当する場合も、優先度が最も高かったエントリーの動作が実行される。
動作の種類としては下記がある。
(R1)即時に送信する。
(R2)更新情報プール21の空き容量が閾値以下となるまで送信しない。
(R3)受信後定められた時間の間送信しない。
(R4)受信後、予め定められた時間が経過したら送信する。
(R5)外部からの指示があるまで送信しない。
(R6)定められた時刻になるまで送信しない。
(R7)優先度の高いものが更新情報プール21に溜まっていない。
なお、即時に送信する以外は、複数の動作が組み合わされる場合もある。
次に本実施例の送信ルールの優先度の設定の一具体例について説明する。
優先度1: ジャーナル情報は即時に送る。
優先度2: ファイル1(データベースのジャーナルファイル)は即時に送る。
優先度3: メタ情報は、高い優先度がない場合に送る。
優先度4: その他のファイルは、高い優先後がない場合に送る。
かかる優先度の設定により、ジャーナル情報が即時に転送されるため、ファイルシステムの構造すなわちメタ情報は最新の情報に修復できる。
また、データベースのジャーナルファイルも即時で行われ、ファイルシステムの構造が最新であるから、ジャーナルのファイルは問題なくアクセスでき、データベースを最新の状態に修復できる。
図27は、本実施例の送信スケジューラ42の動作を説明する流れ図である。図27を参照すると、本実施例では、マッピング情報からデータの種類、データの種類がファイルデータの場合、ファイルIDを検索するステップ(ステップS118)と、データの種類(ファイルデータの場合、ファイルID)を基に、送信ルールを検索し一致するエントリーを探すステップ(ステップS119)を、図5のステップS103の代わりに備えている。
また即時送信でない場合(ステップS104のNo分岐)、送信ルールのエントリーID(番号)を一時記憶形式のエントリーIDの領域(図9参照)に記録し(ステップS120)、一時記憶形式を更新情報プール21に記録する(ステップS105)。
一方、即時送信の場合には(ステップS104のYes分岐)、受付手段41に応答返却指示を行い(ステップS111)、同一ブロックが更新情報プール21内にあるか調べ、あった場合、一時記憶形式を削除する(ステップS121)。
また、図27では、図5のステップS131、S132は、一時記憶形式の送信エントリー番号と送信契機の動作があうか調べるステップS137に置き換えられている。
さらに、図27では、図5のステップS141、S142が、一時記憶形式のエントリー領域の送信エントリー番号は、対象エントリーよりも、優先度が高いルールであるか調べるステップS145に置き換えられ、一時記憶形式のエントリー領域の送信エントリー番号は、対象エントリーよりも、優先度が高いルールでない場合に、確認対象の一時記憶形式を受付IDが小さいものに変更する(ステップS143)。
ファイルマッピング管理手段8おけるマッピング情報44は、随時変わるため、更新情報を受け取る都度確認する(ステップS118)。
ファイルマッピング管理手段8でマッピング情報が変更される(ファイルが作成される/ファイルにデータブロックが追加される/ファイルが削除される等)際に、調停装置40にマッピング情報を送るようにしてもよい。このようにすると、ファイルマッピング管理手段8へのマッピング情報の問い合わせのための負荷が減り、ホストの処理能力が向上する。また、ファイルマッピング管理手段8へのマッピング情報の問い合わせ待ちがなくなるので、調停装置40の処理が早くなる。
更新情報プール21での一時記憶形式の管理は、前記第1の実施例と同じである。
送信手段43は、送信スケジューラ42から一時記憶形式を渡され、送信を指示されると、更新情報の宛先と更新情報を取り出し、更新情報を、更新情報の宛先に対して送信する。更新情報を送信した宛先から応答が返却されたら、送信スケジューラ42に応答が来たことを通知し終了する。
図28は、送信スケジューラ42の別の動作を示す流れ図である。図28において、受付手段41から一時記憶形式を受け取るイベント以外の動作は、図27と同じ動きになるため、省略されている。
図28において、マッピング情報からデータの種類、データの種類がファイルデータの場合、ファイルIDを検索するステップ(ステップS118)と、データの種類(ファイルデータの場合、ファイルID)を基に、送信ルールを検索し一致するエントリーを探すステップ(ステップS119)を、図7のステップS103の代わりに備えている。
また即時送信でない場合(ステップS104のNo分岐)、送信スケジューラ42は、送信ルールのエントリーID(番号)を一時記憶形式のエントリーIDの領域(図9参照)に記録し(ステップS120)、一時記憶形式を更新情報プール21に記録する(ステップS105)。
即時送信の場合(ステップS104のYes分岐)、送信スケジューラ42は、送信手段43に送信指示を行い(ステップS109)、同一ブロックが更新情報プール21内にあるか調べ、あった場合、一時記憶形式を削除する(ステップS121)。
図28に示した例は、非同期型レプリケーションの動作となる。即時送信の場合でも、レプリカストレージへの転送の処理は、マスターストレージに影響を与えない。
送信ルールの同じエントリーに該当する複数の一時記憶形式の更新情報を全て送信しているが、複数の一時記憶形式の更新情報うち一部の一時記憶形式の更新情報を送信できた段階でイベント待ちに移行するようにしてもよい。
図29は、送信スケジューラ42の更に別の動作を示す流れ図である。図29において、受付手段41から一時記憶形式を受け取るイベント以外は、図27と同じとなるので省略されている。
図29においては、マッピング情報からデータの種類、データの種類がファイルデータの場合、ファイルIDを検索するステップ(ステップS118)と、データの種類(ファイルデータの場合、ファイルID)を基に、送信ルールを検索し一致するエントリーを探すステップ(ステップS119)を、図8のステップS103の代わりに備えている。
また即時送信でない場合(ステップS104のNo分岐)、送信ルールのエントリーID(番号)を一時記憶形式のエントリーIDの領域(図9参照)に記録し(ステップS120)、一時記憶形式を送信プール21に記録する(ステップS105)。
即時送信の場合(ステップS104のYes分岐)、非同期型の場合(ステップS113のNo)、受付手段41に応答返却指示を行い(ステップS114)、送信手段43に送信を支持し(ステップS115)、同一ブロックが更新情報プール21内にあるか否かを調べ、同一ブロックが更新情報プール21内に存在している場合には、一時記憶形式を削除する(ステップS121)。
図29に示す例では、送信ルールによって、即時送信を同期、非同期の2種類に分ける。この場合、ファイル、又は、データの種類によって同期型レプリケーション(レプリカストレージの応答を転送)と非同期レプリケーション(受付手段で応答)を切り替えて行うことが可能となる。すなわち、ファイル、あるいはデータの種類によって、レプリケーションの影響を、マスターストレージの処理に出さないか(非同期型レプリケーション)、データが完全に複製することを保障するか(同期型レプリケーション)を切り替えることが可能となる。つまり、ストレージに格納したファイルにあわせて、適切にレプリケーションのやり方を切り替えることが可能となる。
図29の例では、送信ルールの同じエントリーに該当する複数の一時記憶形式の更新情報を全て送信しているが、その一部を送信できた段階でイベント待ちに移行するようにしてもよい。なお、更新情報プール21に蓄積してから送信する場合には、非同期型レプリケーションのみとしている。
本実施例の修復手段60の動作を説明する。マスターストレージ1が動作できなくなった場合、レプリカストレージ2を使用して、処理を再開する。修復手段60は、処理を再開する前に、レプリカストレージ2のデータの修復を行う。修復手段60は、レプリカストレージ2からデータを読み出し、レプリカストレージ2内のデータの不整合箇所を不整合のない状態に変更する。
修復処理ではまず、fsck、scandisk、あるいはmount処理の一部で、メタ情報およびジャーナル情報を基にファイルシステムの整合性を復活する。
次いで、ファイルの整合性を修復用プログラムにより復活させる。
データベースシステムでは、ジャーナルデータを古いものから順にテーブルのデータに適用していくことで最新の状態に戻すことができる。データベースのジャーナルを保持したファイルを読み込みテーブルを保持したファイルを最新の状態に修復する(データベースシステムの「クラッシュリカバリー」と呼ばれる処理に対応)。
本実施例では、簡単のため、ホスト1台としたが、複数あってもよい。また、複数のホストで一つのファイルシステムを共有するクラスタファイルシステムの場合、ファイルマッピング管理手段8はメタ情報サーバ中にあり、各ホストは、ファイルアクセスの際、メタ情報サーバと通信してファイルのアドレスとマスターストレージのアドレスの変換を行う。
以上、本発明を上記実施例に即して説明したが、本発明はかかる実施例の構成に制限されるものでなく、本発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
1、1a、1b マスターストレージ
2、2a、2b レプリカストレージ
3、6、15 40 調停装置
8 ファイルマッピング管理手段
5、14 仮想化装置
20、33、41、50 受付手段
21 更新情報プール
23、30、34、42 送信スケジューラ
24、35、43 送信手段
31 マッピング情報
32 アドレス変換手段
44 マッピング情報
60 修復手段
61、62 ホスト
2、2a、2b レプリカストレージ
3、6、15 40 調停装置
8 ファイルマッピング管理手段
5、14 仮想化装置
20、33、41、50 受付手段
21 更新情報プール
23、30、34、42 送信スケジューラ
24、35、43 送信手段
31 マッピング情報
32 アドレス変換手段
44 マッピング情報
60 修復手段
61、62 ホスト
Claims (22)
- レプリケーション元のストレージシステムとレプリケーション先のストレージシステムとの間に配設される調停装置であって、
前記レプリケーション元のストレージシステムと前記レプリケーション先のストレージシステム間の転送は前記調停装置を介して行われ、
前記レプリケーション元のストレージシステムから転送された更新情報を、前記更新情報の前記レプリケーション元のストレージでのアドレス情報に基づき、即時に又は優先的に前記レプリケーション先のストレージシステムに転送するか、あるいは、一旦、記憶手段に蓄積したのち所定のイベント発生を契機として、前記レプリケーション先のストレージシステムへ転送するように制御する手段を備えている、ことを特徴とする調停装置。 - 前記更新情報の前記レプリケーション元のストレージの識別情報、ボリューム情報、ボリューム内でのブロックアドレス情報の少なくとも1つの情報に基づき、前記更新情報の前記レプリケーション先のストレージシステムでの適用順序を決定する送信ルールを検索し、検索された前記送信ルールにしたがって前記更新情報を前記レプリケーション先のストレージシステムに転送する、ことを特徴とする請求項1記載の調停装置。
- レプリケーション元のストレージシステムと、レプリケーション先のストレージシステムとの間に配設される調停装置であって、
前記レプリケーション元のストレージシステムと前記レプリケーション先のストレージシステム間の転送は前記調停装置を介して行われ、
前記レプリケーション元のストレージシステムから送信された更新情報を受け取る受付手段と、
前記受付手段で受け取った更新情報に関して、前記更新情報の前記レプリケーション先のストレージシステムでの適用順序を決定する送信ルールを参照して、前記更新情報の送信のスケジューリング制御を行う送信スケジューラと、
前記送信スケジューラからの送信の指示を受け前記更新情報を、前記レプリケーション先のストレージシステムに送信する送信手段と、
を備えている、ことを特徴とする調停装置。 - 前記送信スケジューラは、前記更新情報の送信元のストレージの識別情報とアドレス情報に基づき、前記送信ルールのいずれに該当するか検索し、検索された送信ルールで規定されている動作種別に応じて、前記更新情報を記憶手段に一旦蓄積し、所定のイベントの発生をまって送信するか、あるいは、即時に送信する制御を行う、ことを特徴とする請求項3記載の調停装置。
- 前記レプリケーション元のストレージシステム、及び、レプリケーション先のストレージシステムが複数のストレージを備えている、ことを特徴とする請求項3記載の調停装置。
- 前記送信ルールは、
レプリケーション元のストレージシステムのストレージ識別情報、
ボリューム情報、
ボリューム内でのブロックの範囲を示すオフセット情報、及び、
前記更新情報の送信動作の種別
をエントリーとして備えている、ことを特徴とする請求項3記載の調停装置。 - 前記受付手段は、更新情報と、前記レプリケーション元のストレージシステムにおけるストレージIDと、更新情報を受け付けた順番に対応する受付IDを関係付けて1組の情報として、前記送信スケジューラに受け渡す、ことを特徴とする請求項3記載の調停装置。
- 更新情報の送信動作の種類として、
即時送信、
前記記憶手段の空き容量との関係で送信の有無を制御、
更新情報を受信後の経過時間との関係で送信の有無を制御、
外部からの指示で送信の有無を制御、
指定時刻にしたがって送信を制御、
優先度との関係で送信を制御、
即時送信の場合における同期転送又は非同期転送、
の少なくとも1つ又は複数の組合わせで規定される、ことを特徴とする請求項6記載の調停装置。 - 前記レプリケーション元のストレージシステムは仮想化されており、
前記レプリケーション元のストレージシステムの仮想化状況を示すマッピング情報を取得し論理アドレスへの変換を行うアドレス変換手段を備え、
前記マッピング情報にしたがって仮想化されたアドレスから前記レプリケーション元のストレージシステムのストレージ識別情報、ブロック番号を算出し、前記送信ルールに基づき、前記更新情報の前記レプリケーション先ストレージでのデータの更新の順序を適正化する、ことを特徴とする請求項3記載の調停装置。 - 前記レプリケーション元のストレージシステムのストレージ情報と更新情報のアドレス情報からアドレスを入手し、前記マッピング情報を基に、論理アドレスに変換するアドレス変換手段を備えている、ことを特徴とする請求項9記載の調停装置。
- 前記受付手段は、前記更新情報からアドレス情報を抽出して前記アドレス変換手段から論理アドレスを取得し、前記更新情報からアドレス情報を論理アドレスに変換して受付IDとともに送信スケジューラに渡す、ことを特徴とする請求項9記載の調停装置。
- 前記レプリケーション先のストレージシステムは前記レプリケーション元のストレージシステムの論理イメージを格納する、ことを特徴とする請求項11記載の調停装置。
- 前記レプリケーション元のストレージシステムのファイルのマッピングを管理するファイルマッピング管理手段から、マッピング情報を取得する、ことを特徴とする請求項3記載の調停装置。
- 前記マッピング情報は、ファイル、及びメタ情報に応じて、ファイルの識別情報、ファイル内でのアドレス、前記レプリケーション元のストレージシステムのストレージ内のアドレス情報を含む、ことを特徴とする請求項13記載の調停装置。
- 前記送信スケジューラは、前記レプリケーション元のストレージシステムから転送された前記更新情報に対応する送信ルールが即時送信でない場合、記憶手段に更新情報を蓄積し、前記受付手段に対して前記レプリケーション元のストレージシステムへの応答返却の指示を出し、送信ルールが一定時間経過後送信の場合、該当する時間に送信契機イベントが発生するように設定し、即時送信の場合、前記送信手段に送信の指示を出し、応答を受信すると、前記受付手段に対して前記レプリケーション元のストレージシステムへの応答返却の指示を出す、ことを特徴とする請求項3記載の調停装置。
- 前記送信スケジューラは、送信契機イベント発生時、前記記憶手段に蓄積されている更新情報を受付順序に応じて取り出し、対応する送信ルールが送信契機と合致している場合、前記更新情報の送信を前記送信手段に指示する、ことを特徴とする請求項3記載の調停装置。
- 前記送信スケジューラは、前記更新情報に対応する送信ルールを前記更新情報に関連付けて格納しておき、前記送信契機イベント発生時における前記更新情報に対応する送信ルールの検索処理を省くようにしてなる、ことを特徴とする請求項16記載の調停装置。
- 前記送信スケジューラは、前記更新情報に対応する送信ルールが複数ある場合、優先度が最も高い送信ルールでの送信を実行するように制御する、ことを特徴とする請求項3記載の調停装置。
- 前記レプリケーション元システムと、請求項1乃至18のいずれか一記載の前記調停装置と、前記レプリケーション先ストレージシステムと、を備えている、ことを特徴とする情報処理システム。
- 前記レプリケーション先ストレージシステムを修復する修復手段を備えている、ことを特徴とする請求項19記載の情報処理システム。
- レプリケーション元のストレージシステムとレプリケーション先のストレージシステム間に配設された調停装置を介して、前記レプリケーション元のストレージシステムと前記レプリケーション先のストレージシステム間の転送が行われるレプリケーション制御方法であって、
前記調停装置が、前記レプリケーション元のストレージシステムから転送された更新情報を受け取る工程と、
前記調停装置が、前記更新情報の前記レプリケーション元のストレージでのアドレス情報に基づき、前記更新情報を、即時に又は優先的に前記レプリケーション先のストレージシステムに転送するか、あるいは、一旦、記憶手段に蓄積したのち所定のイベント発生を契機として、前記レプリケーション先のストレージシステムへ転送するように制御する工程と、
を含む、ことを特徴とするレプリケーション制御方法。 - レプリケーション元のストレージシステムとレプリケーション先のストレージシステムとの間に配設される調停装置を介して前記レプリケーション元のストレージシステムと前記レプリケーション先のストレージシステム間の転送が行われる、前記調停装置を構成するコンピュータに、
前記レプリケーション元のストレージシステムから転送された更新情報を受け取る処理と、
前記更新情報の前記レプリケーション元のストレージでのアドレス情報に基づき、前記更新情報を、即時に、前記レプリケーション先のストレージシステムに転送するか、あるいは、一旦記憶手段に蓄積したのち、所定のイベント発生を契機として、前記レプリケーション先のストレージシステムへ転送するように制御する処理と、
を実行させるプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005321128A JP2007128335A (ja) | 2005-11-04 | 2005-11-04 | レプリケーション調停装置と方法並びにプログラム |
US11/588,580 US20070106712A1 (en) | 2005-11-04 | 2006-10-27 | Replication arbitration apparatus, method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005321128A JP2007128335A (ja) | 2005-11-04 | 2005-11-04 | レプリケーション調停装置と方法並びにプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007128335A true JP2007128335A (ja) | 2007-05-24 |
Family
ID=38005064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005321128A Withdrawn JP2007128335A (ja) | 2005-11-04 | 2005-11-04 | レプリケーション調停装置と方法並びにプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20070106712A1 (ja) |
JP (1) | JP2007128335A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011510414A (ja) * | 2008-01-23 | 2011-03-31 | オーエムエックス テクノロジー エービー | レプリカ・サーバ性能を改善する方法及びレブリカ・サーバ・システム |
JP2014186652A (ja) * | 2013-03-25 | 2014-10-02 | Fujitsu Ltd | データ転送装置、データ転送システム、データ転送方法及びプログラム |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8433730B2 (en) * | 2006-10-31 | 2013-04-30 | Ariba, Inc. | Dynamic data access and storage |
US8706833B1 (en) * | 2006-12-08 | 2014-04-22 | Emc Corporation | Data storage server having common replication architecture for multiple storage object types |
US8145604B2 (en) * | 2007-10-19 | 2012-03-27 | Apple Inc. | Method and apparatus for relocating an active five system journal |
US8762642B2 (en) * | 2009-01-30 | 2014-06-24 | Twinstrata Inc | System and method for secure and reliable multi-cloud data replication |
US8341115B1 (en) * | 2009-12-26 | 2012-12-25 | Emc Corporation | Dynamically switching between synchronous and asynchronous replication |
US8495019B2 (en) * | 2011-03-08 | 2013-07-23 | Ca, Inc. | System and method for providing assured recovery and replication |
US9609060B2 (en) * | 2011-08-02 | 2017-03-28 | Nec Corporation | Distributed storage system and method |
CN104123198B (zh) * | 2013-04-28 | 2018-08-31 | 国际商业机器公司 | 管理数据复制模式的方法和装置 |
JP6341657B2 (ja) * | 2013-12-13 | 2018-06-13 | キヤノン株式会社 | 通信機器およびその制御方法、システム、プログラム並びに記憶媒体 |
US11016941B2 (en) * | 2014-02-28 | 2021-05-25 | Red Hat, Inc. | Delayed asynchronous file replication in a distributed file system |
US20150249708A1 (en) * | 2014-03-03 | 2015-09-03 | Cloudendure Ltd. | System and method for asynchronous replication of a storage in a computing environment |
US9986029B2 (en) | 2014-03-19 | 2018-05-29 | Red Hat, Inc. | File replication using file content location identifiers |
US10706024B2 (en) * | 2014-04-28 | 2020-07-07 | International Business Machines Corporation | Techniques for managing a data replication mode |
US9652345B2 (en) * | 2015-09-24 | 2017-05-16 | The Florida International University Board Of Trustees | Techniques and systems for local independent failure domains |
US11797569B2 (en) * | 2019-09-13 | 2023-10-24 | Pure Storage, Inc. | Configurable data replication |
US20220138223A1 (en) * | 2019-09-13 | 2022-05-05 | Pure Storage, Inc. | Providing Quality Of Service (QoS) For Replicating Datasets |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4617913A (en) * | 1984-10-24 | 1986-10-21 | The University Of Utah | Artificial hearing device and method |
DE3821970C1 (ja) * | 1988-06-29 | 1989-12-14 | Ernst-Ludwig Von Dr. 8137 Berg De Wallenberg-Pachaly | |
US5271397A (en) * | 1989-09-08 | 1993-12-21 | Cochlear Pty. Ltd. | Multi-peak speech processor |
US5095904A (en) * | 1989-09-08 | 1992-03-17 | Cochlear Pty. Ltd. | Multi-peak speech procession |
US5706352A (en) * | 1993-04-07 | 1998-01-06 | K/S Himpp | Adaptive gain and filtering circuit for a sound reproduction system |
US5601617A (en) * | 1995-04-26 | 1997-02-11 | Advanced Bionics Corporation | Multichannel cochlear prosthesis with flexible control of stimulus waveforms |
US6219580B1 (en) * | 1995-04-26 | 2001-04-17 | Advanced Bionics Corporation | Multichannel cochlear prosthesis with flexible control of stimulus waveforms |
US6035307A (en) * | 1998-03-30 | 2000-03-07 | Bmc Software | Enterprise data movement system and method including opportunistic performance of utilities and data move operations for improved efficiency |
US6366987B1 (en) * | 1998-08-13 | 2002-04-02 | Emc Corporation | Computer data storage physical backup and logical restore |
JP2000305856A (ja) * | 1999-04-26 | 2000-11-02 | Hitachi Ltd | ディスクサブシステム及びこれらの統合システム |
US6728578B1 (en) * | 2000-06-01 | 2004-04-27 | Advanced Bionics Corporation | Envelope-based amplitude mapping for cochlear implant stimulus |
US7401104B2 (en) * | 2003-08-21 | 2008-07-15 | Microsoft Corporation | Systems and methods for synchronizing computer systems through an intermediary file system share or device |
-
2005
- 2005-11-04 JP JP2005321128A patent/JP2007128335A/ja not_active Withdrawn
-
2006
- 2006-10-27 US US11/588,580 patent/US20070106712A1/en not_active Abandoned
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011510414A (ja) * | 2008-01-23 | 2011-03-31 | オーエムエックス テクノロジー エービー | レプリカ・サーバ性能を改善する方法及びレブリカ・サーバ・システム |
US9201745B2 (en) | 2008-01-23 | 2015-12-01 | Omx Technology Ab | Method of improving replica server performance and a replica server system |
JP2014186652A (ja) * | 2013-03-25 | 2014-10-02 | Fujitsu Ltd | データ転送装置、データ転送システム、データ転送方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20070106712A1 (en) | 2007-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007128335A (ja) | レプリケーション調停装置と方法並びにプログラム | |
US8819362B1 (en) | Managing replication and reservations | |
US10248660B2 (en) | Mechanism for converting one type of mirror to another type of mirror on a storage system without transferring data | |
JP4519563B2 (ja) | 記憶システム及びデータ処理システム | |
US7720801B2 (en) | System and method for supporting asynchronous data replication with very short update intervals | |
US8924668B1 (en) | Method and apparatus for an application- and object-level I/O splitter | |
US8914595B1 (en) | Snapshots in deduplication | |
JP4168626B2 (ja) | 記憶装置間のファイル移行方法 | |
US9934302B1 (en) | Method and system for performing replication to a device while allowing application access | |
JP5192226B2 (ja) | 待機系計算機の追加方法、計算機及び計算機システム | |
US7849361B2 (en) | Methods and apparatus for multiple point in time data access | |
CN105659213B (zh) | 无共享分布式存储系统中的目标驱动独立数据完整性和冗余恢复 | |
US9773042B1 (en) | Method and system for accelerating data movement using change information concerning difference between current and previous data movements | |
US9069479B1 (en) | Snapshots in deduplication | |
US7774565B2 (en) | Methods and apparatus for point in time data access and recovery | |
US8521691B1 (en) | Seamless migration between replication technologies | |
US6934725B1 (en) | Management of file extent mapping to hasten mirror breaking in file level mirrored backups | |
JP4741371B2 (ja) | システム、サーバ装置及びスナップショットの形式変換方法 | |
US9251008B2 (en) | Client object replication between a first backup server and a second backup server | |
US7685385B1 (en) | System and method for satisfying I/O requests before a replica has been fully synchronized | |
US7844643B2 (en) | Storage management system with integrated continuous data protection and remote copy | |
US20130212070A1 (en) | Management apparatus and management method for hierarchical storage system | |
JP2006023889A (ja) | リモートコピーシステム及び記憶装置システム | |
US20140081919A1 (en) | Distributed backup system for determining access destination based on multiple performance indexes | |
JP2005309793A (ja) | データ処理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081016 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20100401 |