1.8. 共有ストレージファイルシステム
共有ストレージファイルシステム (クラスターファイルシステムとも呼ばれます) は、クラスター内の各サーバーに共有ブロックデバイスへの直接アクセスを提供します。このファイルシステムは、ローカルストレージエリアネットワーク (SAN) を使用します。
- ネットワークファイルシステムとの比較
- クライアント/サーバーのファイルシステムと同様、共有ストレージファイルシステムは、クラスターのすべてのメンバーであるサーバーのセットで機能します。しかし、NFS とは異なり、1 台のサーバーが他のメンバーにデータやメタデータへのアクセスを提供することはありません。クラスターの各メンバーが、同じストレージデバイス (共有ストレージ) に直接アクセスできます。クラスターのすべてのメンバーノードが、同じファイル群にアクセスします。
- 同時並行性
キャッシュの一貫性は、データの一貫性と整合性を確保するためにクラスター化されたファイルシステムで重要になります。クラスター内のすべてのファイルは、そのクラスター内の全ノードから単一のバージョンとして認識される必要があります。ファイルシステムは、クラスターのメンバーが同じストレージブロックを同時に更新してデータ破損を引き起こすことを防止する必要があります。これを行うために、共有ストレージファイルシステムでは、クラスター全体にわたるロックメカニズムを使用します。これは、競合を防ぐ手段として、ストレージへのアクセスを制御するものです。
たとえば、ファイルシステムのコンポーネントは、新しいファイルを作成したり、複数のサーバーで開いているファイルに書き込んだりする前に、適切なロックを取得する必要があります。
クラスターファイルシステムの要件は、Apache Web サーバーのような可用性の高いサービスを提供することです。クラスターのどのメンバーも、共有ディスクファイルシステムに保存されているデータの完全に一貫した状態を見ることができます。更新はすべてロックメカニズムによって正しく処理されます。
- パフォーマンスの特徴
共有ディスクファイルシステムは、同じシステム上で動作するローカルファイルシステムほど優れたパフォーマンスを常に発揮するとは限りません。これは、ロック処理に伴う計算コストが原因です。共有ディスクファイルシステムは、各ノードがほぼ自身のファイル群にのみ書き込みを行うような特定のワークロードにおいて、優れたパフォーマンスを発揮します。これらのファイルは他のノードとは共有されません。
または、ファイル群をほぼ読み取り専用方式でノード間で共有することも可能です。これにより、ノード間のキャッシュの無効化が最小限に抑えられ、パフォーマンスを最大化できます。
共有ディスクファイルシステムの設定は複雑です。共有ディスクファイルシステム上でアプリケーションが適切に動作するように調整することは、困難な場合があります。