JP2010218335A - ファイル保存システム、ファイル保存方法、及びプログラム - Google Patents
ファイル保存システム、ファイル保存方法、及びプログラム Download PDFInfo
- Publication number
- JP2010218335A JP2010218335A JP2009065466A JP2009065466A JP2010218335A JP 2010218335 A JP2010218335 A JP 2010218335A JP 2009065466 A JP2009065466 A JP 2009065466A JP 2009065466 A JP2009065466 A JP 2009065466A JP 2010218335 A JP2010218335 A JP 2010218335A
- Authority
- JP
- Japan
- Prior art keywords
- file
- replication
- files
- server
- servers
- 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.)
- Withdrawn
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】特定の装置へ負荷を集中させることなく、効率よく短時間にファイルを複製または移動させる。
【解決手段】最終解を導くステップを複数に分解し、それぞれの解を同様の手順で求めることにより、簡単なプログラムで解を得ることができ、特定の装置へ負荷を集中させることなく、効率よく短時間にファイルを複製または移動させることができる。
【選択図】図1
【解決手段】最終解を導くステップを複数に分解し、それぞれの解を同様の手順で求めることにより、簡単なプログラムで解を得ることができ、特定の装置へ負荷を集中させることなく、効率よく短時間にファイルを複製または移動させることができる。
【選択図】図1
Description
本発明は、ネットワークで接続された複数のファイルサーバに分散してファイルを保存するシステムであって、特定の装置へ負荷を集中させることなく、効率よく短時間にファイルを複製または移動する技術に関する。
従来、ネットワークで接続された複数のファイルサーバに分散してファイルを保存するシステムにおいてファイルの保全性や冗長性を確保する手段として1つのファイルを複製して複数のファイルサーバに保存する方法が知られている。
特許文献1にはファイルサーバの故障により冗長度が低下した場合には故障したファイルサーバが保有していたファイルと同じファイルを保有するファイルサーバから保有しないファイルサーバへ複製することで冗長度を回復する技術が記載されている。
1台のファイルサーバが主体となってファイルの複製を行う場合はネットワーク上を流れるトラフィックを抑制することができ、ファイルを保有する複数のファイルサーバが主体となって同時並行的に複製を行う場合はて主体がシステム内に分散することとなり、負荷の集中を抑制することが可能となるとしている。
1台のファイルサーバが主体となってファイルの複製を行う場合はネットワーク上を流れるトラフィックを抑制することができ、ファイルを保有する複数のファイルサーバが主体となって同時並行的に複製を行う場合はて主体がシステム内に分散することとなり、負荷の集中を抑制することが可能となるとしている。
ファイルサーバの故障により低下した冗長度を回復する場合、通常、ファイルサーバ間で大量のファイル複製処理が発生すると同時にシステムの信頼性を維持するために短時間のファイル複製処理が必要となる。
しかし一般的にはシステム全体を管理するサーバが複製可能なファイルを順番に実行するといった単純な処理を行っており、複製実行サーバを経由するデータ転送や処理の一極集中により、効率的な複製処理が行われていないといった問題があった。
これに対し特許文献1は、保有しているファイルに応じて冗長度を回復させるファイルサーバを複数設定することで負荷の集中を抑制した複製処理技術を開示している。
ところが、複数のファイルサーバが個別に複製先を決定し、個別に複製処理を行うため、他のファイルサーバと処理がバッティングし効率的な複製処理ができないといった問題があった。
そこで、本発明は、特定の装置へ負荷を集中させることなく、効率よく短時間にファイルを複製または移動させることを目的とする。
上記課題を解決するため、請求項1に記載の発明は、複数のファイルサーバと、インデックスサーバと、クライアントサーバとがネットワークを介して接続され、前記インデックスサーバが、複数のファイルサーバにあるファイルを一元的に管理するファイル保存システムであって、前記インデックスサーバは、ファイルサーバ間でのファイルの複製開始に先立ち複数ファイルの複製先を決め、前記複数ファイルの複製元を決め、前記複数ファイルの複製順を決め、前記複製元、前記複製先、及び前記複製順を示すスケジュールリストを複製対象ファイルサーバへ送信し、複製の実行を指示することを特徴とする。
請求項2に記載の発明は、ネットワークで接続された複数のファイルサーバに分散してファイルを保存するシステムにおける、複数のファイルサーバにあるファイルを一元的に管理するインデックスサーバのファイル保存方法であって、ファイルサーバ間でのファイルの複製開始に先立ち複数ファイルの複製先を決めるステップと、前記複数ファイルの複製元を決めるステップと、前記複数ファイルの複製順を決めるステップと、前記複製元、前記複製先、及び前記複製順を示すスケジュールリストを複製対象ファイルサーバへ送信し、複製の実行を指示するステップと、を有することを特徴とする。
請求項3に記載の発明は、請求項2に記載の発明において、ファイルの場所や複製の順番を示すパターンデータを所定の操作で複数生成するステップと、前記パターンデータを相対的に評価するステップと評価の良いパターンデータを選出するステップと、前記各ステップを所定の回数繰り返すことで前記複製先、前記複製元、及び前記複製順を決めるステップと、を有することを特徴とする。
請求項4に記載の発明は、請求項3に記載の発明において、全複製ファイルの合計ファイルサイズをファイルサーバの数で割った平均複製データ量を計算するステップと、各ファイルサーバでの複製先ファイルの合計ファイルサイズと前記平均複製データ量との差分サイズを計算するステップと、各ファイルサーバの前記差分サイズの合計値を小さくすることで複製されるファイルの合計ファイルサイズが各ファイルサーバ間で均等になるように複製先を決めるステップと、を有することを特徴とする。
請求項5に記載の発明は、請求項3に記載の発明において、全複製ファイルの合計ファイルサイズをファイルサーバの数で割った平均複製データ量を計算するステップと、各ファイルサーバでの複製元ファイルの合計ファイルサイズと前記平均複製データ量との差分サイズを計算するステップと、各ファイルサーバの前記差分サイズの合計値を小さくすることで複製するファイルの合計ファイルサイズが各ファイルサーバ間で均等になるように複製元を決めるステップと、を有することを特徴とする。
請求項6に記載の発明は、請求項2に記載の発明において、順番に複製するファイルのサイズを複製元及び複製先に加算するステップと、前記加算の前に複製元と複製先とで既に加算したファイルサイズの合計が異なる場合はその差分のファイルサイズを小さい方へ加算するステップと、全複製ファイルについて計算を行った結果、各ファイルサーバで比較した最大値を小さくするように複製順を決めるステップと、を有することを特徴とする。
請求項7に記載の発明は、請求項2に記載の発明において、1つのファイルを複数のファイルサーバへ保存するステップと、ファイルサーバに障害が発生したことを検出するステップと、障害の発生したファイルサーバが保有していたファイルと同じファイルを複製することで冗長度を自動的に回復するステップと、を有することを特徴とする。
請求項8に記載の発明は、請求項2に記載の発明において、単位時間のファイル読み出し回数を記録するステップと、前記読み出し回数とファイルサイズでそのファイルの負荷を計算するステップと、保有するファイルの負荷からファイルサーバの負荷を計算するステップと、ファイル複製後に複製元のファイルを削除するステップと、ファイルサーバの負荷が均衡するようにファイルを移動させるステップと、を有することを特徴とする。
請求項9に記載の発明は、ネットワークで接続された複数のファイルサーバに分散してファイルを保存するシステムにおける、複数のファイルサーバにあるファイルを一元的に管理するプログラムであって、インデックスサーバに、ファイルサーバ間でのファイルの複製開始に先立ち複数ファイルの複製先を決める手順、前記複数ファイルの複製元を決める手順、前記複数ファイルの複製順を決める手順、前記複製元、前記複製先、及び前記複製順を示すスケジュールリストを複製対象ファイルサーバへ送信し、複製の実行を指示する手順、を実行させることを特徴とする。
本発明によれば、最終解を導くステップを複数に分解し、それぞれの解を同様の手順で求めることによって簡単なプログラムで解を得ることができ、得られた解に基づいて作成したスケジュールリストに従って複数のファイルサーバが同期的に動作するので、特定の装置へ負荷を集中させることなく、効率よく短時間にファイルを複製または移動させることができる。
<第1の実施形態>
図1に本発明に係るファイル保存方法を適用したファイル保存システムの全体構成の一例を示す。
ファイル保存システムの基本的な構成は、複数のファイルサーバ1〜6と、1台のインデックスサーバ7と、クライアントサーバ8とを有し、これら各サーバ1〜8は互いにネットワーク9で接続された構成である。
ネットワーク9は、代表的なイーサネット(登録商標)を主に想定するが、特定の通信システムに限定されるものではない。
図1に本発明に係るファイル保存方法を適用したファイル保存システムの全体構成の一例を示す。
ファイル保存システムの基本的な構成は、複数のファイルサーバ1〜6と、1台のインデックスサーバ7と、クライアントサーバ8とを有し、これら各サーバ1〜8は互いにネットワーク9で接続された構成である。
ネットワーク9は、代表的なイーサネット(登録商標)を主に想定するが、特定の通信システムに限定されるものではない。
クライアントサーバ8は、インデックスサーバ7やファイルサーバ1〜6と通信を行い、ファイル保存システムを形成するためのソフトウェアを搭載したアプリケーションサーバを主に想定するが、ネットワークストレージとしてアクセスするソフトウェアを搭載したユーザコンピュータであってもよい。図1中のクライアントサーバ8の数は1台であるが複数のクライアントサーバ8を接続することでファイルを共有することができる。
クライアントサーバ8がファイルを保存するときの動作を簡単に説明する。
(1)クライアントサーバ8は、保存したいファイルのディレクトリパスやファイル名やファイルサイズなどの情報をインデックスサーバ7へ通知する。
(2)インデックスサーバ7は、保存するファイルサーバ(例えば、ファイルサーバ1)を決定し、クライアントサーバ8へ通知する。
(3)クライアントサーバ8は、指定されたファイルサーバ1へファイル保存要求と共にファイルを送信する。
(4)ファイルサーバ1は、ファイルの保存が完了したらインデックスサーバ7へファイルの保存完了を通知する。
(1)クライアントサーバ8は、保存したいファイルのディレクトリパスやファイル名やファイルサイズなどの情報をインデックスサーバ7へ通知する。
(2)インデックスサーバ7は、保存するファイルサーバ(例えば、ファイルサーバ1)を決定し、クライアントサーバ8へ通知する。
(3)クライアントサーバ8は、指定されたファイルサーバ1へファイル保存要求と共にファイルを送信する。
(4)ファイルサーバ1は、ファイルの保存が完了したらインデックスサーバ7へファイルの保存完了を通知する。
続いてファイルの冗長化処理を行うには次の動作を行う。
(5)インデックスサーバ7―1はファイルの複製を保存するファイルサーバ1〜6を決定し複製実行要求と共にファイルサーバ1へ通知する。
(6)ファイルサーバ1は指定されたファイルサーバ3へファイル保存要求と共にファイルデータを送信する。
(7)ファイルサーバ3はファイルの保存が完了したらインデックスサーバ7へファイルの保存完了を通知する。
(5)インデックスサーバ7―1はファイルの複製を保存するファイルサーバ1〜6を決定し複製実行要求と共にファイルサーバ1へ通知する。
(6)ファイルサーバ1は指定されたファイルサーバ3へファイル保存要求と共にファイルデータを送信する。
(7)ファイルサーバ3はファイルの保存が完了したらインデックスサーバ7へファイルの保存完了を通知する。
以上のようにインデックスサーバ7は、複数のファイルサーバ1〜6に保存するファイルを一元的に管理し、どのファイルがどのファイルサーバにあるかを常に把握している。
図1に示したインデックスサーバ7の構成の一例を図2に示す。
インデックスサーバ7のハードウェアは、一般的なコンピュータ装置と同じであり、プログラムを実行するCPU10、実行時のプログラムやデータを保持するメモリ11、メモリ11に入り切らないデータを保持したり、非実行時のプログラムやデータを保存したりするHDD(Hard Disc Drive)13、ネットワーク通信を行うNIC(Network Interface Card)を備える。そしてメモリ11またはHDD13にファイル管理テーブル14及びファイルサーバテーブル15が作成される。
インデックスサーバ7のハードウェアは、一般的なコンピュータ装置と同じであり、プログラムを実行するCPU10、実行時のプログラムやデータを保持するメモリ11、メモリ11に入り切らないデータを保持したり、非実行時のプログラムやデータを保存したりするHDD(Hard Disc Drive)13、ネットワーク通信を行うNIC(Network Interface Card)を備える。そしてメモリ11またはHDD13にファイル管理テーブル14及びファイルサーバテーブル15が作成される。
ファイル管理テーブル14の例を表1に示す。
表1は、ファイルID(IDentification)、ファイル名、ファイルサイズ、及びファイルサーバIDを列記したものである。
ファイルIDは全てのファイルに対するユニークな番号としてインデックスサーバ7(図1)が付与したもので、システム内でファイルはこの番号で識別される。
ファイル名はディレクトリパスを含む形で表現されファイルIDと対応付けられる。ファイルサーバIDは、そのファイルを実際に保存しているファイルサーバがどれかを示すもので、システムで同じファイルを複数保存している場合は複数のIDが並ぶ。このファイルサーバIDとIP(Internet Protocol)アドレスの対応表が表2に示したファイルサーバテーブルである。
ファイルIDは全てのファイルに対するユニークな番号としてインデックスサーバ7(図1)が付与したもので、システム内でファイルはこの番号で識別される。
ファイル名はディレクトリパスを含む形で表現されファイルIDと対応付けられる。ファイルサーバIDは、そのファイルを実際に保存しているファイルサーバがどれかを示すもので、システムで同じファイルを複数保存している場合は複数のIDが並ぶ。このファイルサーバIDとIP(Internet Protocol)アドレスの対応表が表2に示したファイルサーバテーブルである。
ファイルサーバの状態はファイルサーバが正常に動作しているか否かを示す。ファイルサーバをIPアドレスではなくDNS(Domain Name System)に登録されたホスト名で管理する方法もある。
本発明に係るファイル保存システムにおけるシステム全体の動作の一例を図3に示し、図3に示したインデックスサーバのフローチャートの一例を図4に示す。例えばこれはファイルの冗長度を確保するために所定の数だけファイルを複製して保存するにあたり、夜間の通信トラフィックが低い時間帯など定期的にまとめて作業を行うのに好適である。
最初にインデックスサーバ7は、冗長度が不足しているファイルを選出し、複製を行うファイルの決定を行う(ステップS1)。冗長度が不足しているか否かの判断はファイル管理テーブル14を参照し同じファイルが何台のファイルサーバにあるかを判断することによって行われる。
インデックスサーバ7は、複製ファイルの決定を行った後、「所定の条件」に従い、複製先ファイルサーバの決定を全ての複製ファイルについて行う(ステップS2)。ここでの「所定の条件」とは、例えば、複製先ファイルサーバが複製ファイルを保有していないこと、各複製先ファイルサーバに送信する複製ファイルの合計サイズが複製先ファイルサーバ間でなるべく均等にすること、である。「複製先ファイルサーバが複製ファイルを保有していない」ことを条件とすることで、複製ファイルを1のファイルサーバに重複してしまうことを防ぐことができる。また、「各複製先ファイルサーバに送信する複製ファイルの合計サイズが複製先ファイル間でなるべく均等にする」ことを条件とすることで、複数のファイルについて複製ファイルを作成する際に、特定の複製先ファイルサーバに送信する複製ファイルの合計サイズが集中することを防ぐことができる。これらの例示した条件はシステム要件や運用ポリシーによって簡単に変えることができるので、柔軟なシステム構築が可能である。
最初にインデックスサーバ7は、冗長度が不足しているファイルを選出し、複製を行うファイルの決定を行う(ステップS1)。冗長度が不足しているか否かの判断はファイル管理テーブル14を参照し同じファイルが何台のファイルサーバにあるかを判断することによって行われる。
インデックスサーバ7は、複製ファイルの決定を行った後、「所定の条件」に従い、複製先ファイルサーバの決定を全ての複製ファイルについて行う(ステップS2)。ここでの「所定の条件」とは、例えば、複製先ファイルサーバが複製ファイルを保有していないこと、各複製先ファイルサーバに送信する複製ファイルの合計サイズが複製先ファイルサーバ間でなるべく均等にすること、である。「複製先ファイルサーバが複製ファイルを保有していない」ことを条件とすることで、複製ファイルを1のファイルサーバに重複してしまうことを防ぐことができる。また、「各複製先ファイルサーバに送信する複製ファイルの合計サイズが複製先ファイル間でなるべく均等にする」ことを条件とすることで、複数のファイルについて複製ファイルを作成する際に、特定の複製先ファイルサーバに送信する複製ファイルの合計サイズが集中することを防ぐことができる。これらの例示した条件はシステム要件や運用ポリシーによって簡単に変えることができるので、柔軟なシステム構築が可能である。
続いてインデックスサーバ7は、「所定の条件」に従い、複製先ファイルサーバの決定を全ての複製ファイルについて行う。ここでの「所定の条件」とは複製ファイルの合計サイズを複製元ファイルサーバ間でなるべく均等にすることである。
インデックスサーバ7は、複製先と複製元とを決定し(ステップS3,S4)、複製完了時間が最短になるように、複製ファイルの複製実行順序を決定し、最後に複製スケジュールリストを作成する(ステップS5)。
表3に、ステップS5で作成される複製スケジュールリストの例を示す。
これは各ファイルサーバがこの複製スケジュールリストを参照して複製を実行することで、互いにタイミング的な同期をとり、効率的な複製を行うためのものである。実行番号は複製を実行する優先順位を示す。例えば実行番号1と3は複製元が同じなのでFID00000010のファイルの複製が終了しないとFID00000012のファイルの複製が開始されない。
表3の複製元と複製先とにはファイルサーバIDが入る。このまま複製スケジュールリストを送るとファイルサーバ側にも表2に示すようなファイルサーバIDとIPアドレスの変換テーブルが必要になるので、ファイルサーバ側にそれを持たせたくない場合はファイルサーバID でなくIPアドレスにする。
表4は、表3の複製スケジュールリストを実行した時の各ファイルサーバのタイムチャートを示している。
複製1,2,3は複製スケジュールリストの実行番号1,2,3に該当し、右矢印は複製ファイルの読み出しで、左矢印は複製ファイルの書き込みを示す。例をあげるとファイルサーバSID00001は実行番号1の複製1が終了するまで待機していて、その後実行番号3の複製3を実行する。
インデックスサーバ7は、複製スケジュールリストを作成すると、これを複製先、複製元として対象となるファイルサーバへ送信し(ステップS6)、複製実行の開始指示を行う(ステップS7)。
複製スケジュールリストを送信する際はファイルサーバ毎にそのファイルサーバが複製に関係する実行番号のレコードを抜き出して送信しても良い。
複製スケジュールリストを送信する際はファイルサーバ毎にそのファイルサーバが複製に関係する実行番号のレコードを抜き出して送信しても良い。
<第2の実施形態>
複製先の決定、複製元の決定、複製順の決定などを示す複製スケジュールリストの作成は、ファイルサーバの数や複製ファイルの数が多いと、解となる組み合わせが非常に多くなるため、単純計算で解を求めることが難しくなる。そこで、有効な解を短時間に求めることができる方法について説明を行う。
図5、6及び表5を用いて、第2の実施形態について説明する。
図5は、第2の実施形態に係るファイル保存方法を示すフローチャートの一例である。
複製先の決定、複製元の決定、複製順の決定などを示す複製スケジュールリストの作成は、ファイルサーバの数や複製ファイルの数が多いと、解となる組み合わせが非常に多くなるため、単純計算で解を求めることが難しくなる。そこで、有効な解を短時間に求めることができる方法について説明を行う。
図5、6及び表5を用いて、第2の実施形態について説明する。
図5は、第2の実施形態に係るファイル保存方法を示すフローチャートの一例である。
インデックスサーバ7は、パターンデータを所定の数だけ生成する(ステップS11)。この数は必要な解の精度と計算時間とにより調整される値であるが1000個程度用意すると良い結果が得られる。図6(a)にパターンデータの例を示す。
図6(a)、6(b)に、パターンデータの例を示す。
図6(a)に示すパターンデータ1は、複製先や複製元を決めるときのパターンデータであり、複製ファイルを並べた順列にファイルサーバを並べた順列番号を与えたものである。図6(a)は複製ファイルとファイルサーバとの対応関係を示す。
また図6(b)に示すパターンデータ2は複製順を決めるときのパターンデータであり、複製実行順を示す順列に複製ファイルを並べた順列番号を与えたものである。これは複製実行順と複製ファイルとの対応関係を示す。
図6(a)に示すパターンデータ1は、複製先や複製元を決めるときのパターンデータであり、複製ファイルを並べた順列にファイルサーバを並べた順列番号を与えたものである。図6(a)は複製ファイルとファイルサーバとの対応関係を示す。
また図6(b)に示すパターンデータ2は複製順を決めるときのパターンデータであり、複製実行順を示す順列に複製ファイルを並べた順列番号を与えたものである。これは複製実行順と複製ファイルとの対応関係を示す。
続いてインデックスサーバ7は、パターンデータを生成したら全てのパターンデータに対し評価値を計算する(ステップS12)。この評価値は、複製先、複製元、及び複製順の決定条件にどれだけ近いかを示す指標である。
インデックスサーバ7は、評価値を計算したら評価値の良いパターンデータを所定の数だけ選出する(ステップS13)。
この数は必要な解の精度と計算時間とにより調整される値であり、表5に示すように評価値の良い順にパターンデータを並べたテーブルを作成して、上位100個程度を選出すると良い結果が得られる。
インデックスサーバ7は、評価値を計算したら評価値の良いパターンデータを所定の数だけ選出する(ステップS13)。
この数は必要な解の精度と計算時間とにより調整される値であり、表5に示すように評価値の良い順にパターンデータを並べたテーブルを作成して、上位100個程度を選出すると良い結果が得られる。
インデックスサーバ7は、パターンデータを選出したら評価値の良いパターンデータをベースに新たなパターンデータを所定の数だけ生成する(ステップS14)。
この数は選出されずに残ったパターンデータの数とする。新たなパターンデータは評価値の良いパターンデータをランダムに2個選び、その前半と後半のパターンをランダムな位置で結合することにより、新たなパターンデータを生成すると良い結果が得られる。そしてこれらのステップをパターンデータの評価値を計算するところまで戻り所定回数繰り返す(ステップS15)。この数は必要な解の精度と計算時間により調整される値で100回程度繰り返すと良い結果が得られる。
この数は選出されずに残ったパターンデータの数とする。新たなパターンデータは評価値の良いパターンデータをランダムに2個選び、その前半と後半のパターンをランダムな位置で結合することにより、新たなパターンデータを生成すると良い結果が得られる。そしてこれらのステップをパターンデータの評価値を計算するところまで戻り所定回数繰り返す(ステップS15)。この数は必要な解の精度と計算時間により調整される値で100回程度繰り返すと良い結果が得られる。
<第3の実施形態>
第3の実施形態に係るファイル保存方法について説明を行う。
ファイルの複製を効率よく短時間に行うためには複製ファイルのデータ量がファイルサーバ間で均等であることが望ましい。これは、ファイルの複製をファイルサーバ間に均等に分散させることで、複製に掛かる時間を分散させることができるからである。
図7は、第3の実施形態に係る、複製先、複製元を決めるための評価値計算を示すフローチャートであり、図5のフローチャートにおけるステップS12で実行可能な処理である。
第3の実施形態に係るファイル保存方法について説明を行う。
ファイルの複製を効率よく短時間に行うためには複製ファイルのデータ量がファイルサーバ間で均等であることが望ましい。これは、ファイルの複製をファイルサーバ間に均等に分散させることで、複製に掛かる時間を分散させることができるからである。
図7は、第3の実施形態に係る、複製先、複製元を決めるための評価値計算を示すフローチャートであり、図5のフローチャートにおけるステップS12で実行可能な処理である。
インデックスサーバ7は、まず全複製ファイルの合計ファイルサイズを計算し(ステップS21)、それをファイルサーバの台数で割る(除算する)ことでファイルサーバ1台あたりの複製データ量を計算する(ステップS22)。この値は一回計算し保存しておけば何回も計算する必要は無い。
次にインデックスサーバ7は、ファイルサーバ毎に複製ファイルの合計ファイルサイズを計算し(ステップS23)、平均複製データ量との差分サイズを計算する(ステップS24)。
インデックスサーバ7は、最後に、ファイルサーバ毎に算出した差分サイズの合計を計算する(ステップS25)。
インデックスサーバ7は、この差分サイズの合計をパターンデータの評価値として加算する(ステップS26)。
他の評価値とのバランスをとるために係数を掛ける場合もある。
インデックスサーバ7は、最後に、ファイルサーバ毎に算出した差分サイズの合計を計算する(ステップS25)。
インデックスサーバ7は、この差分サイズの合計をパターンデータの評価値として加算する(ステップS26)。
他の評価値とのバランスをとるために係数を掛ける場合もある。
<第4の実施形態>
第4の実施形態に係るファイル保存方法について説明を行う。
ファイルの複製を行う際に、ファイルサーバが協調して計画されたファイルの複製処理を順序良く行うと、ファイルの複製を効率よく短時間に行うことができる。そのために、ファイルの複製順を決めるための評価値計算を図8を用いて説明する。
図8は、第4の実施形態に係るファイル保存方法を示すフローチャートであり、図5のフローチャートにおけるステップS12で実行可能な処理である。
第4の実施形態に係るファイル保存方法について説明を行う。
ファイルの複製を行う際に、ファイルサーバが協調して計画されたファイルの複製処理を順序良く行うと、ファイルの複製を効率よく短時間に行うことができる。そのために、ファイルの複製順を決めるための評価値計算を図8を用いて説明する。
図8は、第4の実施形態に係るファイル保存方法を示すフローチャートであり、図5のフローチャートにおけるステップS12で実行可能な処理である。
インデックスサーバ7は、ファイルサーバ毎のスケジュールカウンタをリセットする(ステップS31)。
そしてインデックスサーバ7は、パターンデータから順に複製ファイルを取り出す(ステップS32)。
インデックスサーバ7は、取り出した複製ファイルの複製元ファイルサーバと複製先ファイルサーバのスケジュールカウンタを比較し(ステップS33)、複製元のスケジュールカウンタの方が大きければ(ステップS34/YES)、その差分を複製先スケジュールカウンタへ加算する(ステップS35)。
複製先のスケジュールカウンタの方が大きければ(ステップS34/NO)、その差分を複製元スケジュールカウンタへ加算する(ステップS36)。
複製元と複製先でスケジュールカウンタを同じにしたら、複製ファイルサイズを複製元と複製先のスケジュールカウンタに加算する(ステップS37)。
そしてこれらのステップをパターンデータから順に複製ファイルを取り出すところまで戻り、全複製ファイルを取り出し終えるまで繰り返す(ステップS38)。
最後に各ファイルサーバのスケジュールカウンタを比較し最大の値をパターンデータの評価値として加算する(ステップS39)。
他の評価値とのバランスをとるために係数を掛ける場合もある。以上を図5におけるパターンデータの評価値を計算するステップ(ステップS12)で実行する。
そしてインデックスサーバ7は、パターンデータから順に複製ファイルを取り出す(ステップS32)。
インデックスサーバ7は、取り出した複製ファイルの複製元ファイルサーバと複製先ファイルサーバのスケジュールカウンタを比較し(ステップS33)、複製元のスケジュールカウンタの方が大きければ(ステップS34/YES)、その差分を複製先スケジュールカウンタへ加算する(ステップS35)。
複製先のスケジュールカウンタの方が大きければ(ステップS34/NO)、その差分を複製元スケジュールカウンタへ加算する(ステップS36)。
複製元と複製先でスケジュールカウンタを同じにしたら、複製ファイルサイズを複製元と複製先のスケジュールカウンタに加算する(ステップS37)。
そしてこれらのステップをパターンデータから順に複製ファイルを取り出すところまで戻り、全複製ファイルを取り出し終えるまで繰り返す(ステップS38)。
最後に各ファイルサーバのスケジュールカウンタを比較し最大の値をパターンデータの評価値として加算する(ステップS39)。
他の評価値とのバランスをとるために係数を掛ける場合もある。以上を図5におけるパターンデータの評価値を計算するステップ(ステップS12)で実行する。
<第5の実施の形態>
次に、第5の実施形態に係るファイル保存方法について、図9、図10を用いて説明を行う。
第5の実施形態のインデックスサーバ7によれば、ファイルサーバに障害が発生した場合であっても、障害が発生したファイルサーバに記憶されている複製ファイルの冗長度の回復を自動的に行うことができる。
図9は、第5の実施形態に係るファイル保存方法を適用したシステムを示す概念図の一例であり、図10は、図9に示したインデックスサーバ7のフローチャートの一例である。
次に、第5の実施形態に係るファイル保存方法について、図9、図10を用いて説明を行う。
第5の実施形態のインデックスサーバ7によれば、ファイルサーバに障害が発生した場合であっても、障害が発生したファイルサーバに記憶されている複製ファイルの冗長度の回復を自動的に行うことができる。
図9は、第5の実施形態に係るファイル保存方法を適用したシステムを示す概念図の一例であり、図10は、図9に示したインデックスサーバ7のフローチャートの一例である。
まずインデックスサーバ7は、基本的なファイルの書き込み、読み出し処理を行う(ステップS41)。
またファイルの冗長化処理を適宜行うことで、同じファイルを複数個、異なるファイルサーバに保存する(ステップS42)。
さらにファイルサーバが正常に動作しているか否かを定期的にチェックする(ステップS43)。ファイルサーバのチェックはPING(Packet InterNet Groper)による反応を確認するだけでも良いが、システム専用のメッセージで確認した方が確実である。
インデックスサーバは、ファイルサーバの障害を検出すると(ステップS44/YES)、ステップS45の処理に進み、検出しないと(ステップS44/NO)、ステップS41の処理に戻る。
ファイルサーバの障害を検出した場合(ステップS44/YES)には、障害の発生したファイルサーバが保有していたファイルを特定する。これは、障害の発生したファイルサーバIDをキーにして、表1を検索することで特定することができる。そして、それと同じファイルを複製するにあたり、複製先、複製元、複製順を決め複製スケジュールリストを作成する(ステップS45)。複製スケジュールリストの作成は、実施形態1〜4のいずれを用いても可能である。
作成した複製スケジュールリストを複製先、複製元として対象となるファイルサーバへ送信し(ステップS46)、複製実行の開始指示を行う(ステップS47)。
またファイルの冗長化処理を適宜行うことで、同じファイルを複数個、異なるファイルサーバに保存する(ステップS42)。
さらにファイルサーバが正常に動作しているか否かを定期的にチェックする(ステップS43)。ファイルサーバのチェックはPING(Packet InterNet Groper)による反応を確認するだけでも良いが、システム専用のメッセージで確認した方が確実である。
インデックスサーバは、ファイルサーバの障害を検出すると(ステップS44/YES)、ステップS45の処理に進み、検出しないと(ステップS44/NO)、ステップS41の処理に戻る。
ファイルサーバの障害を検出した場合(ステップS44/YES)には、障害の発生したファイルサーバが保有していたファイルを特定する。これは、障害の発生したファイルサーバIDをキーにして、表1を検索することで特定することができる。そして、それと同じファイルを複製するにあたり、複製先、複製元、複製順を決め複製スケジュールリストを作成する(ステップS45)。複製スケジュールリストの作成は、実施形態1〜4のいずれを用いても可能である。
作成した複製スケジュールリストを複製先、複製元として対象となるファイルサーバへ送信し(ステップS46)、複製実行の開始指示を行う(ステップS47)。
<第6の実施形態>
次に、第6の実施形態に係るファイル保存方法について、図11を用いて説明を行う。
ファイルコンテンツの人気の偏りによって、ファイルサーバ間の負荷に大きな差が発生するという問題があり、この問題を解消するため、ファイルサーバ間でファイルの移動や交換が一般的に行われる。この際のファイルの移動は、複製を実行した後に複製元のファイルを削除することで可能になる。6の実施形態のインデックスサーバ7によれば、効率的な複製処理を応用することで効率的なファイル移動を実現することができる。
図11は、第6の実施形態に係るファイル保存方法を説明するフローチャートの一例である。
インデックスサーバ7は、基本的なファイルの書き込み、読み出し処理を行う(ステップS51)。
また、ファイルの読み出し回数をファイルサーバ別に記録する(ステップS52)。
ファイルの読み出し回数とファイルサイズとから各ファイルサーバの負荷を定期的に計算する(ステップS53)。ファイルサーバの負荷は次のようにして求めることができる。ファイルを読み出す際にクライアントサーバはインデックスサーバ7に目的のファイルがどのファイルサーバに有るかを問い合わせるので、インデックスサーバ7がその問い合わせ回数や問い合わせがなされたファイルサイズをファイルサーバ毎に集計して負荷を計算することができる。
各ファイルサーバ間の負荷の差が所定値を超えると(ステップS54/YES)、ステップS55の処理に進み、所定値を超えないと(ステップS54/NO)、ステップS51の処理に戻る。
大きな負荷を与えるファイルをファイルサーバの負荷が均衡するように再配置計算し複製スケジュールリストを作成する(ステップS55)。大きな負荷を与えるファイルは、インデックスサーバ7が読み出し要求のあったファイルの回数とファイルサイズをファイル毎に乗じたファイル負荷値を計算し、計算された負荷値が所定の値より大きなファイルを「大きな負荷を与えるファイル」とすることができる。また、再配置計算は、各ファイルサーバにおけるファイル負荷値の平均値(各ファイルサーバに記憶されるファイルのファイル負荷値の合計をファイル数で除算した値)が平均化するように行う。
これを複製先、複製元として対象となるファイルサーバへ送信し(ステップS56)、ファイルの移動実行の開始指示を行う(ステップS57)。
次に、第6の実施形態に係るファイル保存方法について、図11を用いて説明を行う。
ファイルコンテンツの人気の偏りによって、ファイルサーバ間の負荷に大きな差が発生するという問題があり、この問題を解消するため、ファイルサーバ間でファイルの移動や交換が一般的に行われる。この際のファイルの移動は、複製を実行した後に複製元のファイルを削除することで可能になる。6の実施形態のインデックスサーバ7によれば、効率的な複製処理を応用することで効率的なファイル移動を実現することができる。
図11は、第6の実施形態に係るファイル保存方法を説明するフローチャートの一例である。
インデックスサーバ7は、基本的なファイルの書き込み、読み出し処理を行う(ステップS51)。
また、ファイルの読み出し回数をファイルサーバ別に記録する(ステップS52)。
ファイルの読み出し回数とファイルサイズとから各ファイルサーバの負荷を定期的に計算する(ステップS53)。ファイルサーバの負荷は次のようにして求めることができる。ファイルを読み出す際にクライアントサーバはインデックスサーバ7に目的のファイルがどのファイルサーバに有るかを問い合わせるので、インデックスサーバ7がその問い合わせ回数や問い合わせがなされたファイルサイズをファイルサーバ毎に集計して負荷を計算することができる。
各ファイルサーバ間の負荷の差が所定値を超えると(ステップS54/YES)、ステップS55の処理に進み、所定値を超えないと(ステップS54/NO)、ステップS51の処理に戻る。
大きな負荷を与えるファイルをファイルサーバの負荷が均衡するように再配置計算し複製スケジュールリストを作成する(ステップS55)。大きな負荷を与えるファイルは、インデックスサーバ7が読み出し要求のあったファイルの回数とファイルサイズをファイル毎に乗じたファイル負荷値を計算し、計算された負荷値が所定の値より大きなファイルを「大きな負荷を与えるファイル」とすることができる。また、再配置計算は、各ファイルサーバにおけるファイル負荷値の平均値(各ファイルサーバに記憶されるファイルのファイル負荷値の合計をファイル数で除算した値)が平均化するように行う。
これを複製先、複製元として対象となるファイルサーバへ送信し(ステップS56)、ファイルの移動実行の開始指示を行う(ステップS57)。
<プログラム及び記憶媒体>
以上で説明した本発明にかかるファイル保存システムは、コンピュータでファイル保存処理を実行させるプログラムによって実現されている。コンピュータとしては、例えばパーソナルコンピュータやワークステーションなどの汎用的なものが挙げられるが、本発明はこれに限定されるものではない。よって、一例として、プログラムにより本発明を実現する場合の説明を以下で行う。
以上で説明した本発明にかかるファイル保存システムは、コンピュータでファイル保存処理を実行させるプログラムによって実現されている。コンピュータとしては、例えばパーソナルコンピュータやワークステーションなどの汎用的なものが挙げられるが、本発明はこれに限定されるものではない。よって、一例として、プログラムにより本発明を実現する場合の説明を以下で行う。
ネットワークで接続された複数のファイルサーバに分散してファイルを保存するシステムにおける、複数のファイルサーバにあるファイルを一元的に管理するプログラムであって、
(1)インデックスサーバに、
(2)ファイルサーバ間でのファイルの複製開始に先立ち複数ファイルの複製先を決める手順、
(3)複数ファイルの複製元を決める手順、
(4)複数ファイルの複製順を決める手順、
(5)複製元、複製先、及び複製順を示すスケジュールリストを複製対象ファイルサーバへ送信し、複製の実行を指示する手順、
を実行させるプログラムが挙げられる。
(1)インデックスサーバに、
(2)ファイルサーバ間でのファイルの複製開始に先立ち複数ファイルの複製先を決める手順、
(3)複数ファイルの複製元を決める手順、
(4)複数ファイルの複製順を決める手順、
(5)複製元、複製先、及び複製順を示すスケジュールリストを複製対象ファイルサーバへ送信し、複製の実行を指示する手順、
を実行させるプログラムが挙げられる。
これにより、プログラムが実行可能なコンピュータ環境さえあれば、どこにおいても本発明にかかるファイル保存システムを実現することができる。
このようなプログラムは、コンピュータに読み取り可能な記憶媒体に記憶されていてもよい。
ここで、記憶媒体としては、例えば、CD−ROM(Compact Disc Riead Only Memory)、フレキシブルディスク(FD)、CD−R(CD−Recordable)などのコンピュータで読み取り可能な記憶媒体、フラッシュメモリ、RAM(Random Access Memory)、ROM(Rrad Only Memory)、FeRAM(強誘電体メモリ)等の半導体メモリやHDDが挙げられる。
このようなプログラムは、コンピュータに読み取り可能な記憶媒体に記憶されていてもよい。
ここで、記憶媒体としては、例えば、CD−ROM(Compact Disc Riead Only Memory)、フレキシブルディスク(FD)、CD−R(CD−Recordable)などのコンピュータで読み取り可能な記憶媒体、フラッシュメモリ、RAM(Random Access Memory)、ROM(Rrad Only Memory)、FeRAM(強誘電体メモリ)等の半導体メモリやHDDが挙げられる。
なお、上述した実施の形態は、本発明の好適な実施の形態の一例を示すものであり、本発明はそれに限定されることなく、その要旨を逸脱しない範囲内において、種々変形実施が可能である。
1〜6 ファイルサーバ
7―1〜7−3 インデックスサーバ
8 クライアントサーバ
9 ネットワーク
7―1〜7−3 インデックスサーバ
8 クライアントサーバ
9 ネットワーク
Claims (9)
- 複数のファイルサーバと、インデックスサーバと、クライアントサーバとがネットワークを介して接続され、前記インデックスサーバが、複数のファイルサーバにあるファイルを一元的に管理するファイル保存システムであって、
前記インデックスサーバは、ファイルサーバ間でのファイルの複製開始に先立ち複数ファイルの複製先を決め、前記複数ファイルの複製元を決め、前記複数ファイルの複製順を決め、前記複製元、前記複製先、及び前記複製順を示すスケジュールリストを複製対象ファイルサーバへ送信し、複製の実行を指示することを特徴とするファイル保存システム。 - ネットワークで接続された複数のファイルサーバに分散してファイルを保存するシステムにおける、複数のファイルサーバにあるファイルを一元的に管理するインデックスサーバのファイル保存方法であって、
ファイルサーバ間でのファイルの複製開始に先立ち複数ファイルの複製先を決めるステップと、
前記複数ファイルの複製元を決めるステップと、
前記複数ファイルの複製順を決めるステップと、
前記複製元、前記複製先、及び前記複製順を示すスケジュールリストを複製対象ファイルサーバへ送信し、複製の実行を指示するステップと、を有することを特徴とするファイル保存方法。 - ファイルの場所や複製の順番を示すパターンデータを所定の操作で複数生成するステップと、
前記パターンデータを相対的に評価するステップと評価の良いパターンデータを選出するステップと、
前記各ステップを所定の回数繰り返すことで前記複製先、前記複製元、及び前記複製順を決めるステップと、を有することを特徴とする請求項2に記載のファイル保存方法。 - 全複製ファイルの合計ファイルサイズをファイルサーバの数で割った平均複製データ量を計算するステップと、
各ファイルサーバでの複製先ファイルの合計ファイルサイズと前記平均複製データ量との差分サイズを計算するステップと、
各ファイルサーバの前記差分サイズの合計値を小さくすることで複製されるファイルの合計ファイルサイズが各ファイルサーバ間で均等になるように複製先を決めるステップと、を有することを特徴とする請求項3に記載のファイル保存方法。 - 全複製ファイルの合計ファイルサイズをファイルサーバの数で割った平均複製データ量を計算するステップと、
各ファイルサーバでの複製元ファイルの合計ファイルサイズと前記平均複製データ量との差分サイズを計算するステップと、
各ファイルサーバの前記差分サイズの合計値を小さくすることで複製するファイルの合計ファイルサイズが各ファイルサーバ間で均等になるように複製元を決めるステップと、を有することを特徴とする請求項3に記載のファイル保存方法。 - 順番に複製するファイルのサイズを複製元及び複製先に加算するステップと、
前記加算の前に複製元と複製先とで既に加算したファイルサイズの合計が異なる場合はその差分のファイルサイズを小さい方へ加算するステップと、
全複製ファイルについて計算を行った結果、各ファイルサーバで比較した最大値を小さくするように複製順を決めるステップと、を有することを特徴とする請求項2に記載のファイル保存方法。 - 1つのファイルを複数のファイルサーバへ保存するステップと、
ファイルサーバに障害が発生したことを検出するステップと、
障害の発生したファイルサーバが保有していたファイルと同じファイルを複製することで冗長度を自動的に回復するステップと、を有することを特徴とする請求項2に記載のファイル保存方法。 - 単位時間のファイル読み出し回数を記録するステップと、
前記読み出し回数とファイルサイズでそのファイルの負荷を計算するステップと、
保有するファイルの負荷からファイルサーバの負荷を計算するステップと、
ファイル複製後に複製元のファイルを削除するステップと、
ファイルサーバの負荷が均衡するようにファイルを移動させるステップと、を有することを特徴とする請求項2に記載のファイル保存方法。 - ネットワークで接続された複数のファイルサーバに分散してファイルを保存するシステムにおける、複数のファイルサーバにあるファイルを一元的に管理するプログラムであって、
インデックスサーバに、
ファイルサーバ間でのファイルの複製開始に先立ち複数ファイルの複製先を決める手順、
前記複数ファイルの複製元を決める手順、
前記複数ファイルの複製順を決める手順、
前記複製元、前記複製先、及び前記複製順を示すスケジュールリストを複製対象ファイルサーバへ送信し、複製の実行を指示する手順、を実行させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009065466A JP2010218335A (ja) | 2009-03-18 | 2009-03-18 | ファイル保存システム、ファイル保存方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009065466A JP2010218335A (ja) | 2009-03-18 | 2009-03-18 | ファイル保存システム、ファイル保存方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010218335A true JP2010218335A (ja) | 2010-09-30 |
Family
ID=42977098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009065466A Withdrawn JP2010218335A (ja) | 2009-03-18 | 2009-03-18 | ファイル保存システム、ファイル保存方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010218335A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013021706A1 (ja) * | 2011-08-10 | 2013-02-14 | 日本電気株式会社 | ソフトウェア環境複製方法及びソフトウェア環境複製システム |
JP2015172833A (ja) * | 2014-03-11 | 2015-10-01 | 株式会社日立製作所 | データ処理システム |
-
2009
- 2009-03-18 JP JP2009065466A patent/JP2010218335A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013021706A1 (ja) * | 2011-08-10 | 2013-02-14 | 日本電気株式会社 | ソフトウェア環境複製方法及びソフトウェア環境複製システム |
JPWO2013021706A1 (ja) * | 2011-08-10 | 2015-03-05 | 日本電気株式会社 | ソフトウェア環境複製方法及びソフトウェア環境複製システム |
JP2015172833A (ja) * | 2014-03-11 | 2015-10-01 | 株式会社日立製作所 | データ処理システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10437672B2 (en) | Erasure coding and replication in storage clusters | |
US10725884B2 (en) | Object storage system for an unreliable storage medium | |
US8725697B2 (en) | Cloud data backup storage | |
CN111182067B (zh) | 一种基于星际文件系统ipfs的数据写入方法及设备 | |
JP5309263B2 (ja) | 計算機システム及びその管理方法 | |
JP5283952B2 (ja) | シングルインスタンス・ストレージプールの複製と再格納 | |
JP4538454B2 (ja) | コンピュータ・ネットワークにおける電子文書のレプリカの検索 | |
JP5516575B2 (ja) | データ挿入システム | |
US9031906B2 (en) | Method of managing data in asymmetric cluster file system | |
JP2013544386A5 (ja) | ||
JP2007073004A (ja) | データ保全情報装置、分散ストレージシステム及びその方法 | |
WO2014205847A1 (zh) | 一种分区平衡子任务下发方法、装置与系统 | |
JP2009020757A (ja) | データ登録装置、データ登録方法及びプログラム | |
JP2008217306A (ja) | レプリケーション方法、レプリケーションシステム、ストレージ装置、プログラム | |
JP6975228B2 (ja) | 標準及び非標準分散ストレージ・ネットワーク・データ・アクセスの方法およびコンピュータ可読メモリ | |
KR20090062747A (ko) | 파일 저장 시스템 및 파일 저장 시스템에서의 중복 파일관리 방법 | |
JP5018403B2 (ja) | バックアップシステム、サーバ装置及びそれらに用いるバックアップ方法並びにそのプログラム | |
JP2015005037A (ja) | 情報処理装置、情報処理装置の制御プログラム、および情報処理装置の制御方法 | |
US20120303588A1 (en) | Data de-duplication processing method for point-to-point transmission and system thereof | |
JP6671708B2 (ja) | バックアップリストアシステム及びバックアップリストア方法 | |
JP2010218335A (ja) | ファイル保存システム、ファイル保存方法、及びプログラム | |
CN116389233B (zh) | 容器云管理平台主备切换系统、方法、装置和计算机设备 | |
US20100125619A1 (en) | Deterministic selection of domain controllers in a multi-master database distributed directory service | |
CN112965859A (zh) | 一种基于ipfs集群的数据灾备方法与设备 | |
JP2005208697A (ja) | デフラグ方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20120605 |