JP6284395B2 - Data storage control device, data storage control method, and program - Google Patents
Data storage control device, data storage control method, and program Download PDFInfo
- Publication number
- JP6284395B2 JP6284395B2 JP2014045431A JP2014045431A JP6284395B2 JP 6284395 B2 JP6284395 B2 JP 6284395B2 JP 2014045431 A JP2014045431 A JP 2014045431A JP 2014045431 A JP2014045431 A JP 2014045431A JP 6284395 B2 JP6284395 B2 JP 6284395B2
- Authority
- JP
- Japan
- Prior art keywords
- data storage
- data
- storage device
- control device
- primary
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000013500 data storage Methods 0.000 title claims description 200
- 238000000034 method Methods 0.000 title claims description 34
- 230000010076 replication Effects 0.000 claims description 23
- 238000004364 calculation method Methods 0.000 claims description 16
- 230000006870 function Effects 0.000 description 16
- 230000008569 process Effects 0.000 description 15
- 238000012545 processing Methods 0.000 description 15
- 238000013507 mapping Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 7
- 238000012546 transfer Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、分散ファイルシステムのように、複数のデータ格納装置にデータを格納するデータ格納システムに関連するものである。 The present invention relates to a data storage system that stores data in a plurality of data storage devices, such as a distributed file system.
クラウドサービスの普及等により、信頼性が高く、より高速なストレージが求められている。このような要求に対し、複数のストレージノードにファイルシステムの機能を分散させた分散ファイルシステムが提案されている。 Due to the widespread use of cloud services, storage with higher reliability and higher speed is required. In response to such a request, a distributed file system in which file system functions are distributed to a plurality of storage nodes has been proposed.
分散ファイルシステムにおいて、データをどのストレージノードに配置するかは、ハッシュ関数等を用いて決定される。これにより、複数ノードの分散による信頼性の向上、複数ノードからの入出力の並列化による性能の向上等が達成される。なお、分散ファイルシステムに関連する先行技術として、特許文献1に記載された技術がある。
In the distributed file system, to which storage node data is arranged is determined using a hash function or the like. As a result, reliability is improved by distributing a plurality of nodes, and performance is improved by parallelizing input / output from the plurality of nodes. As a prior art related to the distributed file system, there is a technique described in
分散ファイルシステムにおいて、データが配置される複数のストレージノードには、クライアントからデータの書き込みを行うことができるプライマリノードと、当該データの複製が格納され、クライアントからデータ読み出しのみができるレプリカノードが存在する。 In a distributed file system, there are a primary node that can write data from a client and a replica node that stores a copy of the data and can only read data from the client in multiple storage nodes where data is placed. To do.
しかし、従来技術では、所定のアルゴリズムにより、どのストレージノードがプライマリノードになり、どのストレージノードがレプリカノードになるかが決まってしまい、特定のストレージノードをプライマリに指定するといった制御を行うことができない。 However, in the prior art, a predetermined algorithm determines which storage node becomes a primary node and which storage node becomes a replica node, and control such as designating a specific storage node as primary cannot be performed. .
従って、例えば、クライアントが、一旦決定されたプライマリノードから遠く離れた地点に移動した場合において、近くにストレージノード(レプリカノード)がある場合であっても、当該離れたプライマリノードに対してデータ書き込みを行わなければならず、処理に時間がかかるといった問題が生じ得る。 Therefore, for example, when the client moves to a point far away from the primary node once determined, even if there is a storage node (replica node) nearby, data writing to the remote primary node is possible May have a problem that it takes time for processing.
本発明は上記の点に鑑みてなされたものであり、データを複数のデータ格納装置に格納するデータ格納システムにおいて、プライマリとするデータ格納装置を指定することを可能とする技術を提供することを目的とする。 The present invention has been made in view of the above points, and provides a technique that enables a data storage device to be designated as a primary in a data storage system that stores data in a plurality of data storage devices. Objective.
本発明の実施の形態によれば、データを複数のデータ格納装置に格納するデータ格納システムにおけるデータ格納制御装置であって、
前記複数のデータ格納装置の順序集合を格納する格納手段と、
前記複数のデータ格納装置のうちの特定のデータ格納装置を指定するための指定情報を用いて、前記順序集合における要素の順序を変更する順序算出手段と、を備え、
前記データ格納システムにおいて、前記順序算出手段により順序が変更された順序集合における所定番目の要素に対応するデータ格納装置が前記特定のデータ格納装置として使用されることを特徴とするデータ格納制御装置が提供される。
According to an embodiment of the present invention, a data storage control device in a data storage system for storing data in a plurality of data storage devices,
Storage means for storing an ordered set of the plurality of data storage devices;
Order calculating means for changing the order of elements in the ordered set using designation information for designating a specific data storage device of the plurality of data storage devices;
In the data storage system, a data storage control device, wherein a data storage device corresponding to a predetermined element in the ordered set whose order is changed by the order calculation means is used as the specific data storage device. Provided.
また、本発明の実施の形態によれば、データを複数のデータ格納装置に格納するデータ格納システムにおけるデータ格納制御装置が実行するデータ格納制御方法であって、
前記データ格納制御装置は、前記複数のデータ格納装置の順序集合を格納する格納手段を備えており、前記データ格納制御方法は、
前記複数のデータ格納装置のうちの特定のデータ格納装置を指定するための指定情報を用いて、前記順序集合における要素の順序を変更する順序算出ステップを備え、
前記データ格納システムにおいて、前記順序算出ステップにより順序が変更された順序集合における所定番目の要素に対応するデータ格納装置が前記特定のデータ格納装置として使用されることを特徴とするデータ格納制御方法が提供される。
According to the embodiment of the present invention, there is provided a data storage control method executed by a data storage control device in a data storage system for storing data in a plurality of data storage devices,
The data storage control device includes storage means for storing an ordered set of the plurality of data storage devices, and the data storage control method includes:
Using designation information for designating a specific data storage device among the plurality of data storage devices, comprising an order calculation step of changing the order of elements in the ordered set;
In the data storage system, a data storage control method, wherein a data storage device corresponding to a predetermined element in the ordered set whose order is changed by the order calculation step is used as the specific data storage device. Provided.
本発明の実施の形態によれば、データを複数のデータ格納装置に格納するデータ格納システムにおいて、プライマリとするデータ格納装置を指定することを可能とする技術が提供される。 According to the embodiment of the present invention, there is provided a technique capable of designating a primary data storage device in a data storage system that stores data in a plurality of data storage devices.
以下、図面を参照して本発明の実施の形態を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。例えば、本実施の形態は、分散ファイルシステムを対象とするが、本発明は分散ファイルシステムに限らず適用可能である。 Embodiments of the present invention will be described below with reference to the drawings. The embodiment described below is merely an example, and the embodiment to which the present invention is applied is not limited to the following embodiment. For example, the present embodiment is directed to a distributed file system, but the present invention is not limited to a distributed file system and can be applied.
(システムの構成)
図1に本発明の実施の形態に係るシステムの全体構成図を示す。本実施の形態に係るシステは、複数のストレージノード(本実施の形態のデータ格納装置30)にファイルシステムの機能を分散させた分散ファイルシステムである。分散ファイルシステムには現状、種々のものがあり、本実施の形態の分散ファイルシステムはCephをベースとするが、これは例に過ぎず、本実施の形態の技術は分散ファイルシステムの種類に限らず適用可能である。また、本実施の形態では、本発明に関する機能/処理を主に説明している。例えば、ハッシュ関数等によってデータを複数のストレージノードにマッピングする処理は分散ファイルシステムの一般的な処理であり、本実施の形態においては簡易な説明としている。
(System configuration)
FIG. 1 shows an overall configuration diagram of a system according to an embodiment of the present invention. The system according to the present embodiment is a distributed file system in which file system functions are distributed to a plurality of storage nodes (the
図1に示すように、本実施の形態に係るシステムは、データ格納制御装置10、クライアント装置20、データ格納装置30がネットワーク40に接続された構成を備える。図1には、データ格納制御装置10、クライアント装置20がそれぞれ1つずつ示されているが、これは例であり、それぞれが複数であってもよい。また、データ格納制御装置10の機能をクライアント装置20内又はいずれかのデータ格納装置30内に備えることも可能であり、その場合、データ格納制御装置10を備えないこととしてもよい。データ格納制御装置10の機能をクライアント装置20やデータ格納装置30に備える場合、クライアント装置20やデータ格納装置30をデータ格納制御装置と称してもよい。
As shown in FIG. 1, the system according to the present embodiment has a configuration in which a data
データ格納装置30は、分散ファイルシステムにおけるストレージノードである。ファイルのデータは複数のデータ格納装置30に格納される。本実施の形態の分散ファイルシステムでは、データ格納装置30群に格納される1つのデータに対し、1つのプライマリのデータ格納装置30と、それ以外のレプリカのデータ格納装置30が存在する。以下、プライマリのデータ格納装置30をプライマリ格納装置と呼び、レプリカのデータ格納装置30をレプリカ格納装置と呼ぶことにし、プライマリ格納装置に格納されるデータをプライマリデータ、レプリカ格納装置に格納されるデータをレプリカデータ(あるいは、複製、コピー等)と呼ぶことにする。
The
クライアント装置20からファイルに対する書き込みを行うことができるデータ格納装置30は、プライマリ格納装置のみである。データの読み出しはプライマリ格納装置からでも、レプリカ格納装置からでも可能である。また、プライマリ格納装置に格納されたデータの複製が、各レプリカ格納装置に格納される。
The
図2に、データ格納装置30の機能構成図を示す。図2に示すように、データ格納装置30は、データ格納部31、分散ファイルシステム処理部32、複製制御部33を有する。データ格納部31は、データを格納するハードディスク、メモリ等のデバイスである。分散ファイルシステム処理部32は、データ格納装置30を分散ファイルシステムにおけるストレージノードとして機能させるための処理部であり、当該処理部自体は既存技術で実現できる。複製制御部33は、格納するデータの複製を他のデータ格納装置30に格納するために、データ格納制御装置10から指示された経路に沿ってデータの転送等を行う機能部である。
FIG. 2 shows a functional configuration diagram of the
クライアント装置20は、例えばPCであり、分散ファイルシステムのクライアント側のソフトウェアが搭載されている。
The
図3に、本実施の形態に係るデータ格納制御装置10の機能構成図を示す。図3に示すように、データ格納制御装置10は、データ格納装置順序計算部11、プライマリ指定子決定部12、テーブル情報格納部13、複製経路決定部14、経路決定用情報格納部15、及び通信処理部16を有する。各機能部の概要は以下のとおりである。
FIG. 3 shows a functional configuration diagram of the data
データ格納装置順序計算部11は、テーブル情報格納部13に格納されている情報に基づいて、例えばファイル毎に、当該ファイルのデータを格納するデータ格納装置30のうち、どれをプライマリ格納装置とし、どれをレプリカ格納装置とするか等を決定する。プライマリ指定子決定部12は、後述するプライマリ指定子を例えばファイル単位で決定し、決定したプライマリ指定子をテーブル情報格納部13に格納する。複製経路決定部14は、プライマリ格納装置からレプリカ格納装置に対してデータの複製を格納する際における格納の経路を決定する機能部である。経路決定用情報格納部15は、複製経路決定部14が経路を決定する際に用いられる地理的な情報やネットワークの情報等を格納している。通信処理部16は、他の装置との間の通信を行う。
Based on the information stored in the table
図4に、テーブル情報格納部13に格納されるテーブルの例を示す。図4(a)に示すテーブルは、ファイル(ファイル番号等の識別情報)毎にプライマリ指定子を格納するテーブルである。このテーブルをプライマリ指定子テーブルと呼ぶ。図4(b)に示すテーブルは、ファイル毎に、ファイルのデータを格納するデータ格納装置30の順序集合を格納したテーブルである。このテーブルを順序集合テーブルと呼ぶ。
FIG. 4 shows an example of a table stored in the table
本実施の形態に係るデータ格納制御装置10は、コンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。すなわち、データ格納制御装置10が有する機能は、当該コンピュータに内蔵されるCPUやメモリ、ハードディスクなどのハードウェア資源を用いて、データ格納制御装置10で実施される処理に対応するプログラムを実行することによって実現することが可能である。また、上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。
The data
以下では、プライマリデータの格納場所であるプライマリ格納装置を決定する処理、及び、複製経路を決定する処理を詳細に説明する。 Hereinafter, a process for determining a primary storage device that is a storage location of primary data and a process for determining a replication path will be described in detail.
(プライマリ格納装置を決定する処理)
既存機能として、本実施の形態における分散ファイルシステムでは、データを格納するデータ格納装置群を、ハッシュアルゴリズム等を使用して決定する(データとデータ格納装置とのマッピングを行う)機能を有する。当該マッピングの処理は、クライアント装置20で行ってもよいし、データ格納制御装置10で行ってもよい。ここで格納対象の「データ」は、ファイル単位のデータであってもよいし、後述するようにファイルのデータを分割した単位のデータであってもよい。
(Process to determine primary storage device)
As an existing function, the distributed file system according to the present embodiment has a function of determining a data storage device group for storing data using a hash algorithm or the like (mapping data and data storage device). The mapping process may be performed by the
上記マッピングの処理によりデータ格納装置30の順序集合が得られる。得られた順序集合において、1番目のデータ格納装置30がプライマリ格納装置として用いられ、それ以外がレプリカ格納装置として用いられる。しかし、この方式では、プライマリ格納装置が故障しない限り、プライマリとレプリカを入れ替えることはできない。
An ordered set of
前述したように、クライアント装置20からはプライマリ格納装置に対してのみデータの書き込みを行うことができるため、例えば、クライアント装置20がプライマリ格納装置から地理的に遠く離れた場所に移動した場合において、たとえ近くにデータ格納装置30(レプリカ格納装置)があったとしても、当該レプリカ格納装置をプライマリ格納装置として、書き込みを行うことはできなかった。このような場合、大量のデータの書き込みを行う場合等では、長い時間がかかる可能性がある。
As described above, since data can be written only to the primary storage device from the
一方、本実施の形態では、プライマリ指定子を用いることで、データの転送等を伴わずに、レプリカ格納装置をプライマリ格納装置に変更することを可能としている。以下の最初の説明では、例として、ファイル単位でのマッピング例を示す。また、ファイルの識別情報としてファイル番号iを使用する。また、格納の対象とするファイルを対象ファイルと呼ぶ。 On the other hand, in the present embodiment, by using a primary designator, it is possible to change a replica storage device to a primary storage device without transferring data or the like. In the first description below, an example of mapping in units of files is shown as an example. The file number i is used as file identification information. A file to be stored is called a target file.
ファイル番号i等に対してハッシュ関数を用いることで、対象ファイルのデータを格納するデータ格納装置30の順序集合としてO={o1、o2、o3}が得られたとする。本実施の形態において、当該順序集合は、クライアント装置20により算出された場合、また、データ格納制御装置10で算出された場合のいずれもデータ格納制御装置10のテーブル情報格納部13に格納されるものとする。
It is assumed that O = {o1, o2, o3} is obtained as an ordered set of the
図5(a)に示すように、{o1、o2、o3}における各要素はデータ格納装置30を示す。o1等の識別情報にどのデータ格納装置30が対応し、また、データ格納装置30へアクセスする際に必要となるIPアドレス等の情報はデータ格納制御装置10に予め格納されているものとする。
As shown in FIG. 5A, each element in {o1, o2, o3} represents a
順序集合が{o1、o2、o3}である本例の場合、先頭の要素はo1であるから、o1のデータ格納装置30がプライマリ格納装置となる。従って、この状態において、クライアント装置20は、アクセスの際にデータ格納制御装置10から当該順序集合等を取得し、対象ファイルのデータ書き込みを行う際には、o1のデータ格納装置30(プライマリ格納装置)にのみ書き込みを行う。なお、クライアント装置20が、順序集合{o1、o2、o3}により、プライマリ格納装置を認識し、プライマリ格納装置に対してのみ書き込みを行うといった処理自体は、本実施の形態における分散ファイルシステムのクライアント側のソフトウェアが既存機能として備える機能である。
In this example in which the ordered set is {o1, o2, o3}, the leading element is o1, so the
その後、対象ファイルに対して(ゼロでない)プライマリ指定子rが与えられ、ファイル番号iに対応付けてテーブル情報格納部13のプライマリ指定子テーブルに格納されたものとする。
Thereafter, it is assumed that a primary specifier r (not zero) is given to the target file and stored in the primary specifier table of the table
データ格納制御装置10におけるデータ格納装置順序計算部11は、対象ファイルのプライマリ指定子r(本例では整数の1とする)をプライマリ指定子テーブルから読み出すとともに、対象ファイルの順序集合{o1、o2、o3}を順序集合テーブルから読み出す。そして、データ格納装置順序計算部11は、順序集合{o1、o2、o3}をr(1)回分回転(シフト、ロテート)し、シフト後の順序集合O´={o2、o3、o1}を得て、これを対象ファイルの識別情報に対応付けて順序集合テーブルに格納する。
The data storage device
シフト後の順序集合{o2、o3、o1}における先頭の要素はo2であるから、図5(b)に示すとおり、o2のデータ格納装置がプライマリ格納装置になる。つまり、図5(a)に示すように、当初は拠点Aにあるデータ格納装置(o1)がプライマリであったが、プライマリ指定子rによる計算を行うことで拠点Bにあるデータ格納装置(o2)がプライマリになったのである。 Since the leading element in the ordered set {o2, o3, o1} after the shift is o2, as shown in FIG. 5B, the data storage device of o2 becomes the primary storage device. That is, as shown in FIG. 5A, the data storage device (o1) at the base A is initially primary, but the data storage device (o2) at the base B is calculated by performing the calculation using the primary specifier r. ) Became primary.
上記の例では、特定のプライマリ指定子rが与えられたときに、プライマリ格納装置が特定のデータ格納装置へ変更されることを説明した。ここで、プライマリ指定子rの決定の方法は特定の方法に限定されないが、例えば、以下のようにして、クライアント装置20との距離が最も近いデータ格納装置がプライマリ格納装置になるように、プライマリ指定子rを決定することができる。
In the above example, it has been described that when a specific primary designator r is given, the primary storage device is changed to a specific data storage device. Here, the method of determining the primary specifier r is not limited to a specific method. For example, as described below, the primary storage device becomes the primary storage device so that the data storage device closest to the
例えば図5の例において、ある時点においてクライアント装置20(対象ファイルにアクセスするクライアント装置を意味する)は拠点Aに近い場所にあり、拠点Aにあるデータ格納装置(o1)をプライマリ格納装置としている。 For example, in the example of FIG. 5, the client device 20 (meaning a client device that accesses the target file) at a certain point in time is near the base A, and the data storage device (o1) at the base A is the primary storage device. .
その後、クライアント装置20が拠点Bに近い地点に移動し、対象ファイルへのアクセスを行う場合において、対象ファイルの識別情報を含むアクセス要求がデータ格納制御装置10に送信される。また、アクセス要求には、クライアント装置20の識別情報等の識別情報が含まれており、この識別情報により、クライアント装置20と各データ格納装置との間の距離を判定できるものとする。
Thereafter, when the
アクセス要求を受信したデータ格納制御装置10において、プライマリ指定子決定部12は、対象ファイルのデータを格納するデータ格納装置のうち、拠点Bのデータ格納装置(o2)がクライアント装置20に最も近いと判断し、データ格納装置(o2)がプライマリ格納装置になるようにプライマリ指定子rを決定する。例えば、順序集合{o1、o2、o3}において、データ格納装置(o2)がプライマリ格納装置になるには、o2が先頭になればよいから、rを1と決定し、これを対象ファイルの識別情報と対応付けてプライマリ指定子テーブルに格納する。その後は、前述したようにO´={o2、o3、o1}が算出され、O´={o2、o3、o1}に従って、対象ファイルのプライマリ格納装置が決められる。
In the data
<プレイスメントグループについて>
前述したように、データ格納装置にマッピングされるデータの単位はファイルに限られない。例えば、Cephのプレイスメントグループ(PG)の概念を適用し、ファイルのデータを分割した単位でデータ格納装置へのマッピングを行ってもよい。
<About Placement Group>
As described above, the unit of data mapped to the data storage device is not limited to a file. For example, the concept of Ceph's placement group (PG) may be applied, and mapping to the data storage device may be performed in units of dividing the file data.
図6を参照してPGの概念を説明する。図6に示すように、ファイルのデータdがサイズ等に応じて複数のファイルブロック(図6の例ではd1、d2、d3)に分割される。そして、分割された各ファイルブロックは、プレイスメントグループ(PG)と呼ばれる仮想的なコンテナにマッピングされる。なお、図6の例では、d1、d2、d3がPG1、PG2、PG3にマッピングされているがこれは例に過ぎず、実際にはハッシュアルゴリズム等によりコンテナへのマッピングが決められる。そして、最終的に、各PGをハッシュ関数等によりデータ格納装置へマッピングする。このマッピング方法は、前述したファイル単位にデータ格納装置へマッピングする方法と同じでよい。つまり、前述したファイル単位でのマッピング方法は、プレイスメントグループの概念を取り入れた場合において、分割数が1である場合と等価である。 The concept of PG will be described with reference to FIG. As shown in FIG. 6, the file data d is divided into a plurality of file blocks (d1, d2, d3 in the example of FIG. 6) according to the size and the like. Each divided file block is mapped to a virtual container called a placement group (PG). In the example of FIG. 6, d1, d2, and d3 are mapped to PG1, PG2, and PG3, but this is only an example, and the mapping to the container is actually determined by a hash algorithm or the like. Finally, each PG is mapped to the data storage device by a hash function or the like. This mapping method may be the same as the method for mapping to the data storage device in units of files described above. That is, the above-described mapping method in units of files is equivalent to the case where the number of divisions is 1 when the concept of a placement group is introduced.
プレイスメントグループの概念を導入する場合、図4(a)に示すプライマリ指定子テーブルは、ファイルブロック毎にプライマリ指定子を対応付けたテーブルとなる。また、図4(b)に示す順序集合テーブルは、PG毎に順序集合を対応付けたテーブルとなる。また、クライアント装置20が、PGとファイルブロックとファイルとの関係を知る必要があるから、「ファイル−ファイルブロック−PG」のマッピング情報が必要になるが、これはクライアント装置20が保持してもよいし、データ格納制御装置が保持してもよい。
When the concept of a placement group is introduced, the primary specifier table shown in FIG. 4A is a table in which a primary specifier is associated with each file block. Also, the ordered set table shown in FIG. 4B is a table in which the ordered set is associated with each PG. Further, since the
プライマリ指定子を用いたプライマリ格納装置の変更方法は前述したとおりである。前述したファイル単位での方法において、「ファイル」を「ファイルブロック」に置き換えればよい。 The method for changing the primary storage device using the primary designator is as described above. In the file unit method described above, “file” may be replaced with “file block”.
例えば、プライマリ格納装置とレプリカ格納装置が地理的に離れた拠点に存在する場合において、ファイルのデータの前半部分はアクセスが早いが後半部分は遅延が発生するといった問題が生じる可能性がある。これに対して、上記のように、ファイルブロック毎にプライマリ指定子rを設定し、同じ拠点がプライマリ格納装置になるようにすることで解決できる。 For example, when the primary storage device and the replica storage device exist in geographically separated locations, there is a possibility that the first half of the file data is accessed quickly but the second half is delayed. On the other hand, as described above, the problem can be solved by setting the primary designator r for each file block so that the same base becomes the primary storage device.
(複製経路を決定する処理)
次に、データ格納制御装置10の複製経路決定部14において行われる複製経路決定処理を説明する。
(Process to determine replication route)
Next, the replication path determination process performed in the replication
例えば、順序集合O={o1、o2、o3}が計算されたとすると、プライマリ格納装置はo1になり、その他はレプリカ格納装置となる。前述したように、クライアント装置20からのデータの書き込みはプライマリ格納装置に対してのみ行うことができ、プライマリ格納装置に格納されたデータ(プライマリデータ)の複製(レプリカデータ)が、プライマリ格納装置を基点として、各レプリカ格納装置に転送され、各レプリカ格納装置に格納される。データを格納する場合の経路については、例えば、「o1―>o2―>o3」、「o1―>o2、o1―>o3」、「o1―>o3―>o2」といった経路をとることができる。このような経路のことを複製経路と呼ぶことにする。
For example, if the ordered set O = {o1, o2, o3} is calculated, the primary storage device is o1, and the others are replica storage devices. As described above, data can be written from the
ここで、基本的には、クライアント装置20からデータ書き込み要求を受けたプライマリ格納装置は、自分へのデータ格納とともに全てのレプリカ格納装置へのデータ格納完了を確認できた後に、クライアント装置20に対してデータ書き込みが終了したことを通知し、クライアント装置20はこの通知でもって書き込み処理が終わったと判断し、次の処理に移行できる。
Here, basically, the primary storage device that has received the data write request from the
従って、レプリカデータのレプリカ格納装置への格納は迅速である必要がある。しかし、装置間のネットワーク状況(帯域等)により、装置間でのデータ転送に長い時間がかかる場合がある。特に転送するデータ量が大きい場合には、この問題は顕著になる。 Therefore, it is necessary to store the replica data in the replica storage device quickly. However, data transfer between devices may take a long time depending on the network status (bandwidth, etc.) between the devices. This problem becomes significant especially when the amount of data to be transferred is large.
なお、後述するように、本実施の形態では、上記と異なる手順を採用しており、レプリカ格納装置へのデータ格納完了を確認する前に、クライアント装置20へ格納完了を通知している。このような場合でも、データの整合性を保つ観点等から、レプリカデータのレプリカ格納装置への格納は迅速である必要がある。
As will be described later, this embodiment employs a procedure different from the above, and notifies the
そこで、本実施の形態では、ネットワーク状況等を考慮して複製経路を決定する。決定の一例を図7を参照して説明する。図7(a)に示すように、A地点(地理的な位置)にプライマリ格納装置が存在し、B地点とC地点にレプリカ格納装置が存在する。そして、各装置(地点)間のネットワークの状況(図7の例では容量)が図に示すとおりであったとする。また、ここでは、帯域10のネットワークで迅速に転送できると想定されるサイズ10のレプリカデータの転送を行うものとする。
Therefore, in the present embodiment, the replication route is determined in consideration of the network status and the like. An example of the determination will be described with reference to FIG. As shown in FIG. 7A, a primary storage device exists at point A (geographic position), and replica storage devices exist at points B and C. Assume that the network status (capacity in the example of FIG. 7) between the devices (points) is as shown in the figure. Here, it is assumed that replica data of
このとき、A地点のプライマリ格納装置からB地点のレプリカ格納装置へのデータ転送は迅速に行うことができるが、A地点のプライマリ格納装置からC地点のレプリカ格納装置へのデータ転送には非常に時間がかかってしまう。一方、B地点のレプリカ格納装置からC地点のレプリカ格納装置へのデータ転送は迅速に行うことができる。従って、複製経路決定部14は、図7(b)に示すように、複製経路としてA−>B−>Cという経路を決定する。
At this time, data transfer from the primary storage device at the point A to the replica storage device at the point B can be performed quickly, but it is very difficult to transfer data from the primary storage device at the point A to the replica storage device at the point C. It takes time. On the other hand, data transfer from the replica storage device at point B to the replica storage device at point C can be performed quickly. Therefore, as shown in FIG. 7B, the replication
図8は他の例を示す。図8に示す例では、各地点間のネットワークとしての帯域は全て同じく10であるが、A−>BとA−>Cは物理的には1回線(帯域10)しかない。このような場合、仮に、A−>B及びA−>Cという経路でサイズ10のレプリカデータを送信しようとすると、結果として1回線でサイズ20のデータを送ることになり、迅速に送ることができない。そこで、この場合も、複製経路決定部14は、図8(b)に示すように、複製経路としてA−>B−>Cという経路を決定する。
FIG. 8 shows another example. In the example shown in FIG. 8, the network bandwidth between the points is 10 in all cases, but A-> B and A-> C physically have only one line (band 10). In such a case, if replica data of
また、レプリカ格納装置から迅速にデータ格納完了通知を受信することが望ましいため、例えば、プライマリ格納装置から距離の近いレプリカ格納装置に先にレプリカデータを転送する、あるいは、データを高速に格納する能力を持つレプリカ格納装置に先にレプリカデータを転送する、といった判断基準も加味して経路決定することもできる。 In addition, since it is desirable to quickly receive a data storage completion notification from the replica storage device, for example, the ability to transfer replica data to a replica storage device closer to the distance from the primary storage device or to store data at high speed It is also possible to determine the route in consideration of the criterion of transferring replica data to a replica storage device having
経路決定用情報格納部15には、各装置間の空き帯域等のネットワーク情報、地点間の距離、物理的な回線情報、各データ格納装置の容量/データ格納速度/信頼性/負荷状態等が格納されており、複製経路決定部14は、経路決定用情報格納部15から読み出した情報に基づいて、最適な経路を算出する。
The route determination
(システムの動作シーケンス例)
次に、図9を参照して、本実施の形態におけるシステムの動作シーケンスの例を説明する。以下の例では、ステップ101の前の時点において、アクセスするファイル(対象ファイル)の順序集合が既にあるものとする。
(System operation sequence example)
Next, an example of an operation sequence of the system in the present embodiment will be described with reference to FIG. In the following example, it is assumed that there is already an ordered set of files (target files) to be accessed at a time point before
クライアント装置20が対象ファイルへのアクセス(書き込み等)を行う場合に、クライアント装置20は、対象ファイルの識別情報を含むファイルアクセス要求をデータ格納制御装置10に送信する(ステップ101)。データ格納制御装置10におけるプライマリ指定子決定部12は、順序集合に含まれる各データ格納装置とクライアント装置20との間の距離を決定し、最も近いデータ格納装置をプライマリにすると決定し、当該データ格納装置が順序集合の先頭に来るようにプライマリ指定子を決定する(ステップ102)。
When the
次に、データ格納装置順序計算部11が、対象ファイルについての既にある順序集合と、ステップ102で決定したプライマリ指定子とから順序集合のシフトを行うことにより、新たな順序集合を得る(ステップ103)。これにより、プライマリ格納装置が決定される。本例では、データ格納制御装置10は、対象ファイルについてプライマリ格納装置になったデータ格納装置に対してその旨を通知する(ステップ104)。
Next, the data storage device
また、データ格納装置10は、クライアント装置20に応答を返す(ステップ105)。応答には、例えば、プライマリ格納装置の識別情報、レプリカ格納装置の識別情報等が含まれる。
The
その後、クライアント装置20は、データのファイルへの書き込みを行う(ステップ106)。ここでは、分散ファイルシステムの機能により、プライマリ格納装置へデータの書き込みが行われる。
Thereafter, the
ここで、本実施の形態のプライマリ格納装置は、レプリカ格納装置へのデータの複製の転送を行う前に、あるいは、レプリカ格納装置へのデータの複製の転送後、レプリカ格納装置から格納完了通知(ACK)を受信する前に、プライマリ格納装置自身のデータの格納が終了した時点で、クライアント装置20に格納完了通知(ACK)を送信することとしている。図9の例では、プライマリ格納装置からレプリカ格納装置へのデータの複製の転送を行う前にクライアント装置20に格納完了通知(ACK)を送信している(ステップ107)。
Here, the primary storage device according to the present embodiment notifies the storage completion notification from the replica storage device before transferring the data copy to the replica storage device or after transferring the data copy to the replica storage device ( Before receiving the (ACK), the storage completion notification (ACK) is transmitted to the
レプリカ格納装置とプライマリ格納装置の距離が離れている場合、レプリカ格納装置からの格納完了通知(ACK)を待ってクライアント装置20に格納完了通知(ACK)を送信するとなると、クライアント装置20への格納完了通知(ACK)送信が遅れ、クライアント装置20側で次の処理への移行が遅れてしまう可能性があるが、本実施の形態により、この問題が解消される。
When the distance between the replica storage device and the primary storage device is long, when the storage completion notification (ACK) is transmitted to the
上記のような処理の他、プライマリ格納装置から距離が近いレプリカ格納装置のみから格納完了通知(ACK)を受信した後に、クライアント装置20に格納完了通知(ACK)を送信することとしてもよい。
In addition to the processing described above, the storage completion notification (ACK) may be transmitted to the
図9のステップ108において、プライマリ格納装置は、複製データの転送を行うための経路情報をデータ格納制御装置10に要求する。要求を受けたデータ格納制御装置10の複製経路決定部14は、前述したような方法で経路を決定し(ステップ109)、経路の情報をプライマリ格納装置に通知する(ステップ110)。そして、この経路に従って複製したデータの転送、及び格納が行われる(ステップ111〜114)。
In step 108 of FIG. 9, the primary storage device requests the data
なお、上記の例では、データ格納制御装置10が経路を決定したが、プライマリ格納装置自身が、データ格納制御装置10からネットワーク情報等の経路決定に必要となる情報を取得して、経路決定処理を行うこととしてもよい。
In the above example, the data
(実施の形態のまとめ、効果等)
以上、説明したように、本実施の形態によれば、データを複数のデータ格納装置に格納するデータ格納システムにおけるデータ格納制御装置であって、前記複数のデータ格納装置の順序集合を格納する格納手段と、前記複数のデータ格納装置のうちの特定のデータ格納装置を指定するための指定情報を用いて、前記順序集合における要素の順序を変更する順序算出手段と、を備え、前記データ格納システムにおいて、前記順序算出手段により順序が変更された順序集合における所定番目の要素に対応するデータ格納装置が前記特定のデータ格納装置として使用されることを特徴とするデータ格納制御装置が提供される。
(Summary of the embodiment, effects, etc.)
As described above, according to the present embodiment, a data storage control device in a data storage system for storing data in a plurality of data storage devices, which stores an ordered set of the plurality of data storage devices. Means for changing the order of elements in the ordered set by using designation information for designating a specific data storage device among the plurality of data storage devices, and the data storage system The data storage control device is characterized in that a data storage device corresponding to a predetermined element in the ordered set whose order is changed by the order calculation means is used as the specific data storage device.
前記順序集合における所定番目の要素は、例えば、当該順序集合における1番目の要素である。また、前記指定情報は整数であり、前記順序算出手段は、前記格納手段に格納された順序集合に対して当該整数の回数分のシフトを行うことにより前記順序の変更を行う。 The predetermined element in the ordered set is, for example, the first element in the ordered set. The designation information is an integer, and the order calculation means changes the order by shifting the order set stored in the storage means by the number of times of the integer.
前記データ格納システムにおいては、例えば、前記複数のデータ格納装置のうちの前記特定のデータ格納装置に前記データが書き込まれ、当該特定のデータ格納装置以外のデータ格納装置である複製データ格納装置には前記データの複製データが格納される。 In the data storage system, for example, the data is written to the specific data storage device among the plurality of data storage devices, and the duplicate data storage device which is a data storage device other than the specific data storage device is used. Replicated data of the data is stored.
前記データ格納制御装置は、前記特定のデータ格納装置を基点として、各複製データ格納装置に複製データを格納するための複製経路を、各データ格納装置が設置される地点間を接続するネットワークの情報に基づいて決定する複製経路決定手段を備えてもよい。 The data storage control device uses the specific data storage device as a base point, a replication path for storing the replicated data in each replicated data storage device, and information on a network connecting the points where the respective data storage devices are installed A duplication path determination means for determining based on the above may be provided.
また、前記データ格納制御装置は、前記複数のデータ格納装置のうち、前記データへのアクセスを行うクライアント装置に最も近い地点にあるデータ格納装置が前記特定のデータ格納装置になるように前記指定情報を決定する指定情報決定手段を備えてもよい。 In addition, the data storage control device may include the designation information so that a data storage device located closest to a client device that accesses the data among the plurality of data storage devices becomes the specific data storage device. There may be provided designation information determining means for determining.
前記データ格納システムは、例えば分散ファイルシステムであり、前記データはファイルのデータ、又は、ファイルのデータを分割したデータである。 The data storage system is, for example, a distributed file system, and the data is file data or data obtained by dividing file data.
既に説明したように、従来技術では、プライマリデータをどのデータ格納装置に置くといった詳細な指定はできなかった。また、プライマリデータとレプリカデータの関係を反転させること等もできなかった。 As described above, in the conventional technology, detailed specification such as in which data storage device the primary data is placed cannot be performed. In addition, the relationship between primary data and replica data cannot be reversed.
一方、本実施の形態では、特定のデータ格納装置をプライマリとして指定することが可能となる。これにより、例えば、クライアントからの近接地に既にレプリカが存在する場合において、これをプライマリデータとして利用することが可能となる。この結果、数テラバイトレベルの大規模なデータを疑似的に高速移動させることが可能となる。 On the other hand, in the present embodiment, a specific data storage device can be designated as the primary. Thereby, for example, when a replica already exists in the vicinity from the client, it can be used as primary data. As a result, large-scale data of several terabytes can be moved in a pseudo high speed.
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。 The present invention is not limited to the above-described embodiments, and various modifications and applications are possible within the scope of the claims.
10 データ格納制御装置
20 クライアント装置
30 データ格納装置
40 ネットワーク
11 データ格納装置順序計算部
12 プライマリ指定子決定部
13 テーブル情報格納部
14 複製経路決定部
15 経路決定用情報格納部
16 通信処理部
31 データ格納部
32 分散ファイルシステム処理部
33 複製制御部
DESCRIPTION OF
Claims (9)
前記複数のデータ格納装置の順序集合を格納する格納手段と、
前記複数のデータ格納装置のうちの特定のデータ格納装置を指定するための指定情報を用いて、前記順序集合における要素の順序を変更する順序算出手段と、を備え、
前記データ格納システムにおいて、前記順序算出手段により順序が変更された順序集合における所定番目の要素に対応するデータ格納装置が前記特定のデータ格納装置として使用される
ことを特徴とするデータ格納制御装置。 A data storage control device in a data storage system for storing data in a plurality of data storage devices,
Storage means for storing an ordered set of the plurality of data storage devices;
Order calculating means for changing the order of elements in the ordered set using designation information for designating a specific data storage device of the plurality of data storage devices;
In the data storage system, a data storage device corresponding to a predetermined element in the ordered set whose order is changed by the order calculation means is used as the specific data storage device.
ことを特徴とする請求項1又は2に記載のデータ格納制御装置。 The specification information is an integer, and the order calculation means changes the order by shifting the order set stored in the storage means by the number of times of the integer. The data storage control device according to 1 or 2.
ことを特徴とする請求項1ないし3のうちいずれか1項に記載のデータ格納制御装置。 In the data storage system, the data is written to the specific data storage device of the plurality of data storage devices, and the data storage device other than the specific data storage device stores the data The data storage control device according to any one of claims 1 to 3, wherein duplicate data is stored.
を備えることを特徴とする請求項4に記載のデータ格納制御装置。 A replication path for determining a replication path for storing replicated data in each replicated data storage apparatus based on the information on the network connecting the points where the respective data storage apparatuses are installed, based on the specific data storage apparatus The data storage control device according to claim 4, further comprising a determination unit.
を備えることを特徴とする請求項1ないし5のうちいずれか1項に記載のデータ格納制御装置。 A designation information determining unit configured to determine the designation information so that a data storage device located closest to a client device that accesses the data among the plurality of data storage devices becomes the specific data storage device; 6. The data storage control device according to claim 1, wherein the data storage control device is a data storage control device.
ことを特徴とする請求項1ないし6のうちいずれか1項に記載のデータ格納制御装置。 The data storage system according to any one of claims 1 to 6, wherein the data storage system is a distributed file system, and the data is file data or data obtained by dividing file data. Control device.
前記データ格納制御装置は、前記複数のデータ格納装置の順序集合を格納する格納手段を備えており、前記データ格納制御方法は、
前記複数のデータ格納装置のうちの特定のデータ格納装置を指定するための指定情報を用いて、前記順序集合における要素の順序を変更する順序算出ステップを備え、
前記データ格納システムにおいて、前記順序算出ステップにより順序が変更された順序集合における所定番目の要素に対応するデータ格納装置が前記特定のデータ格納装置として使用される
ことを特徴とするデータ格納制御方法。 A data storage control method executed by a data storage control device in a data storage system for storing data in a plurality of data storage devices,
The data storage control device includes storage means for storing an ordered set of the plurality of data storage devices, and the data storage control method includes:
Using designation information for designating a specific data storage device among the plurality of data storage devices, comprising an order calculation step of changing the order of elements in the ordered set;
In the data storage system, a data storage device corresponding to a predetermined element in the ordered set whose order is changed by the order calculation step is used as the specific data storage device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014045431A JP6284395B2 (en) | 2014-03-07 | 2014-03-07 | Data storage control device, data storage control method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014045431A JP6284395B2 (en) | 2014-03-07 | 2014-03-07 | Data storage control device, data storage control method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015170201A JP2015170201A (en) | 2015-09-28 |
JP6284395B2 true JP6284395B2 (en) | 2018-02-28 |
Family
ID=54202862
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014045431A Active JP6284395B2 (en) | 2014-03-07 | 2014-03-07 | Data storage control device, data storage control method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6284395B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106445730B (en) * | 2016-07-22 | 2019-12-03 | 平安科技(深圳)有限公司 | A kind of method and terminal improving virtual machine performance |
JP2021124952A (en) | 2020-02-05 | 2021-08-30 | 富士通株式会社 | Information processing apparatus, information processing system, and access control method |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007206931A (en) * | 2006-02-01 | 2007-08-16 | Hitachi Ltd | Storage system, data processing method and storage device |
JP2014229088A (en) * | 2013-05-23 | 2014-12-08 | ソニー株式会社 | Data processing system, data processing device, and storage medium |
-
2014
- 2014-03-07 JP JP2014045431A patent/JP6284395B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015170201A (en) | 2015-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10540323B2 (en) | Managing I/O operations in a storage network | |
US9734026B2 (en) | In-memory data store replication through remote memory sharing | |
US10178174B2 (en) | Migrating data in response to changes in hardware or workloads at a data store | |
US20150215405A1 (en) | Methods of managing and storing distributed files based on information-centric network | |
CN105027068A (en) | Performing copies in a storage system | |
JP6222227B2 (en) | Storage node, storage node management apparatus, storage node logical capacity setting method, program, recording medium, and distributed data storage system | |
CN106446159B (en) | A kind of method of storage file, the first virtual machine and name node | |
US10523753B2 (en) | Broadcast data operations in distributed file systems | |
US10135948B2 (en) | System and method for process migration in a content centric network | |
US10031682B1 (en) | Methods for improved data store migrations and devices thereof | |
JP2010074604A (en) | Data access system, data access method and data access program | |
US10154079B2 (en) | Pre-boot file transfer system | |
US10387043B2 (en) | Writing target file including determination of whether to apply duplication elimination | |
JP6284395B2 (en) | Data storage control device, data storage control method, and program | |
JP6233403B2 (en) | Storage system, storage device, storage device control method and control program, management device, management device control method and control program | |
JP6413792B2 (en) | Storage system | |
CN109587185B (en) | Cloud storage system and object processing method in cloud storage system | |
US20180314430A1 (en) | Methods for improved data replication in cloud environments and devices thereof | |
US10956442B1 (en) | Dedicated source volume pool for accelerated creation of block data volumes from object data snapshots | |
JP2010271797A (en) | Method, device and program for managing data position in distributed storage | |
JP2018504689A5 (en) | ||
KR101470857B1 (en) | Network distributed file system and method using iSCSI storage system | |
JP5963324B2 (en) | Virtual sequential access volume data copy method and system | |
CN108694102A (en) | A kind of data manipulation method, equipment, system and medium based on Nexus services | |
KR101748913B1 (en) | Cluster management method and data storage system for selecting gateway in distributed storage environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160705 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170419 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170516 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170718 |
|
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: 20180109 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180130 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6284395 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |