JP6279780B1 - 分散ストレージの非同期リモートレプリケーションシステムおよび分散ストレージの非同期リモートレプリケーション方法 - Google Patents
分散ストレージの非同期リモートレプリケーションシステムおよび分散ストレージの非同期リモートレプリケーション方法 Download PDFInfo
- Publication number
- JP6279780B1 JP6279780B1 JP2017028692A JP2017028692A JP6279780B1 JP 6279780 B1 JP6279780 B1 JP 6279780B1 JP 2017028692 A JP2017028692 A JP 2017028692A JP 2017028692 A JP2017028692 A JP 2017028692A JP 6279780 B1 JP6279780 B1 JP 6279780B1
- Authority
- JP
- Japan
- Prior art keywords
- distributed storage
- storage
- distributed
- nodes
- node
- 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.)
- Active
Links
Images
Abstract
【課題】非同期コピーの高速化を可能とする分散ストレージの非同期リモートレプリケーションシステムを提供する。【解決手段】実施形態によれば、分散ストレージの非同期リモートレプリケーションシステムは、第1の分散ストレージの各ノードが、マップ情報保持手段と、データ複製手段とを具備する。マップ情報保持手段は、第2の分散ストレージ内の複数の記憶装置の識別子が固定数の通し番号に対応づけられた第2のマップ情報を保持する。データ複製手段は、自ノード内の1以上の記憶装置に記憶されるデータの複製を第2の分散ストレージ内の記憶装置に作成するために、第1の論理ディスクを固定長で分割したチャンク毎に、各チャンクの識別子と第2のマップ情報とに基づき、第2の分散ストレージ内の複数の記憶装置の中から1つの記憶装置を選択し、その選択した記憶装置にデータの複製を作成する。【選択図】 図2
Description
本発明の実施形態は、分散ストレージの非同期リモートレプリケーションシステムおよび分散ストレージの非同期リモートレプリケーション方法に関する。
災害時に備えて、ストレージのデータの複製を遠隔地のストレージに保持するための技術に、リモートレプリケーションがある。また、複数の計算機(以下、ノードと呼ぶ)から構成され、データを各ノードのHDD(Hard disk drive)やSSD(Solid state drive)等の記憶装置に分散して格納する分散ストレージがある。従来、分散ストレージ間でリモートレプリケーションを行う場合、例えば、特許文献1に記載のように、複数のノードのデータを集中管理するノード間でデータ転送を行うものがある。また、特許文献2に記載のように、分散ストレージのノードを1対1で接続し、ノード間でデータ転送を行うものがある。
しかしながら、特許文献1で開示される技術では、分散ストレージ間のデータ転送において、特定のノードに負荷が集中する問題があった。
また、特許文献2で開示される技術では、ノード間の接続が1対1固定の構成でなければならないため、ノード数の異なる分散ストレージ間でリモートレプリケーションを構成できない問題があった。
本発明は、このような問題を解決するためになされたものであり、例えばセフ(ceph)等のハッシュアルゴリズムを用いてデータの配置先を一意に決定する分散ストレージを用いて、データの配置先を一意に決定する機能を分散ストレージ間で共有し、また、分散ストレージ内の各ノードが独立して非同期リモートレプリケーションにおける差分データの管理を行うことで、構成の異なる分散ストレージ間であっても、各ノードが並列にデータ転送を行えるようにし、もって、非同期コピーの高速化を可能とする分散ストレージの非同期リモートレプリケーションシステムおよび分散ストレージの非同期リモートレプリケーションを提供することを目的とする。
実施形態によれば、各々が1以上の記憶装置を有する複数のノードが相互に接続される分散ストレージの非同期リモートレプリケーションシステムは、第1の分散ストレージの複数のノードそれぞれが、マップ情報保持手段と、データ複製手段と、を具備する。マップ情報保持手段は、前記第1の分散ストレージ内の複数の記憶装置の識別子が固定数の通し番号に対応づけられた第1のマップ情報と、前記第1の分散ストレージとネットワークを介して接続される第2の分散ストレージ内の複数の記憶装置の識別子が前記固定数の通し番号に対応づけられた第2のマップ情報とを保持する。データ複製手段は、前記第1の分散ストレージにおいて構成される第1の論理ディスクの複製を前記第2の分散ストレージに作成するために、自ノード内の1以上の記憶装置に記憶されるデータの複製を前記第2の分散ストレージ内の記憶装置に作成する手段であって、前記第1の論理ディスクを固定長で分割したチャンク毎に、各チャンクの識別子と前記第2のマップ情報とに基づき、前記第2の分散ストレージ内の複数の記憶装置の中から1つの記憶装置を選択し、その選択した前記第2の分散ストレージ内の1つの記憶装置にデータの複製を作成する。
以下、実施形態について図面を参照して説明する。
(第1実施形態)
まず、第1実施形態について説明する。
まず、第1実施形態について説明する。
<本実施形態に係る分散ストレージの非同期リモートレプリケーションシステムの概要>
本実施形態に係る分散ストレージの非同期リモートレプリケーションシステムは、リモートの分散ストレージにデータを複製するリモートレプリケーションにおいて、分散ストレージ内の各ノードが、リモートに設置された分散ストレージ内の適切なノードを選択し、並列にデータ転送するものである。これにより、異なる構成の分散ストレージ間で、特定のノードに負荷を集中させることなく、高速にレプリケーションを行うことが可能となる。
本実施形態に係る分散ストレージの非同期リモートレプリケーションシステムは、リモートの分散ストレージにデータを複製するリモートレプリケーションにおいて、分散ストレージ内の各ノードが、リモートに設置された分散ストレージ内の適切なノードを選択し、並列にデータ転送するものである。これにより、異なる構成の分散ストレージ間で、特定のノードに負荷を集中させることなく、高速にレプリケーションを行うことが可能となる。
<本実施形態に係る分散ストレージの非同期リモートレプリケーションシステムの構成>
図1は、本実施形態に係る分散ストレージの非同期リモートレプリケーションシステムの構成を表すブロック図である。図1に示すように、本実施形態に係る分散ストレージの非同期リモートレプリケーションシステムは、分散ストレージ10と、分散ストレージ20と、ホスト計算機1と、ホスト計算機2とを備える。
図1は、本実施形態に係る分散ストレージの非同期リモートレプリケーションシステムの構成を表すブロック図である。図1に示すように、本実施形態に係る分散ストレージの非同期リモートレプリケーションシステムは、分散ストレージ10と、分散ストレージ20と、ホスト計算機1と、ホスト計算機2とを備える。
分散ストレージ10は、ノード10−0〜10−nの1つ以上の任意の数のノードを備え、これらのノードが、例えばEthernet(登録商標)等の通信手段11で相互に接続されている。ノード10−0〜10−nは、HDD(Hard disk drive)やSSD(Solid state drive)等の記憶装置を備えた計算機であり、相互にネットワーク接続されているため、任意のノード同士での通信が可能である。
分散ストレージ20は、ノード20−0〜20−mの1つ以上の任意の数のノードを備え、これらのノードが、例えばEthernet(登録商標)等の通信手段21で相互に接続されている。ノード20−0〜20−mは、HDDやSSD等の記憶装置を備えた計算機であり、相互にネットワーク接続されているため、任意のノード同士での通信が可能である。なお、分散ストレージ10を構成するノード数と分散ストレージ20を構成するノード数とは、必ずしも同数でなくてよい。換言すれば、図1中のnとmとは、同じ値であってもよいし、異なる値であってもよい。
ホスト計算機1は、分散ストレージ10内の任意のノードと例えばFibreChannel等の通信手段12で接続され、分散ストレージ10において論理的に構成される論理ディスク、より詳細には、ノード10−0〜10−nによって論理的に構成される論理ディスク内のファイルを読み書きする。
ホスト計算機2は、分散ストレージ20内の任意のノードと例えばFibreChannel等の通信手段22で接続され、分散ストレージ20において論理的に構成される論理ディスク、より詳細には、ノード20−0〜20−mによって論理的に構成される論理ディスク内のファイルを読み書きする。
分散ストレージ10と、例えばWAN(Wide area network)等のネットワーク通信網3とは、例えばEthernet(登録商標)等の通信手段13で接続され、また、分散ストレージ20とネットワーク通信網3とは、例えばEthernet(登録商標)等の通信手段23で接続され、分散ストレージ10と分散ストレージ20とは相互に通信が可能である。なお、ネットワーク通信網3は必ずしも必要ではなく、分散ストレージ10と分散ストレージ20とは、通信手段13または通信手段23によって直接接続されていてもよい。
続いて、図2を参照して、本実施形態に係る分散ストレージの非同期リモートレプリケーションシステムの特徴部分である分散ストレージ内のノードの構成について説明する。なお、図2では、分散ストレージ10のノード10−0の構成を例示しているが、ノードの構成は、分散ストレージ10内のノード10−0〜10−nおよび分散ストレージ20内のノード20−0〜20−mのすべてにおいて共通である。
図2に示すように、ノード10−0は、1つ以上の任意の数の記憶装置100−0〜100−kを備える。ノード10−0においては、この記憶装置100−0〜100−kに対して、ファイルシステム(File System)101−0〜101−kがそれぞれ構築される。また、ノード10−0は、インターフェイス制御部110と、ノード制御部120と、論理/物理マップ制御部130と、分散配置制御部140とを備える。これらは、例えば、電子回路として構築され、または、コンピュータ・プログラムをプロセッサが実行することによって具現化される。また、ノード10−0は、構成情報テーブル150と、リモート構成情報テーブル151と、分散配置マップ160と、リモート分散配置マップ161とを備える。これらは、例えば、フラッシュメモリ等の(記憶装置100−0〜100−kとは別の)記憶装置に保持される。
インターフェイス制御部110は、ノード10−0と接続されたホスト計算機1と通信する機能と、分散ストレージ10内の任意の他ノード10−1〜10−nと通信する機能と、リモートに設置された分散ストレージ20内の任意ノード20−0〜20−mと通信する機能とを備える。
ノード制御部120は、インターフェイス制御部110と、論理/物理マップ制御部130と、分散配置制御部140との入出力や、入出力するデータの処理、その他汎用的な処理を行うことで、ノード10−0全体を制御する。
論理/物理マップ制御部130は、分散ストレージ10に対する論理ディスクへの読み書き要求を、物理的な記憶装置100−0〜100−k、あるいは他ノード10−1〜10−nへの読み書きに変換し、分散ストレージ10内の記憶装置の適切な位置に対してデータの読み書きを行う。
分散配置制御部140は、図3に示すような構成情報テーブル150およびリモート構成情報テーブル151と、図4に示すような分散配置マップ160およびリモート分散配置マップ161とを管理する。つまり、分散配置制御部140は、構成情報保持機能(構成情報保持手段)と、マップ情報保持機能(マップ情報保持手段)とを有している。また、分散配置制御部140は、構成情報テーブル150から分散配置マップ160を作成し、リモート構成情報テーブル151からリモート分散配置マップ161を作成する。この分散配置マップ160およびリモート分散配置マップ161の作成については後述する。つまり、分散配置制御部140は、マップ情報作成機能(マップ情報作成手段)を有している。さらに、分散配置制御部140は、リモートの分散ストレージ20の任意のノードから分散ストレージ20の構成情報テーブル150を取得する。つまり、分散配置制御部140は、構成情報取得機能(構成情報取得手段)を有している。
図3に示すように、構成情報テーブル150は、分散ストレージ10内の全ノード10−0〜10−nのノード番号(それぞれのノードに割り当てられた一意の番号)列と、ノードアドレス(インターフェイス制御部110がノードを特定するためのアドレス。例えば、IP(Internet Protocol)アドレスやSCSI(Small Computer System Interface)アドレス)列と、記憶装置番号(ノード10−0の記憶装置に一意に割り当てられた番号)列と、記憶装置ID(分散ストレージ10内の記憶装置に一意に割り当てられたID)列とから構成される。
リモート構成情報テーブル151は、分散配置制御部140が、リモートの分散ストレージ20から取得した分散ストレージ20の構成情報テーブル150である。なお、このリモート構成情報テーブル151は、リモート分散配置マップ161の生成に使用されるので、分散ストレージ20における構成の変更に適応的に対応するために、分散配置制御部140は、定期的に、リモートの分散ストレージ20から分散ストレージ20の構成情報テーブル150を取得し、必要に応じて、リモート構成情報テーブル151とリモート分散配置マップ161とを更新することが好ましい。つまり、分散配置制御部140は、構成情報更新機能(構成情報更新手段)やマップ情報更新機能(マップ情報更新手段)を有することが好ましい。あるいは、分散ストレージ10と分散ストレージ20との間で、自ノードの構成の変更が生じた際、その旨を通知し合い、この通知を受けて、構成情報テーブル150の再取得を行うようにしてもよい。この通知は、例えば、分散配置制御部140が、構成情報テーブル150が更新されたことを通知するものであってもよいし、分散配置マップ160が更新されたことを通知するものであってもよい。つまり、分散配置制御部140は、構成情報更新通知機能(構成情報更新通知手段)やマップ情報更新通信機能(マップ情報更新通知手段)を有してもよい。
分散配置マップ160は、分散配置制御部140が、構成情報テーブル150を入力として生成するマップである。図4に示すように、分散配置マップ160は、分散グループ番号という固定数の通し番号(ここでは、0〜99を想定する)と、記憶装置IDとをマップするものである。記憶装置IDと分散グループ番号とをマッピングするアルゴリズムは種々考えられるが、例えば、セフ(ceph)のストローバケット(Straw Bucket)アルゴリズムが知られている。このアルゴリズムを適用し、2個以上の入力からハッシュ値を求めるハッシュ関数(例えば、Jenkinsハッシュ関数)を用い、分散グループ番号と、それぞれの記憶装置IDとを引数としてハッシュ値を計算し、最も大きなハッシュ値を生成する記憶装置IDを選択し、その分散グループに割り当てる。本実施形態はこのアルゴリズムに限定するものではないが、一般によく使われているアルゴリズムを採用することが好ましい。
リモート分散配置マップ161は、分散配置制御部140が、リモート構成情報テーブル151を入力として生成するマップである。マッピングアルゴリズムは、リモートの分散ストレージ20内の分散配置マップ160を生成するアルゴリズムと同じものが使用される。分散ストレージ10と分散ストレージ20とが、分散配置マップ160を生成するにあたり、同じマッピングアルゴリズムを使用する場合、分散配置制御部140は、分散配置マップ160を生成するアルゴリズムを援用して、リモート分散配置マップ161を生成することができる。
一方、分散ストレージ10と分散ストレージ20とが、分散配置マップ160を生成するにあたり、異なるマッピングアルゴリズムを使用する場合、分散配置制御部140は、例えば、分散ストレージ10内に予め保持される、分散ストレージ20が分散配置マップ160の生成に使用するマッピングアルゴリズムを用いて、リモート分散配置マップ161を生成する。または、分散配置制御部140が、リモートの分散ストレージ20から、分散ストレージ20が分散配置マップ160の生成に使用するマッピングアルゴリズムを取得する機能(アルゴリズム取得機能[アルゴリズム取得手段])を備えてもよい。さらには、分散配置制御部140が、リモートの分散ストレージ20から、分散ストレージ20の分散配置マップ160そのものを取得する機能(マップ情報取得機能[マップ情報取得手段])を備えてもよい。
また、リモート構成情報テーブル151の説明でも触れたように、分散ストレージ20における構成の変更に適応的に対応するために、分散配置制御部140は、このリモート分散配置マップ161を、例えば、分散ストレージ20の構成情報テーブル150が(定期的または通知を受けて)新たに取得される毎に生成し直したり、定期的または通知を受けて、分散ストレージ20から新たに取得し直したりすることが好ましい。
<本実施形態に係る分散ストレージの非同期リモートレプリケーションシステムの全体処理>
続いて、本実施形態に係る分散ストレージの非同期リモートレプリケーションシステムの全体処理について説明する。
続いて、本実施形態に係る分散ストレージの非同期リモートレプリケーションシステムの全体処理について説明する。
図5は、本実施形態に係る分散ストレージの非同期リモートレプリケーションシステムの全体処理を表すフローチャートである。
分散ストレージ10の各ノード10−0〜10−nは、ホスト計算機1が自ノードに対して行った更新に関する更新データを、ファイルシステム101−0〜101−kから取得する(S1)。
各ノード10−0〜10−nは、取得した更新データとリモート分散配置マップ161とからリモートの分散ストレージ20のコピー先ノードを計算する(S2)。
各ノード10−0〜10−nは、計算により得られたリモートの分散ストレージ20のコピー先ノードに対して更新データのコピーを実行する(S3)。
<本実施形態に係る分散ストレージの非同期リモートレプリケーションシステムの各種詳細処理>
続いて、本実施形態に係る分散ストレージの非同期リモートレプリケーションシステムの各種詳細処理について説明する。
続いて、本実施形態に係る分散ストレージの非同期リモートレプリケーションシステムの各種詳細処理について説明する。
図6は、ホスト計算機1が分散ストレージ10のノード10−0〜10−nに対してファイルを読み書きした場合のノードの処理を表すフローチャートである。
ホスト計算機1のオペレーティングシステムが、分散ストレージ10の任意のノードに対してディスクの認識要求を発行すると、その任意のノードは、仮想的なディスク装置の情報を返す。仮想的なディスク装置の情報を返す機能は、ノード10−0〜10−nのすべてが備えている。仮想的なディスク装置とは、分散ストレージ10において論理的に構成される論理ディスク、より詳細には、ノード10−0〜10−nによって論理的に構成される論理ディスクである。ホスト計算機1は、この仮想的なディスク装置の情報により、分散ストレージ10のノード10−0〜10−nを論理ディスクとして認識し、この論理ディスクに対してファイルを読み書きできるようになる。なお、ホスト計算機1とノード10−0〜10−nとの接続がFibreChannelの場合、論理ディスクは、SCSI規格のLU(Logical Unit)として認識される。ホスト計算機1と分散ストレージ10との間は、ホスト計算機1と分散ストレージ10の複数のノード10−0〜10−nとが接続される。そのため、ホスト計算機1のオペレーティングシステムは、同一のLUが複数接続されたように認識する。ホスト計算機1は、オペレーティングシステムのマルチパス機能によって、1つのパス(すなわち1つのノード)を選択し、ファイルの読み書きを要求する。ホスト計算機1に認識させ得る論理ディスクは1つに限らない。すなわち、分散ストレージ10のノード10−0〜10−nを複数の論理ディスクとしてホスト計算機1に認識させることもできる。
インターフェイス制御部110は、ホスト計算機1から論理ディスクへの読み書き要求を受信すると、ノード制御部120に要求を渡す(S100)。
ノード制御部120は、読み書き要求された読み書き対象となる領域を、チャンク(chunk)という固定長(例えば、128KByte)のブロックに分割し、チャンクを分散配置制御部140に渡す(S102)。
分散配置制御部140は、分散配置マップ160とチャンク番号(論理ディスクをチャンクに分割して、論理ディスク先頭のチャンクから順番に割り当てた通番)とを入力として記憶装置IDを計算し、また、構成情報テーブル150からノード番号を特定して、ノード制御部120に返す(S102)。図7は、このノード番号および記憶装置IDを選択する処理の詳細を表すフローチャートである。
分散配置制御部140は、チャンク番号のハッシュ値を計算し(S200)、このハッシュ値を分散配置マップ160の分散グループ数(すなわち行数)で割り、剰余を計算する(S201)。分散配置制御部140は、分散配置マップ160の分散グループ列において、剰余と一致する分散グループを選択し、その分散グループにマップされた記憶装置IDを取得する(S202)。また、分散配置制御部140は、構成情報テーブル150と記憶装置IDとからノード番号を特定し、ノード制御部120に記憶装置IDとノード番号とを返す(S203)。
図6に戻る。
ノード制御部120は、取得されたノード番号が自ノードに割り当てられたノード番号であるか判定する(S103)。自ノードでない場合(S103,No)、ノード制御部120は、構成情報テーブル150とノード番号とからノードアドレスを調べ、インターフェイス制御部110を介して、そのノード番号に該当する他のノードに読み書き要求を発行する(S104)。この読み書き要求を受信したノードは、本フローチャートと同一の処理によってファイルの読み書きを処理する。
自ノードの場合(S103,Yes)、ノード制御部120は、読み書き要求を調べ、書き込み要求なのか、読み込み要求なのかを判定する(S105)。
書き込み要求の場合(S105,Yes)、ノード制御部120は、その記憶装置IDが指す記憶装置について構築されるファイルシステムにチャンク番号のファイルが存在するか調べる(S106)。ここで、本実施形態に係る分散ストレージの非同期リモートレプリケーションシステムにおけるファイルシステム上のファイル構造について説明する。
図8は、各記憶装置について構築されるファイルシステムに作成するディレクトリおよびファイルの構造と、それらの命名規則とを表すものである。
図8に示すように、本実施形態に係る分散ストレージの非同期リモートレプリケーションシステムにおいては、実データに関しては、/PV−<記憶装置ID>という記憶装置IDを示すディレクトリを作成し、このディレクトリ以下に、<チャンク番号>というファイル名のファイルを作成する。このチャンク番号をファイル名にもつファイルに、そのチャンク番号が指すチャンクの実データを書き込む。また、論理ディスク毎に、/LV−<LU番号>というディレクトリを作成し、このディレクトリ以下に、実データが書き込まれたファイルと論理ディスクのチャンクとをマッピングする/PV−<記憶装置ID>/<チャンク番号>のシンボリックリンクを、<チャンク番号>というファイル名で作成する。図9は、論理ディスク0のチャンク番号00000000および00000100と、論理ディスク1のチャンク番号00012020とにデータが書き込まれた例を示している。
再び図6を参照する。
チャンク番号のファイルが存在しない場合(S107,No)、ノード制御部120は、図8および図9を参照して説明した通りにファイルを作成する(S108)。ファイルが既に存在する場合(S107,No)、ノード制御部120は、スナップショットが存在する状態かどうか、つまり、そのチャンク番号のファイルのデータがスナップショットか否かを判定する(S109)。スナップショットについては後述する。また、スナップショットが存在する状態かどうかの判定と、スナップショットが存在する状態の場合(S109,Yes)における処理(S112,S113)とについても後述する。スナップショットが存在しない状態の場合、つまり、そのチャンク番号のファイルのデータがスナップショットではない場合(S109,No)、ノード制御部120は、そのファイルにデータを上書きする(S110)。
一方、読み込み要求の場合(S105,No)、ノード制御部120は、そのチャンク番号のチャンクファイルを読み込む(S111)。なお、チャンクファイルが存在しない場合、すなわち、書き込んだことがないチャンクに対して読み込み要求が来た場合、例えば、オールゼロのデータをホスト装置1へ返すものとする。
ノード制御部120は、読み書き対象の全チャンクついて処理が完了すると、読み書き処理を終了する(S114)。
以上で、ホスト計算機1が分散ストレージ10に対してファイルを読み書きする処理の流れを説明した。
次に、本実施形態に係る分散ストレージの非同期リモートレプリケーションシステムが非同期リモートレプリケーションを実現するために組み込むスナップショット(Snapshot)の処理を説明する。つまり、ノード制御部120が有するリンク情報作成機能(リンク情報作成手段)について説明する。なお、本実施形態におけるスナップショットの処理とは、論理ディスクへの読み書きを継続したまま、論理ディスクのある静止点の情報を保持することを指す。
図10は、スナップショットを作成する処理を表すフローチャートである。
インターフェイス制御部110は、例えば、ホスト計算機1から論理ディスクに対するスナップショット作成要求を受けると、分散ストレージ10の全ノード10−0〜10−nのノード制御部120に対して、全記憶装置100−n〜100−k上のファイルシステム101−0〜101−kに当該論理ディスクのスナップショットディレクトリを作成するよう要求する(S300)。
ノード制御部120は、スナップショットディレクトリ作成の要求を受けると、自ノード内のすべての記憶装置100−0〜100−kのファイルシステム101−0〜101−kに論理ディスクのスナップショットディレクトリを作成する(S301)。ここで、スナップショット作成時のファイル構造を説明する。
図11は、スナップショット作成時のディレクトリおよびファイルの構造と、それらの命名規則とを表すものである。スナップショット作成時、ノード制御部120は、図11中の[スナップショット作成時]に記載のように、/SNAP−<LU番号>−<世代番号>というディレクトリを作成する(S301)。LU番号は、スナップショットの元となる論理ディスクのLU番号である。世代番号は、スナップショットの0から連番で付与する番号であり、番号が大きいほど新しい世代であることを示す。
ノード制御部120は、スナップショットの対象となる論理ディスクにおいて、同一記憶装置内の当該論理ディスクのディレクトリ(/LV−<LU番号>)以下の全ファイルのシンボリックリンクを作成する(S302)。
ノード制御部120は、全記憶装置、全ノードに対して処理が完了すると、スナップショット作成を終了する(S303)。
次に、スナップショットを作成した論理ディスクに対して書き込みがあった場合の処理を説明する。これは、図6のフローチャートにおいて、チャンク番号のファイルが存在する場合であって(S107,Yes)、そのファイルのデータがスナップショットである場合(S109,YES)に相当する。つまり、スナップショットが存在する状態の場合に相当する。スナップショットが存在する状態かどうかは、記憶装置のファイルシステム上における、読み書き先論理ディスクのLU番号を含む/SNAP−<LU番号>−*というディレクトリの有無を確認し、そのディレクトリが存在し、かつ、/PV−<記憶装置ID>/<チャンク番号>−SNAP−<LU番号>−<(最新の)世代番号>というファイルが存在しなければ、スナップショットが存在する状態と判定する。
スナップショットが存在する状態の場合、つまり、チャンク番号のファイルのデータがスナップショットである場合、ノード制御部120は、図11中の[スナップショット作成後に論理ディスクを更新]に記載のように、書き込み対象のチャンク番号のファイルである/PV−<記憶装置ID>/<チャンク番号>を、/PV−<記憶装置ID>/<チャンク番号>−SNAP−<LU番号>−<世代番号>にリネームする。また、ノード制御部120は、スナップショットディレクトリ以下の既存のシンボリックリンク/SNAP−<LU番号>−<世代番号>/<チャンク番号>を削除し、/PV−<記憶装置ID>/<チャンク番号>−SNAP−<LU番号>−<世代番号>のシンボリックリンクを、先に削除した/SNAP−<LU番号>−<世代番号>/<チャンク番号>という名前で作成する(S112)。なお、世代が複数存在する場合は、全世代に対してこの処理を実行する。
そして、ノード制御部120は、/PV−<記憶装置ID>ディレクトリに<チャンク番号>のファイルを新たに作成し、この作成したファイルにチャンク内のデータを書き込む(S113)。
図12は、図9の状態から、LU0の世代番号0のスナップショットと、LU1の世代番号0のスナップショットとを作成した後、LU0のチャンク番号00000100を更新した例を表している。図12について補足すると、/SNAP−0−0/00000100というシンボリックリンクが、/LV−0/00000100、つまり/PV−0/00000100へマッピングするものから、/PV−0/00000100−SNAP−0−0へのマッピングするものへと変更される。なお、スナップショットを削除する場合は、/SNAP−<LU番号>−<世代番号>ディレクトリおよび/PV−<記憶装置ID>/<チャンク番号>−SNAP−<LU番号>−<世代番号>ファイルを削除すればよい。
以上でスナップショットについて説明した。スナップショットを作成すると、ある静止点における論理ディスクの仮想的な複製が生成される。ホスト計算機1と、分散ストレージ10内のノード10−0〜10−nと、リモートの分散ストレージ20内のノード20−0〜20−mとは、インターフェイス制御部110を通じて、任意のノードのスナップショットへのアクセスが可能である。つまり、本実施形態に係る分散ストレージの非同期リモートレプリケーションシステムは、スナップショットを作成することで、分散ストレージ10内のノード10−0〜10−nが、各々自ノードのスナップショットへアクセス可能な環境を作り出す。
次に、分散ストレージ間における非同期リモートレプリケーションの処理について説明する。つまり、ノード制御部120が有するデータ複製成機能(データ複製手段)について説明する。図13は、リモートレプリケーションの初期作成、すなわち分散ストレージ10の論理ディスク内の全データを、リモートの分散ストレージ20の論理ディスクに複製する処理を表すフローチャートである。
ホスト計算機1が、リモートレプリケーションのコピー元となる論理ディスクのLU番号と、リモートの分散ストレージ20の任意のノードのノードアドレスと、リモートレプリケーションのコピー先となる論理ディスクのLU番号とを引数とし、分散ストレージ10の任意のノードに対してリモートレプリケーション作成の要求を発行すると、ノードのインターフェイス制御部110は、この要求を受信し、ノード制御部120に渡す(S400)。
ノード制御部120は、引数のノードアドレスが指すリモートの分散ストレージのノードから(リモートの分散ストレージの)構成情報テーブル150を取得し、リモート構成情報テーブル151として保持する(S401)。
分散配置制御部140は、リモート構成情報テーブル151からリモート分散配置マップ161を作成して保持する(S402)。分散配置マップの生成方法は、前述した分散配置マップ160の生成方法と同じである。前述したように、要求側の分散ストレージがリモート分散配置マップ161を生成するのではなく、リモート側の分散ストレージで分散配置マップ160を作成し、その分散配置マップ160を要求側の分散ストレージが取得してもよい。さらには、前述したように、要求側の分散ストレージとリモート側の分散ストレージ20とで異なるマッピングアルゴリズムを用いる場合、要求側の分散ストレージは、リモート側の分散ストレージからマッピングアルゴリズムを取得し、その取得したマッピングアルゴリズムを使用してリモート分散配置マップ161を作成してもよい。
ノード制御部120は、他のノードのノード制御部120と共に、リモートレプリケーションのコピー元の論理ディスクのスナップショットを作成する(S403)。つまり、自身がスナップショットの作成を行うと共に、他のノードのノード制御部120に対して、スナップショットの作成を行うことを要求する。そして、ノード制御部120は、分散ストレージ内の全ノードのノード制御部120に対し、全記憶装置についてS406,S407の処理を実行するよう要求する(S404)。
この要求を受けた各ノードのノード制御部120は、各記憶装置のファイルシステムに存在する、前記スナップショットのスナップショットディレクトリ以下に生成されたチャンクファイル毎にS406およびS407の処理を実行する(S405)。
より詳細には、各ノードのノード制御部120は、まず、リモート構成情報テーブル151と、リモート分散配置マップ161と、チャンクファイルのファイル名であるチャンク番号とを引数とする、分散配置制御部140による図7に表される処理により、リモートの分散ストレージ20のノード番号と記憶装置IDとを取得する(S406)。
次に、各ノードのノード制御部120は、取得したノード番号が指すリモートのノードに対し、リモートの分散ストレージ内のリモートレプリケーションのコピー先となる論理ディスクにチャンクファイルの書き込みを要求する(S407)。要求を受けたリモートのノードのノード制御部120は、図6に表される処理により、記憶装置にチャンクファイルを書き込む。
分散ストレージの全ノードが、リモートの分散ストレージに対してスナップショットのすべてのチャンクファイルの書き込みを完了すると、リモートレプリケーションの作成は完了となる(S408,S409)。
以上の処理により、分散ストレージ10の論理ディスクのある静止点のデータが、リモートの分散ストレージ20の論理ディスクにコピーされ、分散ストレージ10のある静止点の論理ディスクの複製がリモートの分散ストレージ20に作成される。
次に、リモートレプリケーションの非同期コピー処理について説明する。分散ストレージ10の論理ディスクに対しては、ホスト計算機1からファイルの書き込みが行われるため、リモートレプリケーションを作成した後、時間が経過すると、分散ストレージ10と分散ストレージ20のリモートレプリケーション先の論理ディスクとは不一致となる。したがって、非同期コピー処理によって、定期的に、分散ストレージ10の論理ディスクの更新データを分散ストレージ20のリモートレプリケーション先の論理ディスクに書き込む必要がある。
図14は、リモートレプリケーションの非同期コピー処理の手順を表すフローチャートである。非同期コピー処理は、例えば、リモートレプリケーションの初期作成時にホスト計算機1からリモートレプリケーション作成の要求を受けた、分散ストレージ内のあるノードからの要求に基づき、各ノードのノード制御部120が定期的に実行する。
例えば、分散ストレージ内のあるノードのノード制御部120は、非同期コピー処理を開始する場合、他のノードのノード制御部120と共に、リモートレプリケーション元の論理ディスクのスナップショットを作成する(S500)。つまり、自身がスナップショットの作成を行うと共に、他のノードのノード制御部120に対して、スナップショットの作成を行うことを要求する。
スナップショットを作成すると、分散ストレージ内のあるノードのノード制御部120は、他のノードのノード制御部120と共に、全記憶装置についてS501〜S508の処理を実行する(S501)。つまり、自身が自ノード内の記憶装置についてS501〜S508の処理を実行すると共に、他のノードのノード制御部120に対して、各ノードの記憶装置についてS501〜S508の処理を実行することを要求する。以下、1つのノード制御部120に着目して説明を行う。
ノード制御部120は、前世代のスナップショット作成以降に論理ディスクに対して書き込みを行ったチャンクを探す(S502)。具体的には、ノードの全記憶装置のファイルシステムから前世代のスナップショットディレクトリ/SNAP−<LU番号>−<前世代番号>を探し、そのディレクトリ以下のチャンクファイルのシンボリックリンク先が/PV−<記憶装置ID>/<チャンク番号>−SNAP−<LU番号>−<前世代番号>になっているもの(シンボリックリンク先のファイルの接尾辞が*−SNAP−<LU番号>−<前世代番号>となっているもの)を探す。なお、前世代番号は、S500で作成したスナップショットの世代番号の1つ前の世代番号のスナップショットであり、リモートレプリケーション作成後の1回目の非同期コピー処理の場合は、リモートレプリケーション作成時のスナップショットを指し、2回目以降の非同期コピー処理の場合は、前回の非同期コピー処理時に作成したスナップショットを指す。つまり、ノード制御部120は、差分データ取得機能(差分データ取得手段)を有する。
ノード制御部120は、探したチャンクファイル毎に、S504およびS505を実行する(S503)。
より詳細には、ノード制御部120は、まず、リモート構成情報テーブル151と、リモート分散配置マップ161と、チャンクファイルのファイル名であるチャンク番号とを引数とする、分散配置制御部140による図7に表される処理により、リモートの分散ストレージ20のノード番号と記憶装置IDとを取得する(S504)。
次に、ノード制御部120は、取得したノード番号が指すリモートのノードに対し、リモートの分散ストレージ内のリモートレプリケーションのコピー先となる論理ディスクへのチャンクファイルの書き込みを要求する(S505)。要求を受けたリモートのノードのノード制御部120は、図6に表される処理により、記憶装置にチャンクファイルを書き込む。
分散ストレージ10の全ノードが、前世代のスナップショット作成以降に更新されたすべてのチャンクファイルについて、リモートの分散ストレージ20のノードに対する書き込みを完了すると(S506,S507)、ノード制御部120は、前世代のスナップショットを削除し(S508)、スナップショットの非同期コピー処理が完了となる。前世代のスナップショットの削除は、前述したように、/SNAP−<LU番号>−<前世代番号>ディレクトリおよび/PV−<記憶装置ID>/<チャンク番号>−SNAP−<LU番号>−<前世代番号>ファイルを削除すればよい。
以上の処理により、リモートレプリケーションの作成以降に更新されたデータを、分散ストレージ20のノードに対して並列にコピー処理することができる。
<本実施形態に係る分散ストレージの非同期リモートレプリケーションシステムの効果>
以上のように、本実施形態の分散ストレージの非同期リモートレプリケーションシステムによれば、分散ストレージ間で、特定のノードに負荷を集中させることなく、リモートの分散ストレージのノードと並列に非同期コピー処理を行うことが可能になる。また、コピー元のデータを保存しているノードが、リモートのデータ保存先のノードに直接コピーするため、分散ストレージ内のノード間データ転送が発生せず、最短経路で非同期コピー処理を行うことが可能である。また、コピー元のノードがコピー先ノードを計算によって判定できるため、コピー元とコピー先との分散ストレージのノード数および記憶装置数は一致していなくてもよい。
以上のように、本実施形態の分散ストレージの非同期リモートレプリケーションシステムによれば、分散ストレージ間で、特定のノードに負荷を集中させることなく、リモートの分散ストレージのノードと並列に非同期コピー処理を行うことが可能になる。また、コピー元のデータを保存しているノードが、リモートのデータ保存先のノードに直接コピーするため、分散ストレージ内のノード間データ転送が発生せず、最短経路で非同期コピー処理を行うことが可能である。また、コピー元のノードがコピー先ノードを計算によって判定できるため、コピー元とコピー先との分散ストレージのノード数および記憶装置数は一致していなくてもよい。
(第2実施形態)
次に、第2実施形態について説明する。
次に、第2実施形態について説明する。
本実施形態に係る分散ストレージの非同期リモートレプリケーションシステムは、論理ディスクのデータを複数の記憶装置に分散して格納することでデータの冗長性をもたせた分散ストレージにおいて、第1実施形態で説明した非同期リモートリモートレプリケーションを実現するものである。
本実施形態に係る分散ストレージの非同期リモートレプリケーションシステムは、基本的に、図1および図2に表される第1実施形態に係る分散ストレージの非同期リモートレプリケーションシステムの構成と同じ構成であるが、分散配置マップ160およびリモート分散配置マップ161は、複数の記憶装置IDを格納するよう変更する。記憶装置IDには、記憶装置ID−0、記憶装置ID−1と序列をつけ、序列(枝番)の若い番号が優先度が高いものとする。図15は、2個の記憶装置IDを格納した分散配置マップ160を表す例である。
分散配置マップ160およびリモート分散配置マップ161を生成する処理は、第1実施形態と同様、セフ(ceph)のストローバケット(Straw Bucket)アルゴリズムを適用することができる。つまり、分散グループ番号と、各記憶装置IDと、序列の番号とを入力(引数)として、多値ハッシュ関数(例えば、Jenkinsハッシュ関数)を用いてハッシュ値を求め、最もハッシュ値の大きな記憶装置IDを選択することができる。また、分散配置マップ160の各行の記憶装置IDの組み合わせは、同一ノードの記憶装置IDの組み合わせとならないよう、ノード間で分散させるようにすることが、ノード障害に耐えるという観点からは好ましい。
本実施形態におけるファイルの読み書き処理は、基本的に、第1実施形態において説明した、図5乃至図7に表される処理と同じであるが、図6中のチャンクファイルの読み書き処理(S108,S110,S111,S112,S113)において読み書きエラーが発生した場合、ノード制御部120は、分散配置制御部140を介して分散配置マップ160のエラーが発生した記憶装置IDに障害を表すマークをつけ、エラーを返す。本実施形態では、図15に表されているように、障害が発生した記憶装置IDに−1をマークしている。
また、図6のS102の処理、具体的には、図7のS202の処理において、分散配置制御部140は、−1以外の複数の記憶装置IDからなる記憶装置IDリストを返す。そして、ノード制御部120は、記憶装置IDリストのすべての記憶装置IDについて、S103以降を実行する。
以上の処理により、ホスト計算機1が論理ディスクへ書き込んだデータは、複数の記憶装置に格納される。ノードまたは記憶装置に障害が発生した場合、ホスト計算機1にエラーが返るため、ホスト計算機1のオペレーティングシステムのマルチパス機能によって、別のパス、すなわち別のノードに読み書きが再発行され、冗長化された別の記憶装置に書き込まれる。
スナップショットを作成する処理は、基本的に、第1実施形態において説明した、図10に表される処理の通りであるが、スナップショットを作成するときに、記憶装置へのシンボリックリンク作成に失敗した場合、ノード制御部120は、分散配置制御部140を介して分散配置マップ160の該当の記憶装置IDに障害を示すマークをつける。
リモートレプリケーションの作成処理は、基本的に、第1実施形態において説明した、図13に表される処理の通りであるが、S406の前に1つ処理を追加し、S406およびS407を次のように変更する。
S406の前に、ノード制御部120は、スナップショットのチャンクファイルのチャンク番号を引数とする、分散配置制御部140による図7に示される処理により、記憶装置IDリストを取得する。ノード制御部120は、S405で対象となった記憶装置が記憶装置IDリストの中で最も優先度の高いIDであればS406およびS407を実行し、それ以外であれば何もしないものとする。
S407において、ノード制御部120は、チャンク番号とリモート分散配置マップ161とを引数とする、分散配置制御部140による図7に示される処理により、記憶装置IDリストを取得する。そして、ノード制御部120は、記憶装置IDリストから最も優先度の高い記憶装置IDとそのノード番号とを取得し、S407を実行する。S408が成功すると、ノード制御部120は、そのチャンクファイルのコピーを終了し、失敗すると、記憶装置IDリストから次に優先度の高い記憶装置IDとそのノード番号とを取得し、S408を実行する。ノード制御部120は、S408が成功するまで、次に優先度の高い記憶装置IDとそのノード番号とを取得していきながら繰り返す。
リモートレプリケーションの非同期コピー処理は、基本的に、第1実施形態において説明した、図14で表される処理と同じであるが、S504の前に1つ処理を追加し、S504およびS505を次のように変更する。
S504の前に、ノード制御部120は、S502で取得したチャンクファイルのチャンク番号を引数とする、分散配置制御部140による図7に示される処理により、記憶装置IDリストを取得する。ノード制御部120は、S501で対象となった記憶装置が記憶装置IDリストの中で最も優先度の高いIDであればS504およびS505を実行し、それ以外であれば何もしないものとする。
S504において、ノード制御部120は、チャンク番号とリモート分散配置マップ161とを引数とする、分散配置制御部140による図7に示される処理により、記憶装置IDリストを取得する。そして、ノード制御部120は、記憶装置IDリストから最も優先度の高い記憶装置IDとそのノード番号とを取得し、S505を実行する。S505が成功すると、ノード制御部120は、そのチャンクファイルのコピーを終了し、失敗すると、記憶装置IDリストから次に優先度の高い記憶装置IDとそのノード番号とを取得し、S505を実行する。ノード制御部120は、S505が成功するまで、次に優先度の高い記憶装置IDとそのノード番号とを取得していきながら繰り返す。
以上の処理により、分散ストレージ内に複製されたデータのうち、最も優先度の高い記憶装置に格納されたデータのみが、リモートの分散ストレージ20へのコピー対象となるため、同一データが複数回コピーされることなく、リモートレプリケーションを実現できる。
また、リモートレプリケーションがリモートの分散ストレージ20にコピー中に、分散ストレージ20においてノード障害や記憶装置障害が発生する可能性がある。ノード障害の場合、前述したように、S408やS505でエラーを検出し、別のノードに再発行することで対応する。記憶装置障害の場合、分散ストレージ20の論理ディスク読み書き処理において、冗長化された別の記憶装置にデータがコピーされる。したがって、リモートレプリケーションの作成処理や非同期コピー処理中にリモートの分散ストレージ20にノード障害や記憶装置障害が発生しても問題はない。
しかし、コピー要求の再発行や、分散ストレージ20内においてノード間通信が発生するため、コピー性能が低下する。したがって、分散ストレージ10が保持するリモート分散配置マップ161と分散ストレージ20の分散配置マップ160が不一致となる時間をできるだけ短くすることが好ましい。そこで、前述したように、分散ストレージ10のリモート分散配置マップ161と分散ストレージ20の分散配置マップ160とを一致化させる機能をもつこととする。より詳細には、分散ストレージ10の各ノード(分散配置制御部140)が、定期的に分散ストレージ20の任意のノードから定期的に分散配置マップ160を取得し、リモート分散配置マップ161を更新する。または、分散ストレージ20において障害が発生し、分散ストレージ20の分散配置マップ160に障害を表すマークを書き込むタイミングで、分散配置制御部140が、障害が発生した記憶装置IDを分散ストレージ10の全ノードに通知する。後者の手段の方が、ポーリング負荷がないことと、前記リモート分散配置マップの不一致となる時間が短いため好ましい。
また、障害以外にも、ノードの追加や削除、記憶装置の追加や削除などの構成変更、コピー先ノードや記憶装置の変更によって、コピー性能が低下するケースも考えられる。この場合も、分散ストレージ10の各ノード(分散配置制御部140)が分散ストレージ20の任意のノードから構成情報テーブル150を取得して、リモート構成情報テーブル151として保持し、リモート構成情報テーブル161を再生成することで、構成変更によるコピー性能低下を防ぐことができる。分散ストレージ10とリモートの分散ストレージ20とが異なるマッピングアルゴリズムを用いる場合、リモート構成情報テーブル151と同様に、リモートの分散ストレージ20からマッピングアルゴリズムを取得し、そのマッピングアルゴリズムを利用してリモート分散配置マップを生成してもよい。
以上の処理により、リモートの分散ストレージ20に障害や構成変更が発生してもコピー性能の低下を最小限にすることができる。
<本実施形態に係る分散ストレージの非同期リモートレプリケーションシステムの効果>
以上のように、本実施形態の分散ストレージの非同期リモートレプリケーションシステムによれば、データを複数の記憶装置に格納し、データを冗長化する分散ストレージ間のリモートレプリケーションシステムにおいて、正常時は最も優先度の高い記憶装置をもつノード同士でコピー処理を行い、また、コピー処理中に双方の分散ストレージでノード障害や記憶装置障害が発生しても、コピー処理を中断することなく継続でき、コピー性能の低下を最小限にすることができる。
以上のように、本実施形態の分散ストレージの非同期リモートレプリケーションシステムによれば、データを複数の記憶装置に格納し、データを冗長化する分散ストレージ間のリモートレプリケーションシステムにおいて、正常時は最も優先度の高い記憶装置をもつノード同士でコピー処理を行い、また、コピー処理中に双方の分散ストレージでノード障害や記憶装置障害が発生しても、コピー処理を中断することなく継続でき、コピー性能の低下を最小限にすることができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1,2…ホスト計算機、3…ネットワーク通信網、10,20…分散ストレージ、100…記憶装置、101…ファイルシステム、110…インターフェイス制御部、120…ノード制御部、130…物理マップ制御部、140…分散配置制御部、150…構成情報テーブル、151…リモート構成情報テーブル、160…分散配置マップ、161…リモート分散配置マップ、161…リモート構成情報テーブル。
Claims (12)
- 各々が1以上の記憶装置を有する複数のノードが相互に接続された分散ストレージの非同期リモートレプリケーションシステムであって、
第1の分散ストレージの複数のノードそれぞれが、
前記第1の分散ストレージ内の複数の記憶装置の識別子が固定数の通し番号に対応づけられた第1のマップ情報と、前記第1の分散ストレージとネットワークを介して接続される第2の分散ストレージ内の複数の記憶装置の識別子が前記固定数の通し番号に対応づけられた第2のマップ情報とを保持するマップ情報保持手段と、
前記第1の分散ストレージにおいて構成される第1の論理ディスクの複製を前記第2の分散ストレージに作成するために、自ノード内の1以上の記憶装置に記憶されるデータの複製を前記第2の分散ストレージ内の記憶装置に作成する手段であって、前記第1の論理ディスクを固定長で分割したチャンク毎に、各チャンクの識別子と前記第2のマップ情報とに基づき、前記第2の分散ストレージ内の複数の記憶装置の中から1つの記憶装置を選択し、その選択した前記第2の分散ストレージ内の1つの記憶装置にデータの複製を作成するデータ複製手段と、
を具備する分散ストレージの非同期リモートレプリケーションシステム。 - 前記データ複製手段は、
ある時間的な静止点における前記第1の論理ディスクの複製を前記第1の分散ストレージ内において作成するための手段であって、自ノード内の1以上の記憶装置に記憶されるデータを前記ある時間的な静止点において関係づけるリンク情報を、自ノード内の1以上の記憶装置毎に作成するリンク情報作成手段を具備し、
前記リンク情報作成手段により作成される前記リンク情報の複製を前記第2の分散ストレージ内の記憶装置に作成することにより、前記ある時間的な静止点における、自ノード内の1以上の記憶装置に記憶されるデータの複製を前記第2の分散ストレージ内の記憶装置に作成する、
請求項1に記載の分散ストレージの非同期リモートレプリケーションシステム。 - 前記データ複製手段は、
第1の静止点に関する第1のリンク情報が作成された後、第2の静止点に関する第2のリンク情報が作成された場合、前記第1のリンク情報と前記第2のリンク情報との差分である差分データを取得する差分データ取得手段を具備し、
前記差分データ取得手段により取得される前記差分データの複製を前記第2の分散ストレージ内の記憶装置に作成することにより、前記第2の静止点における、自ノード内の1以上の記憶装置に記憶されるデータの複製を前記第2の分散ストレージ内の記憶装置に作成する、
請求項2に記載の分散ストレージの非同期リモートレプリケーションシステム。 - 前記第1の分散ストレージの複数のノードそれぞれは、前記第2の分散ストレージの複数のノードの中の1つのノードから前記第2のマップ情報を取得するマップ情報取得手段を具備する請求項1乃至3のいずれか1項に記載の分散ストレージの非同期リモートレプリケーションシステム。
- 前記第1の分散ストレージの複数のノードそれぞれは、
前記第1の分散ストレージのノード数および各ノードの記憶装置数を少なくとも含む第1の構成情報と、前記第2の分散ストレージのノード数および各ノードの記憶装置数を少なくとも含む第2の構成情報とを保持する構成情報保持手段と、
前記第1の構成情報に基づき、前記第1のマップ情報を作成し、前記第2の構成情報に基づき、前記第2のマップ情報を作成するマップ情報作成手段と、
を具備する請求項1乃至4いずれか1項に記載の分散ストレージの非同期リモートレプリケーションシステム。 - 前記第1の分散ストレージの複数のノードそれぞれは、前記第2の分散ストレージの複数のノードの中の1つのノードから前記第2の構成情報を取得する構成情報取得手段を具備する請求項5に記載の分散ストレージの非同期リモートレプリケーションシステム。
- 前記第1のマップ情報は、第1のアルゴリズムにより、前記第1の構成情報に基づいて作成され、
前記第2のマップ情報は、前記第1のアルゴリズムとは異なる第2のアルゴリズムにより、前記第2の構成情報に基づいて作成され、
前記第1の分散ストレージの複数のノードそれぞれは、前記第2のアルゴリズムに関する情報を前記第2の分散ストレージの複数のノードの中の1つのノードから前記第2の構成情報を取得するアルゴリズム取得手段を具備する請求項5または6に記載の分散ストレージの非同期リモートレプリケーションシステム。 - 前記第1の分散ストレージの複数のノードそれぞれは、前記第2の分散ストレージの複数のノードの中の1つのノードから前記第2のマップ情報を定期的に取得し、前記マップ情報保持手段により保持される前記第2のマップ情報を前記取得した前記第2のマップ情報で更新するマップ情報更新手段を具備する請求項1乃至7のいずれか1項に記載の分散ストレージの非同期リモートレプリケーションシステム。
- 前記第1の分散ストレージの複数のノードそれぞれは、前記第2の分散ストレージの複数のノードの中の1つのノードから前記第2の構成情報を定期的に取得し、前記構成情報保持手段により保持される前記第2の構成情報を前記取得した前記第2の構成情報で更新する構成情報更新手段を具備する請求項5乃至7のいずれか1項に記載の分散ストレージの非同期リモートレプリケーションシステム。
- 前記第2の分散ストレージの複数のノードそれぞれは、前記第2の分散ストレージのノード数または各ノードの記憶装置数の少なくとも一方が変更された場合、前記第2のマップ情報の更新を前記第1の分散ストレージの複数のノードの中の1つのノードへ通知するマップ情報更新通知手段を具備し、
前記第1の分散ストレージの複数のノードそれぞれは、前記第2のマップ情報の更新の通知を受けた場合、前記マップ情報保持手段により保持される前記第2のマップ情報を更新するマップ情報更新手段を具備する請求項1乃至7のいずれか1項に記載の分散ストレージの非同期リモートレプリケーションシステム。 - 前記第2の分散ストレージの複数のノードそれぞれは、前記第2の分散ストレージのノード数または各ノードの記憶装置数の少なくとも一方が変更された場合、前記第2の構成情報の更新を前記第1の分散ストレージの複数のノードの中の1つのノードへ通知する構成情報更新通知手段を具備し、
前記第1の分散ストレージの複数のノードそれぞれは、前記第2の構成情報の更新の通知を受けた場合、前記構成情報保持手段により保持される前記第2の構成情報を更新する構成情報更新手段を具備する請求項5乃至7のいずれか1項に記載の分散ストレージの非同期リモートレプリケーションシステム。 - 各々が1以上の記憶装置を有する複数のノードが相互に接続された分散ストレージの非同期リモートレプリケーション方法であって、
第1の分散ストレージの複数のノードそれぞれが、
前記第1の分散ストレージ内の複数の記憶装置の識別子が固定数の通し番号に対応づけられた第1のマップ情報と、前記第1の分散ストレージとネットワークを介して接続される第2の分散ストレージ内の複数の記憶装置の識別子が前記固定数の通し番号に対応づけられた第2のマップ情報とを保持することと、
前記第1の分散ストレージにおいて構成される第1の論理ディスクの複製を前記第2の分散ストレージに作成するために、自ノード内の1以上の記憶装置に記憶されるデータの複製を前記第2の分散ストレージ内の記憶装置に作成する手段であって、前記第1の論理ディスクを固定長で分割したチャンク毎に、各チャンクの識別子と前記第2のマップ情報とに基づき、前記第2の分散ストレージ内の複数の記憶装置の中から1つの記憶装置を選択し、その選択した前記第2の分散ストレージ内の1つの記憶装置にデータの複製を作成することと、
を具備する分散ストレージの非同期リモートレプリケーション方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017028692A JP6279780B1 (ja) | 2017-02-20 | 2017-02-20 | 分散ストレージの非同期リモートレプリケーションシステムおよび分散ストレージの非同期リモートレプリケーション方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017028692A JP6279780B1 (ja) | 2017-02-20 | 2017-02-20 | 分散ストレージの非同期リモートレプリケーションシステムおよび分散ストレージの非同期リモートレプリケーション方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6279780B1 true JP6279780B1 (ja) | 2018-02-14 |
JP2018136596A JP2018136596A (ja) | 2018-08-30 |
Family
ID=61195677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017028692A Active JP6279780B1 (ja) | 2017-02-20 | 2017-02-20 | 分散ストレージの非同期リモートレプリケーションシステムおよび分散ストレージの非同期リモートレプリケーション方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6279780B1 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005050165A (ja) * | 2003-07-29 | 2005-02-24 | Hitachi Ltd | 分散ストレージ装置のファイル管理方法及び分散ストレージシステム |
WO2015153045A1 (en) * | 2014-03-31 | 2015-10-08 | Wandisco, Inc. | Geographically-distributed file system using coordinated namespace replication |
WO2016070375A1 (zh) * | 2014-11-06 | 2016-05-12 | 华为技术有限公司 | 一种分布式存储复制系统和方法 |
JP2016099969A (ja) * | 2014-11-26 | 2016-05-30 | 富士通株式会社 | 情報処理装置、データ保存システム、及びデータ保存方法 |
-
2017
- 2017-02-20 JP JP2017028692A patent/JP6279780B1/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005050165A (ja) * | 2003-07-29 | 2005-02-24 | Hitachi Ltd | 分散ストレージ装置のファイル管理方法及び分散ストレージシステム |
WO2015153045A1 (en) * | 2014-03-31 | 2015-10-08 | Wandisco, Inc. | Geographically-distributed file system using coordinated namespace replication |
WO2016070375A1 (zh) * | 2014-11-06 | 2016-05-12 | 华为技术有限公司 | 一种分布式存储复制系统和方法 |
JP2016099969A (ja) * | 2014-11-26 | 2016-05-30 | 富士通株式会社 | 情報処理装置、データ保存システム、及びデータ保存方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2018136596A (ja) | 2018-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6344798B2 (ja) | データ送信方法、データ受信方法、及びストレージデバイス | |
US8271753B2 (en) | Storage controller and storage control method for copying a snapshot using copy difference information | |
US11010078B2 (en) | Inline deduplication | |
US10852984B2 (en) | Mirror vote synchronization | |
US8538924B2 (en) | Computer system and data access control method for recalling the stubbed file on snapshot | |
CN103354923B (zh) | 一种数据重建方法、装置和系统 | |
WO2017119091A1 (ja) | 分散型ストレージシステム、データ格納方法、およびソフトウェアプログラム | |
US9305072B2 (en) | Information storage system and data replication method thereof | |
US20170031772A1 (en) | Incremental transfer with unused data block reclamation | |
US10496674B2 (en) | Self-describing volume ancestry for data synchronization | |
EP3867759A1 (en) | Improving available storage space in a system with varying data redundancy schemes | |
US20160050146A1 (en) | Accelerated storage appliance using a network switch | |
US10031682B1 (en) | Methods for improved data store migrations and devices thereof | |
US10459806B1 (en) | Cloud storage replica of a storage array device | |
CN109407975B (zh) | 写数据方法与计算节点以及分布式存储系统 | |
CN107046811A (zh) | 一种源存储设备发送源文件和源文件的克隆文件至备份存储设备的方法、源存储设备以及备份存储设备 | |
US11442894B2 (en) | Methods for scalable file backup catalogs and devices thereof | |
US11514181B2 (en) | Bin syncing technique for multiple data protection schemes | |
JP6279780B1 (ja) | 分散ストレージの非同期リモートレプリケーションシステムおよび分散ストレージの非同期リモートレプリケーション方法 | |
US8694478B1 (en) | Detection and correction of corrupted or dangling data object handles | |
JP2018159999A (ja) | ストレージシステム | |
JP6291977B2 (ja) | 分散ファイルシステム、バックアップファイル取得方法、制御装置及び管理装置 | |
US11223681B2 (en) | Updating no sync technique for ensuring continuous storage service in event of degraded cluster state | |
JP4818396B2 (ja) | オーバーレイネットワークシステム及び同システムにおけるオブジェクト登録方法 | |
WO2015107675A1 (ja) | ストレージ装置および制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20171219 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180117 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6279780 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |