JPWO2016088372A1 - アクセス装置、マイグレーション装置、分散ストレージシステム、アクセス方法及びプログラム - Google Patents
アクセス装置、マイグレーション装置、分散ストレージシステム、アクセス方法及びプログラム Download PDFInfo
- Publication number
- JPWO2016088372A1 JPWO2016088372A1 JP2016562308A JP2016562308A JPWO2016088372A1 JP WO2016088372 A1 JPWO2016088372 A1 JP WO2016088372A1 JP 2016562308 A JP2016562308 A JP 2016562308A JP 2016562308 A JP2016562308 A JP 2016562308A JP WO2016088372 A1 JPWO2016088372 A1 JP WO2016088372A1
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage
- hold
- notification
- access
- 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.)
- Pending
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
Abstract
分散ストレージシステムにおいて、記憶部の数が増減した際のデータリバランス処理中におけるアクセス性能の低下を防ぐ。アクセス装置は、ストレージ装置に含まれる記憶部の数の変動に応じて、ストレージ装置に含まれる記憶部に対して、データの追加処理を実行した後、データの削除処理を実行することでデータのリバランスを行うマイグレーション装置から、追加処理が完了した旨の通知を受信する受信部と、アクセス対象のデータを保持すべき記憶部が変動した場合、追加処理が完了した旨の通知を受けるまで、変動前後にデータを保持すべき記憶部を示す情報に基づいてストレージ装置に含まれる記憶部にアクセスし、追加処理が完了した旨の通知を受けると、変動後にデータを保持すべき記憶部に対してアクセスするアクセス部と、を備えている。
Description
本発明は、アクセス装置、マイグレーション装置、分散ストレージシステム、アクセス方法及びコンピュータ読み取り可能記録媒体に関し、特に、記憶部の数が増減し得る分散ストレージシステム、かかる分散ストレージシステムにアクセスするアクセス装置、記憶部の数の増減に伴いデータマイグレーションを行うマイグレーション装置、アクセス装置によるアクセス方法及びコンピュータ読み取り可能記録媒体に関する。
記憶装置および記憶システムに対するデータアクセスの制御に関して、さまざまな技術が開発されている。例えば、単一または複数の計算機によって構成されるデータストアシステム(例えば、データベースシステム、ファイルシステム、キャッシュシステム等)が知られている。
近年では、そのようなシステムとして、主に分散ストレージシステムが用いられている。分散ストレージシステムは、ネットワークを介して接続された複数の汎用的な計算機を含む。また、分散ストレージシステムは、これらの計算機に搭載された記憶部(ないし記憶装置)を用いて、データの格納およびデータの提供を行う。ここで、記憶部とは、例えば、ハードディスク(HDD:Hard Disk Drive)、主記憶(例えば、DRAM:Dynamic Random Access Memory)等である。
上述のような分散ストレージシステムでは、いずれの計算機にデータを配置し、いずれの計算機によってデータを処理するのかを、ソフトウェアまたは特別なハードウェアによって決定する。データに対応する計算機を決定する方法として、例えば、乱数やハッシュ値を用いる手法が採用されている。
クラスタベースの分散ストレージや分散データベース技術は、サーバアーキテクチャを前提として発展して来ている。サーバアーキテクチャによると、自身以外のサーバのリソースにアクセスするには、該当するサーバを経由してアクセスする必要がある。一方、リソース分離型アーキテクチャでは、各リソース(メモリ、ストレージ等)はインターコネクトネットワークを経由して接続されている。すなわち、リソース分離型アーキテクチャによると、各CPU(Central Processing Unit)から各リソースを物理的に共有することが可能となり、サーバを経由してアクセスする必要がなくなる。このようなアーキテクチャの変化は、分散ストレージや分散データベースの技術に革新をもたらすものである。
分散ストレージシステムでは、システムの構成要素である計算機や記憶デバイスの障害や性能拡張のために、記憶部の数の動的変化を許容する必要がある。例えば、ハッシュ値に基づいて責任記憶部を決定する方法を用いた場合、記憶部の数が変更されると、データの分散配置状態が変更されるため、データのリバランス処理が必要となる。このようなデータリバランス処理中の責任記憶部の決定は、一般に、正常時よりも複雑化する。
関連技術として、特許文献1には、コンシステントハッシングによって分散ストレージを構築し、データリバランス処理を最小化する技術が開示されている。
また、特許文献2には、データを格納する情報記憶ノードの数が減少したときに、レプリケーション数を迅速に回復する技術が開示されている。
上記特許文献1、2の全開示内容は、本書に引用をもって繰り込み記載されているものとする。以下の分析は、本発明者によってなされたものである。
特許文献1に記載された分散ストレージシステムによると、データマイグレーション(リバランス)処理中に、データのアクセスができない、または、著しく性能が劣化するという問題がある。特許文献1に記載された分散ストレージシステムでは、データマイグレーション(リバランス)処理に時間を要するため、データ配置アルゴリズムによって決定される計算機や記憶デバイス上に責任データが存在しない。これにより、データの読み込みができず、また、書き込み処理もマイグレーションが完了するまで実行できないからである。
また、信頼性向上のために複数の記憶部にデータを格納する場合、データの読み書きをこれら複数の記憶部に対して行う必要がある。記憶部の数が変更されることにより、データの配置先が変更される。このとき、データのリバランスが完了しているかどうかに応じて、アクセス先の記憶部も変更する必要がある。
通常の分散クラスタによる分散ストレージにおいては、変更先の記憶部にアクセスを転送することが可能である。しかしながら、リソース分離型アーキテクチャにおいては、記憶部にかかる機能を設けることが困難である。また、通常の分散クラスタにおいても、アクセスを転送するのに要する通信レイテンシにより、アクセス性能が低下する。
また、特許文献2に記載された技術によると、データマイグレーションの状況を示すフラグ(生死情報)が管理ノード上のノード管理テーブルで集中的に管理されているため、データマイグレーションの処理中におけるクライアントからの情報記憶ノードへのアクセスの際、管理ノードにおける処理がボトルネックとなるおそれがある。
そこで、分散ストレージシステム(例えば、一般的な分散クラスタまたはリソース分離型アーキテクチャ上で動作するもの)において、記憶部の数が増減した際のデータリバランス処理中におけるアクセス性能の低下を防ぐことが課題となる。本発明の目的は、かかる課題解決に寄与するアクセス装置、マイグレーション装置、分散ストレージシステム、アクセス方法、および、プログラムを提供することにある。
本発明の第1の態様によると、ストレージ装置に含まれる記憶手段の数の変動に応じて、前記ストレージ装置に含まれる記憶手段に対して、データの追加処理を実行した後、データの削除処理を実行することでデータのリバランスを行うマイグレーション装置から、前記追加処理が完了した旨の通知を受信する受信手段を備えるアクセス装置が提供される。前記アクセス装置は、アクセス対象のデータを保持すべき記憶手段が変動した場合、前記完了した旨の通知を受けるまで、変動前後に前記データを保持すべき記憶手段を示す情報に基づいて前記ストレージ装置に含まれる記憶手段にアクセスし、前記完了した旨の通知を受けると、変動後に前記データを保持すべき記憶手段に対してアクセスするアクセス手段を備える。
本発明の第2の態様によると、ストレージ装置に含まれる記憶手段の数の変動に応じて、前記ストレージ装置に含まれる記憶手段に対して、データの追加処理を実行した後、データの削除処理を実行することでデータのリバランスを行うデータ移動手段を備えるマイグレーション装置が提供される。前記マイグレーション装置は、前記ストレージ装置に含まれる記憶手段にアクセスするアクセス装置に対して、前記追加処理が完了した旨を通知する通知手段を備える。
本発明の第3の態様によると、マイグレーション装置とアクセス装置を備える分散ストレージシステムが提供される。前記マイグレーション装置は、ストレージ装置に含まれる記憶手段の数の変動に応じて、前記ストレージ装置に含まれる記憶手段に対して、データの追加処理を実行した後、データの削除処理を実行することでデータのリバランスを行い、前記追加処理が完了した旨を前記アクセス装置に通知する。さらに、前記アクセス装置は、アクセス対象のデータを保持すべき記憶手段が変動した場合、前記完了した旨の通知を受けるまで、変動前後に前記データを保持すべき記憶手段を示す情報に基づいて前記ストレージ装置に含まれる記憶手段にアクセスし、前記完了した旨の通知を受けると、変動後に前記データを保持すべき記憶手段に対してアクセスする。
本発明の第4の態様によると、アクセス装置によるアクセス方法が提供される。前記アクセス方法は、ストレージ装置に含まれる記憶手段の数の変動に応じて、前記ストレージ装置に含まれる記憶手段に対して、データの追加処理を実行した後、データの削除処理を実行することでデータのリバランスを行うマイグレーション装置から、前記追加処理が完了した旨の通知を前記アクセス装置が受信する。また、前記アクセス方法は、アクセス対象のデータを保持すべき記憶手段が変動した場合、前記完了した旨の通知を受けるまで、前記アクセス装置が、変動前後に前記データを保持すべき記憶手段を示す情報に基づいて前記ストレージ装置に含まれる記憶手段にアクセスする。さらに、前記アクセス方法は、前記完了した旨の通知を受けると、前記アクセス装置が、変動後に前記データを保持すべき記憶手段に対してアクセスする。
本発明の第5の態様によると、ストレージ装置に含まれる記憶手段の数の変動に応じて、前記ストレージ装置に含まれる記憶手段に対して、データの追加処理を実行した後、データの削除処理を実行することでデータのリバランスを行うマイグレーション装置から、前記追加処理が完了した旨の通知を受信する処理を、コンピュータに実行させるプログラムが提供される。また、前記プログラムは、アクセス対象のデータを保持すべき記憶手段が変動した場合、前記完了した旨の通知を受けるまで、変動前後に前記データを保持すべき記憶手段を示す情報に基づいて前記ストレージ装置に含まれる記憶手段にアクセスする処理を、前記コンピュータに実行させる。さらに、前記プログラムは、前記完了した旨の通知を受けると、変動後に前記データを保持すべき記憶手段に対してアクセスする処理を、前記コンピュータに実行させる。
なお、プログラムは、非一時的なコンピュータ可読記録媒体(non-transitory computer-readable storage medium)に記録されたプログラム製品として提供することもできる。
本発明に係るアクセス装置、マイグレーション装置、分散ストレージシステム、アクセス方法、および、コンピュータ読み取り可能記録媒体によると、分散ストレージシステムにおいて、記憶部の数が増減した際のデータリバランス処理中におけるアクセス性能の低下を防ぐことができる。
はじめに、一実施形態の概要について説明する。なお、この概要に付記する図面参照符号は、専ら理解を助けるための例示であり、本発明を図示の態様に限定することを意図するものではない。また、図中に示す矢印は、データ等の流れの一例を示す。しかしながら、データ等の流れは、これに限定されない。
図1は、一実施形態に係るアクセス装置2の構成を例示するブロック図である。図1を参照すると、アクセス装置2は、受信部25と、アクセス部26と、を備えている。受信部25は、ストレージ装置に含まれる記憶部の数の変動に応じて、ストレージ装置に含まれる記憶部に対して、データの追加処理を実行する。受信部25は、その後、データの削除処理を実行することでデータのリバランスを行うマイグレーション装置から、追加処理が完了した旨の通知を受信する。アクセス部26は、アクセス対象のデータを保持すべき記憶部が変動した場合、追加処理が完了した旨の通知を受けるまで、変動前後にデータを保持すべき記憶部を示す情報に基づいてストレージ装置に含まれる記憶部にアクセスする。また、アクセス部26は、追加処理が完了した旨の通知を受けると、変動後にデータを保持すべき記憶部に対してアクセスする。
図2は、一実施形態に係るマイグレーション装置1の構成を例示するブロック図である。図2を参照すると、マイグレーション装置1は、データ移動部11と、通知部14と、を備えている。データ移動部11は、ストレージ装置に含まれる記憶部の数の変動に応じて、ストレージ装置に含まれる記憶部に対して、データの追加処理を実行した後、データの削除処理を実行することでデータのリバランスを行う。通知部14は、ストレージ装置に含まれる記憶部にアクセスするアクセス装置に対して、追加処理が完了した旨を通知する。
かかるアクセス装置2、および、マイグレーション装置1によると、分散ストレージシステムにおいて、記憶部の数が増減した際のデータリバランス処理中におけるアクセス性能の低下を防ぐことができる。
以下では、図面を参照してさらに詳細に説明する。図4は、一実施形態に係る分散ストレージシステムの構成を例示するブロック図である。図4を参照すると、外部記憶部200〜20Nの増減に伴い、アクセス装置2はデータリード/ライトアルゴリズムを切り替え、一方、マイグレーション装置1はデータ再配置に必要なデータ追加処理のみをすべて実行する。
また、マイグレーション装置1はデータ追加処理をすべて実行した後に、アルゴリズム切り替え命令をアクセス装置2群へ発行し、切り替え完了後にデータ再配置の削除処理のみを行う。さらに、アクセス装置2群は、外部記憶部200〜20Nの増減時には新旧のデータ配置情報を用いてデータアクセスを行い、マイグレーション装置の切り替え命令受信後には、新しいデータ配置情報によって通常のデータアクセス方式で動作する。
かかる分散ストレージシステムによると、外部記憶部200〜20Nが増減した際のデータリバランス処理中のアクセス性能が劣化しない。
その理由は、マイグレーション処理が完了しているかどうかが不明なタイミングにおいて、データリード(READ)処理を待ち合わせる必要がないからである。また、前述のマイグレーション装置1とアクセス装置2の動作によると、マイグレーション処理中にデータの不整合状態が発生しない。すなわち、マイグレーション中のデータ更新処理においてデータの複製同士でデータ不整合(バージョン違い)が発生せず、さらに、マイグレーション処理完了後においても、データの複製同士でデータ不整合が発生しない。したがって、リード(READ)時に不整合修復処理等が不要となるからである。
さらに、かかる分散ストレージシステムによると、データマイグレーションのために、必要データが存在しない外部記憶部にアクセスして通信をやり直すといった通信レイテンシの発生を防ぐことができ、アクセス性能が向上する。
その理由は、マイグレーション装置1がマイグレーションの推移情報をアクセス装置2に通知することにより、古いデータ配置情報に基づくデータにアクセスしないで済むからである。
<実施形態1>
次に、本発明の第1の実施形態に係る分散ストレージシステムについて、図面を参照して詳細に説明する。
次に、本発明の第1の実施形態に係る分散ストレージシステムについて、図面を参照して詳細に説明する。
[構成]
図3は、本実施形態に係る分散ストレージシステムの概略構成を例示する図である。図3を参照すると、本実施形態の分散ストレージシステムは、CPU(Central Processing Unit)100〜10Mと、外部記憶部200〜20Nと、これらを結合するインターコネクトネットワーク300とを備えている。
図3は、本実施形態に係る分散ストレージシステムの概略構成を例示する図である。図3を参照すると、本実施形態の分散ストレージシステムは、CPU(Central Processing Unit)100〜10Mと、外部記憶部200〜20Nと、これらを結合するインターコネクトネットワーク300とを備えている。
CPU100〜10Mおよび外部記憶部200〜20Nは、それぞれ、1または2以上設けられる。リソース分離型アーキテクチャでは、インターコネクトネットワーク300を介して、CPU100〜10Mと外部記憶部200〜20N(およびそれ以外のリソース)を結合することで、計算機サーバを構築する。
CPU100〜10Mは、サーバを構成する演算処理装置(例えば、CPU)、インターコネクトネットワーク300に接続するためのインタフェース(IF:Interface)、高速な記憶回路(レジスタ)、CPUキャッシュ等を備える装置である。もちろん、CPU100〜10Mは、これら以外のメモリ等の記憶装置を有していてもよい。
外部記憶部200〜20Nは、CPU100〜10Mと結合するためのインタフェース(すなわち、インターコネクトネットワーク300へのIF)と、記憶装置(フラッシュメモリ、DRAM(Dynamic Random Access Memory)、MRAM(Magnetoresistive Random Access Memory)、HDD(Hard Disk Drive)等)と、記憶装置へのアクセス処理を行う機能と、電源供給手段等を備える装置である。
インターコネクトネットワーク300は、CPU100〜10M間、および、外部記憶部200〜20N間を接続し、データおよび制御メッセージ、その他のメッセージ等をやりとりする。インターコネクトネットワーク300は、例えば、光ケーブルとスイッチ等によって実現することができる。また、インターコネクトネットワーク300は、PCI-e(Peripheral Component Interconnect Express)のケーブル等でも実現することができる。
また、従前のアーキテクチャに基づく計算機を、本実施形態におけるCPUとして扱ってもよい。このとき、インターコネクトネットワーク300は、EthernetやPCI−eネットワーク等によって実現される。ExpEtherによると、計算機のインターコネクトネットワークであるPCI-eを拡張することができる。すなわち、CPU10XにExpEther機能を備えたIFを保持させることで、リソース分離型アーキテクチャに類似したアーキテクチャを実現することができる。このとき、外部記憶部20Xは、ExpEther機能を備えるカード、PCI−eの任意のデバイス等を備える。PCI-eのデバイスは、何らかの記憶装置を有するものであればよい。例えば、PCI-e Flash、RAID(Redundant Arrays of Inexpensive Disks)カード(を経由して複数のHDDやSSD(Solid State Drive)を接続する)、GPGPU(General Purpose computing on Graphics Processing Units)機能を備えるカード(記憶手段を備える)、Intel Xeon PhiのようなMIC(Many Integrated Core)アーキテクチャに基づく演算ボード等を用いることができる。
また、分離されるリソースを従前のストレージシステムに限定すれば、インターコネクトネットワーク300はFibre ChannelやFCoE(Fibre Channel over Ethernet(登録商標))によって実現される。一方、CPU100〜10Mは、従前の計算機にホストバスアダプタ(またはEthernetカード)を備え、外部記憶部200〜20NはこれらのネットワークへのIFを備えるストレージ装置・システムとして実現される。このようなアーキテクチャにおいては、CPU100〜10M間のネットワークは、別途用意されることが多い。例えば、サーバ間をEthernet(TCP/IP(Transmission Control Protocol/Internet Protocol))で接続し、サーバ・ストレージ間をFibre Channelで接続する形態が用いられる。
このように、本実施形態を実現するハードウェアアーキテクチャとして、さまざまな変形が可能である。
図4は、CPU100〜10Mのより詳細な構成を例示するブロック図である。以下では、図3に示すコンピュータによって分散ストレージ・データベースシステムを実現した上で、データマイグレーション処理中にデータアクセスを行う方式を中心に説明する。
図4は、計算機および外部記憶部が複数存在する構成を例示する。図4のマイグレーション装置1およびアクセス装置2は、それぞれ、図3のCPU100〜10M上で動作するソフトウェア、または、インターコネクトネットワーク300に接続される任意のハードウェアとして動作するものとする。
また、図4の参加ホスト記憶部3および参加デバイス記憶部4は、任意の記憶手段および記憶手段を実現するソフトウェアとして動作し、図3のCPU100〜10Mのいずれか1つまたは複数によって実現する。なお、図4の参加ホスト記憶部3および参加デバイス記憶部4も、図3のインターコネクトネットワーク300、または、その他の任意のネットワークに接続された計算機および記憶手段によって実現してもよい。
図4を参照すると、本実施形態に係る分散ストレージシステムは、マイグレーション装置1、1または2以上のアクセス装置2、参加ホスト記憶部3、参加デバイス記憶部4、インターコネクトネットワーク300、および、外部記憶部200〜20Nを備えている。
アクセス装置2は、本実施形態で実現するデータストア(データベース、KVS(Key Value Store)、ファイルシステム等)を実現し、データアクセス機能を提供するソフトウェアである。アクセス装置2を実現するCPU10Xは、インターコネクトネットワーク300を介して任意の通信プロトコルに従って通信処理を行うハードウェアおよびソフトウェアを有するものとする。
マイグレーション装置1は、分散ストレージシステムを構成する外部記憶部200〜20Nの数や容量等に変更が生じた場合、データの配置状態を修正するデータ移動を実行するソフトウェアである。マイグレーション装置1を実現するCPU10Xも、同様に、インターコネクトネットワーク300を介して任意の通信プロトコルに従って通信処理を行うハードウェアおよびソフトウェアを有するものとする。
本実施形態では、データの配置先決定手法を、マイグレーションの推移に応じて切り替える必要がある。したがって、マイグレーション装置1は、切り替えが行われた旨の通知先として、分散ストレージシステムにアクセスするアクセス装置2を把握する必要がある。参加ホスト記憶部3は、分散ストレージシステムにアクセスするアクセス装置2に関する情報を保持する。マイグレーション装置1は、参加ホスト記憶部3を参照して、分散ストレージシステムにアクセスするアクセス装置2を把握する。
なお、分散ストレージシステムにアクセスするアクセス装置2に関する情報を、必ずしも記憶手段として一元的に管理する必要はない。ただし、図4では、簡単化のため、参加ホスト記憶部3を備えるものとする。このように一元管理する方法の他に、必要時に動的に参加ホストをネットワーク内で探索する方法が考えられる。
参加ホスト記憶部3で保持される情報の具体例として、アクセス装置2を動作させるCPU100〜10MのサーバのIPアドレスとプロセスポート番号の一覧が考えられる。
さらに、具体的な実施例として、参加ホスト記憶部3をデータベースソフトウェアとして動作させ、参加通知部21や推移通知部13はそれぞれSQL命令等で参加ホスト記憶部3にアクセスすることが考えられる。他にも、参加ホスト記憶部3として、共有ファイルシステム等を用いてもよい。
さらに、具体的な実施例として、参加ホスト記憶部3をデータベースソフトウェアとして動作させ、参加通知部21や推移通知部13はそれぞれSQL命令等で参加ホスト記憶部3にアクセスすることが考えられる。他にも、参加ホスト記憶部3として、共有ファイルシステム等を用いてもよい。
参加デバイス記憶部4は、ハッシュや乱数によってデータ配置場所を決定する分散ストレージシステムを実現するために必要な情報を保持する記憶手段である。このような分散ストレージシステムでは、分散ストレージシステムを構成する記憶手段(計算機が記憶手段となる場合には計算機)の一覧情報を保持する必要がある。
参加デバイス記憶部4を実現する方法として、例えば、任意の1つ以上の計算機によってデータを保持する方法、各CPU10Xでデータを保持し、それらを同期的に更新する方法、CPU100〜10M群で分散ストレージシステムを実現し、そこで保持する方法等を用いることができる。
以下、図4の各部の動作の詳細について、説明する。
図4を参照すると、マイグレーション装置1は、データ移動部11、デバイス選定部12、および、推移通知部13を備えている。
データ移動部11は、デバイス選定部12によって決定されるデータ配置先情報を用い、データ配置状態の変更を反映するために、外部記憶部200〜20N間での必要なデータ移動を実行する。ここで、データ移動処理は、移動元の外部記憶部20Yからのデータリードと、移動先の外部記憶部20Zへのデータライトと、移動元の外部記憶部20Yに対する元データの削除とを含む。
デバイス選定部12は、参加デバイス記憶部4が保持する、分散ストレージシステムを構成する記憶部一覧情報から、特定のデータ範囲をいずれの外部記憶部20Yに格納するのかを決定するための情報を計算して保持する。本実施形態では、デバイス選定部12は、参加デバイス記憶部4の状態が変化した際に、変化前と変化後の状態情報の両方を保持する。
例えば、キーバリューストア(KVS:Key Value Store)システムであれば、デバイス選定部12が保持するこれらの情報を用いて、キーに対して格納先の外部記憶部20Yを特定したり、さらに外部記憶部20Y内のアクセスすべき物理アドレスを特定したりすることができる。マイグレーション装置1で動作するデバイス選定部12は、外部記憶部20Xの数の変更等に応じて、それぞれのデータの格納先が変更されるため、その変更状態を算出する。
推移通知部13は、参加ホスト記憶部3からアクセス装置2にマイグレーション推移を通知する。推移通知部13は、マイグレーションにおけるデータのライト処理が完了した後に、アクセス装置2に対する通知を行う。推移通知部13は、データ移動部11からマイグレーション推移情報を受け取り、参加ホスト記憶部3の情報を参照して、アクセス装置2に通知を行う。
図4を参照すると、アクセス装置2は、参加通知部21、デバイス選定部24、アルゴリズム切替部23、および、リード/ライト実行部22を備えている。アクセス装置2は、上位アプリケーションプログラムからストレージアクセス要求を受け付ける。
アクセス要求は、ストレージソフトウェアの機能によって異なる。例えば、データベースであれば、アクセス要求は、SQLで指定されるようなデータ操作命令である。一方、KVS(Key Value Store、キーバリューストア)であれば、アクセス要求は、キー(key)に対応するバリュー(value)を取得したり、登録・更新したりするような処理要求である。
参加通知部21は、アクセス装置2が分散ストレージへのアクセス機能を実現するために、システムの参加・離脱を通知する。具体的には、参加通知部21は、参加ホスト記憶部3に自身の管理用のIPアドレスとポート番号を登録したり、削除したりする。ただし、参加通知部21が登録する情報は、推移通知部13がアクセス装置2を特定できる情報であればよい。システムに及ぼす影響が少ないと考えられる場合、削除(離脱)処理を省略してもよい。ただし、使われていない情報を後で削除する等の処理を施すことが好ましい。
アクセス装置2のデバイス選定部24は、マイグレーション装置1のデバイス選定部12と同様の機能を有する。特に、アクセス装置2におけるデバイス選定部24は、上位アプリケーションからのアクセス要求に対して、アクセス先となる外部記憶部20Yを選定し、必要なデータの外部記憶部20Y上の配置場所(すなわち、アドレス)を算出する。
リード/ライト実行部22は、デバイス選定部24によって選定されたアクセス先に対してデータアクセス命令を発行する。分散ストレージシステムでは、リード/ライト実行部22は、冗長性を確保して信頼性を担保するため、複数の外部記憶部20Yに対して命令を発行する。また、リード/ライト実行部22は、アルゴリズム切替部23の命令に従って、リード/ライトを実行するアルゴリズムを変更する。なお、アルゴリズムの詳細については、後述する。
アルゴリズム切替部23は、推移通知部13から通知された情報に基づき、リード/ライト実行部22に対してアルゴリズム変更要求を発行する。
[動作]
次に、本実施形態に係る分散ストレージシステムの動作について、図面を参照して説明する。
次に、本実施形態に係る分散ストレージシステムの動作について、図面を参照して説明する。
{マイグレーション処理手順について}
データ移動部11は、外部記憶部(デバイス)200〜20Nの数の変更によって発生するデータのリバランス処理を、以下の手順で行う。まず、デバイス変更に伴い、推移通知部13は、アクセス装置2にマイグレーション開始を通知する。なお、マイグレーション開始の通知は、デバイス増減の反映により暗黙的に行ってもよい。
データ移動部11は、外部記憶部(デバイス)200〜20Nの数の変更によって発生するデータのリバランス処理を、以下の手順で行う。まず、デバイス変更に伴い、推移通知部13は、アクセス装置2にマイグレーション開始を通知する。なお、マイグレーション開始の通知は、デバイス増減の反映により暗黙的に行ってもよい。
次に、デバイス選定部12は、データ配置の変更状態を算出する。さらに、データ移動部11は、必要なデータ追加処理をすべて実行する。その後、推移通知部13は、アルゴリズム切替部23にアルゴリズムの変更を通知し、リード/ライト実行部22のアルゴリズムを変更する。その後、データ移動部11は、データ配置の変更により不要になったデータの削除処理をすべて実行する。
図5は、本実施形態に係る分散ストレージシステムにおけるマイグレーション処理の動作を例示するシーケンス図である。
図5を参照すると、まず、外部記憶部200〜20Nの障害やシステム性能拡張のため、分散ストレージシステムへ外部記憶部20Yが追加ないし削除される。マイグレーション装置1(例えば、CPU10X)は、外部記憶部20Yの追加ないし削除を、複数のアクセス装置2へ通知する(ステップS1)。
分散ストレージシステムに参加する外部記憶部200〜20Nの構成が変更された後には、アクセス装置2は、構成変更前のデータ配置先決定方法と、構成変更後のデータ配置先決定方法の両方の情報を保持し、リード(READ)/ライト(WRITE)処理を行う(ステップS2)。例えば、コンシステントハッシング法による分散ストレージシステムの場合、アクセス装置2はコンシステントハッシュリングを古い状態と新しい状態の2種類保持する。なお、リード(READ)/ライト(WRITE)アクセスの具体的なアルゴリズムについては、後述する。
各アクセス装置2が新旧のデータ配置先決定情報を利用する方式に切り替えた後、マイグレーション装置1はマイグレーションに伴うデータ追加処理を開始する(ステップS3)。データ配置先の変更により、新しくデータをコピーする領域と、データを削除される領域が現れるが、ここでは、マイグレーション装置1は新しいコピー処理(追加処理)のみを実行する。
マイグレーション装置1は、データ追加処理の完了後、データ配置先決定情報の切り替え要求をアクセス装置2群に発行する(ステップS4)。
アクセス装置2は、切り替え要求を受けて切り替え処理を完了すると、切り替え完了通知をマイグレーション装置1に送出する(ステップS5)。
マイグレーション装置1は、切り替え処理の完了通知を受け取ると、マイグレーションに伴うデータの削除処理を実行する(ステップS6)。
アクセス装置2群は、切り替え完了後、新データ配置先決定情報のみを用いて通常のリード・ライトアクセス処理を実行する(ステップS7)。
{データアクセスアルゴリズム}
次に、リード/ライト実行部22のアクセスアルゴリズムについて説明する。ここでは、キーバリューストアシステムをコンシステントハッシュリング法によって実現する場合を例として、外部記憶部20Xの決定方法を説明する。ただし、本発明はキーバリューストアシステムや、コンシステントハッシュ法に限定されるものではない。
次に、リード/ライト実行部22のアクセスアルゴリズムについて説明する。ここでは、キーバリューストアシステムをコンシステントハッシュリング法によって実現する場合を例として、外部記憶部20Xの決定方法を説明する。ただし、本発明はキーバリューストアシステムや、コンシステントハッシュ法に限定されるものではない。
以下では、外部記憶部20Yの増減後、データ移動部11がデータ追加処理を完了する前の期間を「切り替え通知受信前」と呼ぶ。一方、データ移動部11がデータ追加処理を完了した後の期間を「切り替え通知受信後」と呼ぶ。本実施形態では、この両期間の間で、異なるデータのアクセスアルゴリズムが用いられる。
「リード処理」
まず、リード処理のアルゴリズムについて説明する。図6は、コンシステントハッシュ法におけるコンシステントハッシュリングのイメージ図である。コンシステントハッシュ法では、キー(key)のハッシュ値を用いて配置先の外部記憶部20Yを決定する。ハッシュ値の値を円周に写像すると、キーのハッシュ値は円周のいずれかに配置される。また、外部記憶部200〜20Nも同様に円周に写像することができる。
まず、リード処理のアルゴリズムについて説明する。図6は、コンシステントハッシュ法におけるコンシステントハッシュリングのイメージ図である。コンシステントハッシュ法では、キー(key)のハッシュ値を用いて配置先の外部記憶部20Yを決定する。ハッシュ値の値を円周に写像すると、キーのハッシュ値は円周のいずれかに配置される。また、外部記憶部200〜20Nも同様に円周に写像することができる。
図6では、一例として、外部記憶部200〜20NをノードD0ないしD7として円周上に写像している。なお、実際のシステムでは、仮想ノードという仕組みを用いて1つの外部記憶部を複数のノードに写像することもできる。ただし、ここでは、説明の簡単化のため、外部記憶部200〜20Nと、ノードD0ないしD7とは1:1に対応するものとする。
このとき、キーに対応する外部記憶部20Yを、次のように選択することができる。図6に示すように、キーのハッシュ値がノードD0とノードD7の間の場合、リード/ライト実行部22はノードD0に相当する外部記憶部200を記憶手段として選択する。また、耐信頼性のために合計3つの複製を保持するものとすると、リード/ライト実行部22は次のノードD1、D2に相当する外部記憶部201、202を複製先として選択する。本実施形態の説明では、リード/ライト実行部22において外部記憶部を選択するためのアルゴリズムとして、かかる方法を用いた場合について説明する。ただし、本発明における複製先の選択アルゴリズムはこれに限定されない。
このように、リード/ライト実行部22は、配置先の外部記憶部20Yに対して、リードまたはライト命令を発行することで、データへのアクセスを行う。リード/ライト実行部22は、複数の外部記憶部20Yにアクセスし、規定数以上のデータを読み出してデータに不整合を発見しなかった場合に、クライアントに応答を返すようにしてもよい。例えば、多数決法では、リード/ライト実行部22は、3つの複製に対して2つのデータが読み込めた段階で処理が成功したものと見なす。
ただし、システムが要求する信頼性に応じて、リード/ライト実行部22は、3つのデータが読み出されてから応答を返したり、1つのデータのみを読み出した時点で応答を返したりしてもよい。リード/ライト実行部22は、ライト処理に関しても、信頼性を確保するために、リード処理と同様の処理を行う。ここで、リード/ライト実行部22がアクセス(リードないしライト)を成功と見なすために必要とされるアクセス数を「最小アクセス数」と呼ぶ。
ここで、図6に示すように、ノードD1、D2に相当する外部記憶部201、202が障害で離脱する場合を考える。このとき、障害後のデータ配置先記憶部はノードD0、D3、D4に相当する外部記憶部200、203、204となり、2つの外部記憶部が変更される。したがって、データの再配置のためのコピーが必要となる。具体的には、マイグレーション装置1はノードD0に相当する外部記憶部200のデータをノードD3、D4に相当する外部記憶部203、204に複製する必要がある。
本実施形態のリード処理アルゴリズムでは、マイグレーション装置1からの切り替え通知受信前では、リード/ライト実行部22は記憶部削減前のデータ配置情報に基づいてリード処理を実行する。その際、リード/ライト実行部22は削減された外部記憶部20Yにはアクセスを行わない。すなわち、リード/ライト実行部22は、アクセス先からノードD1、D2に相当する外部記憶部201、202を除外する。
ここで、リード処理において最小アクセス数以上の記憶部からデータを読み出す必要がある。リード/ライト実行部22は、この最小アクセス数から削減される記憶部(ただし、データの格納先の記憶部に限る)の数だけ減らして処理を行う。
図6の例では、ノードD0、D1、D2の配置状態でノードD1、D2が削除されたため、リード/ライト実行部22はノードD0に相当する外部記憶部200のデータが読み出された時点で応答を返す。
なお、システムから2つの外部記憶部20Yが離脱した場合においても、複製を保持する3つの外部記憶部20Yのうちの1つの外部記憶部のみが削除されるときには、リード/ライト実行部22は最小アクセス数から1だけを減らすものとする。リード/ライト実行部22が実際にアクセスする外部記憶部の数の最小値は1となる。なお、3つの複製を保持するシステムにおいて、3つの外部記憶部に同時に障害が発生した場合、データロストを回避することはできない。
切り替え通知受信後においては、リード/ライト実行部22は外部記憶部削減後の状態に基づいてリード(READ)命令を発行する。すなわち、リード/ライト実行部22は、ノードD0、D3、D4に相当する外部記憶部200、203、204に対してアクセスする。ここで、リード/ライト実行部22が用いる最小アクセス数は、システムのデフォルト値(図6の場合には3)のままである。
一方、外部記憶部20Yが追加されるケースでは、切り替え通知受信前において、リード/ライト実行部22は古いデータ配置状態(追加前)に基づいてアクセス先を決定する。また、切り替え通知受信後、リード/ライト実行部22は新しいデータ配置状態(追加後)に基づいてアクセス先を決定する。
「ライト処理」
次に、ライトアルゴリズムについて述べる。図7は、外部記憶部20Yを1つ追加する(ここでは、ノードD1に相当する外部記憶部201を追加するものとする)場合のイメージ図である。ここでも、複製数を3とする。外部記憶部が追加されることによって、あるキーの格納先の状態がノードD0、D2、D3からノードD0、D1、D2へ変更される。
次に、ライトアルゴリズムについて述べる。図7は、外部記憶部20Yを1つ追加する(ここでは、ノードD1に相当する外部記憶部201を追加するものとする)場合のイメージ図である。ここでも、複製数を3とする。外部記憶部が追加されることによって、あるキーの格納先の状態がノードD0、D2、D3からノードD0、D1、D2へ変更される。
切り替え通知受信前では、リード/ライト実行部22は、データのライトを変更前のデータ配置状態および変更後のデータ配置状態の両方について行う。すなわち、リード/ライト実行部22は、ノードD0〜D3の4つに相当する外部記憶部200〜203に対してデータのライトを行う。したがって、リード/ライト実行部22は、外部記憶部の追加数分だけ一時的に複製数を増加させるように動作する。一方、切り替え通知受信後には、リード/ライト実行部22は、追加後の状態にのみ書き込みを行う。すなわち、リード/ライト実行部22は、ノードD0〜D2に相当する外部記憶部200〜202にライト処理を施す。
ここで、リード/ライト実行部22が変更前のデータ配置状態でしか書き込みが行われない外部記憶部(すなわち、ノードD3に相当する外部記憶部203)に対してもライト(書き込み)を行う理由は、リード(READ)アルゴリズム、および、データマイグレーションアルゴリズムとの間で不整合を起こさないようにするためである。
なお、多数決法(Quorum法)において、リード(READ)数を複製数より少なく規定している場合には、リード/ライト実行部22はノードD3に相当する外部記憶部203への書き込みを省略してもよい。ただし、ノードD3に相当する外部記憶部203への書き込みを省略した場合には、マイグレーション処理において古いデータを書かないようにするようバージョン管理を行う必要がある。
また、切り替え通知受信前において、リード/ライト実行部22が新しく格納先となるノードD1に相当する外部記憶部201に対しても書き込みを行う理由は、マイグレーション装置1との整合性のためである。これにより、マイグレーション装置1が該当キー(key)について処理を完了しているかどうかに関わらず処理を行うことができる。ここで、マイグレーション装置1の履歴を確認するには計算機に負荷がかかるため、ライト処理を実行した方がより高速であると考えられる。
なお、図6のように、外部記憶部の数が削減されるケースにおいても、リード/ライト実行部22は、外部記憶部の数が増加する場合と同様の処理を行う。すなわち、切り替え通知受信前には、リード/ライト実行部22は削減前後の両方の外部記憶部20Yに対して書き込みを行う。一方、切り替え通知受信後には、リード/ライト実行部22は削減後の状態の外部記憶部20Yにのみ書き込みを行う。
図6に例示するように、ノードD1、D2に相当する外部記憶部201、202が障害により離脱する場合、削減前にデータを記憶する外部記憶部20YはノードD0〜D2に相当する外部記憶部200〜202となる。一方、削減後にデータを記憶する外部記憶部はノードD0、D3、D4に相当する外部記憶部200、203、204となる。
この場合、切り替え通知受信前には、リード/ライト実行部22は削減前後の両方の外部記憶部20Yに対して書き込みを行う。すなわち、リード/ライト実行部22は削減前後の両方の外部記憶部20Yに関する情報に基づいて、削減前後のノードD0〜D4に相当する外部記憶部200〜204に対して書き込みを行う。ただし、ノードD1、D2に相当する外部記憶部201、202は削減されてなくなっているため、書き込み先から除外される。結果として、リード/ライト実行部22はノードD0、D3、D4に相当する外部記憶部200、203、204に対する書き込みを行う。
一方、切り替え通知受信後には、リード/ライト実行部22は、削減後の状態、すなわち、ノードD0、D3、D4に相当する外部記憶部200、203、204のみに対して書き込みを行う。
結局、図6に示した例では、外部記憶部の削減前後において、書き込み先はいずれもノードD0、D3、D4に相当する外部記憶部200、203、204となり、変化しない。
なお、図示しないものの、削減前のアクセス先の外部記憶部がノードD7、D1、D2に相当する外部記憶部207、201、202であり、ノードD1、D2に相当する外部記憶部201、202が削減され、削減後のアクセス先の外部記憶部がノードD0、D3、D4に相当する外部記憶部200、203、204となる場合、切り替え通知受信前には、リード/ライト実行部22は削減前後の両方のノードD7、D0、D3、D4に相当する外部記憶部207、200、203、204に対して書き込みを行う。一方、切り替え通知受信後には、リード/ライト実行部22はノードD0、D3、D4に相当する外部記憶部200、203、204のみに対して書き込みを行う。
本発明の活用例として、計算機外部の記憶部を利用するデータベースシステム、キーバリューストアシステム、また、複数計算機で共通の記憶部を共有するシェアード型分散データストアシステムがあげられる。また、リソース分離型アーキテクチャで実現されるサーバ上で、ストレージシステムを動作させる際にも、本発明を利用可能である。ただし、本発明の適用先はこれらに限定されない。
なお、本発明において、下記の形態が可能である。
[形態1]
上記第1の態様に係るアクセス装置のとおりである。
[形態2]
前記アクセス装置において、前記アクセス部は、読み出し対象のデータを保持すべき記憶部が削減された場合、前記完了した旨の通知を受けるまで、削減前に前記データを保持すべき記憶部のうちの削減対象以外の記憶部から読み出しを行い、前記完了した旨の通知を受けると、削減後に前記データを保持すべき記憶部から読み出しを行ってもよい。
[形態3]
前記アクセス装置において、前記アクセス部は、読み出し対象のデータを保持すべき記憶部が追加された場合、前記完了した旨の通知を受けるまで、追加前に前記データを保持すべき記憶部から読み出しを行い、前記完了した旨の通知を受けると、追加後に前記データを保持すべき記憶部から読み出しを行ってもよい。
[形態4]
前記アクセス装置において、前記アクセス部は、書き込み対象のデータを保持すべき記憶部が追加された場合、前記完了した旨の通知を受けるまで、追加前後に前記データを保持すべき記憶部に書き込みを行い、前記完了した旨の通知を受けると、追加後に前記データを保持すべき記憶部に書き込みを行ってもよい。
[形態5]
前記アクセス装置において、前記アクセス部は、書き込み対象のデータを保持すべき記憶部が削減された場合、前記完了した旨の通知を受けるまで、削減前後に前記データを保持すべき記憶部であって削減対象以外の記憶部に書き込みを行い、前記完了した旨の通知を受けると、削減後に前記データを保持すべき記憶部に書き込みを行ってもよい。
[形態6]
前記アクセス装置において、データを保持すべき記憶部は、コンシステントハッシュ法に基づいて決定されるようにしてもよい。
[形態7]
上記第2の態様に係るマイグレーション装置のとおりである。
[形態8]
上記第3の態様に係る分散ストレージシステムのとおりである。
[形態9]
前記分散ストレージシステムにおいて、前記アクセス装置は、読み出し対象のデータを保持すべき記憶部が削減された場合、前記完了した旨の通知を受けるまで、削減前に前記データを保持すべき記憶部のうちの削減対象以外の記憶部から読み出しを行い、前記完了した旨の通知を受けると、削減後に前記データを保持すべき記憶部から読み出しを行ってもよい。
[形態10]
前記分散ストレージシステムにおいて、前記アクセス装置は、読み出し対象のデータを保持すべき記憶部が追加された場合、前記完了した旨の通知を受けるまで、追加前に前記データを保持すべき記憶部から読み出しを行い、前記完了した旨の通知を受けると、追加後に前記データを保持すべき記憶部から読み出しを行ってもよい。
[形態11]
前記分散ストレージシステムにおいて、前記アクセス装置は、書き込み対象のデータを保持すべき記憶部が追加された場合、前記完了した旨の通知を受けるまで、追加前後に前記データを保持すべき記憶部に書き込みを行い、前記完了した旨の通知を受けると、追加後に前記データを保持すべき記憶部に書き込みを行ってもよい。
[形態12]
前記分散ストレージシステムにおいて、前記アクセス装置は、書き込み対象のデータを保持すべき記憶部が削減された場合、前記完了した旨の通知を受けるまで、削減前後に前記データを保持すべき記憶部であって削減対象以外の記憶部に書き込みを行い、前記完了した旨の通知を受けると、削減後に前記データを保持すべき記憶部に書き込みを行ってもよい。
[形態13]
前記分散ストレージシステムにおいて、データを保持すべき記憶部は、コンシステントハッシュ法に基づいて決定されるようにしてもよい。
[形態14]
上記第4の態様に係るアクセス方法のとおりである。
[形態15]
前記アクセス方法において、前記アクセス装置は、読み出し対象のデータを保持すべき記憶部が削減された場合、前記完了した旨の通知を受けるまで、削減前に前記データを保持すべき記憶部のうちの削減対象以外の記憶部から読み出しを行い、前記完了した旨の通知を受けると、削減後に前記データを保持すべき記憶部から読み出しを行ってもよい。
[形態16]
前記アクセス方法において、前記アクセス装置は、読み出し対象のデータを保持すべき記憶部が追加された場合、前記完了した旨の通知を受けるまで、追加前に前記データを保持すべき記憶部から読み出しを行い、前記完了した旨の通知を受けると、追加後に前記データを保持すべき記憶部から読み出しを行ってもよい。
[形態17]
前記アクセス方法において、前記アクセス装置は、書き込み対象のデータを保持すべき記憶部が追加された場合、前記完了した旨の通知を受けるまで、追加前後に前記データを保持すべき記憶部に書き込みを行い、前記完了した旨の通知を受けると、追加後に前記データを保持すべき記憶部に書き込みを行ってもよい。
[形態18]
前記アクセス方法において、前記アクセス装置は、書き込み対象のデータを保持すべき記憶部が削減された場合、前記完了した旨の通知を受けるまで、削減前後に前記データを保持すべき記憶部であって削減対象以外の記憶部に書き込みを行い、前記完了した旨の通知を受けると、削減後に前記データを保持すべき記憶部に書き込みを行ってもよい。
[形態19]
前記アクセス方法において、データを保持すべき記憶部は、コンシステントハッシュ法に基づいて決定されるようにしてもよい。
[形態20]
マイグレーション装置が、ストレージ装置に含まれる記憶部の数の変動に応じて、前記ストレージ装置に含まれる記憶部に対して、データの追加処理を実行した後、データの削除処理を実行することでデータのリバランスを行うステップと、前記ストレージ装置に含まれる記憶部にアクセスするアクセス装置に対して、前記追加処理が完了した旨を通知するステップと、を含むマイグレーション方法が提供される。
[形態21]
形態14ないし19のいずれか一に記載のアクセス方法、または、形態20に記載のマイグレーション方法の各ステップをコンピュータに実行させるプログラムが提供される。
[形態1]
上記第1の態様に係るアクセス装置のとおりである。
[形態2]
前記アクセス装置において、前記アクセス部は、読み出し対象のデータを保持すべき記憶部が削減された場合、前記完了した旨の通知を受けるまで、削減前に前記データを保持すべき記憶部のうちの削減対象以外の記憶部から読み出しを行い、前記完了した旨の通知を受けると、削減後に前記データを保持すべき記憶部から読み出しを行ってもよい。
[形態3]
前記アクセス装置において、前記アクセス部は、読み出し対象のデータを保持すべき記憶部が追加された場合、前記完了した旨の通知を受けるまで、追加前に前記データを保持すべき記憶部から読み出しを行い、前記完了した旨の通知を受けると、追加後に前記データを保持すべき記憶部から読み出しを行ってもよい。
[形態4]
前記アクセス装置において、前記アクセス部は、書き込み対象のデータを保持すべき記憶部が追加された場合、前記完了した旨の通知を受けるまで、追加前後に前記データを保持すべき記憶部に書き込みを行い、前記完了した旨の通知を受けると、追加後に前記データを保持すべき記憶部に書き込みを行ってもよい。
[形態5]
前記アクセス装置において、前記アクセス部は、書き込み対象のデータを保持すべき記憶部が削減された場合、前記完了した旨の通知を受けるまで、削減前後に前記データを保持すべき記憶部であって削減対象以外の記憶部に書き込みを行い、前記完了した旨の通知を受けると、削減後に前記データを保持すべき記憶部に書き込みを行ってもよい。
[形態6]
前記アクセス装置において、データを保持すべき記憶部は、コンシステントハッシュ法に基づいて決定されるようにしてもよい。
[形態7]
上記第2の態様に係るマイグレーション装置のとおりである。
[形態8]
上記第3の態様に係る分散ストレージシステムのとおりである。
[形態9]
前記分散ストレージシステムにおいて、前記アクセス装置は、読み出し対象のデータを保持すべき記憶部が削減された場合、前記完了した旨の通知を受けるまで、削減前に前記データを保持すべき記憶部のうちの削減対象以外の記憶部から読み出しを行い、前記完了した旨の通知を受けると、削減後に前記データを保持すべき記憶部から読み出しを行ってもよい。
[形態10]
前記分散ストレージシステムにおいて、前記アクセス装置は、読み出し対象のデータを保持すべき記憶部が追加された場合、前記完了した旨の通知を受けるまで、追加前に前記データを保持すべき記憶部から読み出しを行い、前記完了した旨の通知を受けると、追加後に前記データを保持すべき記憶部から読み出しを行ってもよい。
[形態11]
前記分散ストレージシステムにおいて、前記アクセス装置は、書き込み対象のデータを保持すべき記憶部が追加された場合、前記完了した旨の通知を受けるまで、追加前後に前記データを保持すべき記憶部に書き込みを行い、前記完了した旨の通知を受けると、追加後に前記データを保持すべき記憶部に書き込みを行ってもよい。
[形態12]
前記分散ストレージシステムにおいて、前記アクセス装置は、書き込み対象のデータを保持すべき記憶部が削減された場合、前記完了した旨の通知を受けるまで、削減前後に前記データを保持すべき記憶部であって削減対象以外の記憶部に書き込みを行い、前記完了した旨の通知を受けると、削減後に前記データを保持すべき記憶部に書き込みを行ってもよい。
[形態13]
前記分散ストレージシステムにおいて、データを保持すべき記憶部は、コンシステントハッシュ法に基づいて決定されるようにしてもよい。
[形態14]
上記第4の態様に係るアクセス方法のとおりである。
[形態15]
前記アクセス方法において、前記アクセス装置は、読み出し対象のデータを保持すべき記憶部が削減された場合、前記完了した旨の通知を受けるまで、削減前に前記データを保持すべき記憶部のうちの削減対象以外の記憶部から読み出しを行い、前記完了した旨の通知を受けると、削減後に前記データを保持すべき記憶部から読み出しを行ってもよい。
[形態16]
前記アクセス方法において、前記アクセス装置は、読み出し対象のデータを保持すべき記憶部が追加された場合、前記完了した旨の通知を受けるまで、追加前に前記データを保持すべき記憶部から読み出しを行い、前記完了した旨の通知を受けると、追加後に前記データを保持すべき記憶部から読み出しを行ってもよい。
[形態17]
前記アクセス方法において、前記アクセス装置は、書き込み対象のデータを保持すべき記憶部が追加された場合、前記完了した旨の通知を受けるまで、追加前後に前記データを保持すべき記憶部に書き込みを行い、前記完了した旨の通知を受けると、追加後に前記データを保持すべき記憶部に書き込みを行ってもよい。
[形態18]
前記アクセス方法において、前記アクセス装置は、書き込み対象のデータを保持すべき記憶部が削減された場合、前記完了した旨の通知を受けるまで、削減前後に前記データを保持すべき記憶部であって削減対象以外の記憶部に書き込みを行い、前記完了した旨の通知を受けると、削減後に前記データを保持すべき記憶部に書き込みを行ってもよい。
[形態19]
前記アクセス方法において、データを保持すべき記憶部は、コンシステントハッシュ法に基づいて決定されるようにしてもよい。
[形態20]
マイグレーション装置が、ストレージ装置に含まれる記憶部の数の変動に応じて、前記ストレージ装置に含まれる記憶部に対して、データの追加処理を実行した後、データの削除処理を実行することでデータのリバランスを行うステップと、前記ストレージ装置に含まれる記憶部にアクセスするアクセス装置に対して、前記追加処理が完了した旨を通知するステップと、を含むマイグレーション方法が提供される。
[形態21]
形態14ないし19のいずれか一に記載のアクセス方法、または、形態20に記載のマイグレーション方法の各ステップをコンピュータに実行させるプログラムが提供される。
なお、上記特許文献の全開示内容は、本書に引用をもって繰り込み記載されているものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素(各請求項の各要素、各実施形態の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
この出願は、2014年12月5日に出願された日本出願特願2014−246506を基礎とする優先権を主張し、その開示の全てをここに取り込む。
1 マイグレーション装置
2 アクセス装置
3 参加ホスト記憶部
4 参加デバイス記憶部
11 データ移動部
12 デバイス選定部
13 推移通知部
14 通知部
21 参加通知部
22 リード/ライト実行部
23 アルゴリズム切替部
24 デバイス選定部
25 受信部
26 アクセス部
100〜10M CPU
200〜20N 外部記憶部
300 インターコネクトネットワーク
D0〜D7 ノード
2 アクセス装置
3 参加ホスト記憶部
4 参加デバイス記憶部
11 データ移動部
12 デバイス選定部
13 推移通知部
14 通知部
21 参加通知部
22 リード/ライト実行部
23 アルゴリズム切替部
24 デバイス選定部
25 受信部
26 アクセス部
100〜10M CPU
200〜20N 外部記憶部
300 インターコネクトネットワーク
D0〜D7 ノード
本発明は、アクセス装置、マイグレーション装置、分散ストレージシステム、アクセス方法及びコンピュータ読み取り可能記録媒体に関し、特に、記憶部の数が増減し得る分散ストレージシステム、かかる分散ストレージシステムにアクセスするアクセス装置、記憶部の数の増減に伴いデータマイグレーションを行うマイグレーション装置、アクセス装置によるアクセス方法及びプログラムに関する。
本発明に係るアクセス装置、マイグレーション装置、分散ストレージシステム、アクセス方法、および、プログラムによると、分散ストレージシステムにおいて、記憶部の数が増減した際のデータリバランス処理中におけるアクセス性能の低下を防ぐことができる。
Claims (10)
- ストレージ装置に含まれる記憶手段の数の変動に応じて、前記ストレージ装置に含まれる記憶手段に対して、データの追加処理を実行した後、データの削除処理を実行することでデータのリバランスを行うマイグレーション装置から、前記追加処理が完了した旨の通知を受信する受信手段と、
アクセス対象のデータを保持すべき記憶手段が変動した場合、前記完了した旨の通知を受けるまで、変動前後に前記データを保持すべき記憶手段を示す情報に基づいて前記ストレージ装置に含まれる記憶手段にアクセスし、前記完了した旨の通知を受けると、変動後に前記データを保持すべき記憶手段に対してアクセスするアクセス手段と、を備える、
ことを特徴とするアクセス装置。 - 前記アクセス手段は、読み出し対象のデータを保持すべき記憶手段が削減された場合、前記完了した旨の通知を受けるまで、削減前に前記データを保持すべき記憶手段のうちの削減対象以外の記憶手段から読み出しを行い、前記完了した旨の通知を受けると、削減後に前記データを保持すべき記憶手段から読み出しを行う、
請求項1に記載のアクセス装置。 - 前記アクセス手段は、読み出し対象のデータを保持すべき記憶手段が追加された場合、前記完了した旨の通知を受けるまで、追加前に前記データを保持すべき記憶手段から読み出しを行い、前記完了した旨の通知を受けると、追加後に前記データを保持すべき記憶手段から読み出しを行う、
請求項1または2に記載のアクセス装置。 - 前記アクセス手段は、書き込み対象のデータを保持すべき記憶手段が追加された場合、前記完了した旨の通知を受けるまで、追加前後に前記データを保持すべき記憶手段に書き込みを行い、前記完了した旨の通知を受けると、追加後に前記データを保持すべき記憶手段に書き込みを行う、
請求項1ないし3のいずれか1項に記載のアクセス装置。 - 前記アクセス手段は、書き込み対象のデータを保持すべき記憶手段が削減された場合、前記完了した旨の通知を受けるまで、削減前後に前記データを保持すべき記憶手段であって削減対象以外の記憶手段に書き込みを行い、前記完了した旨の通知を受けると、削減後に前記データを保持すべき記憶手段に書き込みを行う、
請求項1ないし4のいずれか1項に記載のアクセス装置。 - データを保持すべき記憶手段は、コンシステントハッシュ法に基づいて決定される、
請求項1ないし5のいずれか1項に記載のアクセス装置。 - ストレージ装置に含まれる記憶手段の数の変動に応じて、前記ストレージ装置に含まれる記憶手段に対して、データの追加処理を実行した後、データの削除処理を実行することでデータのリバランスを行うデータ移動手段と、
前記ストレージ装置に含まれる記憶手段にアクセスするアクセス装置に対して、前記追加処理が完了した旨を通知する通知手段と、を備える、
ことを特徴とするマイグレーション装置。 - マイグレーション装置とアクセス装置を備え、
前記マイグレーション装置は、ストレージ装置に含まれる記憶手段の数の変動に応じて、前記ストレージ装置に含まれる記憶手段に対して、データの追加処理を実行した後、データの削除処理を実行することでデータのリバランスを行い、前記追加処理が完了した旨を前記アクセス装置に通知し、
前記アクセス装置は、アクセス対象のデータを保持すべき記憶手段が変動した場合、前記完了した旨の通知を受けるまで、変動前後に前記データを保持すべき記憶手段を示す情報に基づいて前記ストレージ装置に含まれる記憶手段にアクセスし、前記完了した旨の通知を受けると、変動後に前記データを保持すべき記憶手段に対してアクセスする、
ことを特徴とする分散ストレージシステム。 - ストレージ装置に含まれる記憶手段の数の変動に応じて、前記ストレージ装置に含まれる記憶手段に対して、データの追加処理を実行した後、データの削除処理を実行することでデータのリバランスを行うマイグレーション装置から、前記追加処理が完了した旨の通知をアクセス装置が受信し、
アクセス対象のデータを保持すべき記憶手段が変動した場合、前記完了した旨の通知を受けるまで、前記アクセス装置が、変動前後に前記データを保持すべき記憶手段を示す情報に基づいて前記ストレージ装置に含まれる記憶手段にアクセスし、
前記完了した旨の通知を受けると、前記アクセス装置が、変動後に前記データを保持すべき記憶手段に対してアクセスする、
ことを特徴とするアクセス方法。 - ストレージ装置に含まれる記憶手段の数の変動に応じて、前記ストレージ装置に含まれる記憶手段に対して、データの追加処理を実行した後、データの削除処理を実行することでデータのリバランスを行うマイグレーション装置から、前記追加処理が完了した旨の通知を受信する処理と、
アクセス対象のデータを保持すべき記憶手段が変動した場合、前記完了した旨の通知を受けるまで、変動前後に前記データを保持すべき記憶手段を示す情報に基づいて前記ストレージ装置に含まれる記憶手段にアクセスする処理と、
前記完了した旨の通知を受けると、変動後に前記データを保持すべき記憶手段に対してアクセスする処理と、をコンピュータに実行させる、
ことを特徴とするプログラムを格納したコンピュータ読み取り可能記録媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014246506 | 2014-12-05 | ||
JP2014246506 | 2014-12-05 | ||
PCT/JP2015/005987 WO2016088372A1 (ja) | 2014-12-05 | 2015-12-02 | アクセス装置、マイグレーション装置、分散ストレージシステム、アクセス方法及びコンピュータ読み取り可能記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2016088372A1 true JPWO2016088372A1 (ja) | 2017-09-14 |
Family
ID=56091334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016562308A Pending JPWO2016088372A1 (ja) | 2014-12-05 | 2015-12-02 | アクセス装置、マイグレーション装置、分散ストレージシステム、アクセス方法及びプログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2016088372A1 (ja) |
WO (1) | WO2016088372A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10872066B2 (en) | 2017-06-27 | 2020-12-22 | Salesforce.Com, Inc. | Systems and methods of database tenant migration |
KR102229214B1 (ko) * | 2019-02-14 | 2021-03-18 | (주)헤르메시스 | 데이터 공유를 위한 위성 데이터 서비스 시스템 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003296039A (ja) * | 2002-04-02 | 2003-10-17 | Hitachi Ltd | クラスタ構成記憶システム及び制御方法 |
JP4814119B2 (ja) * | 2007-02-16 | 2011-11-16 | 株式会社日立製作所 | 計算機システム、ストレージ管理サーバ、及びデータ移行方法 |
JP5084310B2 (ja) * | 2007-03-16 | 2012-11-28 | 日本電気株式会社 | 複数プロセッサに分散されたデータを再配置可能なデータベースサーバ、再配置方法、およびプログラム |
JP5733124B2 (ja) * | 2011-09-12 | 2015-06-10 | 富士通株式会社 | データ管理装置、データ管理システム、データ管理方法、及びプログラム |
JP5969315B2 (ja) * | 2012-08-23 | 2016-08-17 | 日本電信電話株式会社 | データ移行処理システムおよびデータ移行処理方法 |
-
2015
- 2015-12-02 WO PCT/JP2015/005987 patent/WO2016088372A1/ja active Application Filing
- 2015-12-02 JP JP2016562308A patent/JPWO2016088372A1/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2016088372A1 (ja) | 2016-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5556816B2 (ja) | 分散ストレージシステム、分散ストレージ方法および分散ストレージ用プログラムとストレージノード | |
US9395925B2 (en) | Grouping of tracks for copy source to target destage on global mirror secondary | |
US9785349B2 (en) | Efficient free-space management of multi-target peer-to-peer remote copy (PPRC) modified sectors bitmap in bind segments | |
JP4170056B2 (ja) | 複製ボリューム間でのバックアップ・リストア管理方法およびこの方法に用いる記憶制御装置 | |
US9792061B2 (en) | Efficient cache management of multi-target peer-to-peer remote copy (PPRC) modified sectors bitmap | |
US9836223B2 (en) | Changing storage volume ownership using cache memory | |
JP2014130420A (ja) | 計算機システム及び計算機の制御方法 | |
US11321208B2 (en) | Distributed storage system and distributed storage control method | |
JP2007310448A (ja) | 計算機システム、管理計算機、および、ストレージシステム管理方法 | |
JP6271769B2 (ja) | 計算機システム、計算機システムにおけるデータの移行方法 | |
US9891992B2 (en) | Information processing apparatus, information processing method, storage system and non-transitory computer readable storage media | |
JP2014010540A (ja) | 仮想サーバ環境のデータ移行制御装置、方法、システム | |
WO2016088372A1 (ja) | アクセス装置、マイグレーション装置、分散ストレージシステム、アクセス方法及びコンピュータ読み取り可能記録媒体 | |
US9003129B1 (en) | Techniques for inter-storage-processor cache communication using tokens | |
WO2015069225A1 (en) | Method and apparatus for avoiding performance decrease in high availability configuration | |
US9785553B2 (en) | Asynchronous cleanup after a peer-to-peer remote copy (PPRC) terminate relationship operation | |
US10191690B2 (en) | Storage system, control device, memory device, data access method, and program recording medium | |
US9535610B2 (en) | Optimizing peer-to-peer remote copy (PPRC) transfers for partial write operations using a modified sectors bitmap | |
CN114201109A (zh) | 跟踪存储卷在数据传递期间的变化 | |
US10437471B2 (en) | Method and system for allocating and managing storage in a raid storage system | |
WO2015198371A1 (ja) | ストレージシステム及び記憶制御方法 | |
US11347409B1 (en) | Method and apparatus for selective compression of data during initial synchronization of mirrored storage resources | |
US10705905B2 (en) | Software-assisted fine-grained data protection for non-volatile memory storage devices | |
JP2005301560A (ja) | クラスタファイルサーバ | |
JP2012168840A (ja) | ストレージシステム、ストレージ方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170605 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181115 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200114 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20200721 |