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 原因を理解するようにしてください。以下の手順に従い、問題を修正します。
- カーネルおよび gluster nfs サービスが無効になっていることを確認します。
- ポート 875 が RQUOTA サービスに接続できることを確認します。
- ノードの再起動/シャットダウン後に、共有ストレージボリュームマウントがサーバーに存在することを確認します。存在しない場合は、以下のコマンドを実行して、共有ストレージボリュームを手動でマウントします。
# 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 原因を理解するようにしてください。以下の手順に従い、問題を修正します。
- ポート 875 を使用して、プロセスの PID を抽出するには、以下のコマンドを実行します。
netstat -anlp | grep 875
- ポート 875 を使用するプロセスが重要なシステムまたはユーザープロセスであるかどうかを判断します。
- プロセスの重要性に応じて、以下のいずれかを実行します。
- ポート 875 を使用するプロセスが重要なシステムまたはユーザーのプロセスである場合:
- すべてのノードの ‘/etc/ganesha/ganesha.conf’ ファイルで以下の行を変更して、別のポートをこのサービスに割り当てます。
# Use a non-privileged port for RQuota Rquota_Port = port_number;
- ポート番号を変更したら、以下のコマンドを実行します。
# semanage port -a -t mountd_port_t -p tcp port_number # semanage port -a -t mountd_port_t -p udp port_number
- 以下のコマンドを実行して NFS-Ganesha を再起動します。
systemctl restart nfs-ganesha
- ポート 875 を使用するプロセスが重要なシステムまたはユーザーのプロセスでない場合:
- ポート 875 を使用してプロセスを強制終了するには、以下のコマンドを実行します。
# kill pid;
前の手順で抽出したプロセス ID を使用します。 - 以下のコマンドを実行して、プロセスが強制終了され、ポート 875 が未使用であることを確認します。
# ps aux | grep pid;
- 以下のコマンドを実行して NFS-Ganesha を再起動します。
systemctl restart nfs-ganesha
- 必要に応じて、強制終了したプロセスを再起動します。
状況
NFS-Ganesha クラスターの設定に失敗します。
解決策
以下の手順に進む前に、すべての必須チェックを実行して root 原因を理解するようにしてください。
- カーネルおよび gluster nfs サービスが無効になっていることを確認します。
- pcs cluster auth コマンドが、ユーザー hacluster用の同じパスワードを持つすべてのノードで実行されていることを確認します。
- 共有ストレージがすべてのノードにマウントされていることを確認します。
- HA クラスターの名前が 15 文字を超えないようにしてください。
OMPING
を使用して UDP マルチキャストパケットが ping できることを確認します。- 仮想 IP がどの NIC にも割り当てられていないことを確認します。
状況
NFS-Ganesha は起動し、ボリュームのエクスポートに失敗します。
解決策
以下の手順に進む前に、すべての必須チェックを実行して root 原因を理解するようにしてください。以下の手順に従い、問題を修正します。
- 以下のコマンドを使用して、ボリュームが Started の状態であることを確認します。
# gluster volume status <volname>
- 以下のコマンドを実行して、サービスのステータスを確認します。
# service nfs-ganesha status # showmount -e localhost
- 以下のログを確認し、失敗の原因を確認します。
/var/log/ganesha/ganesha.log /var/log/ganesha/ganesha-gfapi.log /var/log/messages
- 以下のコマンドを使用して、dbus サービスが実行中であることを確認します。
# service messagebus status
- ボリュームが開始状態でない場合は、以下のコマンドを実行してボリュームを起動します。
# 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 原因を理解するようにしてください。以下の手順に従い、問題を修正します。
- クラスターに含まれるノードのいずれかから、以下のコマンドを実行します。
# ganesha-ha.sh --add <HA_CONF_DIR> <NODE-HOSTNAME> <NODE-VIP>
- gluster_shared_storage ボリュームが、追加する必要のあるノードにマウントさることを確認します。
- クラスターのすべてのノードが、追加する必要のあるノードから DNS を解決できることを確認します。
- 追加する必要のあるノード上の 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 パーミッションを確認してください。