JP5867206B2 - 移動制御装置,プログラム及びストレージ装置 - Google Patents
移動制御装置,プログラム及びストレージ装置 Download PDFInfo
- Publication number
- JP5867206B2 JP5867206B2 JP2012061037A JP2012061037A JP5867206B2 JP 5867206 B2 JP5867206 B2 JP 5867206B2 JP 2012061037 A JP2012061037 A JP 2012061037A JP 2012061037 A JP2012061037 A JP 2012061037A JP 5867206 B2 JP5867206 B2 JP 5867206B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- movement
- data block
- block
- file
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
このため、各ノードにおいて蓄積したデータをノード間で移動させることにより、ノード間でのデータ量の均等化を図るデータ再配置が行なわれている。
1つの側面では、本件は、ストレージを効率的に使用できるようにすることを目的とする。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。
図1は実施形態の一例としてのストレージサーバノードをそなえる分散ストレージシステムの機能構成を模式的に示す図、図2はそのストレージサーバノードをそなえる分散ストレージシステムの構成を模式的に示す図である。
分散ストレージシステム1は、図2に示すように、管理サーバ30,プロキシサーバ40,クライアント60及びストレージサーバノード(ストレージ装置,移動制御装置)10−1〜10−6を備える。ただし、図1中においては、便宜上、クライアント60及びプロキシサーバ40の図示を省略している。
分散ストレージシステム1は、複数のストレージサーバノード10−1〜10−6がそれぞれ有するディスク領域をまとめて、あたかも一つのストレージのように取り扱うことを可能とする。この分散ストレージシステム1においては、複数のデータファイルを複数のストレージサーバノード10−1〜10−6に分散して配置される。
クライアント60は、例えば、パーソナルコンピュータ等の情報処理装置であり、プロキシサーバ40を介して、ストレージサーバノード10に格納されたデータファイル(ファイル)に対するリードやライトの要求(リード/ライト要求)を行なう。図1及び図2に示す例においては、分散ストレージシステム1に2つのクライアント60が備えられているが、これに限定されるものではなく、1つもしくは3以上のクライアント60をそなえてもよい。
プロキシサーバ40は、クライアント60に代わってストレージサーバノード10へのデータアクセスを行なう。各プロキシサーバ40は、サーバ機能を備えたコンピュータ等の情報処理装置であり、互いに同様の構成を備える。図1及び図2に示す例においては、分散ストレージシステム1に2つのプロキシサーバ40が備えられているが、これに限定されるものではなく、1つもしくは3以上のプロキシサーバ40をそなえてもよい。
管理サーバ30は、サーバ機能を備えたコンピュータ等の情報処理装置であり、本分散ストレージシステム1における各種設定や制御を行なう。又、管理サーバ30は、本分散ストレージシステム1における各ストレージサーバノード10が保持するデータ量を管理するデータ管理機能(データ管理プロセス)をそなえる。本実施形態においては、分散ストレージシステム1に一つの管理サーバ30を備える例を示すが、これに限定されるものではなく、2以上の管理サーバ30を備えてもよいし、ストレージサーバノード10が管理サーバ30の機能を分担してもよい。
管理サーバ30(データ量管理プロセス)は、本分散ストレージシステム1に備えられた複数のストレージサーバノード10間でデータ量の偏りが生じているか否かを判断する。例えば、データ量管理プロセスは各ストレージサーバノード10からそれぞれ通知されたデータ量の平均値を算出し、この算出した平均値と各ストレージサーバノード10が保持するデータ量とを比較する。
ストレージサーバノード10−1〜10−6は、それぞれ記憶装置(データ記憶装置)14をそなえる情報処理装置であり、この記憶装置14にファイルデータを格納するストレージサーバ機能を備える。各ストレージサーバノード10−1〜10−6は互いに同様の構成を備える。なお、図1においては、便宜上、ストレージサーバノード10−1についてのみハードウェア構成や機能構成を図示し、他のストレージサーバノード10−2〜10−6のハードウェア構成や機能構成の図示を省略している。
ストレージサーバノード10は、図1に示すように、CPU(Central Processing Unit)11,RAM(Random Access Memory)12,ROM(Read Only Memory)13及び記憶装置14をそなえる。
この記憶装置14には、各クライアント60からリードもしくはライトされるデータファイルが、所定サイズに分割されたデータブロックの状態で格納される。そして、この記憶装置14においては、同一のデータブロックが重複して格納されることがない。
ファイル情報240は、そのストレージサーバノード10に格納されるデータファイルを示す情報(例えば、ファイル名)である。後述するデータ再分散部27によりストレージサーバノード10間でデータファイルの再配置が行なわれ、データファイルの移動が行われると、このファイル情報240が更新される。
FP情報250aは、記憶装置14におけるブロックデータの格納状態(格納実績)を管理する情報であり、データファイルを構成する各データブロックのフィンガープリント(finger print:FP)が登録される。例えば、後述する記憶装置14にブロックデータを格納する際に、この記憶装置14に格納したブロックデータを特定する情報が、そのボリュームを識別する情報に対応させてFP情報250aに登録される。
データファイル構成情報250bは、データファイルを復元するための情報であり、例えば、データファイルを構成するデータブロックのインデックスやその位置を示す(データブロックパターン)。インデックスは、データブロックを一意に特定する識別情報である。
なお、図3に示す例においては、ファイルを構成する各データブロックの位置をデータブロックの配置順序で表している。すなわち、この図3に示す例においては、例えば、ファイルA(データファイル)が、インデックス01,02,03,04,05で表されるデータブロックを備えることを示す。このファイルAは、インデックス01,02,03,04,05で表されるこれらのデータブロックを、この図3に示す順で配置することにより復元される。同様に、ファイルBはインデックス05,06,02,03,04で表されるデータブロックを備えるものであり、これらのデータブロックをこの順で配置することにより、ファイルBが復元される。
図4は実施形態の一例としての分散ストレージシステム1におけるインデックステーブル250cを模式的に例示する図である。
例えば、図4に示す例において、インデックス“01”のデータブロックに対して、カウンタ “1”及びリファー“A”が設定されている。これにより、このインデックス“01”のデータブロックは、一つのデータファイルであるファイルAにのみ備えられることがわかる。又、インデックス“02”のデータブロックに対して、カウンタ “2”及びリファー“A,B”が設定されている。これにより、このインデックス“02”のデータブロックは、ファイルA,Bの2つのデータファイルに備えられることがわかる。ポインタは、そのデータブロックの格納位置(アドレス等)を表す。
なお、ストレージサーバノード10においては、例えば、キーボードやマウス等の入力装置や表示装置をそなえてもよい。
ROM13は種々のデータやプログラムを格納する記憶装置である。RAM12はCPU11が演算処理等を行なう際に、データやプログラム等を一時的に格納する記憶装置である。
CPU11はROM13や記憶装置14に格納されたOS(Operating System)や各種プログラムを実行することにより、種々の演算や制御を行なう。ストレージサーバノード10においては、このCPU11が記憶装置14等に格納されたプログラムを実行することにより、図1に示す、重複除去部21,再分散データ選択部22及びデータ再分散部27として機能する。
重複除去部21は、データファイルを複数のデータブロックに分割するデータ分割部としての機能を備える。例えば、重複除去部21は、ホストコンピュータ等の図示しない外部装置から受信するバックアップデータ(データファイル)を分割する。
重複除去部21は、例えば、データファイルを記憶装置14に格納する際に、そのデータファイルを構成する個々のデータブロックについて、それぞれ、FP情報250aを参照する。これにより、各データブロックと同一のデータブロックが記憶装置14に記憶されているか否かを判定する。
また、重複除去部21は、データブロック毎に行なったFPやデータブロック構成の作成等の結果を、FP情報250aやインデックステーブル250c,データファイル構成情報250bに保存する。
重複除去部21は、データの読み出し時において、データブロックからボリュームを復元する。重複除去部21は、例えば、データファイル構成情報250bを参照し、記憶装置14から読み出したデータブロックを用いてデータファイルの復元を行なう。すなわち、重複排除情報250に従って、データブロックの複写等を行なうことによりデータファイルを作成する。なお、データファイルと当該データファイルを分割して生成されるデータブロックとに関して、データブロックを備えるデータファイル、もしくはデータブロックを用いるデータファイルという場合がある。
再分散データ選択部22は、管理サーバ30から、移動先ノード及び目標データ移動量を通知されると、当該ストレージサーバノード10の記憶装置14に格納されているデータファイルの中から、移動先ノードへ移動(再分散)させるデータファイル(移動データファイル)を選択する。すなわち、再分散データ選択部22は、複数のストレージサーバノード10に、データファイルが分散して格納された分散ストレージシステムにおいて、一のストレージサーバノード10から他のストレージサーバノード10に移動させる移動データファイルを選択する。
再分散データ選択部22は、インデックステーブル250cを参照しながら、低カウントブロックリスト121,移動ブロックリスト122,使用元リスト123及び削除ブロックリスト124を、順次更新することにより、移動データファイルを決定する。
低カウントブロックリスト121は、移動させるデータファイルを選択するに際して、移動先ノードへ優先的に移動させるデータブロック(移動データブロック)の識別情報(例えば、インデックス)の一覧である。再分散データ選択部22(移動データブロック選択部)は、この低カウントブロックリスト121に、優先移動データブロックとして、そのデータブロックを使用するデータファイルの数が少ないデータブロックを優先的に選択する。すなわち、低カウントブロックリスト121には、データファイルによる共用数が少ないデータブロックが優先的に登録される。
移動ブロックリスト122は、データファイルの移動に伴い、移動先ノードに記憶されるべきデータブロックの一覧である。使用元リスト123は、移動ブロックリスト122に登録されているデータブロックを備えるデータファイルの一覧である。削除ブロックリスト124は、データファイルの移動に伴い、移動元ノードから削除可能なデータブロックの一覧である。これらの移動ブロックリスト122及び削除ブロックリスト124にも、データブロックの識別情報(例えば、インデックス)が登録される。以下、これらのリストにデータブロックのインデックスを登録(設定)することを、単にデータブロックを登録すると表現する。
移動データブロック選択部23は、低カウントブロックリスト121に登録された優先移動データブロックを、その先頭から順番に移動データブロックとして選択し、移動ブロックリスト122に登録する。
移動データブロック追加部25は、選択した移動データファイルに備えられる全てのデータブロックを移動データブロックとして選択し、移動ブロックリスト122に登録する。
削除データブロック選択部26は、その移動データブロックを備える全てのデータファイルが使用元リスト123に登録されたことを確認すると、その移動データブロックを削除データブロックとして選択し、削除ブロックリスト124に登録する。
そして、削除ブロックリスト124に登録された削除データブロックの合計データサイズが以下の条件(a)及び条件(b)の2つの条件(データ移動条件)を満たす場合における、使用元リスト123に登録されているデータファイルが、移動データファイルとなる。又、その時点において、移動ブロックリスト122に登録されているデータブロックが移動先ノードに格納され、削除ブロックリスト124に登録されているデータブロックが、移動元ノードから削除される。これにより移動元ノードから移動先ノードへの移動データファイルの移動が実現される。
条件(a):削除ブロックリスト124に登録された削除データブロックの合計データサイズが所定の削除サイズであること。
ここで、削除サイズは、管理サーバ30から通知された目標データ移動量(Xbyte)に基づいて設定するデータサイズであり、例えば、目標データ移動量に対して所定の許容範囲(±α%)を付加した、ある程度の幅を持たせた値を用いることが望ましい。
条件(b):削除ブロックリスト124に登録された削除データブロックの合計データサイズに対する、移動ブロックリスト122に登録された移動データブロックの合計データサイズの割合が所定の閾値(第1閾値:例えば、1.2倍)以下であること。
第2閾値は、任意に設定することができ、例えば、目標データ移動量の1.5倍の値を用いる等、適宜設定される。
データ再分散部27は、移動データファイルの構成情報(データファイル構成情報250b)やそのデータファイルの存在位置を表す情報等も移動先ノードに格納させる。
上述の如く構成された実施形態の一例としての分散ストレージシステム1におけるデータファイル移動時の全体的な処理を、図5に示すフローチャート(ステップA10〜A30)に従って説明する。
本分散ストレージシステム1において、管理サーバ30は、各ストレージサーバノード10間からそれぞれ通知されたデータ量に基づき、ストレージサーバノード10間でデータ量の偏りが生じているか否かを判断する(ステップA10)。
次に、実施形態の一例としての分散ストレージシステム1における再分散データ選択部22によるデータファイルの移動処理を、図6に示すフローチャート(ステップS10〜S150)に従って説明する。なお、以下に示す例においては、変数seed及び変数nを用いる。
移動データブロック選択部23は、低カウントブロックリスト121にデータブロックが登録されているか否か、すなわち、低カウントブロックリスト121が空であるか否かを確認する(ステップS30)。
ここで、第3閾値は、予め任意に設定される値である。この第3閾値を設定することにより、使用元のデータファイルの数がこの第3閾値を超えるデータブロックについては、当該データブロックを備えるデータファイルの移動先への移動を抑止する。
nが第3閾値を超えていない場合には(ステップS140のNOルート参照)、ステップS20に戻る。又、nが第3閾値を超えた場合には(ステップS140のYESルート参照)、移動させるデータファイルがない(解なし)と判断し(ステップS150)、処理を終了する。
移動データブロック選択部23は、移動ブロックリスト122にseedに設定されている優先移動データブロックを登録する。又、移動データファイル選択部24は使用元リスト123を、又、削除データブロック選択部26は削除ブロックリスト124をそれぞれ空にして初期化する(ステップS50)。
再分散データ選択部22は、使用元リスト123に新たなデータファイルが追加されたか否かを確認し(ステップS70)、新たなデータファイルが追加されていない場合には(ステップS70のNOルート参照)、ステップS30に戻る。
削除ブロックリスト124内の削除データブロックの合計サイズが第2閾値未満である場合には(ステップS120のNOルート参照)、ステップS60に戻る。又、削除ブロックリスト124内の削除データブロックの合計サイズが第2閾値以上である場合には(ステップS120のYESルート参照)、ステップS30に戻る。
(C)実施例
以下に、図6に示したフローチャートに従って、本分散ストレージシステム1の再分散データ選択部22による移動させるデータファイルの選択処理過程を例示する。
ファイルA,ファイルB及びファイルCは、それぞれ重複除去が行なわれ、ファイルAはインデックス01,02,03,04,05のデータブロックで構成される。又、ファイルBはインデックス05,06,02,03,04のデータブロックで構成され、ファイルCはインデックス07,08,09のデータブロックで構成される。又、インデックス01,02,03,04,05のデータブロックの各データサイズは4KBであるものとする。
先ず、目標データ移動量が20KB(X=20K)である例について示す。
(1)n=1(図6のステップS10参照)
(2)移動データブロック選択部23が、インデックステーブル250cにおいて、カウンタ値がnであるデータブロックを抽出し、低カウントブロックリスト121を作成する(図6のステップS20参照)。
例:低カウントブロックリスト121には、インデックス01,07,08がこの順で登録される。
例:(01)(FileA)()
(3−2) 移動データブロック追加部25が、使用元リスト123に新たに入ったファイルに対して、当該データファイルが備えるデータブロックで、移動ブロックリスト122に登録されていないものを移動ブロックリスト122に追加する(図6のステップS80参照)。
例:(01,02,03,04,05)(FileA)()
(3−3)削除データブロック選択部26が、 移動ブロックリスト122の各データブロックについて、当該データブロックを使用している全てのデータファイル(使用元)が使用元リスト123に登録されたら、そのデータブロックを削除ブロックリスト124に登録する(図6のステップS90参照)。
例:(01,02,03,04,05)(FileA)(01)
(3−4) 削除ブロックリスト124内のデータブロックの合計サイズが所望の削除サイズであり、移動ブロックリスト122の合計サイズ(移動量)が削除ブロックリスト124の合計サイズ(削除量)に対する比が第1閾値(例えば1.2倍)以下であるか確認する(図6のステップS100参照)。かかる移動条件を満たす場合に(図6のステップS100のYESルート参照)、データ再分散部27が、移動ブロックリスト122のデータブロックを移動先ノードに生成するとともに、削除ブロックリスト124のデータブロックを移動元ノードから削除する。これにより、使用元リスト123のファイルを移動元ノードから移動先ノードに移動させる(図6のステップS110参照)。
例:移動元ノードでのデータ削除量(削除量)=4KB
移動先ノードでのデータ増加量(移動量)=20KB
本例においては移動条件を満たさない。
例:4<20×1.5
(3−6)上記(3−5)に示す例においては、削除ブロックリスト124内のデータブロックの合計サイズが第2閾値(例えば、目標データ移動量の1.5倍)以上でないので(図6のステップS120のNOルート参照)、上記(3−1)へ戻る。
例:(01,02,03,04,05)(FileA, FileB)(01)
(3−2′)上記(3−1′)に示す例においては、使用元リスト123に新たにファイルBが登録されたので、移動データブロック追加部25が、使用元リスト123に新たに入ったファイルに対して、当該データファイルが備えるデータブロックで、移動ブロックリスト122に登録されていないものを移動ブロックリスト122に追加する(図6のステップS80参照)。
例:(01,02,03,04,05,06)(FileA, FileB)(01)
(3−3′) 移動ブロックリスト122の各データブロックについて、当該データブロックを使用している全てのデータファイル(使用元)が使用元リスト123に登録されたら、削除データブロック選択部26が、そのデータブロックを削除ブロックリスト124に登録する(図6のステップS90参照)。
例:(01,02,03,04,05,06)(FileA, FileB)(01,02,03,04,05)
(3−4′) 削除ブロックリスト124内のデータブロックの合計サイズが所望の削除サイズであり、移動ブロックリスト122の合計サイズ(移動量)と削除ブロックリスト124の合計サイズ(削除量)との比が第1閾値(例えば1.2倍)以下であるか確認する(図6のステップS100参照)。
例:移動元ノードでのデータ削除量(削除量)=20KB
移動先ノードでのデータ増加量(移動量)=24KB
本例においては、移動量/削除量が移動条件を満たすので(図6のステップS100のYESルート参照)、データ再分散部27が、移動ブロックリスト122のデータブロック(01,02,03,04,05,06)を移動先ノードに生成するとともに、削除ブロックリスト124のデータブロック(01,02,03,04,05)を移動元ノードから削除する。これにより、使用元リスト123のファイルA及びファイルBを移動元ノードから移動先ノードに移動させる(図6のステップS110参照)。その後、処理を終了する。
次に、目標データ移動量が8KB(X=8K)である例について示す。又、優先移動データブロックとしてインデックス07を最初に選択する場合について例示する。
本例においても、各データブロックのデータサイズは4KBであるものとする。
(1)n=1(図6のステップS10参照)
(2)移動データブロック選択部23が、インデックステーブル250cにおいて、カウンタ値がnであるデータブロックを抽出し、低カウントブロックリスト121を作成する図6のステップS20参照)。
例:低カウントブロックリスト121には、インデックス07,06,08がこの順で登録される。
(3−1)移動データファイル選択部24が、移動ブロックリスト122の各データブ
ロックについて、当該データブロックを使用しているデータファイルを使用元リスト123に登録する(図6のステップS60参照)。新たに使用元リスト123に入るデータファイルがない場合は(図6のステップS70のNOルート参照)、低カウントブロックリスト121の次の要素に移る。
例:(07)(FileC)()
(3−2)移動データブロック追加部25が、 使用元リスト123に新たに入ったフ
ァイルに対して、当該データファイルが備えるデータブロックで、移動ブロックリスト122に登録されていないものを移動ブロックリスト122に追加する(図6のステップS80参照)。
例:(07,06,08)(FileC)()
(3−3)削除データブロック選択部26が、 移動ブロックリスト122の各データ
ブロックについて、当該データブロックを使用している全てのデータファイル(使用元)が使用元リスト123に登録されたら、そのデータブロックを削除ブロックリスト124に登録する(図6のステップS90参照)。
例:(07,06,08)(FileC)( 07,08)
(3−4) 削除ブロックリスト124内のデータブロックの合計サイズが所望の削除
サイズであり、移動ブロックリスト122の合計サイズ(移動量)が削除ブロックリスト124の合計サイズ(削除量)に対する比が第1閾値(例えば1.2倍)以下であるか確認
する(図6のステップS100参照)。かかる移動条件を満たす場合に(図6のステップS100のYESルート参照)、データ再分散部27が、移動ブロックリスト122のデータブロックを移動先ノードに生成するとともに、削除ブロックリスト124のデータブロックを移動元ノードから削除する。これにより、使用元リスト123のファイルを移動元ノードから移動先ノードに移動させる(図6のステップS110参照)。
例:移動元ノードでのデータ削除量(削除量)=8KB
移動先ノードでのデータ増加量(移動量)=12KB
本例においては移動条件を満たさない。
例:8<12×1.5
(3−6)上記(3−5)に示す例においては、削除ブロックリスト124内のデータブロックの合計サイズが第2閾値(例えば、目標データ移動量の1.5倍)以上でないので(図6のステップS120のNOルート参照)、上記(3−1)へ戻る。
例:(07,06,08)(FileC,FileB)(07,08)
(3−2′)上記(3−1′)に示す例においては、使用元リスト123に新たにファイルBが登録されたので、移動データブロック追加部25が、使用元リスト123に新たに入ったファイルに対して、当該データファイルが備えるデータブロックで、移動ブロックリスト122に登録されていないものを移動ブロックリスト122に追加する(図6のステップS80参照)。
例:(07,06,08,05,02,03,04)(FileC, FileB)(07,08)
(3−3′) 移動ブロックリスト122の各データブロックについて、当該データブロックを使用している全てのデータファイル(使用元)が使用元リスト123に登録されたら、削除データブロック選択部26が、そのデータブロックを削除ブロックリスト124に登録する(図6のステップS90参照)。
例:(07,06,08,05,02,03,04)(FileC, FileB)(07,08,06)
(3−4′) 削除ブロックリスト124内のデータブロックの合計サイズが所望の削除サイズであり、移動ブロックリスト122の合計サイズ(移動量)と削除ブロックリスト124の合計サイズ(削除量)との比が第1閾値(例えば1.2倍)以下であるか確認する(図6のステップS100参照)。
例:移動元ノードでのデータ削除量(削除量)=12KB
移動先ノードでのデータ増加量(移動量)=28KB
本例においては、移動量/削除量が移動条件を満たさない(図6のステップS100のNOルート参照)。
(D)効果
本分散ストレージシステム1によれば、各ストレージサーバノード10において、再分散データ選択部22が、移動先ノードに移動させるデータファイルを選択し、データ再分散部27が、選択したデータファイルを構成するデータブロックを移動先ノードに移動させる。特に、移動ブロックリスト122の移動データブロックを使用する全データファイルが移動データファイルとして登録されると、移動ブロックリスト122の移動データブロックを移動先ノードに格納し、削除ブロックリスト124の削除データブロックを移動元ノードから削除する。これにより、複数のストレージサーバノード10間において、データ量を均等化させることができる。
図7(a),(b)は従来の重複排除手法を説明する図であり、(a)はファイル構成を例示する図、(b)は(a)に示す各データファイルに重複排除を行なった状態を例示する図である。
従来の分散ストレージシステムにおいて、図7(b)に示すような重複除去状態にある各データファイルを再配置の対象として選択して移動先ノードに単純に移動させると、効率的にデータ分散を行なうことができない。
一方、移動元ノードにおいては、インデックス02,03,04,05で表されるデータブロックは、他のファイルB,Cによっても使用されているので、これらのデータブロックを移動元ノードから削除することはできない。従って、移動元ノードにおいては、データファイルAによってのみ使用されるインデックス01のデータブロックのみを削除することができ、データファイルAを移動させることにより4KBのデータ量が削減される。
本分散ストレージシステム1においては、各ストレージサーバノード10において、重複除去部21による重複除去処理を実現しながら、ストレージサーバノード10間でデータ量の均等化を実現することができる。
ここで、削除データブロックの合計データサイズが所定の削除サイズであることを規定する条件(a)を満たすことにより、管理サーバ30からの目標データ移動量に相当するデータファイルの移動指示をほぼ満たすことが可能となる。
(E)その他
そして、開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
具体的には、例えば、各ストレージサーバノード10間において、各自が保持するデータ量を相互に通知し合い、互いに他のストレージサーバノード10が保持するデータ量を把握する。そして、全ストレージサーバノード10のデータ量の平均値をそれぞれ算出し、自身の保持するデータ量との差が所定の閾値以上となると、データの偏りを検知してもよい。
10,10−1〜10−6 ストレージサーバノード(ストレージ装置,移動制御装置)
11 CPU
12 RAM
13 ROM
14 記憶装置
21 重複除去部
22 再分散データ選択部
23 移動ブロック選択部(移動データブロック選択部)
24 移動ファイル選択部(移動データファイル選択部)
25 移動ブロック追加部(移動データブロック追加部)
26 削除ブロック選択部(削除データブロック選択部))
27 データ再分散部
30 管理サーバ
40 プロキシサーバ
50 LAN
51 ネットワーク
60 クライアント
121 低カウントブロックリスト
122 移動ブロックリスト
123 使用元リスト
124 削除ブロックリスト
240 ファイル情報
250 重複排除情報
250a FP情報
250b データファイル構成情報
250c インデックステーブル
Claims (9)
- 複数のデータファイルの中からデータファイルを選択して移動元ノードから移動先ノードへ移動させる移動制御装置であって、
前記データファイルを分割して生成した複数のデータブロックの中から、前記移動先ノードへ移動させる移動データブロックを選択する移動データブロック選択部と、
前記移動データブロック選択部によって選択された前記移動データブロックを備えるデータファイルを移動データファイルとして選択する移動データファイル選択部と、
前記移動データファイル選択部によって選択された前記移動データファイルに備えられる全てのデータブロックを前記移動データブロックに追加する移動データブロック追加部と、
個々の移動データブロックのそれぞれについて、当該移動データブロックを備える全てのデータファイルが、前記移動データファイル選択部によって前記移動データファイルとして選択されると、当該移動データブロックを削除データブロックとして選択する削除データブロック選択部と、
前記移動データブロックを前記移動先ノードに格納させるとともに、前記削除データブロックを前記移動元ノードから削除することにより、前記移動元ノードから前記移動先ノードへ前記データファイルを移動させる移動処理部と
をそなえることを特徴とする、移動制御装置。 - 前記移動処理部が、前記削除データブロックの合計データ量が所定の目標削減データ量以上であり、且つ、前記削除データブロックの合計データ量に対する、前記移動データブロックの合計データ量の割合が所定値以下である場合に、前記移動元ノードから前記移動先ノードへ前記データファイルを移動させる
ことを特徴とする、請求項1記載の移動制御装置。 - 前記移動データブロック選択部が、前記複数のデータブロックの中から、複数のデータファイルによる重複使用数が、他のデータブロックよりも少ないデータブロックを優先的に前記移動データブロックとして選択する
ことを特徴とする、請求項1又は2記載の移動制御装置。 - データファイルを分割して生成した複数のデータブロックの中から、移動元ノードから移動先ノードへ移動させる移動データブロックを選択し、
選択された前記移動データブロックを備えるデータファイルを移動データファイルとして選択し、
選択された前記移動データファイルに備えられる全てのデータブロックを前記移動データブロックに追加し、
個々の移動データブロックのそれぞれについて、当該移動データブロックを備える全てのデータファイルが、前記移動データファイルとして選択されると、当該移動データブロックを削除データブロックとして選択し、
前記移動データブロックを前記移動先ノードに格納させるとともに、前記削除データブロックを前記移動元ノードから削除することにより、前記移動元ノードから前記移動先ノードへ前記データファイルを移動させる
処理をコンピュータに実行させるプログラム。 - 前記削除データブロックの合計データ量が所定の目標削減データ量以上であり、且つ、前記削除データブロックの合計データ量に対する、前記移動データブロックの合計データ量の割合が所定値以下である場合に、前記移動元ノードから前記移動先ノードへ前記データファイルを移動させる
処理をコンピュータに実行させる、請求項4記載のプログラム。 - 前記複数のデータブロックの中から、複数のデータファイルによる重複使用数が、他のデータブロックよりも少ないデータブロックを優先的に前記移動データブロックとして選択する、
処理をコンピュータに実行させる、請求項4又は5記載のプログラム。 - データファイルを記憶可能なデータ記憶装置と、
前記データファイルを分割して複数のデータブロックを生成し、生成したデータブロック間で重複除去を行なって前記データ記憶装置に格納する重複除去部と、
前記複数のデータブロックの中から、移動先ノードへ移動させる移動データブロックを選択する移動データブロック選択部と、
前記移動データブロック選択部によって選択された前記移動データブロックを備えるデータファイルを移動データファイルとして選択する移動データファイル選択部と、
前記移動データファイル選択部によって選択された前記移動データファイルに備えられる全てのデータブロックを前記移動データブロックに追加する移動データブロック追加部と、
個々の移動データブロックのそれぞれについて、当該移動データブロックを備える全てのデータファイルが、前記移動データファイル選択部によって前記移動データファイルとして選択されると、当該移動データブロックを削除データブロックとして選択する削除データブロック選択部と、
前記移動データブロックを前記移動先ノードに格納させるとともに、前記削除データブロックを移動元ノードから削除することにより、前記移動元ノードから前記移動先ノードへ前記データファイルを移動させる移動処理部と
をそなえることを特徴とする、ストレージ装置。 - 前記移動処理部が、前記削除データブロックの合計データ量が所定の目標削減データ量以上であり、且つ、前記削除データブロックの合計データ量に対する、前記移動データブロックの合計データ量の割合が所定値以下である場合に、前記移動元ノードから前記移動先ノードへ前記データファイルを移動させる
ことを特徴とする、請求項7記載のストレージ装置。 - 前記移動データブロック選択部が、前記複数のデータブロックの中から、複数のデータファイルによる重複使用数が、他のデータブロックよりも少ないデータブロックを優先的に前記移動データブロックとして選択することを特徴とする、請求項7又は8記載のストレージ装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012061037A JP5867206B2 (ja) | 2012-03-16 | 2012-03-16 | 移動制御装置,プログラム及びストレージ装置 |
US13/722,331 US9356992B2 (en) | 2012-03-16 | 2012-12-20 | Transfer control device, non-transitory computer-readable storage medium storing program, and storage apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012061037A JP5867206B2 (ja) | 2012-03-16 | 2012-03-16 | 移動制御装置,プログラム及びストレージ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013196190A JP2013196190A (ja) | 2013-09-30 |
JP5867206B2 true JP5867206B2 (ja) | 2016-02-24 |
Family
ID=49158721
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012061037A Expired - Fee Related JP5867206B2 (ja) | 2012-03-16 | 2012-03-16 | 移動制御装置,プログラム及びストレージ装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9356992B2 (ja) |
JP (1) | JP5867206B2 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10102028B2 (en) | 2013-03-12 | 2018-10-16 | Sas Institute Inc. | Delivery acknowledgment in event stream processing |
KR20140134379A (ko) * | 2013-05-14 | 2014-11-24 | 엘에스산전 주식회사 | 데이터 수집 장치 |
US9946724B1 (en) * | 2014-03-31 | 2018-04-17 | EMC IP Holding Company LLC | Scalable post-process deduplication |
US9122651B1 (en) | 2014-06-06 | 2015-09-01 | Sas Institute Inc. | Computer system to support failover in an event stream processing system |
US9356986B2 (en) * | 2014-08-08 | 2016-05-31 | Sas Institute Inc. | Distributed stream processing |
US10554749B2 (en) | 2014-12-12 | 2020-02-04 | International Business Machines Corporation | Clientless software defined grid |
US10469580B2 (en) * | 2014-12-12 | 2019-11-05 | International Business Machines Corporation | Clientless software defined grid |
JP6280062B2 (ja) * | 2015-02-17 | 2018-02-14 | 日本電信電話株式会社 | 加入者情報収容装置と加入者情報収容方法 |
JP6634886B2 (ja) | 2016-03-01 | 2020-01-22 | 富士通株式会社 | データ記憶装置、データ記憶装置制御プログラム、及びデータ記憶装置制御方法 |
US10447763B2 (en) * | 2016-12-08 | 2019-10-15 | Nanning Fugui Precision Industrial Co., Ltd. | Distributed storage method and system |
JP2019053477A (ja) * | 2017-09-14 | 2019-04-04 | Necプラットフォームズ株式会社 | ファイル制御装置、ファイル制御方法、プログラム |
CN108259583B (zh) * | 2017-12-29 | 2020-05-26 | 广州云达信息技术有限公司 | 一种数据动态迁移方法及装置 |
US11288186B2 (en) | 2020-04-23 | 2022-03-29 | Netapp, Inc. | Adjustment of garbage collection parameters in a storage system |
US11835990B2 (en) | 2021-11-16 | 2023-12-05 | Netapp, Inc. | Use of cluster-level redundancy within a cluster of a distributed storage management system to address node-level errors |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3608441B2 (ja) * | 1999-07-15 | 2005-01-12 | セイコーエプソン株式会社 | データ転送制御装置及び電子機器 |
JP3606133B2 (ja) * | 1999-10-15 | 2005-01-05 | セイコーエプソン株式会社 | データ転送制御装置及び電子機器 |
JP3780776B2 (ja) * | 1999-10-15 | 2006-05-31 | セイコーエプソン株式会社 | データ転送制御装置及び電子機器 |
US7140044B2 (en) * | 2000-11-13 | 2006-11-21 | Digital Doors, Inc. | Data security system and method for separation of user communities |
JP4782951B2 (ja) * | 2001-07-31 | 2011-09-28 | 富士通株式会社 | 放送型通信システム |
US7024451B2 (en) * | 2001-11-05 | 2006-04-04 | Hewlett-Packard Development Company, L.P. | System and method for maintaining consistent independent server-side state among collaborating servers |
US7171493B2 (en) * | 2001-12-19 | 2007-01-30 | The Charles Stark Draper Laboratory | Camouflage of network traffic to resist attack |
JP3703439B2 (ja) * | 2002-03-19 | 2005-10-05 | Necマイクロシステム株式会社 | データ転送制御装置及び方法 |
US7222133B1 (en) * | 2004-02-05 | 2007-05-22 | Unisys Corporation | Method for reducing database recovery time |
JP2006185019A (ja) | 2004-12-27 | 2006-07-13 | Fuji Xerox Co Ltd | 検索システム、および情報配置構成決定方法、並びにコンピュータ・プログラム |
JP4412191B2 (ja) * | 2005-02-04 | 2010-02-10 | セイコーエプソン株式会社 | データ転送制御装置及び電子機器 |
US8683144B2 (en) * | 2005-09-16 | 2014-03-25 | Inmage Systems, Inc. | Causation of a data read against a first storage system to optionally store a data write to preserve the version to allow viewing and recovery |
JP5320678B2 (ja) * | 2007-02-20 | 2013-10-23 | 日本電気株式会社 | データ分散格納システム及びデータ分散方法、それに用いる装置並びにそのプログラム |
US8694466B2 (en) * | 2008-10-07 | 2014-04-08 | Dell Products L.P. | Object deduplication and application aware snapshots |
JP5504936B2 (ja) | 2010-02-03 | 2014-05-28 | 富士通株式会社 | ストレージ装置およびデータ格納制御方法 |
JP2011215794A (ja) * | 2010-03-31 | 2011-10-27 | Fujitsu Ltd | 分散ストレージシステム及びプログラム |
-
2012
- 2012-03-16 JP JP2012061037A patent/JP5867206B2/ja not_active Expired - Fee Related
- 2012-12-20 US US13/722,331 patent/US9356992B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20130246580A1 (en) | 2013-09-19 |
JP2013196190A (ja) | 2013-09-30 |
US9356992B2 (en) | 2016-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5867206B2 (ja) | 移動制御装置,プログラム及びストレージ装置 | |
JP6328432B2 (ja) | ゲートウェイ装置、ファイルサーバシステム及びファイル分散方法 | |
WO2020010503A1 (zh) | 基于多层一致性哈希的分布式数据存储方法与系统 | |
JP4749140B2 (ja) | データマイグレーション方法及びシステム | |
JP5637552B2 (ja) | ストレージシステム | |
WO2017119091A1 (ja) | 分散型ストレージシステム、データ格納方法、およびソフトウェアプログラム | |
US8843445B2 (en) | Storage system for storing data in a plurality of storage devices and method for same | |
JP5798258B2 (ja) | 記憶階層化のためのコンテンツ選択 | |
JP5973089B2 (ja) | ストレージシステムの移行方式および移行方法 | |
US10061781B2 (en) | Shared data storage leveraging dispersed storage devices | |
JP2020154587A (ja) | 計算機システム及びデータ管理方法 | |
JP2013222230A (ja) | 情報処理システム | |
JP2000322292A (ja) | クラスタ型データサーバシステム及びデータ格納方法 | |
JP2019506667A (ja) | プロセッサ・グリッド内の分散データ重複排除 | |
KR101652436B1 (ko) | 분산파일 시스템에서의 중복 제거 장치 및 방법 | |
JP5385987B2 (ja) | 複数の記憶装置を含む記憶システム、方法、及びプログラム | |
US9971543B2 (en) | Methods and apparatus for storing electronic documents | |
JP6269120B2 (ja) | ストレージシステム | |
US11188258B2 (en) | Distributed storage system | |
US20130246842A1 (en) | Information processing apparatus, program, and data allocation method | |
JP2016184326A (ja) | 階層ストレージ装置,階層ストレージ制御装置,階層ストレージ制御プログラム及び階層ストレージ制御方法 | |
US20210132824A1 (en) | Information processing apparatus and recording medium storing information processing program | |
JP2012243039A (ja) | スナップショットデータ保管方法 | |
WO2017024802A1 (zh) | 多种存储介质并存的系统及进行文件操作的方法、装置及计算机存储介质 | |
JP6881847B2 (ja) | ストレージ装置、ファイル特定方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20141112 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150708 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150804 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150902 |
|
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: 20151208 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151221 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5867206 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |