クラスタファイルシステムには、次の機能があります。
ファイルのアクセス場所が透過的になります。 プロセスはファイルがシステム内のどこに置かれていても開くことができ、また、すべてのノード上のプロセスが同じパス名を使用してファイルを見つけられます。
クラスタファイルシステムは、ファイルを読み取る際に、ファイル上のアクセス時刻を更新しません。
一貫したプロトコルを使用して、ファイルが複数のノードから同時にアクセスされている場合でも、UNIX ファイルアクセス方式を維持します。
拡張キャッシュ機能とゼロコピーバルク入出力移動機能により、ファイルデータを効率的に移動することができます。
クラスタファイルシステムには、fcntl(2) インタフェースに基づく、高度な可用性を備えたアドバイザリファイルロッキング機能があります。 複数のクラスタノードで稼働しているアプリケーションは、クラスタファイルシステムのファイルにアドバイザリファイルロッキング機能を使用することによって、データへのアクセスを同期させることができます。 ファイルロックを所有するノードがクラスタから切り離されたり、ファイルロックを所有するアプリケーションが異常停止すると、それらのロックはただちに解放されます。
障害が発生した場合でも、データへの連続したアクセスが可能です。 アプリケーションは、ディスクへのパスが有効である限り、障害による影響を受けません。 この保証は、raw ディスクアクセスとすべてのファイルシステム操作で維持されます。
クラスタファイルシステムは、基本のファイルシステムからもボリューム管理ソフトウェアからも独立しています。 クラスタシステムファイルは、サポートされているディスク上のファイルシステムすべてを広域にします。
広域デバイスには、mount -g を使用して広域に、または mount を使用してローカルにファイルシステムをマウントできます。
プログラムは、同じファイル名 (たとえば、/global/foo) によって、クラスタ内のすべてのノードからクラスタファイルシステムのファイルにアクセスできます。
クラスタファイルシステムは、すべてのクラスタメンバーにマウントされます。 クラスタファイルシステムをクラスタメンバーのサブセットにマウントすることはできません。
クラスタファイルシステムは、特定のファイルシステムタイプではありません。 つまり、クライアントは、UFS など、実際に使用するファイルシステムしか認識できません。
SunPlex システムでは、すべての多重ホストディスクがディスクデバイスグループとして構成されています。これは、Solaris Volume Manager ディスクセット、VxVM ディスクグループ、またはソフトウェアベースのボリューム管理ソフトウェアの制御下にない個々のディスクが該当します。
クラスタファイルシステムを高可用性にするには、使用するディスクストレージが複数のノードに接続されていなければなりません。 したがって、ローカルファイルシステム (ノードのローカルディスクに格納されているファイルシステム) をクラスタファイルシステムにした場合は、高可用性にはなりません。
通常のファイルシステムと同様、クラスタファイルシステムは 2 つの方法でマウントできます。
手作業によるマウント— mount コマンドと -g または -o global マウントオプションを使用し、コマンド行からクラスタファイルシステムをマウントします。次に例を示します。
SPARC: # mount -g /dev/global/dsk/d0s0 /global/oracle/data |
自動マウント— global マウントオプションによって /etc/vfstab ファイルにエントリを作成します。 さらに、すべてのノードの /global ディレクトリ下にマウントポイントを作成します。 ディレクトリ /global を推奨しますが、他の場所でも構いません。 次に、/etc/vfstab ファイルの、クラスタファイルシステムを示す行の例を示します。
SPARC: /dev/md/oracle/dsk/d1 /dev/md/oracle/rdsk/d1 /global/oracle/data ufs 2 yes global,logging |
Sun Cluster ソフトウェアには、クラスタファイルシステムに対する特定の命名規則はありません。しかし、/global/disk-device-group など同じディレクトリのもとにすべてのクラスタファイルシステムのマウントポイントを作成すると、管理が容易になります。 詳細は、『Sun Cluster ソフトウェアのインストール (Solaris OS 版)』と『Sun Cluster のシステム管理』を参照してください。
HAStoragePlus リソースタイプは、UFS や VxFS などの広域的ではないファイルシステム構成を高可用対応にするように設計されています。 HAStoragePlus は、ローカルファイルシステムを Sun Cluster 環境に統合してそのファイルシステムを高可用対応にする場合に使用します。 HAStoragePlus は、Sun Cluster でローカルファイルシステムのフェイルオーバーを行うための付加的なファイルシステム機能 (チェック、マウント、強制的なマウント解除など) を提供します。 フェイルオーバーを行うには、アフィニティスイッチオーバーが有効になった広域ディスクグループ上にローカルファイルシステムが存在していなければなりません。
HAStoragePlusリソースタイプの使用方法については、『Sun Cluster 3.1 データサービスのインストールと構成』の個々のデータサービスの章か、第 14 章「データサービスリソースの管理」の「高可用性ローカルファイルシステムを有効にする」を参照してください。
HAStoragePlus は、リソースと、そのリソースが依存しているディスクデバイスグループを同時に起動するためにも使用できます。 詳細については、リソース、リソースグループ、リソースタイプを参照してください。
ファイルシステムとして UFS を使用するクラスタファイルシステムには、syncdir マウントオプションを使用できます。 しかし、syncdir を指定しない方がパフォーマンスは向上します。 syncdir を指定した場合は、書き込みが POSIX に適合することが保証されます。 指定しないと、UFS ファイルシステムの場合と同じ動作となります。 たとえば、syncdir を指定しないと、場合によっては、ファイルを閉じるまでスペース不足条件を検出できません。 syncdir (および POSIX 動作) を指定すると、スペース不足条件は書き込み動作中に検出されます。 syncdir を指定しないことで生じる問題はほとんどないため、syncdir を指定しないで、パフォーマンスを向上させることを推奨します。
SPARC ベースのクラスタを使用する場合、Veritas VxFS には UFS の syncdir マウントオプションに相当するマウントオプションはありません。 VxFS の動作は syncdir マウントオプションを指定しない場合の UFS と同じです。
広域デバイスとクラスタファイルシステムについては、ファイルシステムに関する FAQを参照してください。