Sun Cluster 3.1 データサービスのインストールと構成

第 7 章 Sun Cluster HA for Network File System (NFS) のインストールと構成

この章では、Sun Cluster ノードに Sun Cluster HA for Network File System (NFS) をインストールして構成する手順について説明します。

この章の内容は次のとおりです。

Sun Cluster HA for NFS は、フェイルオーバーデータサービスとして構成する必要があります。データサービス、リソースグループ、リソース、関連事項については、第 1 章「Sun Cluster データサービスの計画」および『Sun Cluster 3.1 の概念』を参照してください。


注 –

このデータサービスのインストールと構成には、SunPlex Manager が使用できます。詳細については、SunPlex Manager のオンラインヘルプを参照してください。


Sun Cluster HA for NFS をインストールして構成する前に、『Sun Cluster 3.1 ご使用にあたって 』にあるワークシートを使用し、リソースとリソースグループについて計画してください。

データサービスの制御下に置かれる NFS マウントポイントは、ファイルシステムが入ったディスクデバイスグループをマスターできるすべてのノードで同じである必要があります。


注意 – 注意 –

VERITAS Volume Manager を使用すると、NFS フェイルオーバーの実行時にクライアント上での“stale file handle (無効なファイルハンドル)”エラーを防止できます。vxio ドライバの擬似デバイスメジャー番号がすべてのクラスタノードで同一であるか確認してください。この番号は、インストールが完了した後、/etc/name_to_major ファイルに記述されています。


Sun Cluster HA for NFS のインストールと構成

インストール作業と構成作業を説明している節は次のとおりです。

表 7–1 作業マップ: Sun Cluster HA for NFS のインストールと構成

作業 

参照先 

Sun Cluster HA for NFS パッケージのインストール 

Sun Cluster HA for NFS パッケージのインストール

Sun Cluster HA for NFS の設定と構成 

Sun Cluster HA for NFS の登録と構成

リソース拡張プロパティの構成 

Sun Cluster HA for NFS 拡張プロパティの構成

障害モニターの情報の表示 

Sun Cluster HA for NFS 障害モニター

Sun Cluster HA for NFS パッケージのインストール

scinstall (1M) ユーティリティーを使用してデータサービスパッケージ SUNWscnfs をクラスタにインストールします。

Sun Cluster のインストール時に SUNWscnfs データサービスパッケージをすでにインストールしている場合は、Sun Cluster HA for NFS の登録と構成へ進んでください。まだインストールしていない場合は、次の手順に従って SUNWscnfs パッケージをインストールします。

Sun Cluster HA for NFS パッケージのインストール

この手順を実行するには、Sun Cluster 3.1 Agents CD-ROM が必要です。Sun Cluster HA for NFS を実行できるすべてのクラスタノードで、この手順を実行してください。

  1. Sun Cluster 3.1 Agents CD-ROM を CD-ROM ドライブに挿入します。

  2. オプションは指定せずに、scinstall ユーティリティーを実行します。

    scinstall ユーティリティーが対話型モードで起動します。

  3. メニューオプション「新しいデータサービスのサポートをこのクラスタノードに追加」を選択します。

    scinstall ユーティリティーにより、ほかの情報を入力するためのプロンプトが表示されます。

  4. Sun Cluster 3.1 Agents CD-ROM のパスを指定します。

    このユーティリティーには、この CD は“data services cd”と示されます。

  5. インストールするデータサービスを指定します。

    選択したデータサービスが scinstall ユーティリティーによって示され、この選択内容の確認が求められます。

  6. scinstall ユーティリティーを終了します。

  7. ドライブから CD を取り出します。

次に進む手順

Sun Cluster HA for NFS の登録と構成を参照して Sun Cluster HA for NFS を登録し、このデータサービス用にクラスタを構成してください。

Sun Cluster HA for NFS の登録と構成

この手順では、scrgadm(1M) コマンドを使って Sun Cluster HA for NFS の登録と構成を行う方法を説明します。


注 –

その他のオプションでもデータサービスの登録および構成を行うことができます。これらの方法については、データサービスリソースを管理するためのツールを参照してください。


Sun Cluster HA for NFS を登録して構成する前に、次のコマンドを使用し、Sun Cluster HA for NFS パッケージ SUNWscnfs がクラスタにインストールされているかを確認してください。


# pkginfo -l SUNWscnfs

パッケージがインストールされていない場合は、Sun Cluster HA for NFS パッケージのインストールを参照してください。

Sun Cluster HA for NFS の登録と構成

  1. クラスタメンバー上でスーパーユーザーになります。

  2. すべてのクラスタノードがオンラインであることを確認します。


    # scstat -n
    
  3. Pathprefix ディレクトリを作成します。

    Pathprefix ディレクトリは、Sun Cluster HA for NFS が管理情報とステータス情報の保持に使用するもので、クラスタファイルシステム上に配置されます。

    ユーザーは任意のデもので、ディレクトリを Pathprefix として指定できます。ただし、作成するリソースグループごとに admin-dir ディレクトリを手動で作成する必要があります(例: ディレクトリ /global/nfs)。


    # mkdir -p /global/admin-dir
    
  4. NFS リソースを含むフェイルオーバーリソースグループを作成します。


    # scrgadm -a -g resource-group -y Pathprefix=/global/admin-dir [-h nodelist]
    -a

    新しい構成の追加を指定します。

    -g resource-group

    フェイルオーバーリソースグループを指定します。

    -y Pathprefix=path

    Sun Cluster HA for NFS が管理情報とステータス情報の保持に使用する、クラスタファイルシステム上のディレクトリを指定します。

    [-h nodelist]

    マスターになり得る物理ノードの名前または ID を、コンマで区切ったリストで指定します (オプション)。フェイルオーバー時に Resource Group Manager (RGM) が主ノードとして選択する順番がこのリスト上のノードの順序で決まります。

  5. すべての論理ホスト名リソースがネームサービスデータベースに追加されているかどうかを確認します。

    ネームサービスの検索が原因で障害が発生するのを防ぐために、サーバーおよびクライアントの /etc/inet/hosts ファイルに、すべての論理ホスト名が登録されていることを確認してください。

  6. クラスタノード上の /etc/nsswitch.conf ファイルのネームサービスマッピングは、rpc 検索で NIS または NIS+ にアクセスする前に、最初にローカルファイルを検査するように構成してください。

    このように構成することで、パブリックネットワークまたはネームサービスを利用できない場合の rpc 検索で、タイミングに関連するエラーを防止できます。

  7. /etc/nsswitch.conf の hosts エントリを変更して、ローカルで名前解決を行う際に、ホストが最初に NIS/DNS に問い合わせを行わず、成功状態を直接返すようにします。

    このように構成することで、パブリックネットワークでの障害時に HA-NFS が正しくフェイルオーバーするようにできます。


    # hosts: cluster files [SUCCESS=return] nis
    # rpc: files nis
    
  8. nfsd または lockd 起動オプションをカスタマイズします (任意)。

    1. nfsd オプションをカスタマイズするには、各クラスタノードで /etc/init.d/nfs.server ファイルを開き、/usr/lib/nfs/nfsd で始まるコマンド行を見つけて、希望する引数を追加します。

    2. lockd 起動オプションをカスタマイズするには、各クラスタノードで /etc/init.d/nfs.client ファイルを開き、 /usr/lib/nfs/lockd で始まるコマンド行を見つけて、希望するコマンド行引数を追加します。


    注 –

    コマンド行は、1 行に制限されています。複数行にわたるコマンド行はサポートされていません。追加する引数は、nfsd(1M) および lockd(1M) のマニュアルページで説明されている有効なオプションを使用してください。


  9. 希望する論理ホスト名リソースをフェイルオーバーリソースグループに追加します。

    この手順を行うには論理ホスト名リソースを設定する必要があります。Sun Cluster HA for NFS で使用される論理ホスト名が SharedAddress リソースタイプになることはありません


    # scrgadm -a -L -g resource-group -l logical-hostname, … [-n netiflist]
    -a

    新しい構成の追加を指定します。

    -L -g resource-group

    論理ホスト名リソースを配置するリソースグループを指定します。

    -l logical-hostname, …

    追加する論理ホスト名リソースを指定します。

    -n netiflist

    各ノード上の IP Networking Multipathing グループをコンマで区切って指定します (省略可能)。netiflist 内の各要素の書式は、 netif@node でなければなりません。netif は、sc_ipmp0 などの IP Networking Multipathing グループ名として指定できます。ノードは、sc_ipmp0@1sc_ipmp@phys-schost-1 などのノード名またはノード ID で識別できます。


    注 –

    現在 Sun Cluster では、netif にアダプタ名を使用できません。


  10. 任意のクラスタノードから、NFS 構成ファイル用のディレクトリ構造を作成します。

    手順 4Pathprefix プロパティで指定したディレクトリ下に、管理サブディレクトリを作成してください (例: /global/nfs/SUNW.nfs)。


    # mkdir Pathprefix/SUNW.nfs
  11. 手順 10 で作成した SUNW.nfs ディレクトリに dfstab.resource ファイルを作成し、共有オプションを設定します。

    1. Pathprefix/SUNW.nfs/dfstab. resource ファイルを編集します。

      このファイルには、共有パス名が指定された一連の share コマンドが入ります。共有パスは、クラスタファイルシステム上のサブディレクトリになります。


      注 –

      作成する予定の NFS リソース (手順 13) を指定する resource-name 接尾辞を選択します。リソース名は、そのリソースが実行するタスクを表す名前にするとよいでしょう。たとえば、ユーザーのホームディレクトリを共有する NFS には、user-nfs-home という名前にします。


    2. 共有されるように作成した各パスに対し、共有オプションを設定します。

      このファイルで使用する書式は、/etc/dfs/dfstab ファイルで使用される書式と同じです。


      share [-F nfs] [-o] specific_options [-d “description”] pathname 
      
      -F nfs

      ファイルシステムタイプを nfs に指定します。

      -o specific_options

      すべてのクライアントに読み取りと書き込みのアクセス権を付与します。オプションについては、share(1M) のマニュアルページを参照してください。Sun Cluster には rw オプションを設定します。

      -d description

      追加するファイルシステムについての説明です。

      pathname

      共有するファイルシステムを指定します。

    共有オプションを設定する場合、以下の点を考慮してください。

    • 共有オプションを構成するときは、root オプションの使用と、rorw オプションを組み合わせて使用することは避けてください。

    • クラスタインターコネクト上のホスト名にアクセス権を付与しないでください。

      Sun Cluster HA for NFS による監視が十分に機能できるように、読み取りと書き込みの両方のアクセス権をすべてのクラスタノードと論理ホストに付与してください。ただし、ファイルシステムへの書き込みを制限したり、ファイルシステム全体を読み取り専用にすることはできます。この場合、Sun Cluster HA for NFS 障害モニターは、書き込みアクセス権なしで監視を実行できます。

    • share コマンドでクライアントリストを指定する場合は、クラスタが接続するすべてのパブリックネットワーク上のすべてのクライアント用のホスト名のほかに、そのクラスタと関連付けられるすべての物理ホスト名と論理ホスト名を含めてください。

    • share コマンドで、個々のホスト名を使用する代わりにネットグループを使用する場合は、これらすべてのクラスタホスト名を適切なネットグループに追加してください。

    share -o rw コマンドは、Sun Cluster ソフトウェアが使用するホスト名を含むすべてのクライアントに対する書き込みアクセス権を付与します。このコマンドにより、Sun Cluster HA for NFS 障害モニターは効果を最大限に発揮して動作するようになります。詳細は、各マニュアルページを参照してください。

    • dfstab(4)

    • share(1M)

    • share_nfs(1M)

  12. NFS リソースタイプを登録します。


    # scrgadm -a -t resource-type
    
    -a -t resource-type

    指定したリソースタイプを追加します。Sun Cluster HA for NFS の場合、リソースタイプは SUNW.nfs です。

  13. NFS リソースをフェイルオーバーリソースグループに作成します。


    # scrgadm -a -j resource -g resource-group -t resource-type
    
    -a

    構成の追加を指定します。

    -j resource

    手順 11 で定義した、追加するリソースの名前を指定します。任意の名前を指定できますが、クラスタ内で一意にする必要があります。

    -g resource-group

    このリソースが追加される、作成済みのリソースグループの名前を指定します。

    -t resource-type

    このリソースが属するリソースタイプの名前を指定します。この名前は、登録されているリソースタイプの名前にする必要があります。

  14. scswitch(1M) コマンドを実行して次の作業を行います。

    • リソースとリソースモニターを有効にします。

    • リソースグループを管理状態にします。

    • リソースグループを ONLINE 状態に切り替えます。


    # scswitch -Z -g resource-group
    

例 – Sun Cluster HA for NFS の設定と構成

次に、Sun Cluster HA for NFS を設定して構成する方法を示します。


(論理ホストリソースグループを作成し、
NFS が使用する管理ファイルへのパス (Pathprefix)を指定する)
# scrgadm -a -g resource-group-1 -y Pathprefix=/global/nfs
 
(論理ホスト名リソースを論理ホストリソースグループに追加する)
# scrgadm -a -L -g resource-group-1 -l schost-1
 
(Sun Cluster HA for NFS 構成
ファイルを含むディレクトリ構造を作成する)
# mkdir -p /global/nfs/SUNW.nfs
 
(dfstab.resource ファイルを nfs/SUNW.nfs ディレクトリの下に作成し、共有
オプションを設定する)
# share -F nfs -o rw=engineering -d “home dirs” nfs/SUNW.nfs
 
(NFS リソースタイプを登録する)
# scrgadm -a -t SUNW.nfs
 
(NFS リソースをリソースグループに作成する)
# sc
rgadm -a -j r-nfs -g resource-group-1 -t SUNW.nfs
 
(リソースとそのモニターを有効にし、リソースグループを管理し、
リソースグループをオンライン状態に切り替える)
# scswitch -Z -g resource-group-1

次に進む手順

NFS ファイルシステムの共有オプションを設定するには、NFS ファイルシステムの共有オプションの変更を参照してください。拡張プロパティの検討や設定については、Sun Cluster HA for NFS 拡張プロパティの構成を参照してください。

NFS ファイルシステムの共有オプションの変更

share -o コマンドで rwrw = roro = オプションを使用する場合は、すべての Sun Cluster サーバーと関連付けられるすべての物理ホストまたは netgroups にアクセス権を付与してください。NFS 障害モニターが効果的に動作します。

share(1M) コマンドで、netgroups を使用する場合は、Sun Cluster のすべてのホスト名を適切な netgroup に追加してください。理想的には、読み取りと書き込みの両方のアクセス権をすべての Sun Cluster ホスト名に付与し、NFS 障害検証機能が正常に動作するようにします。


注 –

共有オプションを変更する前に、share_nfs(1M) のマニュアルページを参照し、有効なオプションの組み合わせを理解してください。


  1. クラスタノード上でスーパーユーザーになります。

  2. NFS リソースの障害モニターを無効にします。


    # scswitch -n -M -j resource
    
    -n -M

    リソースモニターを無効にします。

  3. 新しい share オプションをテストします。

    1. 新しい共有オプションで dfstab.resource ファイルを編集する前に、新しい share コマンドでオプションの組み合わせが有効であることを確認してください。


      # share -F nfs [-o] specific_options [-d “description”] pathname
      
      -F nfs

      ファイルシステムタイプを NFS に指定します。

      -o specific_options

      オプションを指定します。読み取りと書き込みの両方のアクセス権をすべてのクライアントに付与する rw の使用を推奨します。

      -d description

      追加するファイルシステムについての説明です。

      pathname

      共有するファイルシステムを指定します。

    2. 新しい share コマンドの実行に失敗した場合は、直ちに以前のオプションを使用してもう一度 share コマンドを実行してください。新しい share コマンドが正しく実行された場合は、手順 4へ進んでください。

  4. 新しい共有オプションを使用し、dfstab.resource ファイルを編集します。

    1. dfstab.resource ファイルからパスを削除する場合は、以下の手順を順に実行してください。

      1. unshare (1M) コマンドを実行します。

      2. dfstab.resource ファイルから、削除したいパスの share コマンドを削除します。


      # unshare [-F nfs] [-o specific_options] pathname
      # vi dfstab.resource
      
      -F nfs

      ファイルシステムタイプを NFS に指定します。

      -o specific_options

      NFS ファイルシステム固有のオプションを指定します。

      pathname

      無効にするファイルシステムを指定します。

    2. dfstab.resource ファイルにパスを追加する場合、またはこのファイルの既存のパスを変更する場合は、マウントポイントが正しいことを確認してから、dfstab.resource ファイルを編集します。


    注 –

    このファイルで使用する書式は、/etc/dfs/dfstab ファイルで使用する書式と同じです。各行は、share コマンドから成ります。


  5. NFS リソースで障害モニターを有効にします。


    # scswitch -e -M -j resource
    

Sun Cluster HA for NFS メソッドのタイムアウトの調整

Sun Cluster HA for NFS メソッドが終了するために要する時間は、dfstab.resource ファイルに含まれる、リソースによって共有されるパスの数に依存します。これらのメソッドのデフォルトのタイムアウト値は、300 秒です。

一般には、共有される各パスのメソッドタイムアウト値に 10 秒を割り当てます。デフォルトのタイムアウトは 30 の共有パスを処理するように設計されています。

共有パスの数が 30 を超える場合は、次のメソッドのタイムアウト値を更新してください。

Prenet_start_timeoutPostnet_stop_timeoutMonitor_Start_timeout
Start_timeoutValidate_timeoutMonitor_Stop_timeout
Stop_timeoutUpdate_timeoutMonitor_Check_timeout

メソッドタイムアウトを変更するには、次のように、scrgadm-c オプションを使用します。


% scrgadm -c -j resource -y Prenet_start_timeout=500

SUNW.HAStoragePlus リソースタイプの構成

SUNW.HAStoragePlus リソースタイプは Sun Cluster 3.0 5/02 から導入されています。この新しいリソースタイプは、SUNW.HAStorage と同じ機能を実行し、HA 記憶装置と Sun Cluster HA for NFS 間のアクションを同期します。SUNW.HAStoragePlus には、ローカルファイルシステムを高可用性にする追加の機能があります。Sun Cluster HA for NFS は、フェイルオーバーを行い、ディスクに負荷をかけることが多いため、SUNW.HAStoragePlus リソースタイプを設定するようにしてください。

SUNW.HAStoragePlus(5) のマニュアルページおよびリソースグループとディスクデバイスグループの関係を参照してください。手順については、HAStoragePlus リソースタイプの設定を参照してください。(Sun Cluster 3.0 の 5/02 以前のバージョンを使用している場合は、SUNW.HAStoragePlus ではなく SUNW.HAStorage を設定してください。手順については、新しいリソース用の HAStorage リソースタイプの設定 を参照してください)

Sun Cluster HA for NFS 拡張プロパティの構成

通常、拡張プロパティは、NFS リソースを作成するときにコマンド行から scrgadm -x parameter=value を実行して構成します。これらのプロパティは、第 15 章「データサービスリソースの管理」に示す手順を使ってあとで構成することもできます。Sun Cluster HA for NFS に対する拡張プロパティの設定は必須ではありません。Sun Cluster の全プロパティについては、付録 A 「標準プロパティ」 を参照してください。

Sun Cluster HA for NFS 用に構成できる拡張プロパティについては、表 7–2 を参照してください。拡張プロパティによっては、動的に更新できるものもあります。ただし、それ以外の拡張プロパティは、リソースを作成するときにしか更新できません。「調整」エントリは、いつプロパティを更新できるかを示します。

表 7–2 Sun Cluster HA for NFS 拡張プロパティ

名前/データタイプ 

デフォルト 

Lockd_ nullrpc_ timeout (整数)

lockd を検証するときに使用するタイムアウト値 (秒)。

 

デフォルト:120

範囲: 最小 = 60

調整: 任意の時点

Monitor_ retry_ count (整数)

Monitor_retry_ interval プロパティで指定された時間の範囲内に、プロセスモニター機能 (PMF) が障害モニターを再起動する回数。このプロパティは、障害モニターの再起動について制御するのであって、リソースの再起動を制御するわけではありません。リソースの再起動は、システム定義プロパティの Retry_interval および Retry_count によって制御されます。これらのプロパティについては、scrgadm(1M) のマニュアルページを参照してください。

 

デフォルト: 4

範囲: 0 – 2、147、483、641

–1 は、再試行の数が無限であることを示します。

調整: 任意の時点

Monitor_ retry_ interval (整数)

障害モニターの失敗がカウントされる期間 (分)。この期間内に、障害モニターの失敗の数が、拡張プロパティ Monitor_retry_count で指定した値を超えた場合、PMF は障害モニターを再起動しません。

 

デフォルト: 2

範囲: 0 – 2、147、483、641

–1 は、再試行の間隔が無限であることを示します。 

調整: 任意の時点

Mountd_ nullrpc_ restart (ブール値)

ヌルの rpc 呼び出しに失敗したときに mountd を再起動するかどうかを指定するブール値。

 

デフォルト:True

範囲: なし

調整: 任意の時点

Mountd_ nullrpc_ timeout (整数)

mountd の検証時に使用するタイムアウト値 (秒)。

 

デフォルト:120

範囲: 最小 = 60

調整: 任意の時点

Nfsd_ nullrpc_ restart (ブール値)

ヌルの rpc 呼び出しに失敗したときに nfsd を再起動するかどうかを指定するブール値。

 

デフォルト:False

範囲: なし

調整: 任意の時点

Nfsd_ nullrpc_ timeout (整数)

nfsd の検証時に使用するタイムアウト値 (秒)。

 

デフォルト:120

範囲: 最小 = 60

調整: 任意の時点

Rpcbind_ nullrpc_ reboot (ブール値)

rpcbind でのヌルの rpc 呼び出しに失敗したときに、システムを再起動するかどうかを指定するブール値。

 

デフォルト:False

範囲: なし

調整: 任意の時点

Rpcbind_ nullrpc_ timeout (整数)

rpcbind の検証時に使用するタイムアウト値 (秒)。

 

デフォルト:120

範囲: 最小 = 60

調整: 任意の時点

Statd_ nullrpc_ timeout (整数)

statd の検証時に使用するタイムアウト値 (秒)。

 

デフォルト:120

範囲: 最小 = 60

調整: 任意の時点

Sun Cluster HA for NFS 障害モニター

Sun Cluster HA for NFS の障害モニターには、次の 2 つの機能があります。

障害モニターの起動

NFS システム障害モニターは、NFS リソースの MONITOR_START メソッドによって起動されます。この起動メソッドは、最初に NFS システム障害モニター (nfs_daemons_probe) がプロセスモニター pmfadm 下ですでに実行されているかどうかを調べます。NFS システム障害モニターが動作していない場合、この起動メソッドはプロセスモニターの制御下で nfs_daemons_probe プロセスを起動します。その後、同様に、プロセスモニターの制御下でリソース障害モニター (nfs_probe) を起動します。

障害モニターの停止

NFS リソースの MONITOR_STOP メソッドは、リソース障害モニターを停止します。また、ローカルノード上で他に NFS リソース障害モニターが実行されていない場合は、NFS システム障害モニターも停止します。

NFS 障害モニタープロセス

システム障害モニターは、プロセスの存在および NULL rpc 呼び出しへの応答を調べることで、rpcbindstatdlockdnfsdmountd を検証します。このモニターは、次の NFS 拡張プロパティを使用します。

Rpcbind_nullrpc_timeoutLockd_nullrpc_timeout
Nfsd_nullrpc_timeout Rpcbind_nullrpc_reboot
Mountd_nullrpc_timeoutNfsd_nullrpc_restart

Statd_nullrpc_timeout

Mountd_nullrpc_restart

拡張プロパティの検討や設定については、Sun Cluster HA for NFS 拡張プロパティの構成を参照してください。

デーモンの停止が必要な場合、呼び出し側のメソッドはプロセス ID (PID) に停止シグナルを送り、PID の消滅を確認するために待機します。呼び出し側メソッドが待機する時間は、メソッドタイムアウトの一瞬だけです。その期間内にプロセスが停止しない場合、障害モニターはそのプロセスにエラーが発生したと見なします。


注 –

プロセスが停止にさらに時間を要する場合は、プロセスが停止シグナルを送った時に動作していたメソッドのタイムアウト値を増やしてください。


デーモンの停止後、障害モニターがデーモンを再起動し、デーモンが RPC に登録されるまで待機します。新しい RPC ハンドルの作成が可能な場合は、障害モニターの内部においてデーモンの状態が正常と報告されます。RPC ハンドルの作成が不可能な場合は、デーモンの状態が障害モニターに unknown として返され、エラーメッセージは出力されません。

各システム障害モニターの検証サイクルでは、次の作業が順に行われます。

  1. Cheap_probe_interval の間、休止します。

  2. rpcbind を検証します。

    プロセスが失敗し、Failover_mode = HARD の場合、障害モニターはノードをリブートします。

    デーモンに対するヌルの rpc 呼び出しが失敗し、Rpcbind_nullrpc_reboot=False でかつ Failover_mode=HARD の場合、障害モニターはノードをリブートします。

  3. statdlockd を検証します。

    statd または lockd が失敗する場合、障害モニターは両方のデーモンの再起動を試みます。障害モニターがこれらのデーモンを再起動できない場合、すべての NFS リソースがほかのノードにフェイルオーバーします。

    これらのデーモンに対するヌルの rpc 呼び出しが失敗した場合、障害モニターは syslog にメッセージを記録しますが、statdlockd とも再起動しません。

  4. mountd を検証します。

    mountd が失敗すると、障害モニターはデーモンの再起動を試みます。

    kstat カウンタ (nfs_server:calls) が増加しない場合、次の動作が発生します。

    1. ヌルの rpc 呼び出しが mountd に送られます。

    2. ヌルの rpc 呼び出しが失敗し、 Mountd_nullrpc_restart = True の場合、クラスタファイルシステムが利用可能であれば、障害モニターは mountd の再起動を試みます。

    3. 障害モニターが mountd を再起動できず、失敗の数が Retry_count の値に達した場合は、すべての NFS リソースがほかのノードにフェイルオーバーします。

  5. nfsd を検証します。

    nfsd が失敗する場合、障害モニターはデーモンの再起動を試みます。

    kstat カウンタ (nfs_server:calls) が増加しない場合、次の動作が発生します。

    1. ヌルの rpc 呼び出しが nfsd に送られます。

    2. ヌルの rpc 呼び出しが失敗し、 Nfsd_nullrpc_restart=TRUE の場合、障害モニターは nfsd の再起動を試みます。

    3. 障害モニターが nfsd を再起動できず、障害の数が Retry_count の値に達した場合、すべての NFS リソースがほかのノードにフェイルオーバーします。

NFS デーモンのどれかが再起動に失敗すると、すべてのオンライン NFS リソースの状態が FAULTED に設定されます。すべての NFS デーモンが再起動され、状態が正常の場合には、リソースの状態は再び ONLINE に設定されます。

NFS リソースモニタープロセス

リソースモニター検証を開始する前に、すべての共有パスが dfstab ファイルから読み取られ、メモリーに格納されます。各検証サイクルでは、パスに対して stat() を実行することで、各繰り返しですべての共有パスが検証されます。

各リソースモニターの障害検証において、次の操作を行います。

  1. Thorough_probe_interval の間、休止します。

  2. 最後の読み取り以降に dfstab が変更されている場合は、メモリーをリフレッシュします。

  3. パスの stat() を実行することで、すべての共有パスを各繰り返しで検証します。

問題のあるパスが見つかると、リソースの状態は FAULTED に設定されます。すべてのパスが正常に動作すると、リソースの状態は再び ONLINE になります。