JP2016189105A - ストレージシステム - Google Patents

ストレージシステム Download PDF

Info

Publication number
JP2016189105A
JP2016189105A JP2015068778A JP2015068778A JP2016189105A JP 2016189105 A JP2016189105 A JP 2016189105A JP 2015068778 A JP2015068778 A JP 2015068778A JP 2015068778 A JP2015068778 A JP 2015068778A JP 2016189105 A JP2016189105 A JP 2016189105A
Authority
JP
Japan
Prior art keywords
data
storage device
node
storage
stored
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.)
Granted
Application number
JP2015068778A
Other languages
English (en)
Other versions
JP6770244B2 (ja
Inventor
正承 松浦
Masayoshi Matsuura
正承 松浦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2015068778A priority Critical patent/JP6770244B2/ja
Publication of JP2016189105A publication Critical patent/JP2016189105A/ja
Application granted granted Critical
Publication of JP6770244B2 publication Critical patent/JP6770244B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】記憶するデータの信頼性を維持しつつ、記憶コストを低下させることができるストレージシステムを提供する。【解決手段】ストレージシステム100は、複数の記憶装置110を備えており、記憶対象データを所定の記憶装置110に記憶すると共に、当該所定の記憶装置に記憶した記憶対象データと同一のデータを圧縮した圧縮データを、所定の記憶装置とは異なる記憶装置に記憶するデータ管理部101を備えた。【選択図】図22

Description

本発明は、ストレージシステムにかかり、特に、データの冗長性を維持して記憶するストレージシステムに関する。
データの冗長性を維持する方法として、データを多重に持ち、冗長なデータが失われてもデータを維持する方法があるこのような方法を使用した分散ストレージとして、GlusterFSのreplicated volumeがある。
また、データの冗長性を維持するストレージシステムとして、特許文献1に開示のものがある。このシステムでは、ファイルを少なくとも1つのチャンクに分割し、分割されたチャンクを複製して分散格納している。
特開2012−074039号
しかしながら、上述したようなストレージシステムでは、データの冗長性を維持するためにデータを多重化して記憶しているが、冗長分のデータを実際に格納する領域が必要となる。特に、データ領域が多く必要になればなるほど、ハードディスクドライブなど記憶媒体の容量が多く必要となる。その結果、記憶コストが上昇してしまう、という問題が生じる。
このため、本発明の目的は、記憶コストが上昇してしまう、という課題を解決することができるストレージシステムを提供することにある。
本発明の一形態であるストレージシステムは、
複数の記憶装置を備えており、
記憶対象データを所定の記憶装置に記憶すると共に、当該所定の記憶装置に記憶した記憶対象データと同一のデータを圧縮した圧縮データを、前記所定の記憶装置とは異なる記憶装置に記憶するデータ管理部を備えた、
という構成をとる。
また、本発明の一形態であるプログラムは、
複数の記憶装置を備えた情報処理装置に、
記憶対象データを所定の記憶装置に記憶すると共に、当該所定の記憶装置に記憶した記憶対象データと同一のデータを圧縮した圧縮データを、前記所定の記憶装置とは異なる記憶装置に記憶するデータ管理部、
を実現させる、
という構成をとる。
また、本発明の一形態であるデータ記憶方法は、
複数の記憶装置を備えたストレージシステムによるデータ記憶方法であって、
記憶対象データを所定の記憶装置に記憶すると共に、当該所定の記憶装置に記憶した記憶対象データと同一のデータを圧縮した圧縮データを、前記所定の記憶装置とは異なる記憶装置に記憶する、
という構成をとる。
本発明は、上述した構成をとることにより、記憶するデータの信頼性を維持しつつ、記憶コストを低下させることができる。
本発明のストレージシステムの全体構成を示す図である。 図1に開示したノードの構成を示す図である。 図2に開示したノードが備えるファイルシステムの構成を示す図である。 図2に開示したノードが備える分散ファイルシステムの構成を示す図である。 図1に開示したクライアントの構成を示す図である。 図5に開示したクライアントが備える分散ファイルシステムモジュールの構成を示す図である。 記憶するファイルの担当ノードを決定する方法を説明するための図である。 記憶するファイルの担当ノードを決定する方法を説明するための図である。 本発明におけるファイルを記憶するときの様子を説明するための図である。 本発明におけるファイルを記憶するときのデータ構造を説明するための図である。 本発明における各ノードに記憶されるデータの変化の様子を説明するための図である。 本発明における各ノードに対して記憶されるデータの配置を説明するための図である。 図10の状況からノードが追加されたときのデータの配置の変化を説明するための図である。 図10の状況からノードが追加されたときのデータの配置の変化を説明するための図である。 図10の状況からノードが追加されたときのデータの配置の変化を説明するための図である。 図10の状況からノードが削除されたときのデータの配置の変化を説明するための図である。 図10の状況からノードが削除されたときのデータの配置の変化を説明するための図である。 図10の状況からノードが削除されたときのデータの配置の変化を説明するための図である。 本発明のストレージシステムにおけるデータ書き込み時の動作を示すシーケンス図である。 本発明のストレージシステムにおけるデータ読み込み時の動作を示すシーケンス図である。 本発明のストレージシステムを構成するノードにおけるデータ書き込み時の動作を示すシーケンス図である。 本発明のストレージシステムを構成するノードにおけるデータ書き込み時の動作を示すシーケンス図である。 本発明のストレージシステムを構成するノードにおけるデータ読み込み時の動作を示すシーケンス図である。 本発明の付記1におけるストレージシステムの構成を示す図である。
本発明の第1の実施形態を、図1乃至図21を参照して説明する。図1乃至図6は、ストレージシステムの構成を説明するための図である。図7乃至図21は、ストレージシステムの動作を説明するための図である。
[構成]
本発明におけるストレージシステムは、分散ファイルシステムを形成している。図1は、ストレージシステムである分散ファイルシステムの外観図である。分散ファイルシステム(以下、「分散FS」ともいう。)は、複数のノード1〜3(3)が公開する記憶領域(Brick(1〜N))を1つにまとめて、クライアント2からは1つのファイルシステムとしてみせる記憶装置である。各ノード3をとりまとめた総体を、分散FSクラスタ1又はクラスタと本発明では呼ぶこととする。また、分散FSとして公開された記憶領域に対し、ファイルを格納し、読み出すコンピュータを、クライアント2と呼ぶこととする。
次に、分散FSクラスタ1を構成するノード3の構造を、図2、図3を参照して説明する。ノード3は、自身が持つ記憶装置の記憶領域をBrickとして設定する。分散FSクラスタ1にBrickを追加することで、その記憶領域をネットワーク上に公開する。本発明では、分散FSと一部FS以外の機能は、一般的なLinuxなどのUNIXが備えている機能を想定している。なお、分散FSの大枠も、一例として、GlusterFSと呼ぶ既存の分散FSを想定している。
なお、ノード3は、演算装置と記憶装置とを備えた情報処理装置(ストレージ装置)であり、演算装置がプログラムを実行することで、以下に説明する分散ファイルシステム31やファイルシステム32が実現される。そして、このような構成が、以下に説明するように、記憶装置に対するデータの書き込み、読み出しを制御するデータ管理部として機能する。
ノード3が備えるファイルシステム32は、一連のデータを二次記憶装置33上にファイルとして格納・管理できるようにする機能である。Linux上にはSXFSやext3など複数のファイルシステムが存在しており、本発明でもそれらの使用(符号322)を想定している。ただし、本発明では、さらに、図3に示すように、圧縮データ管理機構321と、エクテント管理構造体323に圧縮データか否かを判断する圧縮フラグ324と、を追加している。
圧縮データ管理機構321 は、書き込まれたデータが圧縮されたデータか否かを制御する。具体的には、XFSなどの既存ファイルシステムが使用するエクステント構造体323に圧縮、非圧縮を識別するためのフラグ324を追加し、書込み時にこのフラグ324をセットすることで実現される。なお、エクステント構造体323は、データの開始ブロック、サイズ、オフセットを持っている。
二次記憶装置33は、ファイルシステム32以下で、実際に記憶媒体にデータを記憶・読み出し行う。例えば、既存のSCSIドライバやHDD(磁気記憶装置)をそのまま流用できる。
ネットワーク機能34は、ethernetなどのネットワーク装置35を制御し、他のノードやクライアントとデータを送受信することができる機能である。本発明でも既存のTCP/IPの使用を想定している。
ネットワーク装置35は、ネットワーク回線を使い他のノードやクライアントとのやりとりを行うことができる装置である。本発明では、既存のethernetデバイスとその制御を行うethernetドライバを想定しているが、データ通信が行えるならばInfinibandなど他の装置を使用してよい。
ノード3が備える分散FS31の内部構造について、図4を用いて詳細に説明する。分散FS31は、分散FSクラスタ1を管理するためのノード管理機能42、クライアントからのアクセス要求を管理する分散ファイルアクセス機能43、データをノード内に格納するための制御を行う分散ファイルシステム管理機能44、分散ハッシュテーブル41(以下DHT)とそれを管理するDHT管理機能40、auditor45を有する。
分散FS31は、ファイルの分散管理のためにDHT41を持ち、それを管理するDHT管理機能40を有する。本発明では、DHT41をConsistency Hashing法で利用する。
そして、DHT41は、
種別フラグ:ハッシュ値:ハッシュコンテンツ
をエントリとして持つ表で実現できる。
上記種別フラグは、ハッシュの対象がファイルであるか、ノードであるかを区別するフラグである。種別フラグがノードの場合、ノードの識別情報から得られるハッシュ値をハッシュ値へ、ハッシュコンテンツへノードの識別情報を格納する。種別フラグがファイルの場合、ファイルのパス名から得られるハッシュ値をハッシュ値へ、ハッシュコンテンツにパス名を格納する。
また、DHT管理機能40は、DHT41を使って次の機能を提供する。
・ファイルのパス名からハッシュ値を算出する機能:
Hash(path_name) = SHA1(path_name)
具体的な算出方法:
ファイルのパス名をpath_nameとしたとき、ハッシュ関数の一例として本発明ではSHA1を用いてハッシュ値Hath(path_name) を計算し、計算した値をHash(path_name)とする。
・ハッシュ値から担当するノードのハッシュ値を算出する機能:
OwnerNodeHash(path_name)
具体的な算出方法:
ファイルのパス名のハッシュ値を得たのち、DHTを元にConsistency Hashing法で担当するノードを確定し、そのハッシュ値を得る。
・ノードのハッシュ値を得る機能:
NodeHash(node_info)
具体的な算出方法:
ノードの識別子(例えばノードが使用する通信のソースIPアドレス、ソースポート番号を組み) をキーにしてハッシュ値を計算する。IPアドレス、ポート番号の他にノードを識別する手段があればそれを代わりに使用してもよい。
・ノードのハッシュ値から担当ノードの情報を提供する機能:
NodeInfo(hash_no)
具体的な算出方法:
hash_noをキーにしてDHTを検索する。種別がノードでハッシュ値にhash_noを持つエントリが存在すれば、そのエントリが該当の担当ノードである。ハッシュコンテンツ内のノード情報(IPアドレス、ポート番号) を返却する。
・ノードのハッシュ値から次の担当ノードのハッシュ値を算出する機能:
NextNodeHash(hash_no)
具体的な算出方法:
hash_no +1をキーにして後方に向かってDHTを検索する (OwnerNodeHash(hash_no + 1) と同義)。該当する担当ノードが次の担当ノードなのでそのハッシュ値を返却する。
・ノードのハッシュ値から前方の担当ノードのハッシュ値を算出する機能:
PrevNodeHash(hash_no)
具体的な算出方法:
hash_no -1をキーに前方に向かってDHTを検索する。なお、検索の方向は、ハッシュ値が大きくなる方向を後方と呼ぶ。小さくなる方向を前方と呼ぶ。種別がノードで最初に検出したノードが前方の担当ノードなので、そのハッシュ値を返却する。
ノード管理機能42は、分散FSクラスタ1として必要な、他のノードの識別情報をDHT管理機能40を経由して保存する。IPアドレス、通信ポートを元にノードのハッシュ値を計算し、DHT管理機能40を使ってDHT41へノードの登録(種別フラグ:ノード、計算したハッシュ値、コンテンツ情報:ノードの識別情報) を行う。
通信の高速化のため、ノード管理機能42に別途通信に必要な情報を管理していてもよい。その場合
ノードのハッシュ値:ノード識別情報(IPアドレス:ポート番号)
のように、ファイルのハッシュ情報を除去したテーブルで管理でき、ノード情報検索の高速化が期待できる。
分散FS31の他ノードの情報は、ノード3が分散FSクラスタ1に参加する際に、ネットワーク通信によりノード情報をクラスタ全体でシェアする。
分散ファイルアクセス機能43は、ネットワーク経由で受け取ったクライアントからの分散FSへのアクセス要求を制御し、応答を返す機能である。以下の機能を有する。
・ファイルのパス名からDHT管理機能40を使い、ファイルのハッシュ値を得る。次にファイルのハッシュ値とオフセットから自ノードが担当するChunkデータか否かを判断する機能
・自ノードが該当Chunkを担当する場合、ファイルのパス名に応じて、下位レイヤのファイルシステムを使い、スパースファイルとしてデータを格納する機能、またはデータを読出す機能
・自ノードが冗長化データを格納する対象か否かを判断する機能
・自ノードが冗長化データを格納する対象だった場合、ファイルのパス名に応じ、下位レイヤのファイルシステムを使って、スパースファイルとしてデータを格納・読出す機能
分散ファイルシステム管理機能44は、データをノード上に格納する機能である。下位レイヤのファイルシステムへスパースファイルとしてChunkデータを格納したり、格納されたChunkデータを読み出したりする。
auditor45は、ファイル(Chunkデータ)の正常性の確認や、冗長性の回復で用いる。詳細は、動作説明の箇所で記載する。
次に、クライアント2の構造について図5を用いて説明する。クライアント2は、情報処理装置であり、分散FSへファイルの読み書きを行うアプリケーションプログラム26と、プログラムからの要求に応じて計算機を制御するOS27と、を備えている。なお、これらの機能は、クライアント2が備える演算装置がプログラムを実行することで実現される。本発明では、一例としてLinuxなどの一般的なOS内部のファイルシステムに、本発明の分散FSへのアクセスを行うためのモジュール21を組み込むが、OS外部に配置しアプリケーションプログラムと連携してデータアクセスすることも可能である。
次に図6を参照して、クライアント2に持たせた分散FSモジュール21について説明する。分散FSモジュール21は、分散FSクラスタ1へのアクセスを行う分散ファイルアクセス機能52とDHT51を含むDHT管理機能50を持ち、分散FSクラスタ1が持つ機能の必要最小限のみ利用する。つまり、クライアント2は、上述したノード3と同等の機能をもち、以下に説明するように、記憶装置に対するデータの書き込み、読み出しを制御するデータ管理部として機能する。
[動作]
次に、上述した構成の動作を説明する。本発明では、データの冗長性を確保したうえで、データを分散FSクラスタ1内の複数のノード3に分散して格納する。具体的には、次のような形でデータを保存する。
まず、ファイルを分散格納する際のデータ配置について、概略を説明する。ファイルを分散配置するために、本発明では、Consistency Hashing法を用いる。ここで、Consistency Hashing法について、図7A及び図7Bを参照して説明する。
まず、ハッシュ空間をノード数に関連した値の剰余で、分割して管理する方法を考える。このような場合には、ノード数が変化した場合に剰余が変化してしまうため、全体の担当範囲が変わってしまう。もしこの方法をキャッシュに利用していた場合、キャッシュが全て無効化されてしまい著しい速度低下を及ぼしてしまう。これを防ぐアイディアとしてConsistent Hashingと呼ぶ方法が提案されている。
ここで、SHA-1のハッシュ空間は、0以上2の160乗より小さい値であるが、これを図7Aに示すように、円周上に配置する。ある特別なハッシュ値A,Bが存在したとき、Bの担当範囲をA<x, x≦B (0≦ x ≦ 2^160 -1) と定める。ただしAが2^160 -1より大きく、Bが0≦B<A の関係の場合は、A<x, x<2^160 -1 または 0<x, x<Bの値を担当範囲とする。例えば、図7Aの例では、円環上に配置されたIDは、右回りに担当していく。ノードに対してA, Bを割り当て、データを識別するIDにハッシュ値を使うと、データの担当範囲が決定できる。
ここで、ノードが追加された場合、加わったA, Bの範囲を分割する形で担当範囲を変更でき、他の部分に対しては影響を与えない。また、図7Bに示すように、ノードが削減された場合は、削減されたノードに対応するIDがBとして、Bの隣のCへ担当範囲が拡大するが、全体には波及せず、局所的な影響に留まる。
上述したようなConsistency Hashing法を用いて、本発明では、まず、各ノード3間でハッシュ空間を分割する。つまり、ここでは、複数のノード3を、ハッシュ値が小さい順に順序付けて管理する。そして、記憶対象データであるファイルを分割した分割データをハッシュ空間に配置する。つまり、複数のノード3間に、それぞれ分割データを配置する。このようなハッシュ空間での配置状況において、自ノード3のハッシュ値よりも前(小さいハッシュ値)の分割データを自ノードの担当とする。つまり、分割データから特定の方向に向かって一番目に位置するノード3を、分割データを格納する担当とする。さらに、自ノード3の次のノードに分割データの冗長データを保存するようにする。これにより、ノードダウン時にもデータが取得できるようになる。
具体的には、全体として以下のように動作する。なお、以下では、クライアント2がデータの格納先となるノードを決定しているが、同様の処理をノード3が実行することも可能である。
まず、クライアント2は、記憶対象となるファイルのパス名からハッシュ値を計算する。また、算出したハッシュ値からConsistency Hashing法でファイルの担当ノードを算出する。そして、クライアント2は、図8Aに示すように、ファイルをある一定のサイズ(Chunkサイズ単位)に分割する。
続いて、図8Aに示すように、ファイルの担当ノードを「0」として、Consistency Hashing法の並びで順にChunkサイズに分割したデータを、スパースファイルとして保存する。つまり、ChunkごとにChunkの担当ノードを割り振る。ここでは、ファイルのハッシュ値から、先頭の分割データの担当ノードを「0」とした場合に、後続の各分割データの担当ノードは、一つずつ後ろにずらすこととする。続いて、クライアント2は、Consistency Hashing法の並びの順の方向に沿って、担当ノードの隣のノード「1」に対して、Chunkサイズに分割したデータを圧縮した冗長データを、スパースファイルとして保存する。つまり、圧縮した冗長データを、1つずつノードをずらして格納する。なお、図8Aでは、圧縮した冗長データを斜線で示している。
このように、本発明では、冗長化するデータはデータ圧縮を行い、必要な記憶領域を減らしている。なお、chunkのデータ圧縮は、元のデータ列に復元できるのであれば手法を問わないので、既存のデータ圧縮方法を用いればよい。
なお、図8Aでは、表記のため非圧縮データ列と圧縮データ列を並べているが、スパースファイル上では、図8Bのように、間をあけてデータを格納する。なお、圧縮データが元データ列よりも大きなサイズとなる場合は、圧縮データとして保存しない。格納したデータが圧縮されたものか否かは、エクステント管理データへフラグを追加し、判別できるようにする。
ここで、スパースファイルについて説明する。スパース(Sparse)ファイルは、データとデータの間に書込みがないスペースが存在するファイルである。実際に書込みがない領域にディスクを割り当てないため、ディスク(記憶装置)の容量を減らすことができる。
次に、分散FSクラスタ1を構成するノード3になんらかの異常が発生しダウンし、復旧する場合を、図9を参照して説明する。
図9における時刻t0は、ノードNに異常が発生する前であり、ノードN, N+1とも正常な状態である。あるChunkに着目し、データ状態をAとし、圧縮した形をA’と記している。
時刻t1は、ノードNに異常が発生しダウンした状態を示す。この状態ではノード(N+1)にAを圧縮したA’が保存されており、それを使うことでデータ参照が可能である。
時刻t2で、ノードNがダウン中に、Chunkが更新されたとする。このとき、ノードNはダウン中のため更新できないが、ノード(N+1)は、更新された(A+1)を圧縮した(A+1)’を保存する。
時刻t3は、ノードNが復旧に成功した状態である。この状態ではノードNが持つ情報がノード(N+1)よりも古く、そのままノードNの情報を読み出す場合は問題となる。このため、本発明では、いかに説明するようにして、ノード(N+1)にある新しいデータを読み出す。
クライアント2は、データを参照する際、上述同様に、ファイルのハッシュ値からChunkの担当ノードを算出し、担当ノードNにアクセスして、データの更新時刻情報を取得する。次に、ノードNの次のノード(N+1)にもアクセスし、ノードNと同じようにデータの更新時刻情報を入手する。
そして、クライアント2は、両ノードの更新時刻情報を比較し、より新しい方のノードに対して、データの取得を要求して取得する。このようにすることで、ラグによる不一致を避けることが可能となる。
時刻t4は、次に新しい更新が発生した状態である。
次に、分散FSクラスタ1へノード3を追加した場合を説明する。まず、Consistency Hashing法で、一部ハッシュ空間を一部切り出し、ノード(N−1,N,N+1)及びChunk(D1,D2,D3)の配置を示したものが図10である。この図において、Chunkの非圧縮データの担当ノードを上部実線矢印、圧縮データ(冗長データ)の担当ノードを下部点線矢印で示している。なお、以下に説明するデータ格納位置の移動は、ノード3の機能によって実現される。
この状態から分散FSクラスタ1へノード3を追加すると、図11のようになる。ここでは、ChunkD2とChunkD3との間に、ノードN’を追加した場合を考える。この場合、ChunkD2については、非圧縮データ及び圧縮データの担当が移動することとなるまた、ChunkD1については、圧縮データの担当が移動することとなる。つまり、非圧縮データに関しては、ノード(N-1)から追加したノードN’までの区間のChunkが担当になるが、影響する区間は最大で追加される区間(図11では、ノード(N-1)とノードNの間)内に収まる。圧縮データに関しては、ノードN’の次のノードNが担当していたものが全てノードN’の担当となる。
ここで視点を変えて、あるChunkデータに着目すると、非圧縮データの前にノードが追加される場合と、圧縮データの前にノードが追加される場合に分類できる。つまり、図11の例では、ChunkD2の場合とChunkD1の場合で分類できる。
まず、非圧縮データの隣にノードが追加された場合、つまり、図11ではChunkD2に着目した場合が、図12となる。
時刻t0は、追加ノードN'がクラスタに登録された直後の状態を示す。この時はまだ、ChunkD2に対応するデータがノードN'には存在していない。データの更新を行わないとノードN'にはデータが持てない。
時刻t1は、ChunkD2に対し更新された(A→A+1)ことを表している。最初に非圧縮データの担当ノードN'に更新がなされる。つまり、ノードが追加されることにより、ハッシュ空間においてハッシュ値が大きくなる方向にChunkに対して一番目に位置することとなったノードN'に、ChunkD2を格納することとなる。
時刻t2は、ノードNに対し圧縮データが更新されたことを表している。つまり、ノードが追加されることにより、ハッシュ空間においてハッシュ値が大きくなる方向にChunkに対して二番目に位置することとなったノードNに、ChunkD2の圧縮データ(冗長データ)を格納することとなる。なお、非圧縮データと圧縮データのみやりとりする形態では、ノード(N+1)に以前格納したデータが残存し、データ量を減らすのに邪魔する事が分かる。本発明では、次のようにしてこの問題を克服する。
auditor45と呼ぶ機能を用意する。auditor45は、起動してから一定時間経過すると、自身が格納しているデータをチェックし、非圧縮データ、圧縮データの担当から外れているものを検出すると、そのChunkのデータを破棄する。図12では、時刻t3にて、ノード(N+1)に記憶されているA'が削除される。つまり、圧縮データA'は、時刻t2のときにノードNに記憶し直しているため、かかるデータA'は不要となり、削除する。なお、このとき、ノードNに、ノードN'に記憶し直した更新前の非圧縮データAが残っている場合には、当該非圧縮データAをauditor45で削除してもよい。
なお、auditor45のような形態をとらずに、影響する範囲をすべて移動し終えておく方法も考えられる。この方法では、データの冗長性を保ったままノードを追加することが可能だが、データのコピーなどを行うまでの間、クラスタに参加できない問題を抱える。負荷分散を直ちに行いたい場合に支障が出るため、本発明ではauditor45による方法を用いることが望ましい。
次に、圧縮データの前に追加された状態、つまり、図11ではChunkD1に着目した場合が、図13となる。
時刻t0は、ノードN'が追加された直後を示す。この時はまだ、ChunkD1に対応するデータがノードN'には存在していない。データの更新を行わないとノードN'にはデータが持てない。
時刻t1は、ChunkD1に対しデータ更新が行われた(A→A+1)状態を示す。ノード(N-1)が担当なのでA+1と状態を更新している。
時刻t2は、圧縮データを次のノードN'へ格納した状態を示す。つまり、ノードが追加されることにより、ハッシュ空間においてハッシュ値が大きくなる方向にChunkに対して二番目に位置することとなったノードN'に、ChunkD1の圧縮データ(冗長データ)を格納することとなる。
ここで、この格納パターンでは、上述した場合とは異なり、非圧縮データが前のノードNへ残ってしまい、記憶領域の削減に問題があることが分かる。この問題も上述同様に、auditor45を用意することで回避できる。つまり、時刻t3にてノードNのA'を削除する。
次に、分散FSクラスタ1からノード3を削除する事を考える。分散FSクラスタへのノード追加と同様に、ノードの削除を行った場合は、図10の状態から図14のように推移する。この場合、非圧縮データに関しては、ノード(N-1)から削除したノードNまでの区間の担当がノード(N+1)となる。ノード(N+1)にとっては、ノード(N-1)からノードNまでの区間の担当が増える。圧縮データに関しては、ノードNが担当していたものが全てノード(N+2)の担当へ変更される。
ノードの削除においても、あるChunkに着目した場合に、非圧縮データの隣のノードが削除される場合と、圧縮データの隣のノードが削除される場合とで分類できる。ここで視点を変えて、あるChunkデータに着目すると、非圧縮データの前に削除される場合と、圧縮データの前に削除される場合に分類できる。つまり、図11の例では、ChunkD2の場合とChunkD1の場合で分類できる。
なお、ノードのダウン状態とクラスタの登録削除は異なるのは、登録削除ではDHTからノード情報を削除することにあり、非圧縮データ、圧縮データとも書込みができる状態になっていることである。
図15は、非圧縮データの前のノード、つまり、ChunkD2に着目した場合を示している。
時刻t0は、ノードNを分散FSクラスタから削除する前の状態である。
時刻t1は、ノードNを分散FSクラスタから削除した状態である。
時刻t2は、着目するChunkD2に対し更新を行った(A→A+1)状態であり、この場合には、ノード(N+1)に非圧縮データが格納される。つまり、ノードが削除されることにより、ハッシュ空間においてハッシュ値が大きくなる方向にChunkに対して一番目に位置することとなったノード(N+1)に、ChunkD2を格納することとなる。
時刻t3は、圧縮データ(A+1)'の書き込みも終了した状態であり、この場合には、ノード(N+2)に圧縮データが格納される。つまり、ノードが削除されることにより、ハッシュ空間においてハッシュ値が大きくなる方向にChunkに対して二番目に位置することとなったノード(N+2)に、ChunkD2の圧縮データを格納することとなる。
なお、分散FSクラスタからのノード削除は、ノード追加とは異なり、データが残ってしまう問題は発生しない。
図16は、圧縮データの前のノードN、つまり、ChunkD1に着目した場合を示している。
時刻t0は、ノードNを分散FSクラスタから削除する前の状態である。
時刻t1は、ノードNを分散FSクラスタから削除した状態である。
時刻t2は、着目するChunkD1に対し更新を行った状態である。非圧縮データの担当ノードであるノード(N-1)上で、データが更新される。
時刻t3は、圧縮データ(A+1)'の書き込みも終了した状態である。圧縮データの担当ノードがノード(N+1)に移動するので、ノード(N+1)上に圧縮データが格納される。つまり、ノードが削除されることにより、ハッシュ空間においてハッシュ値が大きくなる方向にChunkに対して二番目に位置することとなったノード(N+1)に、ChunkD1の圧縮データを格納することとなる。
なお、このパターンでも、上述同様にデータが残る問題は発生しない。つまり、分散FSクラスタからのノード削除ではノード追加とは異なりデータが残る問題が発生しないことが分かる。
上記までの概要を踏まえ、個々のコンポーネントの動作を詳細に説明する。
まず、分散FSクラスタ1へのクライアント2のマウントについて説明する。クライアント2は、分散FS領域をマウントすることで、ファイルがアクセス可能となる。マウントを行った時、ノード3からDHTのコピーを行う。なお、本実施形態では、クライアント2側でノード3を選択し分散アクセスできるようにしているが、指定したノード3から宛先を教えてもらう分散方法も考えられる。
分散FSクラスタ1のクライアント2のデータアクセス動作について、図17及び図18を参照して説明する。データアクセスは、クライアント2のアプリケーションがファイル参照・書込みを行うことが起点となる。アプリケーション26からOS27へ書込み要求・読込み要求は発行され、OS27内部の分散FSモジュール21では以下のように動作する。
クライアント2は、まずファイルのパス名からファイルに対するハッシュ値Hash(path_name)を分散FSモジュール21で算出する(図17のステップS1,(図18のステップS11)。そして、ファイルのハッシュ値から担当ノードのハッシュ値OwnerNodeHash(path_name)を取得する。
ファイルの読み出し、書込み位置がオフセットとなる。オフセットを一定のサイズ(Chunk)で割り、操作対象のChunkを算出する。取得したOwnerNodeHash(path_name)をChunk数分NextNodeHash() を実行し、該当Chunkの担当ノードのハッシュ値を得る。また、通信のためそのハッシュ値をキーにNodeInfo(hash_no) を実行し、IPアドレスとポート番号を取得する(図17のステップS2,図18のステップS12)。
該当Chunkの担当ノードの次のノード情報を得るためNextNodeHash() を該当Chunkの担当ノードをキーにして実行し、ノードのハッシュ値を得る。また通信のためそのハッシュ値をキーにNodeInfo(hash_no) を実行し、IPアドレスとポート番号を取得する(図17のステップS2,図18のステップS12)。
続いて、該当Chunkの担当ノードと通信し、読み込み、書込み要求を行う。書込み要求の場合、まず、該当Chunkの担当ノードに対し、非圧縮のデータを書込み要求する(図17のステップS3)。また、該当Chunkの担当ノードの次のノードに対し、圧縮したデータの書込み要求を行う(図17のステップS5)。上記の書き込み要求に対して、書込み完了通知が返ってこなかったら、書込み要求元のアプリケーションに対し、書込みエラーを返却する。エラーにならなかった場合は、書込み完了を通知する(図17のステップS4,S6)。
読込み要求の場合は、まず、該当Chunkの担当ノードに対し、更新日付の情報を要求する(図18のステップS13)。もし一定時間経過してもノードからの応答がなかった場合、更新日付を最も古い値とする。
該当Chunkの担当ノードの次のノードに対し、更新日付の情報を要求する(図18のステップS15)。もし一定時間経過してもノードからの応答がなかった場合、更新日付を最も古い値をとする。
両ノードから得た更新日付を比較し(図18のステップS14,S16,S17)、より新しい更新日付を持つノードに対し、読込み要求を行う(図18のステップS18)。もし同じ値であれば、Chunkの担当ノードを優先すればよいが、応答時間を計測しておきより速いノードに対し要求を行ってもよい。
応答としてデータが返ってきたら(図18のステップS19)、読込み要求元のアプリケーションへデータを返却する。もし一定時間経過してもノードから応答が返ってこなかったら、読込み要求元のアプリケーションへ読込みエラーを返却する。
次に、分散FSクラスタに参加するノードの動作を説明する。対象のハッシュ値とデータの開始位置から、自分が担当するデータか、それとも冗長データに対する要求なのかが分かる。そのため以下のように制御する。
まず、分散FSへの書込みについて、図19、図20を参照して説明する。クライアント2から書き込み要求を受けると(図19のステップS21,図20のステップS31)、ファイルのパス名やオフセットから自身が非圧縮データあるいは圧縮データを格納する担当であるか否かを判定する(図19のステップS22,図20のステップS32)。書き込み要求を受けた格納される側(ノード側)が該当Chunkの担当であれば(図19のステップS23でYes,図20のステップS33でYes)、ノード3の分散ファイルアクセス機能43は要求を受け付ける。もし担当外であれば(図19のステップS23でNo,図20のステップS33でNo)、分散ファイルアクセス機能43は書込みエラーを返す(図19のステップS28,図20のステップS39)。
分散ファイルアクセス機能43が要求を受け付けた場合、次に分散ファイルシステム管理機能44を通して、ノード内にデータを格納する。自身が非圧縮データの担当ノードであれば、ファイルシステムへスパースファイルとしてデータを書込む(図19のステップS24)。書込みが失敗したら(図19のステップS25でNo)、クライアントへエラーを返す(図19のステップS28)。圧縮データの担当ノードの場合、データを圧縮し(図20のステップS34)、圧縮したデータをスパースファイルとして書込む(図20のステップS35)。もし書込みが失敗したら(図20のステップS36でNo)、クライアントへエラーを返す(図20のステップS39)。
書き込みが成功した場合には、関連するエクステント323の圧縮フラグ324を設定し(図19のステップS26,図20のステップS37)、圧縮データであるかどうかが分かるようにする。最後にクライアントに対し書込み完了通知を行う(図19のステップS27,図20のステップS38)。
次に、分散FSへの読込み要求について、図21を参照して説明する。クライアント2から読み込み要求を受けると(図21のステップS41)、ファイルのパス名やオフセットから自身が担当であるか否かを判定する(図21のステップS42)。読み込み要求を受けた側(ノード側)が該当Chunkの担当であれば(図21のステップS43でYes)、ノード3の分散ファイルアクセス機能43は要求を受け付ける。もし担当外であれば(図21のステップS43でNo)、分散ファイルアクセス機能43は書込みエラーを返す(図21のステップS48)。
分散ファイルアクセス機能43が要求を受け付けた場合、要求されたChunkデータを持っているか確認する(図21のステップS44)。持っていない場合も(図21のステップS45でNo)、エラーをクライアントへ返却する(図21のステップS48)。データを持っている場合は(図21のステップS45でYes)、指定領域のデータを分散ファイルシステム31へ取り出す。このとき、本発明では、ファイルシステムで使用するエクステント323に対し、圧縮、非圧縮を判別するフラグ324を追加している。この追加により、エクステント323が指す領域が圧縮されたデータなのか、それとも非圧縮のデータなのかが分かる。エクステント323の圧縮フラグ324を確認し、もし圧縮フラグがONになっていたら、取り出したデータは圧縮データのため展開を行って通常データに戻す。フラグがOFFのままであれば、展開動作は行わない(図21のステップS46)。
そして、要求元のクライアントに対し、分散ファイルアクセス機能43から、取り出したデータを転送する(図21のステップS47)。
次に、分散FSクラスタ1へのノードの追加・除去動作について説明する。追加削除の方法自体については、既存技術を流用できる。
ノードの追加の際には、まず、追加したい分散FSクラスタを構成するノードへログインし、ノードAの追加要求を行う。DHT管理機能40にて既に登録済みか確認する。登録済みであれば何もしない(以下の作業を行わない)。
ノードのハッシュ値とノードの識別情報をDHT41へ格納する。DHT管理機能40から、他のノード情報を得る。ノード管理機能42を使い、他のノードに対し新規ノードが追加されたことを通知する。通知されたノードは、新しいノード情報を登録する。これを分散FSクラスタを構成するすべてのノードに対し繰り返す。
以上のようにしてノードが追加されると、必要に応じて、図11から図13を参照して説明したように、Chunkの非圧縮データや圧縮データの格納先の変更処理が行われる。
次に、ノードの削除動作を説明する。削除したい分散FSクラスタを構成するノードへログインし、ノードAの削除要求を行う。DHT管理機能40にて該当のノード(ノードA)が登録されているか確認する。登録されていなければ以降の作業を行わない。
DHT管理機能40は、該当するノード情報含むエントリをDHT41から削除する。DHT管理機能40から、他のノード情報を得る。ノード管理機能42を使い、他のノードに対し削除要求されたことを通知する。通知されたノードは、該当のノード情報をDHT41から削除する。これを分散FSクラスタを構成するすべてのノードに対し繰り返す。
以上のようにしてノードが削除されると、必要に応じて、図14から図16を参照して説明したように、Chunkの非圧縮データや圧縮データの格納先の変更処理が行われる。
次に、ノードの起動時の動作を説明する。ノードが起動すると、分散FSクラスタに登録されているか確認する。登録されていた場合、分散FSクラスタのノードとして設定を行う。ノード管理機能42にある通信サービス用のプログラムを起動する。分散ファイルアクセス機能43にあるファイルアクセスのために通信するサービスプログラム(待ち受けデーモン)を起動する。auditor45を起動する。
次に、auditor45の動作を説明する。auditorプログラムが起動されるとまずは一定時間待機を行う。待機後、自ノードのハッシュ値をNodeHash()を使い得る。分散ファイルシステム管理機能44を使って、スパースファイルのチェックを行う。0より大きなファイルを見つけた場合でかつ自ノードが非圧縮や圧縮の担当ノードでない場合、該当Chunkデータを削除し保存領域を解放する。
auditor45は次の担当ノードへ該当ファイルの圧縮されたChunkデータの更新日付を確認する。もし自ノードよりも新しければ、次の担当ノードから圧縮されたChunkデータを転送し、非圧縮データとして保存する(冗長性を回復する)。
以上のように、本発明によると、記憶するデータの冗長性を保ったまま、実際に格納に要するデータ量を削減できる。この結果、必要とする二次記憶容量が減少し、記憶装置といったハードウェアコストを引き下げることができる。
<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明におけるストレージシステム(図22参照)、プログラム、データ記憶方法の構成の概略を説明する。但し、本発明は、以下の構成に限定されない。
(付記1)
複数の記憶装置を備えたストレージシステムであって、
記憶対象データを所定の記憶装置に記憶すると共に、当該所定の記憶装置に記憶した記憶対象データと同一のデータを圧縮した圧縮データを、前記所定の記憶装置とは異なる記憶装置に記憶するデータ管理部を備えた、
ストレージシステム。
(付記2)
付記1に記載のストレージシステムであって、
前記データ管理部は、前記記憶対象データを複数の分割データに分割し、当該各分割データを各記憶装置に分散して記憶すると共に、所定の記憶装置に記憶した前記分割データと同一のデータを圧縮した圧縮データを、当該所定の記憶装置とは異なる記憶装置に記憶する、
ストレージシステム。
(付記3)
付記2に記載のストレージシステムであって、
前記データ管理部は、複数の記憶装置を順序付けて管理し、当該順序付けられた前記各記憶装置の間に前記各分割データがそれぞれ位置するよう設定されており、前記分割データの位置に対して特定方向に沿った順序で一番目に位置する記憶装置に当該分割データを格納し、当該一番目に位置する記憶装置からさらに特定方向に沿った順序で二番目に位置する記憶装置に、前記一番目に位置する記憶装置に記憶した前記分割データと同一のデータを圧縮した圧縮データを記憶する、
ストレージシステム。
(付記4)
付記3に記載のストレージシステムであって、
前記データ管理部は、所定の順序の位置に前記記憶装置が追加されることにより、当該追加された記憶装置が前記分割データの位置に対して特定方向に沿った順序で一番目に位置することとなった場合に、当該分割データを当該追加された記憶装置に記憶し、当該分割データの位置に対して特定方向に沿った順序で二番目に位置する記憶装置に、当該分割データと同一のデータを圧縮した圧縮データを記憶する、
ストレージシステム。
(付記5)
付記3又は4に記載のストレージシステムであって、
前記データ管理部は、所定の順序の位置に前記記憶装置が追加されることにより、当該追加された記憶装置が前記分割データの位置に対して特定方向に沿った順序で二番目に位置することとなった場合に、当該分割データと同一のデータを圧縮した圧縮データを、当該追加された記憶装置に記憶する、
ストレージシステム。
(付記6)
付記4又は5に記載のストレージシステムであって、
前記データ管理部は、前記記憶装置が追加されることにより、別の記憶装置に記憶しなおした前記分割データ及び/又は前記圧縮データを、記憶しなおす前に記憶されていた記憶装置から削除する、
ストレージシステム。
(付記7)
付記3乃至6のいずれかに記載のストレージシステムであって、
前記データ管理部は、所定の順序に位置する前記記憶装置が削除された場合に、当該削除された記憶装置に記憶されていた前記分割データを、当該分割データの位置に対して特定方向に沿った順序で一番目に位置することとなった記憶装置に記憶し、当該分割データの位置に対して特定方向に沿った順序で二番目に位置することとなった記憶装置に、当該分割データと同一のデータを圧縮した圧縮データを記憶する、
ストレージシステム。
(付記8)
付記3乃至7のいずれかに記載のストレージシステムであって、
前記データ管理部は、所定の順序に位置する前記記憶装置が削除された場合に、当該削除された記憶装置に記憶されていた前記圧縮データを、当該圧縮データに対応する前記分割データの位置に対して特定方向に沿った順序で二番目に位置することとなった記憶装置に記憶する、
ストレージシステム。
(付記9)
複数の記憶装置を備えた情報処理装置に、
記憶対象データを所定の記憶装置に記憶すると共に、当該所定の記憶装置に記憶した記憶対象データと同一のデータを圧縮した圧縮データを、前記所定の記憶装置とは異なる記憶装置に記憶するデータ管理部、
を実現させるためのプログラム。
(付記9.1)
付記9に記載のプログラムであって、
前記データ管理部は、前記記憶対象データを複数の分割データに分割し、当該各分割データを各記憶装置に分散して記憶すると共に、所定の記憶装置に記憶した前記分割データと同一のデータを圧縮した圧縮データを、当該所定の記憶装置とは異なる記憶装置に記憶する、
プログラム。
(付記9.2)
付記9.1に記載のプログラムであって、
前記データ管理部は、複数の記憶装置を順序付けて管理し、当該順序付けられた前記各記憶装置の間に前記各分割データがそれぞれ位置するよう設定されており、前記分割データの位置に対して特定方向に沿った順序で一番目に位置する記憶装置に当該分割データを格納し、当該一番目に位置する記憶装置からさらに特定方向に沿った順序で二番目に位置する記憶装置に、前記一番目に位置する記憶装置に記憶した前記分割データと同一のデータを圧縮した圧縮データを記憶する、
プログラム。
(付記10)
複数の記憶装置を備えたストレージシステムによるデータ記憶方法であって、
記憶対象データを所定の記憶装置に記憶すると共に、当該所定の記憶装置に記憶した記憶対象データと同一のデータを圧縮した圧縮データを、前記所定の記憶装置とは異なる記憶装置に記憶する、
データ記憶方法。
(付記10.1)
付記10に記載のデータ記憶方法であって、
前記記憶対象データを複数の分割データに分割し、当該各分割データを各記憶装置に分散して記憶すると共に、所定の記憶装置に記憶した前記分割データと同一のデータを圧縮した圧縮データを、当該所定の記憶装置とは異なる記憶装置に記憶する、
データ記憶方法。
(付記10.2)
付記10.2に記載のデータ記憶方法であって、
複数の記憶装置を順序付けて管理し、当該順序付けられた前記各記憶装置の間に前記各分割データがそれぞれ位置するよう設定されており、前記分割データの位置に対して特定方向に沿った順序で一番目に位置する記憶装置に当該分割データを格納し、当該一番目に位置する記憶装置からさらに特定方向に沿った順序で二番目に位置する記憶装置に、前記一番目に位置する記憶装置に記憶した前記分割データと同一のデータを圧縮した圧縮データを記憶する、
データ記憶方法。
なお、上述したプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されている。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
以上、上記実施形態等を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることができる。
1 分散ファイルシステムクラスタ
2 クライアント
21 分散ファイルシステムモジュール
22 ファイルシステム
23 二次記憶装置
24 ネットワーク
25 ネットワーク装置
26 アプリケーションプログラム
27 OS
3 ノード
31 分散ファイルシステム
32 ファイルシステム
33 二次記憶装置
34 ネットワーク
35 ネットワーク装置
321 圧縮データ管理機構
322 ファイルシステム機構
323 エクステント
324 圧縮フラグ
40 DHT管理機能
41 DHT
42 ノード管理機能
43 分散ファイルアクセス機能
44 分散ファイルシステム管理機能
45 auditor
50 DHT管理機能
51 DHT
52 分散ファイルアクセス機能
100 ストレージシステム
101 データ管理部
110 記憶装置

Claims (10)

  1. 複数の記憶装置を備えたストレージシステムであって、
    記憶対象データを所定の記憶装置に記憶すると共に、当該所定の記憶装置に記憶した記憶対象データと同一のデータを圧縮した圧縮データを、前記所定の記憶装置とは異なる記憶装置に記憶するデータ管理部を備えた、
    ストレージシステム。
  2. 請求項1に記載のストレージシステムであって、
    前記データ管理部は、前記記憶対象データを複数の分割データに分割し、当該各分割データを各記憶装置に分散して記憶すると共に、所定の記憶装置に記憶した前記分割データと同一のデータを圧縮した圧縮データを、当該所定の記憶装置とは異なる記憶装置に記憶する、
    ストレージシステム。
  3. 請求項2に記載のストレージシステムであって、
    前記データ管理部は、複数の記憶装置を順序付けて管理し、当該順序付けられた前記各記憶装置の間に前記各分割データがそれぞれ位置するよう設定されており、前記分割データの位置に対して特定方向に沿った順序で一番目に位置する記憶装置に当該分割データを格納し、当該一番目に位置する記憶装置からさらに特定方向に沿った順序で二番目に位置する記憶装置に、前記一番目に位置する記憶装置に記憶した前記分割データと同一のデータを圧縮した圧縮データを記憶する、
    ストレージシステム。
  4. 請求項3に記載のストレージシステムであって、
    前記データ管理部は、所定の順序の位置に前記記憶装置が追加されることにより、当該追加された記憶装置が前記分割データの位置に対して特定方向に沿った順序で一番目に位置することとなった場合に、当該分割データを当該追加された記憶装置に記憶し、当該分割データの位置に対して特定方向に沿った順序で二番目に位置する記憶装置に、当該分割データと同一のデータを圧縮した圧縮データを記憶する、
    ストレージシステム。
  5. 請求項3又は4に記載のストレージシステムであって、
    前記データ管理部は、所定の順序の位置に前記記憶装置が追加されることにより、当該追加された記憶装置が前記分割データの位置に対して特定方向に沿った順序で二番目に位置することとなった場合に、当該分割データと同一のデータを圧縮した圧縮データを、当該追加された記憶装置に記憶する、
    ストレージシステム。
  6. 請求項4又は5に記載のストレージシステムであって、
    前記データ管理部は、前記記憶装置が追加されることにより、別の記憶装置に記憶しなおした前記分割データ及び/又は前記圧縮データを、記憶しなおす前に記憶されていた記憶装置から削除する、
    ストレージシステム。
  7. 請求項3乃至6のいずれかに記載のストレージシステムであって、
    前記データ管理部は、所定の順序に位置する前記記憶装置が削除された場合に、当該削除された記憶装置に記憶されていた前記分割データを、当該分割データの位置に対して特定方向に沿った順序で一番目に位置することとなった記憶装置に記憶し、当該分割データの位置に対して特定方向に沿った順序で二番目に位置することとなった記憶装置に、当該分割データと同一のデータを圧縮した圧縮データを記憶する、
    ストレージシステム。
  8. 請求項3乃至7のいずれかに記載のストレージシステムであって、
    前記データ管理部は、所定の順序に位置する前記記憶装置が削除された場合に、当該削除された記憶装置に記憶されていた前記圧縮データを、当該圧縮データに対応する前記分割データの位置に対して特定方向に沿った順序で二番目に位置することとなった記憶装置に記憶する、
    ストレージシステム。
  9. 複数の記憶装置を備えた情報処理装置に、
    記憶対象データを所定の記憶装置に記憶すると共に、当該所定の記憶装置に記憶した記憶対象データと同一のデータを圧縮した圧縮データを、前記所定の記憶装置とは異なる記憶装置に記憶するデータ管理部、
    を実現させるためのプログラム。
  10. 複数の記憶装置を備えたストレージシステムによるデータ記憶方法であって、
    記憶対象データを所定の記憶装置に記憶すると共に、当該所定の記憶装置に記憶した記憶対象データと同一のデータを圧縮した圧縮データを、前記所定の記憶装置とは異なる記憶装置に記憶する、
    データ記憶方法。
JP2015068778A 2015-03-30 2015-03-30 ストレージシステム Active JP6770244B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015068778A JP6770244B2 (ja) 2015-03-30 2015-03-30 ストレージシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015068778A JP6770244B2 (ja) 2015-03-30 2015-03-30 ストレージシステム

Publications (2)

Publication Number Publication Date
JP2016189105A true JP2016189105A (ja) 2016-11-04
JP6770244B2 JP6770244B2 (ja) 2020-10-14

Family

ID=57239952

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015068778A Active JP6770244B2 (ja) 2015-03-30 2015-03-30 ストレージシステム

Country Status (1)

Country Link
JP (1) JP6770244B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115878046A (zh) * 2023-01-09 2023-03-31 苏州浪潮智能科技有限公司 数据处理方法、系统、装置、存储介质及电子设备

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06332624A (ja) * 1993-05-25 1994-12-02 Hitachi Ltd ディスクアレイ制御方法
JP2003067232A (ja) * 2001-08-28 2003-03-07 Nec Infrontia Corp コンピュータのデータのバックアップ方式及びそのリストア方式
JP2003067279A (ja) * 2001-08-28 2003-03-07 Nec Corp コンテンツ動的ミラーリングシステム、
JP2005513672A (ja) * 2002-01-04 2005-05-12 エンサティー カンパニー リミテッド 高速大容量バックアップシステム及びそのバックアップ方法
US20080140669A1 (en) * 2006-12-08 2008-06-12 Corrion Bradley W Dedicated storage and background backup of stored contents
JP2008181213A (ja) * 2007-01-23 2008-08-07 Fuji Xerox Co Ltd 情報管理システム、情報管理装置およびプログラム
JP2011008711A (ja) * 2009-06-29 2011-01-13 Brother Industries Ltd ノード装置、処理プログラム及び分散保存方法
WO2011027775A1 (ja) * 2009-09-01 2011-03-10 日本電気株式会社 分散ストレージシステム、分散ストレージ方法および分散ストレージ用プログラムとストレージノード
WO2012026582A1 (ja) * 2010-08-27 2012-03-01 日本電気株式会社 シミュレーション装置、分散計算機システム、シミュレーション方法およびプログラム
JP2012221419A (ja) * 2011-04-13 2012-11-12 Hitachi Ltd 情報記憶システム及びそのデータ複製方法
JP2015018508A (ja) * 2013-07-12 2015-01-29 日本電信電話株式会社 分散処理システム

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06332624A (ja) * 1993-05-25 1994-12-02 Hitachi Ltd ディスクアレイ制御方法
JP2003067232A (ja) * 2001-08-28 2003-03-07 Nec Infrontia Corp コンピュータのデータのバックアップ方式及びそのリストア方式
JP2003067279A (ja) * 2001-08-28 2003-03-07 Nec Corp コンテンツ動的ミラーリングシステム、
JP2005513672A (ja) * 2002-01-04 2005-05-12 エンサティー カンパニー リミテッド 高速大容量バックアップシステム及びそのバックアップ方法
US20080140669A1 (en) * 2006-12-08 2008-06-12 Corrion Bradley W Dedicated storage and background backup of stored contents
JP2008181213A (ja) * 2007-01-23 2008-08-07 Fuji Xerox Co Ltd 情報管理システム、情報管理装置およびプログラム
JP2011008711A (ja) * 2009-06-29 2011-01-13 Brother Industries Ltd ノード装置、処理プログラム及び分散保存方法
WO2011027775A1 (ja) * 2009-09-01 2011-03-10 日本電気株式会社 分散ストレージシステム、分散ストレージ方法および分散ストレージ用プログラムとストレージノード
WO2012026582A1 (ja) * 2010-08-27 2012-03-01 日本電気株式会社 シミュレーション装置、分散計算機システム、シミュレーション方法およびプログラム
JP2012221419A (ja) * 2011-04-13 2012-11-12 Hitachi Ltd 情報記憶システム及びそのデータ複製方法
JP2015018508A (ja) * 2013-07-12 2015-01-29 日本電信電話株式会社 分散処理システム

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
GIUSEPPE DECANDIA, ETC.: "Dynamo: Amazon's Highly Available Key-value Store", SOSP'07, JPN7019001463, 17 October 2007 (2007-10-17), US, pages 205 - 220, XP007912296, ISSN: 0004031578 *
本橋 信也, NOSQLの基礎知識 第1版 BASIC KNOWLEDGE OF NOSQL, vol. 第1版, JPN6019016916, 18 May 2012 (2012-05-18), pages 93 - 97, ISSN: 0004031579 *
森田 和孝: "PCで高信頼なクラスタストレージを作るSheepdog", サーバ/インフラエンジニア養成読本 仮想化活用編 初版 SERVER/INFRASTRUCTURE ENGINEER, vol. 第1版, JPN6019016918, 25 April 2012 (2012-04-25), JP, pages 153 - 155, ISSN: 0004031580 *
福本 佳史: "分散ブロックストレージの広域化", 情報処理学会 研究報告 システムソフトウェアとオペレーティング・システム(OS) 2014−OS−1, vol. 2014-OS-129巻/17号, JPN6019016920, 7 May 2014 (2014-05-07), JP, pages 1 - 11, ISSN: 0004031577 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115878046A (zh) * 2023-01-09 2023-03-31 苏州浪潮智能科技有限公司 数据处理方法、系统、装置、存储介质及电子设备

Also Published As

Publication number Publication date
JP6770244B2 (ja) 2020-10-14

Similar Documents

Publication Publication Date Title
CN106407040B (zh) 一种远程数据复制方法及系统
US8972343B2 (en) Storage system
CN107798130B (zh) 一种分布式存储快照的方法
JP6708948B2 (ja) ブロックストレージ
US8799413B2 (en) Distributing data for a distributed filesystem across multiple cloud storage systems
US8799414B2 (en) Archiving data for a distributed filesystem
US8805967B2 (en) Providing disaster recovery for a distributed filesystem
US8805968B2 (en) Accessing cached data from a peer cloud controller in a distributed filesystem
JP5485866B2 (ja) 情報管理方法、及び情報提供用計算機
US9031906B2 (en) Method of managing data in asymmetric cluster file system
JP2019204278A (ja) 情報処理システム、情報処理装置およびプログラム
JP4715774B2 (ja) レプリケーション方法、レプリケーションシステム、ストレージ装置、プログラム
KR101709118B1 (ko) 하이브리드 스토리지 시스템의 파일 관리 방법 및 장치
JP5569074B2 (ja) ストレージシステム
JP2014503086A (ja) ファイルシステム及びデータ処理方法
KR20150081810A (ko) 데이터 저장장치에 대한 다중 스냅샷 관리 방법 및 장치
JP6094267B2 (ja) ストレージシステム
US8683121B2 (en) Storage system
JP6337982B1 (ja) ストレージシステム
US9575679B2 (en) Storage system in which connected data is divided
JP6083268B2 (ja) レプリケーションシステム
JP2008090378A (ja) ハイブリッドファイルシステム、オペレーティングシステム、キャッシュ制御方法および記録媒体
JP5660617B2 (ja) ストレージ装置
US8555007B2 (en) Storage system with journal disks dynamically assigned
JP6770244B2 (ja) ストレージシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180913

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190514

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200106

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: 20200826

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200908

R150 Certificate of patent or registration of utility model

Ref document number: 6770244

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150