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