6.3.3.9. NFS Ganesha のトラブルシューティング

必須のチェック

発生したすべての問題/違反について、必ず以下のコマンドを実行します。

  • すべての前提条件を満たしていることを確認します。
  • 以下のコマンドを実行して、サービスのステータスを確認します。
    # service nfs-ganesha status
    # service pcsd status
    # service pacemaker status
    # pcs status
  • 以下のログを確認し、失敗の原因を確認します。
    /var/log/ganesha/ganesha.log
    /var/log/ganesha/ganesha-gfapi.log
    /var/log/messages
    /var/log/pcsd.log
    
  • 状況

    NFS-Ganesha が起動に失敗します。

    解決策

    以下の手順に進む前に、すべての必須チェックを実行して root 原因を理解するようにしてください。以下の手順に従い、問題を修正します。

    1. カーネルおよび gluster nfs サービスが無効になっていることを確認します。
    2. ポート 875 が RQUOTA サービスに接続できることを確認します。
    3. ノードの再起動/シャットダウン後に、共有ストレージボリュームマウントがサーバーに存在することを確認します。存在しない場合は、以下のコマンドを実行して、共有ストレージボリュームを手動でマウントします。
      # mount -t glusterfs <local_node's_hostname>:gluster_shared_storage /var/run/gluster/shared_storage
      注記
      3.5 Batch Update 3 のリリースにより、共有ストレージのマウントポイントが /var/run/gluster/ から /run/gluster/ に変更されました。
    詳しくは、「『Exporting and Unexporting Volumes through NFS-Ganesha.』」のセクションを参照してください。
  • 状況

    NFS-Ganesha ポート 875 は利用不可です。

    解決策

    以下の手順に進む前に、すべての必須チェックを実行して root 原因を理解するようにしてください。以下の手順に従い、問題を修正します。

    1. ポート 875 を使用して、プロセスの PID を抽出するには、以下のコマンドを実行します。
      netstat -anlp | grep 875
    2. ポート 875 を使用するプロセスが重要なシステムまたはユーザープロセスであるかどうかを判断します。
    3. プロセスの重要性に応じて、以下のいずれかを実行します。
      • ポート 875 を使用するプロセスが重要なシステムまたはユーザーのプロセスである場合:
        1. すべてのノードの ‘/etc/ganesha/ganesha.conf’ ファイルで以下の行を変更して、別のポートをこのサービスに割り当てます。
          # Use a non-privileged port for RQuota
          Rquota_Port = port_number;
        2. ポート番号を変更したら、以下のコマンドを実行します。
          # semanage port -a -t mountd_port_t -p tcp port_number
          # semanage port -a -t mountd_port_t -p udp port_number
        3. 以下のコマンドを実行して NFS-Ganesha を再起動します。
          systemctl restart nfs-ganesha
      • ポート 875 を使用するプロセスが重要なシステムまたはユーザーのプロセスでない場合:
        1. ポート 875 を使用してプロセスを強制終了するには、以下のコマンドを実行します。
          # kill pid;
          前の手順で抽出したプロセス ID を使用します。
        2. 以下のコマンドを実行して、プロセスが強制終了され、ポート 875 が未使用であることを確認します。
          # ps aux | grep pid;
        3. 以下のコマンドを実行して NFS-Ganesha を再起動します。
          systemctl restart nfs-ganesha
        4. 必要に応じて、強制終了したプロセスを再起動します。
  • 状況

    NFS-Ganesha クラスターの設定に失敗します。

    解決策

    以下の手順に進む前に、すべての必須チェックを実行して root 原因を理解するようにしてください。

    1. カーネルおよび gluster nfs サービスが無効になっていることを確認します。
    2. pcs cluster auth コマンドが、ユーザー hacluster用の同じパスワードを持つすべてのノードで実行されていることを確認します。
    3. 共有ストレージがすべてのノードにマウントされていることを確認します。
    4. HA クラスターの名前が 15 文字を超えないようにしてください。
    5. OMPING を使用して UDP マルチキャストパケットが ping できることを確認します。
    6. 仮想 IP がどの NIC にも割り当てられていないことを確認します。
  • 状況

    NFS-Ganesha は起動し、ボリュームのエクスポートに失敗します。

    解決策

    以下の手順に進む前に、すべての必須チェックを実行して root 原因を理解するようにしてください。以下の手順に従い、問題を修正します。

    1. 以下のコマンドを使用して、ボリュームが Started の状態であることを確認します。
      # gluster volume status <volname>
      
    2. 以下のコマンドを実行して、サービスのステータスを確認します。
      # service nfs-ganesha status
      # showmount -e localhost
    3. 以下のログを確認し、失敗の原因を確認します。
      /var/log/ganesha/ganesha.log
      /var/log/ganesha/ganesha-gfapi.log
      /var/log/messages
    4. 以下のコマンドを使用して、dbus サービスが実行中であることを確認します。
      # service messagebus status
    5. ボリュームが開始状態でない場合は、以下のコマンドを実行してボリュームを起動します。
      # gluster volume start <volname>
      ボリュームがボリュームの起動時にエクスポートされていない場合は、以下のコマンドを実行してボリュームを再度エクスポートします。
      # /usr/libexec/ganesha/dbus-send.sh /var/run/gluster/shared_storage on <volname>
      注記
      3.5 Batch Update 3 のリリースにより、共有ストレージのマウントポイントが /var/run/gluster/ から /run/gluster/ に変更されました。
  • 状況

    新規ノードを HA クラスターに追加すると失敗します。

    解決策

    以下の手順に進む前に、すべての必須チェックを実行して root 原因を理解するようにしてください。以下の手順に従い、問題を修正します。

    1. クラスターに含まれるノードのいずれかから、以下のコマンドを実行します。
      # ganesha-ha.sh --add <HA_CONF_DIR>  <NODE-HOSTNAME>  <NODE-VIP>
    2. gluster_shared_storage ボリュームが、追加する必要のあるノードにマウントさることを確認します。
    3. クラスターのすべてのノードが、追加する必要のあるノードから DNS を解決できることを確認します。
    4. 追加する必要のあるノード上の HA クラスターの各ホストに対して、以下のコマンドを実行します。
      Red Hat Enterprize Linux 7 の場合:
      # pcs cluster auth <hostname>
      Red Hat Enterprize Linux 8 の場合:
      # pcs host auth <hostname>
  • 状況

    nfs-ganesha HA クラスターの設定に失敗した場合に必要なクリーンアップ。

    解決策

    マシンを元の状態に復元するには、クラスターを構成する各ノードで以下のコマンドを実行します。

    # /usr/libexec/ganesha/ganesha-ha.sh --teardown /var/run/gluster/shared_storage/nfs-ganesha
    # /usr/libexec/ganesha/ganesha-ha.sh --cleanup /var/run/gluster/shared_storage/nfs-ganesha
    # systemctl stop nfs-ganesha
    注記
    3.5 Batch Update 3 のリリースにより、共有ストレージのマウントポイントが /var/run/gluster/ から /run/gluster/ に変更されました。
  • 状況

    パーミッションの問題。

    解決策

    デフォルトでは、CLI を使用して NFS-Ganesha を起動する場合は、root squash オプションが無効になります。パーミッションに問題が発生した場合は、エクスポートしたエントリーの unix パーミッションを確認してください。