JP4148698B2 - 分散ファイルシステム及びそのデータ多重化方法 - Google Patents
分散ファイルシステム及びそのデータ多重化方法 Download PDFInfo
- Publication number
- JP4148698B2 JP4148698B2 JP2002129028A JP2002129028A JP4148698B2 JP 4148698 B2 JP4148698 B2 JP 4148698B2 JP 2002129028 A JP2002129028 A JP 2002129028A JP 2002129028 A JP2002129028 A JP 2002129028A JP 4148698 B2 JP4148698 B2 JP 4148698B2
- Authority
- JP
- Japan
- Prior art keywords
- area
- file
- master
- data
- replication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
本発明は、複数の計算機ノードで構成される計算機クラスタシステムに好適な分散ファイルシステム及びそのデータ多重化方法に関する。
【0002】
【従来の技術】
従来、複数台のコンピュータを連携して使用して、1台のコンピュータと同様の使用を可能にする計算機クラスタシステムが採用されることがある。計算機クラスタシステムは、比較的安価なコンピュータを用いた場合でも、高度な業務処理が可能であり、しかも、システムの拡張が極めて容易である。
【0003】
計算機クラスタシステムでは、複数の独立した計算機ノードを組み合わせてプログラムを動作させる。この場合において、各コンピュータで扱うファイルを格納する手段としては、大きく分類して、共有ディスクを使用する場合としない場合の2種類がある。
【0004】
共有ディスクを備えない計算機クラスタシステムでは、ファイルを計算機ノード間で分散して保持する。このようなシステムにおいて、プロセスがどの計算機ノードで動作していても、全てのファイルへのアクセスを同様に可能とするために、分散ファイルシステムが用いられる。
【0005】
分散ファイルシステムを使用すると、全ての計算機ノードの全プロセスが、クラスタシステム内の計算機ノードに分散して格納されているファイルを一意に指定することができる。分散ファイルシステムの代表例としては、AFS(Andrew File System)がある。分散ファイルシステムは、ファイルの実体であるマスターファイルをシステム内のいずれかの計算機ノード上の記憶装置に格納し、ファイルがどの計算機ノードに格納されているかという情報をシステム内のデータベースに登録する。ファイルを使用する場合には、システム内のデータベースからマスターファイルが実際に格納されている計算機ノードを検索し、この検索結果を利用することで、いずれの計算機ノードにおいてもマスターファイルの読み出しを可能にしている。
【0006】
なお、分散ファイルシステムでは、ファイルアクセスの高速化のために、プロセスが動作している計算機ノードに作業用のキャッシュファイルを作成し、ファイル中の参照したことがある領域をキャッシュして、以降の読み出しをキャッシュファイルから行うようにする手法が採用されることがある。キャッシュファイルを用いたこのような高速化処理においては、ファイルの内容の更新はキャッシュファイルに対して行い、一定のタイミングでキャッシュファイルに対する更新をマスターファイルに対してまとめて行うようになっている。
【0007】
ところで、計算機クラスタシステムには、大きく2つに分けて、科学技術計算等の高速化を目的とした計算・解析クラスタシステムと、システムの高信頼化を目的とした高信頼クラスタシステムとがある。
【0008】
高信頼計算機クラスタシステムは、計算機ノードを複数にすることにより、システムの冗長度を向上させるものである。即ち、システムを構成する計算機ノードの一部が故障等の理由によるシステムダウンで使用不能となった場合でも、計算機クラスタシステムを構成する他の計算機ノードがシステムダウンした計算機ノードの代替となることで、システム全体を停止させることなく動作の継続を可能にする。
【0009】
特に、計算機システムで記憶装置として用いられることが多いハードディスクは、機械的に稼動する部品等を用いていることから、計算機システムを構成する他の部品と比べて故障する可能性が高い。しかも、一般的な情報システムにおいては、システム内の情報データ、つまりファイルの内容は極めて重要で、これを失うことは避けなくてはならない。
【0010】
一般的には、システム内のファイルを保護するために、ディスクアレイを利用したRedundant Arrays of Inexpensicve Disks(RAID)という方式が多く採用されている。RAIDはディスクアレイの各ディスクに重複してデータを記録するものである。
【0011】
これに対し、分散ファイルシステムを用いた計算機クラスタシステムにおいては、ファイルの実体であるマスターファイルと同一の内容を持った複製ファイルを作成し、マスターファイルが格納されている計算機ノードとは別の計算機ノードに複製ファイルを格納する多重化が採用される。このような高信頼型の分散ファイルシステムでは、ファイルに対する更新は、マスターファイルに行うと同時に逐一複製ファイルに対しても行い、ファイルの多重度を維持する。この方法によれば、マスターファイル及び複製ファイルのいずれか一方が壊れた場合でも、ファイルの内容を他方から復元することができる。
【0012】
このように、高信頼計算機クラスタシステムは、分散ファイルシステムにおいてデータを多重記録することにより、データ保存の高い信頼性を確保している。なお、このような分散ファイルシステムの一例としては、特開2001−160039号公報等に記載されたものがある。
【0013】
【発明が解決しようとする課題】
ところで、計算機システムにおいて、ファイルアクセスは、頻繁に発生する動作であり、システム全体の性能のボトルネックになりやすい項目である。一般的に、計算機ノード間の通信帯域は単一の計算機内のデバイス間の通信帯域に比べて狭い。従って、計算機ノード間の通信を伴う処理は、計算機ノード内で閉じた処理に比べて極めて低速である。このため、ファイルアクセスのたびに発生する計算機ノード間のデータ通信量の多さはシステム全体の性能を低下させる要因となる。
【0014】
ところが、高信頼計算機クラスタシステムにおいては、高信頼化した分散ファイルシステムを用いて、ファイルの冗長度を維持するために、ファイルに対する更新をマスターファイルと複製ファイルの双方に対して行う必要があり、計算機ノード間のデータ通信量は、マスターファイルに対してのみ更新を行う高信頼化されていない分散ファイルシステムに比較して、2倍以上の量になってしまい、性能が著しく低下するという問題点があった。
【0015】
本発明は、ファイルの冗長度を損なうことなく性能を向上させた高信頼計算機クラスタシステムを可能にすることができる分散ファイルシステム及び分散ファイルシステムのデータ多重化方法を提供することを目的とする。
【0016】
【課題を解決するための手段】
本発明に係る分散ファイルシステムは、ネットワークに接続された複数の計算機ノードに夫々設けられる記憶手段と、第1の計算機ノードが有する前記記憶手段にキャッシュ領域を設定し、前記ネットワークを介して前記第1の計算機ノード以外の他の計算機ノードが有する記憶手段に設定されているマスター領域からマスターファイルを読出して、読出した前記マスターファイルをキャッシュするキャッシュ手段と、前記第1の計算機ノードに設定された前記キャッシュ領域中の更新されたデータ部分で前記他の計算機ノードに設定された前記マスター領域のマスターファイルを更新する転送手段と、前記ネットワークに接続された複数の計算機ノードの各記憶手段に前記マスター領域に記憶されているマスターファイルと同一内容の複製ファイルを格納する複製領域を設定するものであって、既存の複製領域が前記第1の計算機ノード以外に設定されている場合でも、前記第1の計算機ノードに設定された前記キャッシュ領域を前記複製領域に設定する多重化手段とを具備したことを特徴とするものである。
【0017】
本発明においては、ネットワークには複数の計算機ノードが接続されており、各計算機ノードには夫々記憶手段が設けられる。所定の2つ以上の計算機ノードの各記憶手段に、マスター領域又は複製領域が設定されてマスターファイル及び複製ファイルが格納される。キャッシュ手段は、自計算機ノードの記憶手段にキャッシュ領域を設定し、読み込んだマスターファイルをキャッシュする。転送手段は、キャッシュ領域中の更新されたデータ部分をマスター領域の対応する領域に転送する。多重化手段はキャッシュ領域を複製領域に設定する。これにより、キャッシュ領域とマスター領域とで多重化が行われる。この多重化に際して、転送手段は変更されたデータをマスター領域にのみ転送すればよく、既存の複製領域への転送は不要であるので転送データ量が削減され、データ転送による性能低下が抑制される。
【0018】
なお、装置に係る本発明は方法に係る発明としても成立する。
【0019】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態について詳細に説明する。図1は本発明の一実施の形態に係る分散ファイルシステムのデータ多重化方法を示す説明図である。図1(a1)〜図1(a4)は従来における高信頼化された分散ファイルシステムにおけるファイルの記憶方法を示し、図1(b1)〜(b4)は本実施の形態の高信頼化された分散ファイルシステムにおけるファイルの記憶方法を示している。
【0020】
本実施の形態は高信頼計算機クラスタシステムに採用される高信頼化された分散ファイルシステムに適用したものである。
【0021】
図1(a1)〜(a4)及び図1(b1)〜(b4)において、C,M,Rは夫々高信頼計算機クラスタシステムにおけるクライアント(コンピュータ)が備えるキャッシュ領域、高信頼計算機クラスタシステムにおける任意のコンピュータが備えるマスターファイルを記憶する記憶領域(以下、マスター領域ともいう)及び高信頼計算機クラスタシステムにおける任意のコンピュータが備える複製(リプリカ)ファイルを記憶する記憶領域(以下、複製領域ともいう)を示している。
【0022】
図1において、C,M,Rの各記憶領域を示す枠内の四角枠は、1つのファイルに対する記憶領域を示している。また、斜線部分は更新前のデータ領域を示し、梨地部分は使用されたキャッシュ領域のうち更新されていない部分又は複製領域のうち有効でない(使用しない)データ部分を示し、塗り潰し部分は、更新されたデータ領域を示している。
【0023】
先ず、図1(a1)〜(a4)を参照して、従来例における高信頼化された分散ファイルシステムのデータ伝送について説明する。
【0024】
高信頼計算機クラスタシステムにおける高信頼化された分散ファイルシステムでは、データをファイル単位で扱うようになっており、また、キャッシュ領域はファイル毎に設けられる。
【0025】
いま、図1(a1)に示すように、所定の2台のコンピュータの各記憶領域M,Rに、夫々マスターファイル及び複製ファイルが記憶されているものとする。ここで、所定のクライアントが通信回線を介してマスター領域Mからデータを読出すものとする。マスター領域Mから読出された1ファイル分のデータは、クライアントのキャッシュ領域(以下、キャッシュ領域Cという)に記憶される。クライアントにおいてマスターファイルを使用する場合には、図1(a2)に示すように、キャッシュ領域C中に記憶されているデータ、例えば斜線部分に示すデータが読出される。
【0026】
マスターファイルに対するアクセスを、クライアント内部のキャッシュ領域Cに対して行うことにより、高速処理が可能である。
【0027】
次に、キャッシュ領域Cに記憶されているマスターファイルに対して更新を行うものとする。図1(a3)の塗り潰し部分は、更新したファイルが記憶されている領域を示している。
【0028】
図1(a3)の状態は、更新されたマスターファイルがキャッシュ領域Cのみに記憶されている状態を示している。即ち、この状態ではデータは多重化されていない。そこで、更新されたデータに応じてマスターファイル及び複製ファイルを更新する。
【0029】
即ち、クライアントのキャッシュ領域Cの更新された部分(塗り潰し部分)のデータを、所定の通信回線を介して、所定の2台のコンピュータのマスター領域M及び複製領域Rに転送する。図1(a4)はこの状態を示している。マスター領域Mと複製領域Rには、斜線部分及び塗り潰し部分において同一のデータが記憶されている。こうして、マスターファイルと複製ファイルとで多重度が維持される。
【0030】
次に、本実施の形態におけるマスターファイル及び複製ファイルの伝送について説明する。
【0031】
いま、図1(a1)と同様に、所定の2台のコンピュータの各記憶領域M,Rに、夫々マスターファイル及び複製ファイルが記憶されているものとする。本実施の形態においては、ファイルを所定のデータ単位で扱うようになっている。なお、キャッシュ領域Cはファイル毎に設けられる。
【0032】
図1(b2)に示すように、マスター領域からのマスターファイルの読出し及びキャッシュ領域への格納、クライアントにおいて使用するためのマスターファイル中のデータの読出しは、従来と同様である。
【0033】
本実施の形態においても、マスターファイルに対するアクセスを、クライアント内部のキャッシュ領域Cに対して行うことにより、高速処理が可能である。
【0034】
次に、キャッシュ領域Cに記憶されているマスターファイルに対して更新を行うものとする。この処理も従来と同様であり、図1(b2)の塗り潰し部分は、キャッシュ領域C中の更新したファイルが記憶されている領域を示している。
【0035】
次に、データは多重化するために、更新されたデータを転送する。本実施の形態においては、更新されたデータの転送は、マスター領域Mに対してのみ行うようになっている。
【0036】
図1(b3)はこの状態を示している。キャッシュ領域Cに記憶されたマスターファイル中の更新された部分(塗り潰し部分)は、所定の通信回線を介して、所定のコンピュータ内のマスター領域Mに転送され、マスター領域M中のマスターファイルは、キャッシュ領域C中の更新されたデータによって更新される。
【0037】
本実施の形態においては、更新されたデータはマスター領域Mにのみ転送し、複製領域Rには転送しない。この場合でも、図1(b3)に示すように、キャッシュ領域Cにおいて更新されたデータ部分は、マスター領域Mの塗り潰し部分とキャッシュ領域Cの塗り潰し部分に示すように、マスター領域Mとキャッシュ領域Cとで多重化されている。
【0038】
一方、複製領域Rは更新されていないので、マスター領域M中の更新されていないデータ部分(斜線部)は、複製領域R中の対応する領域にも存在する。即ち、更新されていない部分についても、マスター領域Mと複製領域Rとで多重化されている。
【0039】
つまり、本実施の形態においては、更新されたデータ部分は、マスター領域Mとキャッシュ領域Cとで多重化され、更新されていないデータ部分は、マスター領域Mと複製領域Rとの間で多重化される。
【0040】
即ち、キャッシュ領域Cを複製領域としても用いることによって、マスター領域Mへの転送だけの少ない転送量で、データの多重化が可能である。各ファイルについて、複製領域としていずれの領域を用いるかを示すテーブルを設けることで、少ないデータ転送量で、データを多重化するのである。
【0041】
しかし、図1(b3)の状態では、複製領域が2つの領域に分割されて存在する。そうすると、領域の管理が煩雑になってしまうことが考えられる。そこで、2つに分かれて存在する2台のコンピュータ上の2つの複製領域の一方を他方に転送して、複製領域を1つにする。図1(b4)はこの状態を示している。
【0042】
この場合には、図1(b4)のキャッシュ領域Cを複製領域としてもよく、また、複製領域Rを複製領域としてもよい。データの転送量が少なくなるように複製領域を選択すればよい。図1(b3)の場合には、塗り潰し部分のデータ量と斜線部分のデータ量とでは、塗り潰し部分のデータ量の方が大きいので、斜線部分に相当するデータを転送する。即ち、マスター領域Mの斜線部分に相当するデータを、キャッシュ領域Cの対応する領域に転送して記憶させる。
【0043】
図2は図1の分散ファイルシステムのデータ多重化方法を実現する分散ファイルシステムを示すブロック図である。図2は本実施の形態の分散ファイルシステムを高信頼計算機クラスタシステムに適用したものである。
【0044】
図2は複数台の計算機ノードによって計算機クラスタシステムが構成されたネットワーク120を示している。図2では3台の計算機ノード101、108、114のみを示しているが、計算機ノードは3台よりも多くてもよい。各計算機ノードには、夫々通信装置、リソース管理部、制御ソフトウェア、記憶装置が含まれる。これらによって、クラスタシステム上の分散ファイルシステムが構成される。
【0045】
図2はクラスタシステム内のプロセス102が、計算機ノード101で動作しており、プロセス102によって、分散ファイルシステム上のファイルに対してファイルアクセスする例を示している。
【0046】
各計算機ノード101,103,114の通信装置103,109,115は、ネットワーク120を介して他の計算機ノードとの間で通信が可能である。制御ソフトフェア105,111,117は、記憶装置106,112,118にデータの書き込み行うと共に、記憶装置106,112,118から読み出したデータをリソース管理部104に出力する。リソース管理部104,110,116は、夫々、制御ソフトフェア105,111,117を駆動して、記憶装置105,112,118に対するアクセスを行う。プロセス102は、リソース管理部104と連携して、ネットワーク102上の各記憶装置106,112,118に対するアクセスを行う。
【0047】
なお、ネットワーク120及び、ネットワーク120を使って通信を行うことができる通信装置103、109、115はイーサネット(R)をはじめとする、何らかのネットワーク通信装置であり、計算機ノード間で通信を行うことができれば種類は問わない。
【0048】
記憶装置106,112,118は、複数のファイルを記憶する領域を有しており、各領域は1つのファイルを1つ以上の管理単位(データ単位)に分割した場合の各管理単位を記憶する複数の領域を有している。各ファイルは管理情報を有しており、管理情報は各管理単位がマスターファイルであるか複製ファイルであるかの情報を有する。
【0049】
なお、各計算機ノードにある記憶装置106、112、118と、その制御ソフトウェア105、111、117は、ファイルの識別子からハードディスク等の記憶装置のどの位置にファイルが格納しているかを調べ、データを読み書きすることができる一般的なファイルシステムであり、同様の機能を有すれば、どのような形態でもかまわない。
【0050】
本実施の形態においては、ファイルは所定の管理単位(データ単位)に分割して転送可能である。従って、図1(b4)に示す1つの複製ファイルへの統合を行わずに、図1(b3)の状態のままの場合には、そのファイルに対するファイルアクセス毎に、ファイルが分割されて格納される可能性がある。即ち、各ファイルは、1つ以上の領域に分割されて各管理単位毎に格納され、必ず、各格納単位はマスターと複製とを有する。
【0051】
リソース管理部104,110,116は、テーブルを用いて、マスターファイルとその複製ファイルの組について、格納する記憶装置及び記憶装置内の記憶領域の位置を管理するようになっている。
【0052】
図3はリソース管理部において管理するテーブル601を示す説明図である。テーブル601は、分散ファイルシステム上のファイルの識別子及びデータ領域がどの計算機ノードのどのファイルと対応するかを検索するためのものである。図3のテーブルは、ネットワーク120上の全ての計算機ノードのリソース管理部が有していてもよく、また、いずれか1つのリソース管理部が有していてもよく、更に、ネットワーク120上の読出し可能な任意の位置に格納するようにしてもよい。
【0053】
図3の例は、ファイル識別子がF001〜F003の3つのファイルの格納状態を示している。ファイルF001は、0−999のデータ領域を有しており、ファイルF002は0−299のデータ領域を有しており、ファイルF003は0−2999のデータ領域を有している。本実施の形態においては、ファイルF002は、データ領域0−99,100−199,200−299の3つのデータ単位に分割されている。
【0054】
そして、各ファイル(データ単位)は、マスターファイルと複製ファイルとを有している。例えば、F001は、その実体が計算機ノード108中の記憶装置106中のファイル113として格納され、その複製が計算機ノード114の記憶装置118中のファイル119として格納されている。また、例えば、ファイルF002のデータ領域100−199のデータ単位は、図示しない計算機ノード1001の記憶装置1010にマスターファイルが記憶され、図示しない計算機ノード2300の記憶装置2308に複製ファイルが記憶されている。
【0055】
なお、テーブル601においては、データ領域の情報を有する例を示しているが、このデータ領域の情報は省略可能である。また、表601と同様の機能を有すれば、リソース管理部が持つ検索のための表は、表601の構成でなくともよい。
【0056】
次に、高信頼計算機クラスタシステムの高信頼化された分散ファイルシステムにおけるファイルのアクセスについて図4及び図5のフローチャートを参照して説明する。
【0057】
先ず、図4を参照して、計算機ノード101で動作しているプロセス102が、分散ファイルシステム上のファイルF001を参照する(更新を伴わない)場合の例について説明する。
【0058】
先ず、プロセス102は、参照したいファイルの識別子F001と要求するデータをリソース管理部104に渡す(ステップ202)。リソース管理部104は、リソース管理部の管理している表601を用いて要求されたファイルがどの計算機ノードに格納されているかを調べる。図3の例では、リソース管理部104において、参照要求されたファイルF001は、計算機ノード108のファイル113及び計算機ノード114のファイル119であることを示す情報が得られる(ステップ203)。
【0059】
更新を伴わない参照の動作なので、マスターファイルであるファイル113を参照しても、また、複製ファイルであるファイル119を参照してもよい。リソース管理部104は、いずれのファイルからデータを取得するかを決定する。いずれのファイルにアクセスするかについては、データ転送速度や、計算機ノードの負荷等によってリソース管理部104において決定してもよい。
【0060】
リソース管理部104は、通信装置103、ネットワーク120を介して計算機ノード108、又は計算機ノード114にデータの取得の要求を出す(ステップ204,205)。作業用のキャッシュファイル107が既に作成されており、要求するデータがすでに作業用のキャッシュファイル107に存在するか否かを制御ソフトウェア105に確認する。参照要求したファイルF001のキャッシュファイルが存在する場合には、作業用のキャッシュファイル107からデータを読み込んで(ステップ208,209)、ステップ211に処理を移行する。
【0061】
作業用のキャッシュファイルに要求するデータが存在しない場合は、ステップ206,207において、要求を受けた計算機ノードのリソース管理部110またはリソース管理部116は格納しているファイル113、119からデータを取得し、計算機ノード101のリソース管理部104に渡す。
【0062】
作業用のキャッシュファイルが未作成の場合、リソース管理部104は以後のファイルアクセスを高速にするために、制御ソフトウェア105を介してローカルの記憶装置106内に作業用のキャッシュファイル107を作成する。次に作業用のキャッシュファイル107の管理情報を更新し、取得したデータを格納する(ステップ210)。更に、リソース管理部104はプロセス102に取得したデータを渡す(ステップ211)。
【0063】
次に、図5を参照して、計算機ノード101で動作しているプロセス102が、ファイルF001を更新する場合の動作を説明する。
【0064】
先ず、プロセス102は更新したいファイルの識別子F001と更新するデータ単位をリソース管理部104に渡す(ステップ302)。リソース管理部104は、リソース管理部が管理している表601を用いて要求されたファイルの全体がどの計算機ノードにあるかを調べる。この場合には、計算機ノード108のファイル113が得られる(ステップ303)。
【0065】
リソース管理部104は制御ソフトウェア105を介してローカルの記憶装置106内の作業用のキャッシュファイル107にファイルの管理情報と更新するデータを書き込む(ステップ304)。
【0066】
次に、本実施の形態においては、キャッシュ領域内の更新したデータ単位について、マスターファイルの対応するデータ単位の更新を行う。即ち、リソース管理部104は、通信装置103、ネットワーク120を通して計算機ノード108にファイル113の更新を要求する(ステップ305)。計算機ノード108のリソース管理部110は、要求に従ってファイル113の管理情報及びデータを制御ソフトウェア111を介して更新する(ステップ306)。
【0067】
これにより、図1(b3)と同様の状態が得られる。即ち、ファイルF001のデータのうち、プロセス102によって更新されていない領域に関しては、ファイル113、119によって多重化され、プロセス102によって更新された領域に関しては、ファイル107、113によって多重化される。つまり、ファイルF001全体でファイルの実体が多重化されることになる。
【0068】
ファイル全体で多重化されていれば、各ファイルが複数のデータ単位に分割されていても特には問題はない。従って、1つの複製ファイルに統合することなく、分割された状態でファイルアクセスを行うことも考えられる。図6はこの場合において、計算機ノード101で動作しているプロセス102のファイルF001への更新が終了したときの動作を示している。
【0069】
プロセス102は、作業用キャッシュファイル107の更新した領域を新たな複製ファイルとして用いることを、ファイル識別子F001と更新した領域をリソース管理部104に渡す(ステップ402)。リソース管理部104は、リソース管理部104を含め、計算機クラスタシステムを構成するすべての計算機ノードのリソース管理部に対して、作業用のキャッシュファイル107のプロセス102によって更新された領域をファイルF001の新たな複製ファイルとして使用することを要求する(ステップ403)。
【0070】
リソース管理部104から要求を受け取った各ノードのリソース管理部は、ファイルがどのノードに格納されているかという情報を示す表601の内容を、ファイル107のうち、プロセス102によって更新された領域を、ファイルF001の複製ファイルとし、ファイル119を同じ領域の複製ファイルとして扱わないように、書き換える(ステップ404)。
【0071】
図7は複数に分割された複製ファイルを1つの統合する場合の動作について、計算機ノード101で動作しているプロセス102のファイルF001への更新が終了した場合を例に示すフローチャートである。
【0072】
図7のステップ502において、プロセス102はファイルF001の更新が終了したことをファイルの識別子F001と共にリソース管理部104に渡す。リソース管理部104は、リソース管理部が管理している表601を用いて要求されたファイルの実体がどの計算機ノードにあるかを調べる。この場合には、計算機ノード108のファイル113が得られる(ステップ503)。
【0073】
リソース管理部104は、プロセス102によって更新された領域の大きさS1と、未参照等の理由でファイルの実体から作業用のキャッシュファイル107にデータが取得されていない領域の大きさS2を、制御ソフトウェア105を介して、ファイル106の管理情報から取得する(ステップ504)。S1とS2の値を比較し、S1の方が大きければ、リソース管理部104はプロセス102によって更新された領域の内容を通信装置103、ネットワーク120を通して計算機ノード114のリソース管理部116に渡す(ステップ505)。更新データを受け取ったリソース管理部116は、制御ソフトウェア117を通してファイル119のデータ及び管理情報を更新する(ステップ506)。
【0074】
ステップ503において、S2の方がS1よりも大きかった場合には、リソース管理部104は作業用のキャッシュファイル107にデータが取得されていない領域のデータを通信装置103、ネットワーク120を介して、計算機ノード107のリソース管理部110に要求する(ステップ507)。リソース管理部110は、要求に従ってファイル113からデータを読み出し、計算機ノード101のリソース管理部104に渡す(ステップ508)。計算機ノード107からデータを受け取ったリソース管理部104は制御ソフトウェア105を通して受け取ったデータでファイル107のデータ及び管理情報を更新する。次に、リソース管理部104は、計算機クラスタシステムを構成する全ての計算機ノードのリソース管理部に対して、ファイルF001の実体が、計算機ノード108のファイル113と計算機ノード101のファイル107であるとリソース管理部の管理する表を書き換えるように要求する。(ステップ509)各リソース管理部はリソース管理部104の要求どおりに表を書き換え、ファイルF001の実体を安定した状態にする(ステップ510)。
【0075】
このように、本実施の形態においては、複数の計算機ノードから構成される計算機クラスタシステム上の高信頼分散ファイルシステムにおいて、更新を分散ファイルシステム上のファイルの実体のひとつと、作業用のキャッシュファイルに対してのみ行うことで、分散ファイルシステム上のファイルの実体の多重度を保ちつつ、計算機ノード間の通信量を削減することができる。更に、ファイルの更新終了後にファイルの多重度を保つために必要なデータ転送量に応じて、従来どおり分散ファイルシステム上のファイルの複製ファイルを更新するか、作業用のキャッシュファイルを新たに分散ファイルシステム上のファイルの複製ファイルとするかを決定して、計算機ノード間でデータ転送を行う。これにより、分散ファイルシステム上のファイルの多重度を保ちつつ計算機ノード間の通信量を削減することが可能である。
【0076】
【発明の効果】
以上説明したように本発明によれば、ファイルの冗長度を損なうことなく性能を向上させた高信頼計算機クラスタシステムを可能にすることができる分散ファイルシステム及び分散ファイルシステムのデータ多重化方法を提供することを目的とする。
【図面の簡単な説明】
【図1】本発明の一実施の形態に係る分散ファイルシステムのデータ多重化方法を示す説明図。
【図2】図1の分散ファイルシステムのデータ多重化方法を実現する分散ファイルシステムを示すブロック図。
【図3】リソース管理部において管理するテーブル601を示す説明図。
【図4】計算機ノード101で動作しているプロセス102が、分散ファイルシステム上のファイルF001を参照する(更新を伴わない)場合の例を示すフローチャート。
【図5】計算機ノード101で動作しているプロセス102が、ファイルF001を更新する場合の動作を説明するためのフローチャート。
【図6】計算機ノード101で動作しているプロセス102のファイルF001への更新が終了したときの動作を説明するためのフローチャート。
【図7】複数に分割された複製ファイルを1つの統合する場合の動作について、計算機ノード101で動作しているプロセス102のファイルF001への更新が終了した場合を例に示すフローチャート。
【符号の説明】
101,108,114…計算機ノード、104,110,116…リソース管理部、106,112,118…記憶装置、120…ネットワーク。
Claims (10)
- ネットワークに接続された複数の計算機ノードに夫々設けられる記憶手段と、
第1の計算機ノードが有する前記記憶手段にキャッシュ領域を設定し、前記ネットワークを介して前記第1の計算機ノード以外の他の計算機ノードが有する記憶手段に設定されているマスター領域からマスターファイルを読出して、読出した前記マスターファイルをキャッシュするキャッシュ手段と、
前記第1の計算機ノードに設定された前記キャッシュ領域中の更新されたデータ部分で前記他の計算機ノードに設定された前記マスター領域のマスターファイルを更新する転送手段と、
前記ネットワークに接続された複数の計算機ノードの各記憶手段に前記マスター領域に記憶されているマスターファイルと同一内容の複製ファイルを格納する複製領域を設定するものであって、既存の複製領域が前記第1の計算機ノード以外に設定されている場合でも、前記第1の計算機ノードに設定された前記キャッシュ領域を前記複製領域に設定する多重化手段とを具備したことを特徴とする分散ファイルシステム。 - 前記転送手段は、転送するファイルを所定のデータ単位に分割して転送し、
前記多重化手段は、前記所定のデータ単位で複製領域を設定することを特徴とする請求項1に記載の分散ファイルシステム。 - 前記多重化手段は、複製領域をデータ単位で設定する場合には、前記転送手段によって転送されたデータ部分については前記マスター領域と前記キャッシュ領域とでデータの多重化を行い、前記転送手段によって転送されていないデータ部分については前記既存の複製領域とマスター領域とでデータの多重化を行うことを特徴とする請求項2に記載の分散ファイルシステム。
- 前記多重化手段は、キャッシュ手段が設定したキャッシュ領域を順次複製領域に設定することにより、マスター領域と複数の複製領域とでファイル全体のデータの多重化を行うことを特徴とする請求項2に記載の分散ファイルシステム。
- 前記多重化手段は、前記転送手段によって転送されたデータ部分については前記マスター領域と前記キャッシュ領域とでデータの多重化を行い、前記転送手段によって転送されていないデータ部分については前記既存の複製領域とマスター領域とでデータの多重化を行った後、前記転送手段によって転送されたデータ部分を前記既存の複製領域に転送するか又は前記転送手段によって転送されていないデータ部分を前記既存の複製領域から前記キャッシュ領域に転送することにより前記複製領域を統合することを特徴とする請求項3に記載の分散ファイルシステム。
- 前記多重化手段は、前記転送手段によって転送されているデータ部分と転送されていないデータ部分とのデータ量を比較して、データ転送量が少なくなるように前記複製領域の統合を行うことを特徴とする請求項5に記載の分散ファイルシステム。
- ネットワークに接続された複数の計算機ノードに夫々設けられた記憶手段にアクセスする処理と、
第1の計算機ノードが有する前記記憶手段にキャッシュ領域を設定し、前記ネットワークを介して前記第1の計算機ノード以外の他の計算機ノードが有する記憶手段に設定されているマスター領域からマスターファイルを読出して、読出した前記マスターファイルをキャッシュする処理と、
前記第1の計算機ノードに設定された前記キャッシュ領域中の更新されたデータ部分で前記マスター領域のマスターファイルを更新する処理と、
前記ネットワークに接続された複数の計算機ノードの各記憶手段に前記マスター領域に記憶されているマスターファイルと同一内容の複製ファイルを格納する複製領域を設定するものであって、既存の複製領域が前記第1の計算機ノード以外に設定されている場合でも、前記第1の計算機ノードに設定された前記キャッシュ領域を前記複製領域に設定する多重化処理とを具備したことを特徴とする分散ファイルシステムのデータ多重化方法。 - ネットワークに接続された複数の計算機ノードに夫々設けられた記憶手段のうちの所定の記憶手段に設定されたマスター領域からマスターファイルを読出し、前記マスター領域が設定された計算機ノード以外の第1の計算機ノードが有する前記記憶手段に設定したキャッシュ領域に読出した前記マスターファイルをキャッシュするステップと、
前記第1の計算機ノードに設定された前記キャッシュ領域中の更新されたデータ部分で前記第1の計算機ノード以外の他の計算機ノードに設定された前記マスター領域のマスターファイルを更新する転送ステップと、
前記ネットワークに接続された複数の計算機ノードの各記憶手段に前記マスター領域に記憶されているマスターファイルと同一内容の複製ファイルを格納する複製領域を設定するものであって、既存の複製領域が前記第1の計算機ノード以外に設定されている場合でも、前記第1の計算機ノードに設定された前記キャッシュ領域を前記複製領域に設定する多重化ステップとを具備したことを特徴とする分散ファイルシステムのデータ多重化方法。 - 前記多重化ステップは、1ファイルを分割した所定のデータ単位で複製領域を設定可能であり、前記転送ステップにおいて転送されたデータ部分については前記マスター領域と前記キャッシュ領域とでデータの多重化を行い、前記転送ステップにおいて転送されていないデータ部分については前記既存の複製領域とマスター領域とでデータの多重化を行うことを特徴とする請求項8に記載の分散ファイルシステムのデータ多重化方法。
- 前記多重化ステップは、前記転送ステップにおいて転送されたデータ部分については前記マスター領域と前記キャッシュ領域とでデータの多重化を行い、前記転送ステップにおいて転送されていないデータ部分については前記既存の複製領域とマスター領域とでデータの多重化を行った後、前記転送ステップにおいて転送されたデータ部分を前記既存の複製領域に転送するか又は前記転送ステップにおいて転送されていないデータ部分を前記既存の複製領域から前記キャッシュ領域に転送することにより前記複製領域を統合することを特徴とする請求項9に記載の分散ファイルシステムのデータ多重化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002129028A JP4148698B2 (ja) | 2002-04-30 | 2002-04-30 | 分散ファイルシステム及びそのデータ多重化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002129028A JP4148698B2 (ja) | 2002-04-30 | 2002-04-30 | 分散ファイルシステム及びそのデータ多重化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003323328A JP2003323328A (ja) | 2003-11-14 |
JP4148698B2 true JP4148698B2 (ja) | 2008-09-10 |
Family
ID=29542591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002129028A Expired - Fee Related JP4148698B2 (ja) | 2002-04-30 | 2002-04-30 | 分散ファイルシステム及びそのデータ多重化方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4148698B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4887618B2 (ja) | 2004-11-19 | 2012-02-29 | 日本電気株式会社 | ストレージシステムとそのレプリケーション方法並びにプログラム |
US7591019B1 (en) | 2009-04-01 | 2009-09-15 | Kaspersky Lab, Zao | Method and system for optimization of anti-virus scan |
-
2002
- 2002-04-30 JP JP2002129028A patent/JP4148698B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003323328A (ja) | 2003-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2017204760B2 (en) | Log record management | |
US20230092908A1 (en) | Database system with database engine and separate distributed storage service | |
JP6777673B2 (ja) | インプレーススナップショット | |
US11120152B2 (en) | Dynamic quorum membership changes | |
US11755415B2 (en) | Variable data replication for storage implementing data backup | |
US20170270152A1 (en) | System-wide checkpoint avoidance for distributed database systems | |
US20170024315A1 (en) | Efficient garbage collection for a log-structured data store | |
US10303564B1 (en) | Reduced transaction I/O for log-structured storage systems | |
JP2006505069A (ja) | ハードウェアベースのファイルシステムのための装置および方法 | |
JP4148698B2 (ja) | 分散ファイルシステム及びそのデータ多重化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070904 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071101 |
|
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: 20080617 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080624 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110704 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110704 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120704 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |