クラスタ化ファイルシステム(CFS)は、複数のサーバーに同時にマウントされて共有されるファイルシステムです。クラスタリングにはいくつかのアプローチがありますが、そのほとんどはクラスタ化ファイルシステムを使用しません(各ノードに直接接続されたストレージのみ)。クラスタ化ファイルシステムは、場所に依存しないアドレス指定や冗長性などの機能を提供でき、信頼性を向上させたり、クラスタの他の部分の複雑さを軽減したりできます。 並列ファイルシステムは、通常は冗長性やパフォーマンスのために、複数のストレージノードにデータを分散するタイプのクラスタ化ファイルシステムです。[1]
共有ディスクファイルシステム
共有ディスク ファイル システムは、ストレージ エリア ネットワーク(SAN)を使用して、複数のコンピューターがブロック レベルで直接ディスクにアクセスできるようにします。アプリケーションが使用するファイル レベルの操作から SAN が使用するブロック レベルの操作へのアクセス制御と変換は、クライアント ノードで実行する必要があります。最も一般的なクラスター化ファイル システムである共有ディスク ファイル システムは、同時実行制御のメカニズムを追加することで、一貫性がありシリアル化可能なファイル システムのビュー を提供し、複数のクライアントが同時に同じファイルにアクセスしようとしても、破損や意図しないデータ損失を回避します。共有ディスク ファイル システムでは、ノード障害が発生した場合にデータが破損するのを防ぐために、何らかのフェンシングメカニズムが一般的に採用されています。これは、フェンシングされていないデバイスが姉妹ノードとの通信を失い、他のノードがアクセスしている同じ情報にアクセスしようとすると、データが破損する可能性があるためです。
基盤となるストレージ エリア ネットワークでは、 SCSI、iSCSI、HyperSCSI、ATA over Ethernet (AoE) 、ファイバー チャネル、ネットワーク ブロック デバイス、InfiniBandなど、さまざまなブロック レベル プロトコルを使用できます。
共有ディスクファイルシステムにはさまざまなアーキテクチャアプローチがあります。クラスタ内のすべてのサーバーにファイル情報を分散させるもの(完全分散型)もあります。[2]
例
- Blue Whale クラスタ化ファイルシステム(BWFS)
- Silicon Graphics (SGI) クラスタ化ファイルシステム ( CXFS )
- Veritas クラスタ ファイル システム
- Microsoftクラスター共有ボリューム(CSV)
- DataPlow Nasanファイルシステム
- IBM 汎用並列ファイル システム(GPFS)
- Oracle クラスタ ファイル システム(OCFS)
- OpenVMS Files-11ファイルシステム
- PolyServe ストレージ ソリューション
- Quantum StorNextファイル システム (SNFS)、旧 ADIC、旧 CentraVision ファイル システム (CVFS)
- Red Hatグローバルファイルシステム(GFS2)
- サンQFS
- TerraScale テクノロジー TerraFS
- Veritas CFS (クラスタ FS: クラスタ化された VxFS)
- Versity VSM (SAM-QFS を Linux に移植)、ScoutFS
- VMware VMFS
- ウェカFS
- アップル
- ドラゴンフライBSD HAMMER2
分散ファイルシステム
分散ファイルシステムは、同じストレージへのブロックレベルのアクセスを共有せず、ネットワークプロトコルを使用します。[3] [4]これらは、ネットワークを使用してデータを送信する唯一のファイルシステムではありませんが、一般的にネットワークファイルシステム として知られています。 [5]分散ファイルシステムは、プロトコルの設計方法に応じて、サーバーとクライアントの両方のアクセスリストまたは機能 に応じて、ファイルシステムへのアクセスを制限できます。
分散ファイルシステムと分散データストアの違いは、分散ファイルシステムでは、マウント/アンマウント、ディレクトリの一覧表示、バイト境界での読み取り/書き込み、システムのネイティブ権限モデルなど、ローカルファイルと同じインターフェイスとセマンティクスを使用してファイルにアクセスできることです。対照的に、分散データストアでは、異なるAPIまたはライブラリを使用する必要があり、異なるセマンティクス(ほとんどの場合、データベースのセマンティクス)があります。[6]
設計目標
分散ファイル システムは、さまざまな側面で「透明性」を目標としています。つまり、ローカル ファイル システムに類似したシステムを「見る」クライアント プログラムに対して「見えない」ことを目指しています。分散ファイル システムは、舞台裏でファイルの検索、データの転送、および以下にリストされているその他の機能の提供を処理します。
- アクセスの透明性: クライアントはファイルが分散されていることを認識せず、ローカル ファイルにアクセスするのと同じ方法でファイルにアクセスできます。
- 場所の透過性: ローカル ファイルとリモート ファイルの両方を含む一貫した名前空間が存在します。ファイル名からは場所がわかりません。
- 同時実行の透過性: すべてのクライアントは、ファイル システムの状態について同じビューを持ちます。つまり、1 つのプロセスがファイルを変更している場合、同じシステムまたはファイルにアクセスしているリモート システム上の他のすべてのプロセスは、一貫した方法で変更を確認します。
- 障害の透過性: サーバー障害後もクライアントとクライアント プログラムが正しく動作するはずです。
- 異種性: ファイル サービスは、さまざまなハードウェアおよびオペレーティング システム プラットフォームにわたって提供される必要があります。
- スケーラビリティ: ファイル システムは、小規模な環境 (1 台のマシン、12 台のマシン) でも適切に動作し、大規模な環境 (数百から数万のシステム) にも適切に拡張できる必要があります。
- レプリケーションの透過性: スケーラビリティをサポートするために、複数のサーバー間で実行されるファイル レプリケーションをクライアントが意識する必要はありません。
- 移行の透明性: ファイルはクライアントの知らないうちに異なるサーバー間で移動できる必要があります。
歴史
1960 年代、非互換タイムシェアリング システムは、透過的なマシン間ファイル システム アクセスに仮想デバイスを使用しました。1970 年代には、さらに多くのファイル サーバーが開発されました。1976 年、 Digital Equipment Corporation は、 DECnet Phase IIの一部としてデータ アクセス プロトコルの実装であるファイル アクセス リスナー(FAL)を作成し、これが初めて広く使用されるネットワーク ファイル システムとなりました。1984 年、Sun Microsystems は「ネットワーク ファイル システム」(NFS)と呼ばれるファイル システムを作成し、これが初めて広く使用されるインターネット プロトコルベースのネットワーク ファイル システムとなりました。[4] その他の注目すべきネットワーク ファイル システムには、 Andrew ファイル システム(AFS)、Apple Filing Protocol (AFP)、NetWare Core Protocol (NCP)、および Common Internet File System (CIFS) としても知られるServer Message Block (SMB) があります。
1986 年に、IBM は、CICS を実行するSystem/36、System/38、および IBM メインフレーム コンピュータ用の分散データ管理アーキテクチャ (DDM) のクライアントおよびサーバー サポートを発表しました。その後、 IBM パーソナル コンピュータ、AS/400、MVSおよびVSEオペレーティング システム下の IBM メインフレーム コンピュータ、およびFlexOSのサポートが続きました。DDMは、 DRDA としても知られる 分散リレーショナル データベース アーキテクチャの基盤にもなりました。
クラウド用のオープンソース分散ファイルシステムやクローズドソースのクラスター化 ファイルシステムには、9P、AFS、Coda、CIFS/SMB、DCE/DFS、WekaFS、[7] Lustre、PanFS、[8] Google File System、Mnet、Chord Projectなど、多くのピアツーピアネットワークプロトコルがあります。
例
- アルクシオ
- BeeGFS (フラウンホーファー)
- CephFS (Inktank、Red Hat、SUSE)
- Windows 分散ファイル システム (DFS) (Microsoft)
- Infinit(Docker が買収)
- GファームFS
- GlusterFS (レッドハット)
- GFS(Google Inc.)
- GPFS (IBM)
- HDFS (Apache ソフトウェア財団)
- IPFS (惑星間ファイルシステム)
- アイロッド
- LizardFS (スカイテクノロジー)
- 光沢
- MapR FS
- MooseFS (コアテクノロジー / Gemius)
- 目的FS
- OneFS (EMC アイシロン)
- OrangeFS (クレムソン大学、Omnibond Systems)、旧称Parallel Virtual File System
- PanFS(パナサス)
- 並列仮想ファイルシステム(クレムソン大学、アルゴンヌ国立研究所、オハイオスーパーコンピュータセンター)
- RozoFS (ロゾシステムズ)
- SMB/CIFS
- トーラス (CoreOS)
- ウェカFS (ウェカIO)
- エクストリームFS
ネットワーク接続ストレージ
ネットワーク接続ストレージ (NAS) は、ストレージ エリア ネットワーク (SAN) 上の共有ディスク ファイル システムのように、ストレージとファイル システムの両方を提供します。NAS は通常、NFS ( UNIXシステムで普及)、SMB/CIFS ( Server Message Block/Common Internet File System ) (MS Windows システムで使用)、AFP ( Apple Macintoshコンピューターで使用)、NCP ( OESおよびNovell NetWareで使用) などのファイル ベースのプロトコル (SAN が使用するブロック ベースのプロトコルとは対照的) を使用します。
設計上の考慮事項
単一障害点の回避
ディスク ハードウェアまたはクラスター内の特定のストレージ ノードに障害が発生すると、単一障害点が発生し、データの損失や使用不可につながる可能性があります。何らかのデータ レプリケーションによってフォールト トレランスと高可用性を実現できるため、機器の 1 つに障害が発生してもデータはそのまま残り、使用可能です。例については、分散フォールト トレラント ファイル システムと分散並列フォールト トレラント ファイル システムのリストを参照してください。
パフォーマンス
クラスター化されたファイル システムの一般的なパフォーマンス 測定は、サービス要求を満たすために必要な時間です。従来のシステムでは、この時間はディスク アクセス時間とわずかなCPU処理時間で構成されます。しかし、クラスター化されたファイル システムでは、分散構造のため、リモート アクセスには追加のオーバーヘッドがあります。これには、サーバーに要求を配信する時間、クライアントに応答を配信する時間、および各方向の通信プロトコル ソフトウェアを実行する CPU オーバーヘッドが含まれます。
同時実行性
同時実行制御は、複数の人またはクライアントが同じファイルまたはブロックにアクセスして更新したい場合に問題になります。したがって、1 つのクライアントからのファイルの更新が、他のクライアントからのアクセスや更新を妨げてはなりません。この問題は、ファイル システムでは、複数の書き込み者がファイルの重複領域に同時に書き込みを行う同時重複書き込みにより、さらに複雑になります。[9]この問題は通常、同時実行制御またはロックによって処理されます。これらは、ファイル システムに組み込まれているか、アドオン プロトコルによって提供されます。
歴史
1970年代のIBMメインフレームでは、各マシンがドライブの制御装置に独自のチャネル接続を持っていれば、物理ディスクとファイルシステムを共有できました。1980年代には、Digital Equipment CorporationのTOPS-20とOpenVMSクラスタ(VAX/ALPHA/IA64)に共有ディスクファイルシステムが含まれていました。[10]
参照
参考文献
- ^ Saify, Amina; Kochhar, Garima; Hsieh, Jenwei; Celebioglu, Onur (2005 年 5 月)。「並列ファイル システムによる高性能コンピューティング クラスターの強化」(PDF)。Dell Power Solutions。Dell Inc. 2019 年3 月 6 日閲覧。
- ^ Mokadem, Riad; Litwin, Witold; Schwarz, Thomas (2006). 「スケーラブルな分散データ構造における代数的署名によるディスク バックアップ」(PDF)。 DEXA 2006 Springer 。 2006 年6 月 8 日閲覧。
- ^ Silberschatz, Abraham; Galvin, Peter; Gagne, Greg (2009). 「オペレーティングシステムの概念、第8版」(PDF)。バビロン大学。John Wiley & Sons, Inc. pp. 705–725。 2019年3月6日時点のオリジナル(PDF)からアーカイブ。 2019年3月4日閲覧。
- ^ ab Arpaci-Dusseau, Remzi H.; Arpaci-Dusseau, Andrea C. (2014)、Sun のネットワーク ファイル システム(PDF)、Arpaci-Dusseau 書籍
- ^ Sandberg, Russel (1986). 「The Sun Network Filesystem: Design, Implementation and Experience」(PDF) . Proceedings of the Summer 1986 USENIX Technical Conference and Exhibition . Sun Microsystems, Inc . 2019 年3 月 6 日閲覧。NFS
は、異機種マシンのネットワークでファイルシステム リソースの共有を簡素化するために設計されました。
- ^ Sobh, Tarek (2008).コンピュータと情報科学および工学の進歩。Springer Science & Business Media。pp. 423–440。Bibcode : 2008acis.book.....S.
- ^ 「Weka 分散ファイルシステム (DFS)」。weka.io 2021-04-27 . 2023-10-12閲覧。
- ^ 「PanFS 並列ファイルシステム」。panasas.com 。2023年10月12日閲覧。
- ^ Pessach, Yaniv (2013).分散ストレージ: 概念、アルゴリズム、実装。ISBN 978-1482561043。
- ^ マーフィー、ダン (1996)。「TOPS-20 の起源と開発」。ダン・マーフィー。木星への野心的な計画。2019年3 月 6 日閲覧。
最終的に、VMS と TOPS-20 の両方がこの種の機能を搭載しました。
さらに読む
- 分散ストレージシステムの分類
- 分散ファイルシステムの分類と調査
- 分散ファイルシステムの調査
- ファイルシステムの進化
