グリッドファイルシステムは、多数の小さなファイルストレージ領域を活用して信頼性と可用性を向上させることを目的としたコンピュータファイルシステムです。[1]
コンポーネント
ファイル システムには最大 3 つのコンポーネントが含まれます。
- ファイルテーブル(FATテーブル、MFTなど)
- ファイルデータ
- メタデータ(ユーザー権限など)
グリッド ファイル システムでも同様のニーズがあります。
- ファイルテーブル(または検索インデックス)
- ファイルデータ
- メタデータ
比較
ファイル システムは、単一のコンピューターが (完全に) 管理する単一のディスクとして表示されるように設計されているため、グリッド内の単一のディスクがグリッドに含まれるすべてのデータに対する要求を処理できる必要があるグリッド シナリオでは、多くの新しい課題が発生します。
特徴
ほとんどのファイル ストレージでは、高レベルのデータ保護 (データ損失の防止) を実現するために、冗長性のレイヤーが使用されています。現在の冗長性には、レプリケーションとパリティ チェックがあります。このような冗長性は、RAIDアレイ (複数の物理ディスクがローカル コンピュータに 1 つのディスクとして表示され、データのレプリケーションやディスクのパーティション分割が含まれる) によって実装できます。同様に、グリッド ファイル システムは、「グリッド」内に存在するさまざまなディスク全体にわたって、ある程度の冗長性 (論理ファイル レベルまたはブロック レベルのいずれか、場合によっては何らかのパリティ チェックを含む) で構成されます。
フレームワーク
まず第一に、ファイル テーブル メカニズムが必要です。さらに、ファイル テーブルには、グリッド内で (ターゲット/宛先) ファイルを見つけるためのメカニズムが含まれている必要があります。次に、ファイル データを操作するメカニズムが存在する必要があります。このメカニズムは、ファイル データを要求に対して使用できるようにする役割を担います。
実装
BitTorrentテクノロジでは、グリッド ファイル システムと類似点があり、トレント トラッカー (および検索エンジン) が「ファイル テーブル」となり、トレント アプリケーション (ファイルを転送する) が「ファイル データ」コンポーネントとなります。ファイル テーブル ノードでは、 RSSフィードのようなメカニズムを使用して、新しいファイルがテーブルに追加されたときにそれを通知したり、レプリケーションやその他の同様のコンポーネントを開始したりできます。
ファイル システムには、同様のテクノロジ (分散レプリケーション、分散データ要求/実行) が組み込まれている場合があります。
このようなシステム (ファイル テーブルとファイル データ) の両方が単一のエンティティとしてアドレス指定できる場合 (つまり、クラスター内の仮想ノードを使用する)、グリッド メンバーが担当する使用 (ファイル テーブルとファイル検索、および/またはファイル データ) を決定するだけで、このようなシステムへの拡張を簡単に制御できます。
可用性
グリッド内でデータ複製(クォータの割り当てなど)を自律的に管理する方法が存在すると仮定すると、損失や停止に関係なく、データを高可用性に構成できます。
課題
現在、最大の問題はデータ更新の配布に関するものです。トレントは最小限の階層をサポートします (現在はトレント トラッカーのメタデータとして、または厳密に UI と基本的な分類として実装されています)。複数のノードを同時に更新すると (アトミック トランザクションが必要であると仮定)、更新と追加中に遅延が発生し、通常は実現不可能なレベルになります。さらに、グリッド (ネットワーク ベース) ファイル システムは、ファイル システム (通常は低レベル、リング 0 タイプの操作) が複雑な TCP/IP 実装を必要とするという点で従来の TCP/IP パラダイムを破り、このようなグリッド ファイル システムを作成するプロセスに抽象化のレイヤーと複雑さを導入します。
例
高可用性データの例には次のようなものがあります。
- ネットワーク負荷分散/ CARP – 着信要求を複数のコンピューターに分割します。通常は、同一または 1 つの全体として構成されます。
- 共有ストレージクラスタリング/ SAN – 単一のディスク (単一の論理ディスクとして機能する 1 つ以上の物理ディスク) が複数のコンピューターに提供され、受信要求が分割されます。これは通常、ディスク アクセスよりも多くの計算能力が必要な場合に使用されます。
- データ複製/ミラーリング - 複数のコンピュータがデータの同期を試みる可能性があります (通常はポイントインタイムまたはスナップショット ベース)。レポート (最後のスナップショットに基づく) またはバックアップの目的でよく使用されます。
- データのパーティション分割- 複数のコンピューター間でデータを分割します。データベースでは、多くの場合、データはテーブルに基づいてパーティション分割されます (特定のテーブルが特定のコンピューターに存在するか、テーブルが特定の「ブレークポイント」で複数のコンピューター間で分割されます)。一般的なファイルは、カテゴリ (カテゴリ ベースのフォルダー) または場所 (地理的に分離) によってパーティション分割される傾向があります。
参照
参考文献
- ^ Maad, Soha; Coghlan, Brian; Quigley, Geoff; Ryan, John; Kenny, Eamonn; o'Callaghan, David (2007). 「完全なグリッドファイルシステム機能の実現に向けて」. Future Generation Computer Systems . 23 : 123–131. doi :10.1016/j.future.2006.06.006.
