JPWO2011027775A1 - 分散ストレージシステム、分散ストレージ方法および分散ストレージ用プログラムとストレージノード - Google Patents
分散ストレージシステム、分散ストレージ方法および分散ストレージ用プログラムとストレージノード Download PDFInfo
- Publication number
- JPWO2011027775A1 JPWO2011027775A1 JP2011529914A JP2011529914A JPWO2011027775A1 JP WO2011027775 A1 JPWO2011027775 A1 JP WO2011027775A1 JP 2011529914 A JP2011529914 A JP 2011529914A JP 2011529914 A JP2011529914 A JP 2011529914A JP WO2011027775 A1 JPWO2011027775 A1 JP WO2011027775A1
- Authority
- JP
- Japan
- Prior art keywords
- replication
- storage
- group
- node
- data
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0617—Improving the reliability of storage systems in relation to availability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
- H04L67/1065—Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT]
-
- 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/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1076—Resource dissemination mechanisms or network resource keeping policies for optimal resource availability in the overlay network
-
- 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/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0038—System on Chip
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
Description
本発明は、日本国特許出願:特願2009−202061号(2009年9月1日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、分散ストレージシステム、分散ストレージ方法および分散ストレージ用プログラム及びストレージノードに関する。
近年、分散ストレージシステム、特にハッシュ関数を用いてデータの分散配置を行うことにより、スケーラブルな性能を持ったストレージシステムを実現する試みが増えている。ハッシュ関数を用いたデータの分散配置方法として、例えばコンシステント・ハッシュ法(非特許文献1、非特許文献2)がある。
ストレージ装置を追加、削除しても、データの分散記録状態を維持するために、データ全体を分散配置し直す必要がないためである。
以下に本発明による関連技術の分析を与える。
近年、例えばデータセンター等で運用されるITシステムの電力消費が問題となっている。電力代や地球環境への影響等を考慮して電力消費をコントロール出来るITシステムが求められている。分散ストレージシステムにおいて、電力消費をコントロールするためには、システムが必要とする性能や機能に応じて、分散ストレージシステムを構成するストレージ装置を柔軟に停止させたり、動作させたりことが必要となる。
しかしながら、分散ストレージシステムにおいては、多数のストレージ装置をほぼ同時に、そして即時(一斉)に停止させることが出来ない、という問題がある。
データの書き込み要求を受けたストレージノードは、分散ストレージシステムへ参加する複数のストレージノードに対してグループごとに規定されるデータ複製数分、データの複製を作成する、分散ストレージ方法が提供される。
前記複数のストレージノードが論理的に配置されたハッシュリングを辿り、ハッシュリング上、所属するグループに対応した隣接ストレージノードに複製命令を発行し、
複製先のストレージノードが前記グループに対応して規定されるデータ複製数に達成したか否かを確認し、前記複製先のストレージノードが前記グループに対応して規定されるデータ複製数に達成していなければ、更なる前記ハッシュリング上の前記グループに対応した隣接ストレージノードに複製命令を発行し、達成していれば複製処理を終了するストレージノードが提供される。
本発明の分散ストレージシステムは、システムの動作状態を定義する手段と、データの複製作成手段を備えている。分散ストレージシステムへ参加する複数のストレージノード(ストレージ装置)を予めグループに分けておき、データ複製作成手段は、分散ストレージシステムのストレージノードに、それぞれのグループに対応させて、データの複製を作成する。
図2を参照すると、本発明の第1の実施の形態は、任意の数のストレージノード1と任意の数のクライアント2とを含む。ストレージノード1とクライアント2はネットワーク装置で接続されている。ストレージノード1は、分散ストレージシステムにおいて、データの格納先となるノード(計算機)であり、クライアント2は分散ストレージシステムに対してデータアクセスを行うノード(計算機)である。ネットワークは、LAN(Local Area Network)、WAN(Wide Area Network)、パケット網あるいは回線網、専用線、無線・有線等、任意の通信ネットワーク装置であってよい。
図4は、本実施の形態におけるクライアントとストレージノードの構成を示す図である。図4には、クライアント2と、ストレージノード10〜11、動作状態指定手段3を備えている。なお、図4では、簡単のため1つのクライアントと2つのストレージノードが示されているが、これらの個数は任意である。
という処理を繰り返す。
分散ストレージシステムにおけるシステム全体の動作状態として、下記の表1は、システム全体の動作状態情報の例を示す。
状態Xの際に動作するストレージノードの集合をNodes(X)と表記すると、表1に関して、以下の関係が成り立つ。
次に、図5、図6、図7のフローチャートを用いて、本実施形態の動作例について説明する。
図5は、本実施形態におけるデータのPUT処理の全体の手続きを示すフローチャートである。
(a)他のストレージノードに対するデータの複製処理が完了してから、クライアント2に応答する、又は、
(b)自身(クライアント2からのデータPUT命令を受け取ったストレージノード)のデータ記憶部104へのデータの書き込みが完了した時点で、クライアント2に応答する等、
分散ストレージシステムの動作ポリシーに依存する。本実施形態では、いずれかのポリシーにしたがったストレージシステムでもよい。ステップS105は、必要に応じて実行されるものであるため、ポリシー如何では省略してもよい。
図6は、図5のステップS104の複製処理の処理手順を示す流れ図(フローチャート)である。
・複製先ノードリストにマルチキャストする、
・複製先ノードリストのうちの任意数のストレージノードに発行し伝搬させる
等、様々な手法で行われる。
図7は、図6の複製先算出フロー(ステップS203)における複製先算出の手順を示す流れ図である。
コンシステント・ハッシング法(データ複製を持たない)の場合、単純なノードの除去は可能であるが、データの耐障害性はない。ただし、各ストレージノードが、データをキャッシュに格納して利用する場合、マスタデータを格納したデータベース等が存在する。データはマスタデータベースにアクセスすれば再度取得することができるため、ノード除去は、システム全体としては、必ずしも、データ障害とはならない。障害復旧はマスタデータベースにアクセスして、除去されたノードが保持しているデータを再度コンシステント・ハッシングによりストレージノードにPUTする。ただし、ストレージノードの除去により、ストレージノードが持っていたキャッシュに該当するデータは、マスタデータベースに対するアクセスに切り替えられるため、マスタデータベースに対する負荷が増大する。
非特許文献3等に記載される複製を持ったコンシステント・ハッシング法の場合、データの耐障害性はあるものの、同時に多数のノードが除去されてしまうと失われるデータが出現する可能性がある。すなわち、ノード障害が起きたとき、障害ノード数がデータの冗長数未満であれば、何もしなくても、クライアントは、データに引き続きアクセスできる。しかし、障害ノードが保持していたデータについてはその冗長数が減少する。このため、冗長数を元に戻す復旧処理が必要とされる。データの冗長数を元に戻す復旧処理は、ノード障害を検知し、障害が起きたノードが保持しているデータを冗長保持するストレージノードに対してデータの複製を命令し、さらハッシュリング上における隣接のストレージノードにデータを複製することになる。
本発明によれば、データの耐障害性を具備する。予め決められたルールでの一斉停止であれば、ノード障害時に、データは失われることはない。ただし、予め決められたルールに従ってノードを除去するのではなく、例えばランダムに多数のストレージノードを選択して同時に除去すると、データが失われる可能性がある。本実施例においても、ノード障害発生時、データの冗長数を復旧する処理が行われる。ノード障害が検知された場合、データ復旧処理において、障害が起きたストレージノードが持っているデータが、当該ストレージノードが所属するグループの全てのグループに関して、グループ毎のデータ複製数(冗長数)の条件を満たしているか否か確認する。この確認作業を行うノードは、リング上の任意のノードであってよい。
2 クライアント
3 動作状態指定手段
10〜19 ストレージノード
21 アクセスノード算出手段
22 ルーティング情報記憶部
23 アクセス手段
101 アクセス要求受信手段
102 アクセス要求処理手段
103 データアクセス手段
104 データ記憶部
105 複製命令受信手段
106 複製命令発行手段
107 アクセスノード算出手段
108 ルーティング情報記憶部
109 ノード環境情報記憶部
Claims (23)
- システムの動作状態を指定する手段と、
データ複製作成手段と、
を備え、
前記システムの動作状態を指定する手段は、分散ストレージシステムに参加する複数のストレージノードをシステムの動作状態に対応したグループに分け、
前記データ複製作成手段は、分散ストレージシステムへ参加する複数のストレージノードに対して、グループごとに規定されるデータ複製数分、データの複製を作成する、ことを特徴とする分散ストレージシステム。 - 前記システムの動作状態を指定する手段が、前記グループに対応してデータの複製作成数を決定し、
前記データ複製作成手段は、前記複数のストレージノードが論理的に配置されたハッシュリングを辿り、グループごとの規定されるデータ複製数に達成するまで複製先を探索し、複製先ストレージノードのリストを作成する、ことを特徴とする請求項1記載の分散ストレージシステム。 - 前記データ複製作成手段は、前記複製先ストレージノードのリストを受け、前記リストの各ストレージノードに対して複製命令を発行する手段を備えたことを特徴とする請求項1記載の分散ストレージシステム。
- クライアントからのデータの書き込み要求に受けた場合、
前記データ複製作成手段は、複製先ストレージノードのリストを作成し、
前記ハッシュリング上の複数のストレージノードが属する所属グループに対応して、各所属グループに対応するデータ複製数のデータを複製する、ことを特徴とする請求項2記載の分散ストレージシステム。 - 前記ストレージノードが、
システムの動作の状態情報と、該状態に対応したデータの複製数の情報と、を含む記憶部を備え、
(a)前記複数のストレージノードが論理的に配置されたハッシュリング上で、現在のストレージノードに隣接するストレージノードを取得し、
(b)前記取得した隣接ストレージノードの所属グループを識別し、前記所属グループに指定されているデータの複製数と、複製先ノードリストに含まれているノードの数とを比較し、
(c)前記所属するグループの複製先のストレージノードの数が指定複製数に達している場合には、前記隣接ストレージノードを前記現在のストレージノードとして、(a)の前記ハッシュリング上の隣接ストレージノードの取得処理に戻り、
(d)前記所属するグループの複製先のストレージノードの数が指定複製数に達していない場合には、(a)で取得した隣接ストレージノードを複製先ノードリストに追加し、
(e)前記ハッシュリング上のストレージノードが所属するグループの全てに対して必要な複製数に達しているか判定し、
(f)前記判定の結果、前記ハッシュリング上のストレージノードが属する全ての所属グループに対して必要な複製数に達していない場合、前記隣接ストレージノードを前記現在のストレージノードとして、(a)の前記ハッシュリング上の隣接ストレージノードの取得処理に戻り、
(g)前記判定の結果、前記ハッシュリング上のストレージノードが属する全ての所属グループに対して必要な複製数に達している場合、複製先ノードリストを複製命令発行手段に送る、
前記(a)乃至(g)を実行するアクセスノード算出手段と、
前記複製先ノードリストに含まれるストレージノードに対して複製命令を発行する前記複製命令発行手段と、
を備えた、請求項1又は2記載の分散ストレージシステム。 - 前記システムの動作状態を指定する手段が、前記グループに対応してデータの複製先を決定し、
前記データ複製作成手段は、前記複数のストレージノードが論理的に配置されたハッシュリングを辿り、前記ハッシュリング上の前記グループに対応した隣接ストレージノードに複製命令を発行し、
複製先のストレージノードが前記グループに対応して規定されるデータ複製数に達成したか否かを確認し、
前記複製先のストレージノードが前記グループに対応して規定されるデータ複製数に達成していなければ、更なる前記ハッシュリング上の前記グループに対応した隣接ストレージノードに複製命令を発行し、達成していれば複製処理を終了する、ことを特徴とする請求項1記載の分散ストレージシステム。 - 分散ストレージシステムへ参加する複数のストレージノードをシステムの動作状態に対応したグループに分け、
データの書き込み要求を受けたストレージノードは、分散ストレージシステムへ参加する複数のストレージノードに対してグループごとに規定されるデータ複製数分、データの複製を作成する、ことを特徴とする分散ストレージ方法。 - 前記グループに対応してデータの複製作成数を決定し、
前記複数のストレージノードが論理的に配置されたハッシュリングを辿り、グループごとの規定されるデータ複製数に達成するまで、複製先を探索し、複製先ストレージノードのリストを作成する、ことを特徴とする請求項7記載の分散ストレージ方法。 - 前記複製先ストレージノードのリストを受け、前記リストの各ストレージノードに対して複製命令を発行する、ことを特徴とする請求項7記載の分散ストレージ方法。
- クライアントからのデータの書き込み要求に対して、複製先ストレージノードのリストを作成し、
ハッシュリング上の複数のストレージノードが属する所属グループに対応して、各所属グループに対応するデータ複製数のデータを複製する、ことを特徴とする請求項8記載の分散ストレージ方法。 - データの複製を作成するにあたり、
(a)前記複数のストレージノードが論理的に配置されたハッシュリング上で、現在のストレージノードに隣接するストレージノードを取得し、
(b)前記取得した隣接ストレージノードの所属グループを識別し、前記所属グループに指定されているデータの複製数と、複製先ノードリストに含まれているノードの数とを比較し、
(c)前記所属するグループの複製先のストレージノードの数が指定複製数に達している場合には、前記隣接ストレージノードを前記現在のストレージノードとして、(a)の前記ハッシュリング上の隣接ストレージノードの取得処理に戻り、
(d)前記所属するグループの複製先のストレージノードの数が指定複製数に達していない場合には、(a)で取得した隣接ストレージノードを複製先ノードリストに追加し、
(e)前記ハッシュリング上のストレージノードが所属するグループの全てに対して必要な複製数に達しているか判定し、
(f)前記判定の結果、前記ハッシュリング上のストレージノードが属する全ての所属グループに対して必要な複製数に達していない場合、前記隣接ストレージノードを前記現在のストレージノードとして、(a)の前記ハッシュリング上の隣接ストレージノードの取得処理に戻り、
(g)前記判定の結果、前記ハッシュリング上のストレージノードが属する全ての所属グループに対して必要な複製数に達している場合、複製先ノードリストを複製命令発行手段に送り、
前記複製命令発行手段は、前記複製先ノードリストに含まれるストレージノード対して複製命令を発行する、請求項7又は8記載の分散ストレージ方法。 - 前記グループに対応してデータの複製先を決定し、
前記データの複製作成にあたり、前記複数のストレージノードが論理的に配置されたハッシュリングを辿り、前記ハッシュリング上の前記グループに対応した隣接ストレージノードに複製命令を発行し、
複製先ストレージノードが前記グループに対応して規定されるデータ複製数に達成したか否かを確認し、
前記複製先のストレージノードが前記グループに対応して規定されるデータ複製数に達成していなければ、更なる前記ハッシュリング上の前記グループに対応した隣接ストレージノードに複製命令を発行し、達成していれば複製処理を終了する、ことを特徴とする請求項7記載の分散ストレージ方法。 - システムの動作状態を指定する処理と、
データ複製作成処理と、
をストレージノードを構成するコンピュータに実行させるプログラムであって、
前記システムの動作状態を指定する処理は、分散ストレージシステムへ参加する複数のストレージノードをシステムの動作状態に対応したグループに分け、
前記データ複製作成処理は、分散ストレージシステムへ参加する複数のストレージノードに対してグループごとに規定されるデータ複製数分、データの複製を作成する、ことを特徴とするプログラム。 - 前記システムの動作状態を指定する処理が、前記グループに対応してデータの複製作成数を決定し、
前記データ複製作成処理は、前記複数のストレージノードが論理的に配置されたハッシュリングを辿り、グループごとの規定されるデータ複製数に達成するまで、複製先を探索し、複製先ストレージノードのリストを作成する、ことを特徴とする請求項13記載のプログラム。 - 前記データ複製作成処理は、前記複製先ストレージノードのリストを受け、前記リストの各ストレージノードに対して複製命令を発行する処理を備えたことを特徴とする請求項13記載のプログラム。
- クライアントからのデータの書き込み要求を受けた場合、前記データ複製作成処理は、複製先ストレージノードのリストを作成し、ハッシュリング上の複数のストレージノードが属する所属グループに対応して、各所属グループに対応するデータ複製数のデータを複製する、ことを特徴とする請求項14記載のプログラム。
- 前記ストレージノードが、
(a)前記複数のストレージノードが論理的に配置されたハッシュリング上で、現在のストレージノードに隣接するストレージノードを取得し、
(b)前記取得した隣接ストレージノードの所属グループを識別し、前記所属グループに指定されているデータの複製数と、複製先ノードリストに含まれているノードの数とを比較し、
(c)前記所属するグループの複製先のストレージノードの数が指定複製数に達している場合には、前記隣接ストレージノードを前記現在のストレージノードとして、(a)の前記ハッシュリング上の隣接ストレージノードの取得処理に戻り、
(d)前記所属するグループの複製先のストレージノードの数が指定複製数に達していない場合には、(a)で取得した隣接ストレージノードを複製先ノードリストに追加し、
(e)前記ハッシュリング上のストレージノードが所属するグループの全てに対して必要な複製数に達しているか判定し、
(f)前記判定の結果、前記ハッシュリング上のストレージノードが属する全ての所属グループに対して必要な複製数に達していない場合、前記隣接ストレージノードを前記現在のストレージノードとして、(a)の前記ハッシュリング上の隣接ストレージノードの取得処理に戻り、
(g)前記判定の結果、前記ハッシュリング上のストレージノードが属する全ての所属グループに対して必要な複製数に達している場合、複製先ノードリストを複製命令発行処理に送る、
前記(a)乃至(g)を実行するアクセスノード算出処理と、
複製先ノードリストに含まれるストレージノード対して複製命令を発行する前記複製命令発行処理と、を前記コンピュータに実行させる、請求項13又は14記載のプログラム。 - 前記グループに対応してデータの複製先を決定する処理と、
前記複数のストレージノードが論理的に配置されたハッシュリングを辿り、前記ハッシュリング上の前記グループに対応した隣接ストレージノードに複製命令を発行し、
複製先のストレージノードが前記グループに対応して規定されるデータ複製数に達成したか否かを確認し、
複製先のストレージノードが前記グループに対応して規定されるデータ複製数に達成していなければ、更なる前記ハッシュリング上の前記グループに対応した隣接ストレージノードに複製命令を発行し、達成していれば複製処理を終了する処理と、を前記コンピュータに実行させる、請求項13又は14記載のプログラム。 - 分散ストレージシステムに参加する複数のストレージノードをシステムの動作状態に対応したグループに分け、分散ストレージシステムへ参加する複数のストレージノードに対して、グループごとに規定されるデータ複製数分、データの複製を作成する分散ストレージシステムを構成するストレージノードであって、
前記複数のストレージノードが論理的に配置されたハッシュリングを辿り、グループごとの規定されるデータ複製数に達成するまで複製先を探索し、複製先ストレージノードのリストを作成するデータ複製作成手段を備えた、ことを特徴とするストレージノード。 - 前記データ複製作成手段は、前記複製先ストレージノードの各ストレージノードに対して複製命令を発行することを特徴とする請求項19記載のストレージノード。
- 前記データ複製作成手段は、クライアントからのデータの書き込み要求を受けた場合、
複製先ストレージノードのリストを作成し、
前記ハッシュリング上の複数のストレージノードが属する所属グループに対応して、各所属グループに対応するデータ複製数のデータを複製する、ことを特徴とする請求項19記載のストレージノード。 - システムの動作の状態情報と、該状態に対応したデータの複製数の情報と、を含む記憶部を備え、
(a)前記複数のストレージノードが論理的に配置されたハッシュリング上で、現在のストレージノードに隣接するストレージノードを取得し、
(b)前記取得した隣接ストレージノードの所属グループを識別し、前記所属グループに指定されているデータの複製数と、複製先ノードリストに含まれているノードの数とを比較し、
(c)前記所属するグループの複製先のストレージノードの数が指定複製数に達している場合には、前記隣接ストレージノードを前記現在のストレージノードとして、(a)の前記ハッシュリング上の隣接ストレージノードの取得処理に戻り、
(d)前記所属するグループの複製先のストレージノードの数が指定複製数に達していない場合には、(a)で取得した隣接ストレージノードを複製先ノードリストに追加し、
(e)前記ハッシュリング上のストレージノードが所属するグループの全てに対して必要な複製数に達しているか判定し、
(f)前記判定の結果、前記ハッシュリング上のストレージノードが属する全ての所属グループに対して必要な複製数に達していない場合、前記隣接ストレージノードを前記現在のストレージノードとして、(a)の前記ハッシュリング上の隣接ストレージノードの取得処理に戻り、
(g)前記判定の結果、前記ハッシュリング上のストレージノードが属する全ての所属グループに対して必要な複製数に達している場合、複製先ノードリストを複製命令発行手段に送る、
前記(a)乃至(g)を実行するアクセスノード算出手段と、
前記複製先ノードリストに含まれるストレージノードに対して複製命令を発行する前記複製命令発行手段と、
を備えた、請求項19記載のストレージノード。 - 分散ストレージシステムに参加する複数のストレージノードをシステムの動作状態に対応したグループに分け、分散ストレージシステムへ参加する複数のストレージノードに対して、グループごとに規定されるデータ複製数分、データの複製を作成する分散ストレージシステムを構成するストレージノードであって、
前記複数のストレージノードが論理的に配置されたハッシュリングを辿り、ハッシュリング上、所属するグループに対応した隣接ストレージノードに複製命令を発行し、
複製先のストレージノードが前記グループに対応して規定されるデータ複製数に達成したか否かを確認し、前記複製先のストレージノードが前記グループに対応して規定されるデータ複製数に達成していなければ、更なる前記ハッシュリング上の前記グループに対応した隣接ストレージノードに複製命令を発行し、達成していれば複製処理を終了する、ことを特徴とするストレージノード。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011529914A JP5556816B2 (ja) | 2009-09-01 | 2010-09-01 | 分散ストレージシステム、分散ストレージ方法および分散ストレージ用プログラムとストレージノード |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009202061 | 2009-09-01 | ||
JP2009202061 | 2009-09-01 | ||
PCT/JP2010/064912 WO2011027775A1 (ja) | 2009-09-01 | 2010-09-01 | 分散ストレージシステム、分散ストレージ方法および分散ストレージ用プログラムとストレージノード |
JP2011529914A JP5556816B2 (ja) | 2009-09-01 | 2010-09-01 | 分散ストレージシステム、分散ストレージ方法および分散ストレージ用プログラムとストレージノード |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2011027775A1 true JPWO2011027775A1 (ja) | 2013-02-04 |
JP5556816B2 JP5556816B2 (ja) | 2014-07-23 |
Family
ID=43649311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011529914A Active JP5556816B2 (ja) | 2009-09-01 | 2010-09-01 | 分散ストレージシステム、分散ストレージ方法および分散ストレージ用プログラムとストレージノード |
Country Status (3)
Country | Link |
---|---|
US (1) | US9395933B2 (ja) |
JP (1) | JP5556816B2 (ja) |
WO (1) | WO2011027775A1 (ja) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9201890B2 (en) * | 2010-10-04 | 2015-12-01 | Dell Products L.P. | Storage optimization manager |
JP5733124B2 (ja) * | 2011-09-12 | 2015-06-10 | 富士通株式会社 | データ管理装置、データ管理システム、データ管理方法、及びプログラム |
US9069835B2 (en) * | 2012-05-21 | 2015-06-30 | Google Inc. | Organizing data in a distributed storage system |
US9774676B2 (en) | 2012-05-21 | 2017-09-26 | Google Inc. | Storing and moving data in a distributed storage system |
US9449006B2 (en) | 2012-06-04 | 2016-09-20 | Google Inc. | Method and system for deleting obsolete files from a file system |
US9230000B1 (en) | 2012-06-04 | 2016-01-05 | Google Inc. | Pipelining Paxos state machines |
US9298576B2 (en) | 2012-06-04 | 2016-03-29 | Google Inc. | Collecting processor usage statistics |
US9195611B2 (en) | 2012-06-04 | 2015-11-24 | Google Inc. | Efficiently updating and deleting data in a data storage system |
US9659038B2 (en) | 2012-06-04 | 2017-05-23 | Google Inc. | Efficient snapshot read of a database in a distributed storage system |
WO2013184712A2 (en) | 2012-06-04 | 2013-12-12 | Google Inc. | Systems and methods of increasing database access concurrency using granular timestamps |
WO2014041781A1 (ja) * | 2012-09-11 | 2014-03-20 | 日本電気株式会社 | オブジェクト移動判定装置、方法、及びプログラム、オブジェクト配置装置、並びにストレージシステム |
WO2014077918A1 (en) * | 2012-11-19 | 2014-05-22 | Board Of Regents, The University Of Texas System | Robustness in a scalable block storage system |
CN103455372B (zh) * | 2013-08-31 | 2017-05-10 | 华为技术有限公司 | 一种服务器中内存模块的数据迁移方法及服务器 |
JP6197666B2 (ja) * | 2014-01-27 | 2017-09-20 | 富士通株式会社 | 記憶装置、複製方法及び複製プログラム |
JP6127005B2 (ja) * | 2014-02-27 | 2017-05-10 | 日本電信電話株式会社 | クラスタシステムのサーバ装置およびプログラム |
US9600203B2 (en) * | 2014-03-11 | 2017-03-21 | Amazon Technologies, Inc. | Reducing data volume durability state for block-based storage |
US9720620B1 (en) | 2014-03-11 | 2017-08-01 | Amazon Technologies, Inc. | Efficient data volume replication for block-based storage |
EP2947579A1 (en) * | 2014-05-22 | 2015-11-25 | Deutsche Telekom AG | Method for generating a backup copy of a distributed data structure, system for generating a backup copy of a distributed data structure, program and computer program product |
CN105704173B (zh) * | 2014-11-25 | 2019-06-21 | 中国移动通信集团福建有限公司 | 一种集群系统数据分布方法及服务器 |
JP6770244B2 (ja) * | 2015-03-30 | 2020-10-14 | 日本電気株式会社 | ストレージシステム |
WO2017065209A1 (ja) * | 2015-10-16 | 2017-04-20 | 国立大学法人東北大学 | 情報処理システム、情報処理装置、情報処理方法、及び、プログラム |
JP7132531B2 (ja) * | 2018-05-28 | 2022-09-07 | 日本電信電話株式会社 | 転送制御装置、転送制御方法、サービス提供システムおよび転送制御プログラム |
WO2020010502A1 (zh) * | 2018-07-10 | 2020-01-16 | 深圳花儿数据技术有限公司 | 一种基于一致性哈希算法的分布式数据冗余存储方法 |
US10895997B2 (en) | 2019-02-20 | 2021-01-19 | Nutanix, Inc. | Durable client-side caching for distributed storage |
WO2021052230A1 (zh) * | 2019-09-18 | 2021-03-25 | 华为技术有限公司 | 一种存储系统、存储节点和数据存储方法 |
CN114138737B (zh) * | 2022-02-08 | 2022-07-12 | 亿次网联(杭州)科技有限公司 | 文件存储方法、装置、设备及存储介质 |
CN114676118B (zh) * | 2022-05-30 | 2022-08-12 | 深圳市科力锐科技有限公司 | 数据库切换方法、装置、设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7925624B2 (en) | 2006-03-31 | 2011-04-12 | Amazon Technologies, Inc. | System and method for providing high availability data |
JP4417997B2 (ja) * | 2007-12-13 | 2010-02-17 | 株式会社東芝 | オーバーレイネットワークシステム、同システムにおけるオーバーレイネットワーク構築・維持方法、及びプログラム |
-
2010
- 2010-09-01 JP JP2011529914A patent/JP5556816B2/ja active Active
- 2010-09-01 WO PCT/JP2010/064912 patent/WO2011027775A1/ja active Application Filing
- 2010-09-01 US US13/393,207 patent/US9395933B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20120159102A1 (en) | 2012-06-21 |
JP5556816B2 (ja) | 2014-07-23 |
US9395933B2 (en) | 2016-07-19 |
WO2011027775A1 (ja) | 2011-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5556816B2 (ja) | 分散ストレージシステム、分散ストレージ方法および分散ストレージ用プログラムとストレージノード | |
JP5411250B2 (ja) | 冗長データ記憶システムへの指示に従ってのデータ配置 | |
US8918392B1 (en) | Data storage mapping and management | |
JP5479490B2 (ja) | 複製ストレージクラスタのための非同期式分散ガーベッジコレクション | |
JP2019101703A (ja) | 記憶システム及び制御ソフトウェア配置方法 | |
US8935203B1 (en) | Environment-sensitive distributed data management | |
US8930364B1 (en) | Intelligent data integration | |
JP2010079886A (ja) | 拡張可能な2次ストレージシステムと方法 | |
US10387273B2 (en) | Hierarchical fault tolerance in system storage | |
WO2018054079A1 (zh) | 一种存储文件的方法、第一虚拟机及名称节点 | |
US20190303035A1 (en) | Copying garbage collector for geographically distributed data storage environment | |
JP2003296035A (ja) | ストレージ装置及びストレージ方法 | |
JP4937863B2 (ja) | 計算機システム、管理計算機及びデータ管理方法 | |
CN113010496A (zh) | 一种数据迁移方法、装置、设备和存储介质 | |
JP6033420B2 (ja) | ストレージシステムおよびストレージシステムの制御方法 | |
JP2012008934A (ja) | 分散ファイルシステム及び分散ファイルシステムにおける冗長化方法 | |
JP4572581B2 (ja) | データベース処理方法およびシステム並びにその処理プログラム | |
JP2010026965A (ja) | アーカイブシステムおよびコンテンツの管理方法 | |
WO2016088372A1 (ja) | アクセス装置、マイグレーション装置、分散ストレージシステム、アクセス方法及びコンピュータ読み取り可能記録媒体 | |
JP2014149625A (ja) | ストレージシステム、ディスクアレイ装置及びストレージシステムの制御方法 | |
JP2006146661A (ja) | レプリケーションシステム、方法、レプリカストレージ、およびプログラム | |
JP6291977B2 (ja) | 分散ファイルシステム、バックアップファイル取得方法、制御装置及び管理装置 | |
JP2019046180A (ja) | 計算機システム、データ管理方法、及びデータ管理プログラム | |
JP2009157880A (ja) | サーバ装置及びファイルシステム | |
JP5071518B2 (ja) | データベース処理方法、データベース処理システム及びデータベース管理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130802 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131001 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131202 |
|
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: 20140507 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140520 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5556816 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |