高可用性ローカルファイルシステムを使用すると、出入力負荷が高いデータサービスのパフォーマンスを改善できます。Sun Cluster 環境でローカルファイルシステムを高可用性にするには、HAStoragePlus リソースタイプを使用します。
出入力負荷が高い各 Sun Cluster データサービスの作業手順では、データサービスを構成して HAStoragePlus リソースタイプとともに動作させる方法が説明されています。詳細については、個別の Sun Cluster データサービスのガイドを参照してください。
NFS エクスポートファイルシステム用に HAStoragePlus リソースタイプを設定する手順については、「NFS エクスポートファイルシステム用に HAStoragePlus リソースタイプを設定する」を参照してください。
HAStoragePlus リソースタイプを使用してルートファイルシステムを高可用性にしないでください。
多重ホストディスク上のすべてのファイルシステムは、これらの多重ホストディスクに直接接続されたすべてのホストからアクセス可能である必要があります。この要件を満たすには、次のように、高可用性ローカルファイルシステムを構成します。
ローカルファイルシステムのディスクパーティションが広域デバイス上に存在するようにします。
これらの広域デバイスを指定する HAStoragePlus リソースの AffinityOn 拡張プロパティーを True に設定します。
フェイルオーバーリソースグループに HAStoragePlus リソースを作成します。
デバイスグループと、HAStoragePlus リソースを含むリソースグループのフェイルバック設定が同じであるようにします。
高可用性ローカルファイルシステム用の広域デバイスと、ボリュームマネージャーの併用は、任意に選択できます。
ボリュームマネージャーを使用しない場合、基本のストレージデバイスの名前には適切な形式を使用します。使用する形式は、次のように、ストレージデバイスの種類に依存します。
ーブロックデバイスの場合: /dev/global/dsk/d DsS
raw デバイスの場合: /dev/global/rdsk/d DsS
これらの論理名の変数の意味は次のとおりです。
D はデバイス ID (DID) インスタンス番号を指定する整数です。
S はスライス番号を指定する整数です。
次の例に、高可用性ローカルファイルシステムに使用される広域デバイスの /etc/vfstab ファイルにあるエントリを示します。
この例に、ボリュームマネージャーを使用しない物理ディスク上の広域デバイス用の /etc/vfstab ファイルにあるエントリを示します。
/dev/global/dsk/d1s0 /dev/global/rdsk/d1s0 /global/local-fs/nfs ufs 5 no logging
この例では、Solaris ボリュームマネージャー を使用する広域デバイス用の /etc/vfstab ファイルにあるエントリを示します。
/dev/md/kappa-1/dsk/d0 /dev/md/kappa-1/rdsk/d0 /global/local-fs/nfs ufs 5 no logging
この例では、VxVM を使用する広域デバイス用の /etc/vfstab ファイルにあるエントリを示します。
/dev/vx/dsk/kappa-1/appvol /dev/vx/rdsk/kappa-1/appvol /global/local-fs/nfs vxfs 5 no log
HAStoragePlus リソースタイプには HAStorage と同じ機能があり、リソースグループとディスクデバイスグループとの間で起動の同期をとります。HAStoragePlus リソースタイプには、ローカルファイルシステムを高可用性にするための機能が追加されています。ローカルファイルシステムの可用性を高めるための背景情報については、「高可用性ローカルファイルシステムの有効化」を参照してください。これら 2 つの機能を両方とも使用するには、HAStoragePlus リソースタイプを設定します。
次では、UNIX ファイルシステムで HAStoragePlus リソースタイプを使用する方法を説明します。HAStoragePlus リソースタイプを Sun StorEdgeTM QFS ファイルシステムで使用する方法については、Sun StorEdge QFS のマニュアルを参照してください。
次の例では、簡単な NFS サービスを使用して、ローカルにマウントされたディレクトリ /global/local-fs/nfs/export/ からホームディレクトリのデータをエクスポートします。この例では、次の条件を前提にしています。
マウントポイント /global/local-fs/nfs は、UFS ローカルファイルシステムを Sun Cluster 広域デバイスのパーティションにマウントするために使用されます。
/global/local-fs/nfs ファイルシステムの /etc/vfstab エントリは、広域オプションを省略し、「mount at boot」フラグを「no」に指定する必要があります。
path-prefix ディレクトリは、マウントする同じファイルシステムのルートディレクトリ上に存在します (/global/local-fs/nfs など)。path-prefix ディレクトリは、HA-NFS が管理情報と状態情報を保持するために使用するディレクトリです。
クラスタメンバー上でスーパーユーザーになります。
HAStoragePlus リソースタイプと SUNW.nfs リソースタイプが登録されているかどうかを判別します。
次のコマンドは、登録されているリソースタイプのリストを出力します。
# scrgadm -p | egrep Type |
必要に応じて、HAStoragePlus リソースタイプと SUNW.nfs リソースタイプを登録します。
# scrgadm -a -t SUNW.HAStoragePlus # scrgadm -a -t SUNW.nfs |
フェイルオーバーリソースグループ nfs-rg を作成します。
# scrgadm -a -g nfs-rg -y PathPrefix=/global/local-fs/nfs |
タイプ SUNW.LogicalHostname の論理ホストリソースを作成します。
# scrgadm -a -j nfs-lh-rs -g nfs-rg -L -l log-nfs |
タイプ HAStoragePlus のリソース nfs-hastp-rs を作成します。
# scrgadm -a -j nfs-hastp-rs -g nfs-rg -t SUNW.HAStoragePlus \ -x FilesystemMountPoints=/global/local-fs/nfs \ -x AffinityOn=True |
FilesystemMountPoints 拡張プロパティーは、ファイルシステムの 1 つ以上のマウントポイントのリストを指定するために使用できます。このリストは、ローカルファイルシステムと広域ファイルシステムの両方のマウントポイントから構成されます。ブートフラグでのマウントは、広域ファイルシステムの HAStoragePlus によって無視されます。
リソースグループ nfs-rg をクラスタノード上でオンラインにします。
リソースグループがオンラインであるノードは、/global/local-fs/nfs ファイルシステムの基本となる広域デバイスパーティションの主ノードになります。次に、ファイルシステム /global/local-fs/nfs は当該ノード上にローカルにマウントされます。
# scswitch -Z -g nfs-rg |
タイプ SUNW.nfs のリソース nfs-rs を作成して、リソース nfs-hastp-rs へのリソース依存関係を指定します。
ファイル dfstab.nfs-rs が /global/local-fs/nfs/SUNW.nfs に作成される必要があります。
# scrgadm -a -g nfs-rg -j nfs-rs -t SUNW.nfs \ -y Resource_dependencies=nfs-hastp-rs |
nfs-rs リソースに依存関係を設定する前に、nfs-hastp-rs リソースがオンラインである必要があります。
リソースグループ nfs-rg をオフラインにします。
# scswitch -F -g nfs-rg |
nfs-rg グループをクラスタノード上でオンラインにします。
# scswitch -Z -g nfs-rg |
切り替えは、リソースグループに限定します。デバイスグループは切り替えないでください。デバイスグループを切り替えようとすると、リソースグループとデバイスグループの状態に矛盾が生じ、リソースグループのフェイルオーバーが発生します。
サービスを新しいノードに移行するときには常に、/global/local-fs/nfs 用のプライマリ入出力パスはオンラインになり、NFS サーバーに配置されます。ファイルシステム /global/local-fs/nfs は NFS サーバーが起動する前にローカルにマウントされます。