先に言っておきますが
この記事はグダグダです。
なにかのヒントになれば。
環境
- NFSサーバ・・・CentOS6.9
- クライアント・・・CentOS6.9
事象
クライアントのサーバ側で/etc/fstabを記述し、
mount -a
したところ、下記メッセージ出力。
mount.nfs4: access denied by server while mounting
また、NFSサーバ側で、NFSデーモンの開始をしようとすると、下記のように、一部モジュールが読み込めない。(しかしこれは今回の事象には関係なさそう。この問題を解決しないでもmountが成功したため)
# /etc/init.d/nfs start
FATAL: Could not load /lib/modules/4.15.0-159-generic/modules.dep: No such file or directory
Starting NFS services: [ OK ]
Starting NFS mountd: [ OK ]
Starting NFS daemon: [ OK ]
Starting RPC idmapd: [ OK ]
#
原因
。。。色々やってるうちに正常化してしまった。
対処(やったこと)
やったこととしては、以下。
1.まず、NFSサーバが起動していなかった(だめじゃん)
/etc/init.d/nfs start
で起動。しかし、上述したように一部モジュールが読み込めないエラーを出力。
この時点でまだ解決せず。
2.クライアンと側のマウントポイントになる空ディレクトリがなかった(だめじゃん3)
クライアント側のサーバでマウントポイントになるディレクトリを作成。
mkdir -p /hoge/fuga
このとき、/hoge にmountしなければならないのに、hogeディレクトリの下にfugaディレクトリまで作ってしまった(だめじゃん3回目)
この時点でまだ事象解決せず。
3.NFSサーバ側でパッケージを1個追加
NFSサーバ側で
yum install nfs4-acl-tools.x86_64
を実施。
しかしこれは「~tools」というパッケージ名からして関係ないと思われる。
4.クライアント側のサブディレクトリを削除
cd hoge
rmdir fuga
ここで
mount -a
が成功した。
サブディレクトリがあったからいけなかったのか。と思い、umount後、再度
/hoge/fuga
ディレクトリを作成して、mountを試したら、成功してしまった。
なので、原因わからず。
うーん、ぐだぐだぁ~
5. 後で追記。/etc/init.d/nfs startだけだとだめで、restartしたらmount -a が成功した。
Dockerで構築した環境でやってるんだが、
docker-compose downでコンテナ削除して、(イメージはdown直前にcommitしている)
docker-compose up -d
して、
nfsサービスが落ちていたので、
/etc/init.d/nfs start
して、
クライアント側からmount -aしたが、失敗。
- 標準出力に吐かれたエラーメッセージは、
-
mount.nfs4: access denied by server while mounting NFSサーバのIPアドレス
-
NFSサーバ側で
/etc/init.d/nfs restart
して、
クライアント側で
mount -a
したら成功した。
一度nfsデーモンを起動するだけではダメで、一度起動した後に再起動しなきゃだめな状況になっている。
うーん、何が原因だろう。。
一部モジュール読み込めてないのが気にはなる。
ちなみに、僕がやってるのは検証環境で、本番環境はうまくいっているのでこれ以上は追わないつもり。
コメント