クラスタファイルシステムは、次のコンポーネント間のプロクシです。
あるノード上のカーネルとそのノードが使用しているファイルシステム
そのディスク (1 つまたは複数) と物理的に接続されているノード上のボリュームマネージャ
クラスタファイルシステムでは、グローバルデバイス (ディスク、テープ、CD-ROM) が使用されます。 グローバルデバイスには、クラスタのどのノードからでも同じファイル名 (たとえば、/dev/global/) を使ってアクセスできます。 そのノードは、アクセスするストレージデバイスに物理的に接続されている必要はありません。 ユーザーは、グローバルデバイスを通常のデバイスと同じように使用できます。つまり、newfs や mkfs を使ってグローバルデバイスにファイルシステムを作成することができます。
クラスタファイルシステムには、次の機能があります。
ファイルのアクセス場所が透過的になります。 システムのどこにあるファイルでも、プロセスから開くことができます。 さらに、すべてのノードのプロセスから同じパス名を使ってファイルにアクセスできます。
クラスタファイルシステムは、ファイルを読み取る際に、ファイル上のアクセス時刻を更新しません。
一貫したプロトコルを使用して、ファイルが複数のノードから同時にアクセスされている場合でも、UNIX ファイルアクセス方式を維持します。
拡張キャッシュ機能とゼロコピーバルク入出力移動機能により、ファイルデータを効率的に移動することができます。
クラスタファイルシステムには、fcntl(2) インタフェースに基づく、高度な可用性を備えたアドバイザリファイルロッキング機能があります。 クラスタファイルシステムのファイルに対してアドバイザリファイルロッキング機能を使えば、複数のクラスタノードで動作するアプリケーションの間で、データのアクセスを同期化できます。 ファイルロックを所有するノードがクラスタから切り離されたり、ファイルロックを所有するアプリケーションに障害が発生すると、それらのロックはただちに解放されます。
障害が発生した場合でも、データへの連続したアクセスが可能です。 アプリケーションは、ディスクへのパスが有効であれば、障害による影響を受けません。 この保証は、raw ディスクアクセスとすべてのファイルシステム操作で維持されます。
クラスタファイルシステムは、使用しているボリューム管理ソフトウェアから独立しています。 クラスタファイルシステムでは、サポートされるすべてのオンディスクファイルシステムが広域になります。