JP2012008934A - Distributed file system and redundancy method in distributed file system - Google Patents
Distributed file system and redundancy method in distributed file system Download PDFInfo
- Publication number
- JP2012008934A JP2012008934A JP2010146383A JP2010146383A JP2012008934A JP 2012008934 A JP2012008934 A JP 2012008934A JP 2010146383 A JP2010146383 A JP 2010146383A JP 2010146383 A JP2010146383 A JP 2010146383A JP 2012008934 A JP2012008934 A JP 2012008934A
- Authority
- JP
- Japan
- Prior art keywords
- server
- proxy server
- file
- proxy
- request
- 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
Landscapes
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明は、複数のユーザによるファイル書込み要求及びファイル読込み要求が行われるネットワークにおいて、記憶部(ストレージ)を有する複数のファイルサーバを広域な範囲に分散配置させて形成される分散ファイルシステムでファイル(ユーザデータ)を保存する際に、分散ファイルシステムを運用する複数の管理サーバ間で行われるメタ情報の管理に関し、特に、システム全体のサービス停止の回避を目的とした分散ファイルシステム及び分散ファイルシステムにおける冗長化方法に関する。 The present invention provides a distributed file system formed by distributing a plurality of file servers having storage units (storage) in a wide range in a network where a file write request and a file read request are made by a plurality of users. When managing user data), it is related to meta information management performed between a plurality of management servers operating a distributed file system. In particular, in a distributed file system and a distributed file system for the purpose of avoiding service stoppage of the entire system. It relates to a redundancy method.
この種の技術としては、非特許文献1や非特許文献2で示されるように、複数のマシンのディスクを組み合わせて1つのファイルシステムとして機能する分散プラットフォームが提案されている。
非特許文献1に示されたGfarmは、広域ネットワーク上で、大容量、大規模データ処理の要求に応えるスケーラブルな分散ファイルシステムプラットフォームであり、広域なネットワーク上での効率的なファイル共有に適した分散プラットフォームである。
一方、非特許文献2に示されたHadoopは、1つのディスクで保存できない大量のデータを並列化することで高速かつ効率良く処理できるものであり、比較的大きなサイズかつ基本的に更新されることのないファイルのI/Oに適した分散プラットフォームである。
また、非特許文献3のdrbdには、一方のデータを他方にコピーする技術が開示されている。
As this type of technology, as shown in Non-Patent
Gfarm shown in Non-Patent
On the other hand, Hadoop disclosed in Non-Patent
Also, drbd of Non-Patent
非特許文献1に示されたGfarmは、広域なネットワーク上での効率的なファイル共有に適した分散プラットフォームであり、この分散プラットフォームでは、広域な範囲に配置した複数のファイルサーバに、ユーザから書込み要求のあったファイルを、データの可用性を高めるために分散配置する。しかしながら、ファイル自体の可用性は高めることができるが、ファイルのメタ情報は、管理サーバが一か所で管理しており、管理サーバが障害となった場合、ユーザからの分散ファイルシステムに対するアクセスが不可能となる(サービスのダウンタイムが発生する)現象が生じる。
Gfarm shown in Non-Patent
この現象を回避するため、メタ情報を管理するサーバを複数台設けて冗長化する技術が提案されている。例えば、図13に示すように、ユーザ端末1と、ユーザ端末1からの要求を処理する複数のプロキシサーバ2と、データを格納する複数のファイルサーバ4と、ユーザ端末1からのアクセスに対してプロキシサーバ2の選択を行うDNSサーバ5から分散ファイルシステムを構成する場合に、メタ情報を管理する複数のメタデータサーバ3を設け、メタデータサーバ3が管理するメタ情報を、ユーザからの操作とは非同期に各メタデータサーバ3間で相互に定期的に送受信を行い、全てのメタデータサーバ3を現用機として並列に動作させることで、いずれかのメタデータサーバ3に障害が発生しても残りの現用機でサービスを継続する構成が提案されている。
In order to avoid this phenomenon, a technique has been proposed in which a plurality of servers for managing meta information are provided for redundancy. For example, as shown in FIG. 13, a
しかしながら、この構成によれば、ユーザからのアクセスとは別のタイミングでメタ情報の同期処理が行われているので、常時メタ情報の一貫性が保たれてはいない。したがって、ユーザからファイルが書き込まれ、あるメタデータサーバがそのファイルのメタ情報を保持し、次の同期のタイミングで別のメタデータサーバにそのメタ情報を受け渡す前にそのメタデータサーバに障害が発生した場合には、そのファイルにはアクセス不可能となるという問題があった。 However, according to this configuration, since the meta information synchronization processing is performed at a timing different from the access from the user, the consistency of the meta information is not always maintained. Therefore, a file is written by the user, a metadata server holds the metadata information of the file, and the metadata server fails before it is passed to another metadata server at the next synchronization timing. If it occurred, the file could not be accessed.
また、ユーザからのファイル書込みに対しては、各メタデータサーバ間でメタ情報が受け渡しされる前に、書込みが終了したことをユーザに示すため、書込みを行ったデータは可用性が保たれているとユーザ側では認識してしまうという課題も生じる。 In addition, for file writing from the user, the written data is kept available to indicate to the user that the writing is completed before the meta information is passed between the metadata servers. There is also a problem that the user recognizes that.
更に、各管理サーバ間において、短い周期で複製を行う設定も考えられるが、クラウドサービスとして巨大ストレージを提供する場合など、増加するユーザの膨大なメタ情報を高い頻度で同期をとることになり、相互管理サーバ間での処理負荷が増加するため現実的でない。 In addition, it is possible to set up replication between each management server in a short cycle, but when providing huge storage as a cloud service, a huge amount of meta information of increasing users will be synchronized with high frequency, Since the processing load between mutual management servers increases, it is not realistic.
本発明は上記事情に鑑みて提案されたもので、記憶部(ストレージ)を提供するファイルサーバと分散ファイルシステムを利用するユーザとの間を仲介する管理サーバの障害からのシステム全体のサービス停止を回避することを可能とした分散ファイルシステム及び分散ファイルシステムにおける冗長化方法を提供することを目的とする。 The present invention has been proposed in view of the above circumstances, and it is possible to stop service of the entire system from a failure of a management server that mediates between a file server providing a storage unit (storage) and a user using a distributed file system. It is an object of the present invention to provide a distributed file system that can be avoided and a redundancy method in the distributed file system.
上記目的を達成するため請求項1の発明は、記憶部を有する複数のファイルサーバと、ユーザからの書込み要求を処理するプロキシサーバと、前記書込み要求に関するメタ情報を管理するメタデータサーバを備え、前記プロキシサーバに対して複数ユーザによるファイル書込み要求を行い前記ファイルサーバの記憶部に記録するネットワークを構成し、前記複数のファイルサーバを広域な範囲に分散配置させた分散ファイルシステムにおいて、次の構成を含むことを特徴としている。
前記プロキシサーバ及びこれに対応するメタデータサーバを複数対設ける。
そして、前記プロキシサーバは、ユーザからのI/O要求を受信するアクセス制御部と、前記メタデータサーバにアクセスし前記I/O要求の書込み要求に関するメタ情報を保存するためのクライアント機能を果たすファイルシステムアクセス部と、他のプロキシサーバに対し前記メタ情報の複製及び書込み履歴管理を行う複製処理部と、前記複製処理部が保持する書込みエラー履歴からプロキシサーバ間での定期的なデータ補完処理を実行するデータ更新部と、前記データ補完処理を実行する更新時期を環境設定ファイルから読み込む環境設定取込部を備えている。
In order to achieve the above object, the invention of
A plurality of pairs of the proxy server and corresponding metadata servers are provided.
The proxy server includes an access control unit that receives an I / O request from a user, and a file that performs a client function for accessing the metadata server and storing meta information relating to a write request for the I / O request. A system access unit, a replication processing unit that performs replication and write history management of the meta information to other proxy servers, and a periodic data supplement processing between the proxy servers from the write error history held by the replication processing unit A data update unit to be executed, and an environment setting fetch unit that reads from the environment setting file the update time for executing the data complementing process.
請求項2は、記憶部を有する複数のファイルサーバと、ユーザからのI/O要求を処理するプロキシサーバと、前記I/O要求に関するメタ情報を管理するメタデータサーバを備え、前記プロキシサーバに対して複数ユーザによるファイル書込み要求を行い前記ファイルサーバの記憶部に記録するネットワークを構成し、前記複数のファイルサーバを広域な範囲に分散配置させた分散ファイルシステムにおいて、
前記プロキシサーバ及びこれに対応するメタデータサーバを複数対設ける一方、
一のユーザによる一つのプロキシサーバへのファイルサーバのI/O要求に対して、前記I/O要求を処理するプロキシサーバは、対応するメタデータサーバに前記ファイルサーバへのメタ情報を書き込むとともに、他のプロキシサーバに対して前記I/O要求の書込み要求の複製処理を行うことでユーザからのアクセスに同期して前記他のプロキシサーバに対応するメタデータサーバに対して並列にメタ情報を更新保存することでメタ情報の一貫性を保証することを特徴としている。
According to a second aspect of the present invention, the proxy server includes a plurality of file servers having a storage unit, a proxy server that processes an I / O request from a user, and a metadata server that manages meta information regarding the I / O request. In a distributed file system in which a file write request is made by a plurality of users and recorded in the storage unit of the file server, and the plurality of file servers are distributed and arranged in a wide range,
While providing a plurality of pairs of the proxy server and the corresponding metadata server,
In response to an I / O request of a file server to one proxy server by one user, the proxy server that processes the I / O request writes meta information to the file server in a corresponding metadata server, and The meta information is updated in parallel to the metadata server corresponding to the other proxy server in synchronization with the access from the user by performing the replication processing of the write request of the I / O request to the other proxy server. It is characterized by ensuring the consistency of meta information by storing.
請求項3は、請求項2の分散ファイルシステムにおける冗長化方法において、前記プロキシサーバ及びメタデータサーバの生存監視を行う生存監視サーバを設け、プロキシサーバ又はメタデータサーバの障害を検知し、ユーザからのI/O要求に対してプロキシサーバの選択を行うDNSサーバの設定情報について、前記障害状況を考慮して更新することを特徴としている。 According to a third aspect of the present invention, in the redundancy method in the distributed file system according to the second aspect, a life monitoring server that performs the life monitoring of the proxy server and the metadata server is provided, and a failure of the proxy server or the metadata server is detected, and The setting information of the DNS server that selects the proxy server for the I / O request is updated in consideration of the failure status.
請求項4は、請求項3に記載の分散ファイルシステムにおける冗長化方法において、プロキシサーバ又はメタデータサーバが障害から復旧した場合に、正常にメタ情報を更新保存したメタデータサーバからメタ情報を自動的に再構築することを特徴としている。 According to a fourth aspect of the present invention, in the redundancy method in the distributed file system according to the third aspect, when the proxy server or the metadata server recovers from a failure, the meta information is automatically updated from the metadata server that has successfully updated and stored the meta information. It is characterized by restructuring.
請求項5は、請求項2の分散ファイルシステムにおける冗長化方法において、前記メタ情報の保存に際して、前記ユーザのI/O要求の書込み要求と並行して他のプロキシサーバに対して前記書込み要求の複製処理を行って各メタデータサーバで書込みを行い、書込み要求を処理するプロキシサーバに対して、各プロキシサーバの中から一つのプロキシサーバからの書込み要求に対する成功応答があった場合に、メタ情報を保存してファイルサーバ書込み終了の応答を前記ユーザに対し行うことを特徴としている。 According to a fifth aspect of the present invention, in the redundancy method in the distributed file system according to the second aspect, when the meta information is stored, the write request is sent to another proxy server in parallel with the user I / O request write request. When the replication processing is performed and each metadata server writes data, and the proxy server that processes the write request receives a successful response to the write request from one proxy server, the meta information Is stored and a response to the end of writing to the file server is sent to the user.
本発明の分散ファイルシステムによれば、I/O要求の書込み要求を処理するプロキシサーバは、対応するメタデータサーバにファイルサーバへのメタ情報を書き込むとともに、他のプロキシサーバに対して前記書込み要求の複製処理を行うことでユーザからのアクセスに同期して他のプロキシサーバに対応するメタデータサーバに対して並列にメタ情報を保持してメタ情報の一貫性を保証することができるとともに、ファイルサーバに書込みデータの複製を保存することができる。
したがって、その後におけるいかなるタイミングでメタデータサーバに障害が発生した場合でも、他のメタデータサーバが常時メタ情報の複製を保持しているため、ユーザが他のメタデータサーバの複製メタ情報を介して、書込みを行ったファイルサーバからデータを読み込むことができる。
According to the distributed file system of the present invention, the proxy server that processes the write request for the I / O request writes the meta information to the file server in the corresponding metadata server and the write request to the other proxy server. By performing the replication process, it is possible to maintain the meta information in parallel with the metadata server corresponding to the other proxy server in synchronization with the access from the user, and to guarantee the consistency of the meta information, A copy of the write data can be stored on the server.
Therefore, even if a failure occurs in the metadata server at any time after that, the other metadata server always keeps a copy of the metadata, so that the user can Data can be read from the file server that performed the writing.
また、データ更新部により、複製処理部が保持する書込みエラー履歴からプロキシサーバ間での定期的なデータ補完処理が実行されるので、プロキシサーバへの書込み要求の複製失敗が生じた場合でも、正しいデータへの更新を行うことができる。 In addition, since the data update unit performs periodic data complementing processing between proxy servers from the write error history held by the replication processing unit, it is correct even if a replication request replication failure occurs. Updates to the data can be made.
また、プロキシサーバ及びメタデータサーバの生存監視を行う生存監視サーバを設け、DNSサーバにおけるプロキシサーバ選択時の設定情報を更新することで、常時適切なプロキシサーバの選択を可能としている。 In addition, a survival monitoring server that performs the survival monitoring of the proxy server and the metadata server is provided, and the setting information when the proxy server is selected in the DNS server is updated, so that an appropriate proxy server can always be selected.
また、各プロキシサーバの中から一つのプロキシサーバからの書込み要求に対する成功応答があった場合に、メタ情報を保存してファイルサーバ書込み終了の応答を前記ユーザに対し行うようにすることで、ユーザに対する応答処理を速くすることができる。 In addition, when there is a successful response to a write request from one proxy server among the proxy servers, the meta information is saved and a response to the file server write end is sent to the user. The response process for can be made faster.
本発明の分散ファイルシステムについて、図面を参照しながら説明する。
本発明の冗長化方法が適用される分散ファイルシステムは、図1に示すように、複数のファイルサーバ4と、複数のファイルサーバ4をそれぞれ管理する複数のプロキシサーバ2と、各プロキシサーバ2に対して一対一に対応して設置されるメタデータサーバ3でネットワークが構成されている。ユーザ端末1との間でI/O要求(書込みや読込み)及び通知(書込み終了通知やデータ閲覧)を行うプロキシサーバ2により、ユーザ端末1によるファイル書込み要求やファイル読込み要求に対して、ファイルサーバ4への書込みやファイルサーバ4からの読込みが行われる。
プロキシサーバ群、メタデータサーバ群は、各サーバが正常に動作しているかを検知する生存監視サーバ6に接続されることで、動作状況が監視されている。生存監視サーバ6が得た各サーバ生存データにより、DNSサーバ5の設定内容が更新される。
この例では、各5台のプロキシサーバ2及びメタデータサーバ3を並列に動作させ、3台のユーザ端末1それぞれからファイルアクセス要求を受けたプロキシサーバ2が、他のプロキシサーバ2に書込み要求を複製し、5台分のメタデータサーバのメタ情報を更新するように動作する。
The distributed file system of the present invention will be described with reference to the drawings.
As shown in FIG. 1, the distributed file system to which the redundancy method of the present invention is applied includes a plurality of
The proxy server group and the metadata server group are connected to the
In this example, five
すなわち、図2に示すように、ユーザ端末1はDNSサーバ5に対してアクセス先の問い合わせを行い、ユーザ端末1からのデータアクセス要求を受けた一のプロキシサーバ2は、他の全て(4つ)のプロキシサーバ2に書込み要求を複製する。書込み要求を複製した先の分散ファイルシステム内部では、複数のファイルサーバにデータを書き込むことにより可用性が保たれている。
That is, as shown in FIG. 2, the
次に、プロキシサーバ2及びメタデータサーバ3における書込み動作のシーケンスについて、図3及び図1を参照しながら説明する。
ユーザ端末1がファイルサーバ4に書込みを行う場合、先ず、DNSサーバ5に対してアクセス先の問い合わせを行う(ステップ31)。
DNSサーバ5では、正常に動作しているプロキシサーバ2を選択し、アクセス先としてユーザ端末1に応答する(ステップ32)。
ユーザ端末1では、DNSサーバ5からの応答を受け、複製元として選択されたプロキシサーバ2に対して書込み命令を出す(ステップ33)。
書込み命令を受けた(複製元)プロキシサーバ2は、各プロキシサーバ2(この例では、複製元以外の残りの4つのプロキシサーバ)に対して書込み命令複製(IO命令の複製)を指示する(ステップ34)。
複製元プロキシサーバ2は、ファイルサーバ群の中のファイルサーバ4にデータを書き込む処理を行う(ステップ35)。
また、複製元プロキシサーバ2は、各複製先プロキシサーバ2から複製成功の応答を受信する(ステップ36)。
また、複製元プロキシサーバ2は、複製先から成功応答があった場合に、ユーザ端末1に対して成功応答を送信する(ステップ37)。
Next, a write operation sequence in the
When the
The
The
The
The replication
Further, the replication
Further, when there is a success response from the replication destination, the replication
複製元プロキシサーバ2におけるファイルシステムの内部における処理について説明する。
複製元プロキシサーバ2では、対応するメタデータサーバ3に対して書込み先のファイルサーバ4を問い合わせる(ステップ41)。
プロキシサーバ2には、メタデータサーバ3から書込み先となるファイルサーバ4に関する応答がなされ(ステップ42)、それぞれのファイルサーバ4に対する書込み処理が行われる(ステップ43)。そして、プロキシサーバ2は、ファイルサーバ4における書込み終了を受信する(ステップ44)。
この処理は、他のプロキシサーバ(複製先プロキシサーバ)においても並列に行われるため、書込みは複数のファイルサーバにおいても行われるので、データが複数のファイルサーバで併存して記録される。
Processing inside the file system in the replication
The replication
The
Since this processing is also performed in parallel in other proxy servers (replication destination proxy servers), writing is also performed in a plurality of file servers, so that data is recorded in parallel in the plurality of file servers.
複製元プロキシサーバからの応答成功(ステップ37)を返すタイミングは、複製元プロキシサーバにおける書込み終了の受信(ステップ44)の後でも良く、また、他のプロキシサーバ(複製先プロキシサーバ)からの成功応答(ステップ36)のいずれかの後でもよい。
そして、いずれかの成功応答があった場合に、ステップ37のファイルサーバ書込み終了の応答(書込み要求に対する成功応答)を複製元プロキシサーバからユーザ端末に対し行うようにすれば、ユーザへの応答を速く行うことができる。
The timing of returning a response success from the replication source proxy server (step 37) may be after the reception of the write end in the replication source proxy server (step 44), or success from another proxy server (replication destination proxy server). It may be after any of the responses (step 36).
If any success response is received, a response to the end of file server write in step 37 (success response to the write request) is sent from the replication source proxy server to the user terminal. Can be done fast.
次に、プロキシサーバに対する読み込み動作のシーケンスについて、図4を参照しながら説明する。
ユーザ端末がファイルサーバに読込みを行う場合、DNSサーバに対してアクセス先の問い合わせを行うと(ステップ51)、読込み先のプロキシサーバがユーザ端末に対して応答される(ステップ52)。ユーザ端末は指定されたプロキシサーバから読込を行う(ステップ53)。この時、プロキシサーバは、メタデータサーバを参照してデータが記録されたファイルサーバを特定して読込が行われ、ユーザ端末に成功応答の信号を送信する(ステップ54)。
Next, a reading operation sequence for the proxy server will be described with reference to FIG.
When the user terminal reads into the file server, when an access destination inquiry is made to the DNS server (step 51), the read-in proxy server responds to the user terminal (step 52). The user terminal reads from the designated proxy server (step 53). At this time, the proxy server refers to the metadata server, specifies the file server on which the data is recorded, reads the file server, and transmits a success response signal to the user terminal (step 54).
プロキシサーバからの読込み動作が1回で成功しない場合は、図5のシーケンスによって処理される。
ユーザ端末がファイルサーバに読込みを行う場合、DNSサーバに対してアクセス先の問い合わせを行うと(ステップ51)、読込み先のプロキシサーバがユーザ端末に対して応答される(ステップ52)。
ユーザ端末1は指定されたプロキシサーバ2から読込み(ステップ53)に失敗した場合、他(複製先)のプロキシサーバ2に対して読込み命令を転送することで複製する(ステップ55)。
複製先プロキシサーバ2は、メタデータサーバ3を参照してデータが記録されたファイルサーバ4を特定して読込が行われ、複製元プロキシサーバに2対して成功応答がなされ(ステップ56)、ユーザ端末1に成功応答の信号を送信する(ステップ54)。
When the reading operation from the proxy server is not successful at one time, it is processed by the sequence of FIG.
When the user terminal reads into the file server, when an access destination inquiry is made to the DNS server (step 51), the read-in proxy server responds to the user terminal (step 52).
When the
The replication
次に、プロキシサーバ2を構成する各モジュールの概要について、図6を参照しながら説明する。
前記プロキシサーバ2は、ユーザからのI/O要求を受信するアクセス制御部21と、前記メタデータサーバ2にアクセスし前記I/O要求の書込み要求に関するメタ情報を保存するためのクライアント機能を果たすファイルシステムアクセス部25と、他のプロキシサーバ2に対し前記メタ情報の複製及び書込み履歴管理を行う複製処理部22と、前記複製処理部22が保持する書込みエラー履歴からプロキシサーバ間での定期的なデータ補完処理を実行する保管データ更新部23と、書込みエラーの発生に対するデータの更新時期を予め設定した設定ファイルから読み込む環境設定取込部24を備えて構成されている。
Next, an outline of each module constituting the
The
アクセス制御部(WebDAV等)21は、外部アプリケーションと本ファイルシステムを利用可能とするための仲介を行うものである。
環境設定取込部24は、データの更新(同期)時期について、環境設定ファイルから読込むものである。一定周期毎にデータの更新を行うことで、書込みエラーが発生した場合についても、データの補完を行うことで最新データの保持が可能となる。
複製処理部22は、ファイルアクセス命令の他プロキシサーバ2への複製、応答受信解析、書込み履歴管理を行う。書込みエラーの履歴は、書込みエラーが生じた場合に後述するエラー履歴管理テーブルを作成することで管理されている。
データ更新部23は、複製処理部22が保持する書込みエラー履歴から、プロキシサーバ間での定期的なデータ補完処理を実行する。
ファイルシステムアクセス部25は、ファイルシステムにアクセスするためのクライアント機能を果たす。従来技術として説明したGfarmを例にすると、Gfarmクライアントプログラムがこれに相当する。
The access control unit (WebDAV or the like) 21 mediates an external application and the file system to be usable.
The environment setting fetch
The
The
The file
続いて、要求複製発行(書込み)処理を行う場合の手順について、図7を参照しながら説明する。
アクセス制御部21が外部アプリケーションから書込み要求を受けた場合、アクセス制御部21は複製制御部22に対してファイルアクセス要求を行う(ステップ101)。
複製制御部22では、要求パラメタを抽出し(ステップ102)、要求複製先のプロキシサーバ2を選出し(ステップ103)、複製先状態チェックを行う(ステップ104)。
複製先となるプロキシサーバ2が存在する場合(ステップ105)には、当該プロキシサーバ2に対して複製要求を送信する(ステップ106)。複製先となるプロキシサーバ2が存在する限り、ステップ103〜106を繰り返す。
複製先となるプロキシサーバ2がなくなった場合(ステップ105)には、複製制御部22が複製先からの応答を受信し(ステップ107)、応答内容の一時登録(エラー履歴の登録)を行う(ステップ108)。
指定件数受信済であるか(複製先の数と同数の応答があったか)を判断し(ステップ109)、まだの場合はステップ107〜109を繰り返し、受信済の場合は、アクセス制御部21への応答を行う(ステップ110)。
Next, the procedure for performing the requested copy issuing (writing) process will be described with reference to FIG.
When the
The
If there is a
When there is no
It is determined whether the designated number has been received (whether there have been the same number of responses as the number of copy destinations) (step 109). If not, steps 107 to 109 are repeated. A response is made (step 110).
次に、要求複製受信(読込み)処理を行う場合の手順について、図8を参照しながら説明する。
アクセス制御部21が外部アプリケーションから読込み要求を受けた場合、アクセス制御部21は複製制御部22に対してファイルアクセス要求を行う(ステップ201)。
複製制御部22では、自身のローカルファイルシステムからの読込み処理を行う(ステップ202)。ローカルファイルシステムからの読込み処理が成功した場合は(ステップ203)、そのまま処理が終了する。
ローカルファイルシステムからの読込み処理が失敗した場合は(ステップ203)、複製制御部22では、要求パラメタを抽出し(ステップ204)、要求複製先のプロキシサーバ2を選出する(ステップ205)。
複製先となるプロキシサーバ2が存在する場合(ステップ206)には、当該プロキシサーバ2に対して複製要求を送信し(ステップ207)、複製先からの応答を受信する(ステップ208)。アクセス制御部21への応答を行う(ステップ210)。複製先となるプロキシサーバがない場合(ステップ206)には、アクセス制御部21への応答(エラー応答)が行われる(ステップ210)。
複製先からの応答による受信が失敗した場合は(ステップ209)、複製先となるプロキシサーバ2がなくなるまで(ステップ206)、ステップ205〜209を繰り返す。
Next, the procedure for performing the request copy reception (reading) process will be described with reference to FIG.
When the
The
When the reading process from the local file system fails (step 203), the
If there is a
If reception by a response from the copy destination fails (step 209), steps 205 to 209 are repeated until there is no
次に、複製処理部22、環境設定取込部24及びデータ更新部23で行われるデータ同期処理の手順について、図9を参照しながら説明する。
環境設定取込部24の環境設定ファイルで指定された時間が経過(同期タイママイムアウト)した場合(ステップ301)、複製処理部22に一時的に登録されたエラー履歴を参照し(ステップ302)、履歴がある場合には(ステップ303)、成功複製先から失敗複製先へデータ転送指示を行う(ステップ304)。複製処理部22が転送結果を受信し(ステップ305)、転送が成功した場合は(ステップ306)、複製処理部22に一時的に登録されたエラー履歴を削除し(ステップ307)、失敗した場合は履歴を削除することなしに、ステップ302〜307の処理について、履歴無になる(ステップ303)まで繰り返す。
Next, a procedure of data synchronization processing performed by the
When the time specified in the environment setting file of the environment
次に、プロキシサーバ2またはメタデータサーバ3自体がダウンした場合の対処について、図10及び図11を参照しながら説明する。
プロキシサーバ2及びメタデータサーバ3に対しては、生存監視サーバ6により動作状況が監視されているので、プロキシサーバ2がダウンした場合、生存監視サーバ6がプロキシサーバ2のダウンを検知し、ダウンしたプロキシサーバ2にユーザ端末1からのアクセスが行かないように、生存監視サーバ6がDNSサーバ5の設定を更新する(図10)。
そして、ダウンしたプロキシサーバ2が復活した場合は、DNSサーバ5の設定を生存監視サーバ6が更新する。
Next, a countermeasure when the
The operation status of the
Then, when the
メタデータサーバ3がダウンした場合、生存監視サーバ6がメタデータサーバ3のダウンを検知し、ダウンしたメタデータサーバ3と対のプロキシサーバ2に、ユーザ端末1からのアクセスが行かないように、生存監視サーバ6がDNSサーバ5の設定を更新する(図11)。
メタデータサーバ3がダウンしてからDNSサーバ5の設定が更新されるまでの間に、ダウンしたメタデータサーバ3と対のクライアントサー2バにアクセスしたユーザに対しては、書込みの場合、要求複製先の成功をもって、ユーザには成功を返す。読込みの場合は、要求複製先からの読込みデータを返す。
When the
For the user who accesses the
プロキシサーバ2やメタデータサーバ3がダウンしたことの検出は、上述した生存監視サーバ6による監視以外に、複製要求の応答タイムアウトによっても検出し、上記同様のDNS更新によるプロキシサーバ2またはメタデータサーバ3の切り離し処理を行ってもよい。
尚、基本的には複数台のプロキシサーバ2やメタデータサーバ3が、同時にダウンすることは想定していない。
ダウンしたメタデータサーバ3が復活した場合、DNSサーバ5の設定を生存監視サーバ6が自動更新する。
The detection that the
Basically, it is not assumed that a plurality of
When the
次に、プロキシサーバ2への複製に際して書込みエラーが生じた場合のデータ補完処理について、図12を参照しながら説明する。
プロキシサーバAが複製元となる場合、プロキシサーバB,C,D,Eにおいて書込み要求(file1)の複製が行われる。この時、プロキシサーバEでの複製が書込みエラーにより失敗した場合、プロキシサーバAの複製処理部22では、エラー履歴管理テーブルが作成される。エラー履歴管理テーブルには、成功複製先プロキシサーバ、失敗複製先プロキシサーバ、失敗したファイル名、原因の情報が記録される。
そして、環境設定取込部24において入力された環境設定ファイルで定義される周期毎(データ更新時)に、データ更新部23におけるデータ更新が行われる。この場合、データ更新時において、プロキシサーバAは、プロキシサーバB,C,Dに書込み要求(file1)が正常に複製されたことを認識しているので、その中から例えばプロキシサーバCを選択して補完指示命令を出し、プロキシサーバCからプロキシサーバEに書込み要求(file1)の補完を行うことでデータが再構築される。
Next, data supplement processing when a write error occurs during replication to the
When the proxy server A is the replication source, the proxy server B, C, D, E replicates the write request (file1). At this time, if replication in the proxy server E fails due to a write error, the
Then, the
同様に、プロキシサーバBが複製元となる場合は、プロキシサーバA,C,D,Eにおいて書込み要求(file2)の複製が行われる。この時、プロキシサーバCでの複製がタイムアウトにより失敗した場合、プロキシサーバBの複製処理部22では、エラー履歴管理テーブルが作成される。エラー履歴管理テーブルには、成功複製先プロキシサーバ、失敗複製先プロキシサーバ、失敗したファイル名、原因の情報が記録される。
そして、環境設定取込部24において入力された環境設定ファイルで定義される周期毎(データ更新時)に、データ更新部23におけるデータ更新が行われる。この場合、データ更新時において、プロキシサーバBは、プロキシサーバA,D,Eに書込み要求(file2)が正常に複製されたことを認識しているので、その中から例えばプロキシサーバDを選択して補完指示命令を出し、プロキシサーバDからプロキシサーバCに書込み要求(file2)の補完を行うことでデータが再構築される。
Similarly, when the proxy server B is the replication source, the proxy server A, C, D, E replicates the write request (file2). At this time, if the replication at the proxy server C fails due to a timeout, the
Then, the
すなわち、プロキシサーバ2やメタデータサーバ3のダウンにともなうデータの欠落を補うため、ユーザの要求処理とは独立なタイミング(設定ファイルに定義する周期)に、各プロキシサーバが保持する過去の書込みエラー履歴をもとに、他のファイルシステムにデータを補うようになっている。エラー履歴のみに基づいた仕組みにより、各プロキシサーバ2が少量の処理能力を割くことでデータの一貫性を維持できる。
In other words, in order to compensate for data loss due to the
上述した分散ファイルシステムによれば、書込み終了後にいかなるタイミングでメタデータサーバ3に障害が発生した場合でも、他のプロキシサーバ2に対して書込み要求の複製が行われているので、プロキシサーバ2に対して対となるメタデータサーバ3が常時メタ情報の複製を保持しているため、ユーザが書込みを行ったデータの一部を取り出せなくなるというリスクを回避しつつサービスを継続することが可能となる。
According to the distributed file system described above, even when a failure occurs in the
また、データ更新部23により、複製処理部22が保持する書込みエラー履歴からプロキシサーバ間での定期的なデータ補完処理が実行されるので、プロキシサーバ2への書込み要求の複製失敗が生じた場合でも、正しいデータへの更新を行うことができる。
In addition, when the
また、プロキシサーバ2及びメタデータサーバ3の生存監視を行う生存監視サーバ6を設け、DNSサーバ5におけるプロキシサーバ選択時の設定情報を更新することで、常時適切なプロキシサーバ2の選択を可能としている。
In addition, by providing a
また、各プロキシサーバ2の中から一つのプロキシサーバ2からの書込み要求に対する成功応答があった場合に、メタ情報を保存してファイルサーバ書込み終了の応答をユーザに対し行うようにすることで、全てのプロキシサーバ2からの応答を待たずにデータの対障害性が確保されたことをユーザに対して応答することができる。
In addition, when there is a successful response to a write request from one
1…ユーザ端末、 2…プロキシサーバ、 3…メタデータサーバ、 4…ファイルサーバ、 5…DNSサーバ、 6…生存監視サーバ、 21…アクセス制御部、 22…複製制御部、 23…データ更新部、 24…環境設定取込部、 25…ファイルシステムアクセス部。
DESCRIPTION OF
Claims (5)
前記プロキシサーバ及びこれに対応するメタデータサーバを複数対設ける一方、
前記プロキシサーバは、
ユーザからのI/O要求を受信するアクセス制御部と、
前記メタデータサーバにアクセスし前記I/O要求の書込み要求に関するメタ情報を保存するためのクライアント機能を果たすファイルシステムアクセス部と、
他のプロキシサーバに対し前記メタ情報の複製及び書込み履歴管理を行う複製処理部と、
前記複製処理部が保持する書込みエラー履歴からプロキシサーバ間での定期的なデータ補完処理を実行するデータ更新部と、
前記データ補完処理を実行する更新時期を環境設定ファイルから読み込む環境設定取込部と、
を備えたことを特徴とする分散ファイルシステム。 A plurality of file servers having a storage unit; a proxy server that processes I / O requests from users; and a metadata server that manages meta information related to the I / O requests. In a distributed file system in which a file write request is made and a network is recorded in the storage unit of the file server, and the plurality of file servers are distributed and arranged in a wide range,
While providing a plurality of pairs of the proxy server and the corresponding metadata server,
The proxy server is
An access control unit that receives an I / O request from a user;
A file system access unit that performs a client function to access the metadata server and store meta information related to the write request of the I / O request;
A replication processing unit that performs replication and writing history management of the meta information to another proxy server;
A data update unit that performs periodic data complementing processing between proxy servers from the write error history held by the replication processing unit;
An environment setting capturing unit that reads from the environment setting file the update time for executing the data complementing process;
A distributed file system comprising:
前記プロキシサーバ及びこれに対応するメタデータサーバを複数対設ける一方、
一のユーザによる一つのプロキシサーバへのファイルサーバの書込み要求に対して、前記I/O要求を処理するプロキシサーバは、対応するメタデータサーバに前記ファイルサーバへのメタ情報を書き込むとともに、他のプロキシサーバに対して前記I/O要求の書込み要求の複製処理を行うことでユーザからのアクセスに同期して前記他のプロキシサーバに対応するメタデータサーバに対して並列にメタ情報を更新保存することでメタ情報の一貫性を保証する分散ファイルシステムにおける冗長化方法。 A plurality of file servers having a storage unit; a proxy server that processes I / O requests from users; and a metadata server that manages meta information related to the I / O requests. In a distributed file system in which a file write request is made and a network is recorded in the storage unit of the file server, and the plurality of file servers are distributed and arranged in a wide range,
While providing a plurality of pairs of the proxy server and the corresponding metadata server,
In response to a write request of the file server to one proxy server by one user, the proxy server that processes the I / O request writes the meta information to the file server to the corresponding metadata server, By copying the I / O request write request to the proxy server, the meta information is updated and stored in parallel with the metadata server corresponding to the other proxy server in synchronization with the access from the user. A redundancy method in a distributed file system that ensures consistency of meta information.
前記ユーザの書込み要求と並行して他のプロキシサーバに対して前記I/O要求の書込み要求の複製処理を行って各メタデータサーバで書込みを行い、
書込み要求を処理するプロキシサーバに対して、各プロキシサーバの中から一つのプロキシサーバからの書込み要求に対する成功応答があった場合に、
メタ情報を保存してファイルサーバ書込み終了の応答を前記ユーザに対し行う
請求項2に記載の分散ファイルシステムにおける冗長化方法。 When storing the meta information,
In parallel with the user's write request, perform a copy process of the write request of the I / O request to other proxy servers and write in each metadata server,
When there is a successful response to a write request from one proxy server among the proxy servers for the proxy server that processes the write request,
The redundancy method in the distributed file system according to claim 2, wherein the meta information is stored and a response to the file server writing end is sent to the user.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010146383A JP2012008934A (en) | 2010-06-28 | 2010-06-28 | Distributed file system and redundancy method in distributed file system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010146383A JP2012008934A (en) | 2010-06-28 | 2010-06-28 | Distributed file system and redundancy method in distributed file system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012008934A true JP2012008934A (en) | 2012-01-12 |
Family
ID=45539367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010146383A Pending JP2012008934A (en) | 2010-06-28 | 2010-06-28 | Distributed file system and redundancy method in distributed file system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012008934A (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014083598A1 (en) | 2012-11-30 | 2014-06-05 | Hitachi, Ltd. | Hierarchical storage system and file management method |
JP2016092530A (en) * | 2014-10-31 | 2016-05-23 | 富士通株式会社 | Administrative server route control method, and administrative server |
US10108361B2 (en) | 2015-05-11 | 2018-10-23 | Lenovo (Singapore) Pte. Ltd. | Information processing apparatus for storing data in cloud environment, terminal device, and storage method |
JP2020529673A (en) * | 2017-08-01 | 2020-10-08 | セールスフォース ドット コム インコーポレイティッド | High availability database with distributed store |
CN113704274A (en) * | 2020-05-20 | 2021-11-26 | ***通信集团福建有限公司 | Data reading method and electronic equipment |
JP7209784B1 (en) | 2021-08-23 | 2023-01-20 | 三菱電機株式会社 | Redundant system and redundant method |
-
2010
- 2010-06-28 JP JP2010146383A patent/JP2012008934A/en active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014083598A1 (en) | 2012-11-30 | 2014-06-05 | Hitachi, Ltd. | Hierarchical storage system and file management method |
JP2016092530A (en) * | 2014-10-31 | 2016-05-23 | 富士通株式会社 | Administrative server route control method, and administrative server |
US10108361B2 (en) | 2015-05-11 | 2018-10-23 | Lenovo (Singapore) Pte. Ltd. | Information processing apparatus for storing data in cloud environment, terminal device, and storage method |
JP2020529673A (en) * | 2017-08-01 | 2020-10-08 | セールスフォース ドット コム インコーポレイティッド | High availability database with distributed store |
JP7263314B2 (en) | 2017-08-01 | 2023-04-24 | セールスフォース インコーポレイテッド | Highly available database with distributed store |
CN113704274A (en) * | 2020-05-20 | 2021-11-26 | ***通信集团福建有限公司 | Data reading method and electronic equipment |
CN113704274B (en) * | 2020-05-20 | 2024-03-19 | ***通信集团福建有限公司 | Data reading method and electronic equipment |
JP7209784B1 (en) | 2021-08-23 | 2023-01-20 | 三菱電機株式会社 | Redundant system and redundant method |
JP2023030364A (en) * | 2021-08-23 | 2023-03-08 | 三菱電機株式会社 | Redundancy system and redundancy method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10970310B2 (en) | Synchronous replication based cutover engine | |
EP3420455B1 (en) | Enabling data integrity checking and faster application recovery in synchronous replicated datasets | |
US10523751B2 (en) | Synchronous replication for storage area network protocol storage | |
CN112470112B (en) | Distributed copy of a block storage system | |
US8918392B1 (en) | Data storage mapping and management | |
US7139809B2 (en) | System and method for providing virtual network attached storage using excess distributed storage capacity | |
US8370302B2 (en) | Method and apparatus for block based volume backup | |
US8930364B1 (en) | Intelligent data integration | |
WO2004025466A2 (en) | Distributed computing infrastructure | |
US20230409227A1 (en) | Resilient implementation of client file operations and replication | |
JP2012008934A (en) | Distributed file system and redundancy method in distributed file system | |
JP5292351B2 (en) | Message queue management system, lock server, message queue management method, and message queue management program | |
US20160112509A1 (en) | Multicast transport | |
US9639431B2 (en) | Fault policy implementation | |
US9720789B2 (en) | Multicast transport configuration | |
US11079960B2 (en) | Object storage system with priority meta object replication | |
EP3616069A1 (en) | Methods for improved data replication in cloud environments and devices thereof | |
US11093465B2 (en) | Object storage system with versioned meta objects | |
US11074002B2 (en) | Object storage system with meta object replication | |
WO2016046951A1 (en) | Computer system and file management method therefor | |
JP2011180658A (en) | Redundancy method in distributed file system | |
US11966294B2 (en) | Journal barrier consistency determination |