LAN 内で一般的なファイラーとして動作している NFS サーバーがあります。
最近、ディスクの故障により、そこに保存されていたものがすべて失われたため、新しいディスクを入手し、最新の Debian (jessie) を再インストールし、設定ファイルをコピーし直したのですが、NFS が機能しなくなったのですか?
私の /etc/exports には以下が含まれています:
/media/media *(rw,sync,no_subtree_check,all_squash,anonuid=31244,anongid=31451)
/media/private *(rw,sync,no_subtree_check,all_squash,anonuid=16830,anongid=10818)
数回の再起動、/etc/init.d/nfs-common の再起動、/etc/init.d/nfs-kernel-server の再起動を実行しました。
クライアント側では、/etc/fstab に次の記述があります:
172.28.173.1:/media/media /media/MEDIA nfs rsize=8192,wsize=8192,timeo=14,soft,intr,rw,user,noatime,nodiratime 0 0
172.28.173.1:/media/private /mnt/nfs/private nfs rsize=8192,wsize=8192,timeo=14,soft,intr,rw,user,noatime,nodiratime 0 0
ファイルシステムをマウントするとき、マウント コマンドは長い時間がかかり、何も印刷せずに終了します。後で「df」を実行すると、次のメッセージが表示されます。
df: ‘/media/MEDIA’: Stale NFS file handle
クライアントの syslog には次のように表示されます:
2013-12-18T15:27:08.319605+01:00 h3po4 kernel: [ 363.398977] RPC: AUTH_GSS upcall timed out.
2013-12-18T15:27:08.319619+01:00 h3po4 kernel: [ 363.398977] Please check user daemon is running.
しかし、それが何のデーモンについて話しているのか、なぜ「ユーザー デーモン」が必要なのか、なぜ AUTH_GSS 呼び出しがあるのか、私には全く分かりません。LAN 内の nfs 共有へのアクセスを 100% オープンにしたいのです。
ファイアウォールの問題ではないことを確認しました (テストのためにファイアウォールを無効にしました)。
ディスクがクラッシュする前に、サーバー上で他の何かを再構成したことはないと思いますが、確信はありません。マシンは 4 年以上問題なく動作していたので、何かを変更して忘れていた可能性もあります。
そこで、さらにいくつか確認してみました。
クライアントにマウントする前のマウント ディレクトリは次のとおりです。
drwxr-xr-x 2 root root 4096 maj 1 2013 MEDIA/
しかし、「mount /media/MEDIA」を実行して完了を待つと、次のメッセージが表示されます。
ls: cannot access /media/MEDIA: Stale NFS file handle
d?????????? ? ? ? ? ? MEDIA/
サーバー側のディレクトリは常に「通常」です。
drwxrwxrwx 2 media media 6 Dec 18 14:05 /media/media/
また、exportfs も正常に動作します:
=# exportfs -v
/media/media <world>(rw,wdelay,root_squash,all_squash,no_subtree_check,anonuid=31244,anongid=31451,sec=sys,rw,root_squash,all_squash)
/media/private <world>(rw,wdelay,root_squash,all_squash,no_subtree_check,anonuid=16830,anongid=10818,sec=sys,rw,root_squash,all_squash)
クライアントからエクスポートされたファイルシステムを確認できます。
$ showmount -e blob
Export list for blob:
/media/private *
/media/media *