mount 時に、mount.nfs4: access denied by server while mounting

tux logo Linux

先に言っておきますが

この記事はグダグダです。

なにかのヒントになれば。

環境

  • 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デーモンを起動するだけではダメで、一度起動した後に再起動しなきゃだめな状況になっている。

 

うーん、何が原因だろう。。

一部モジュール読み込めてないのが気にはなる。

 

ちなみに、僕がやってるのは検証環境で、本番環境はうまくいっているのでこれ以上は追わないつもり。

 

 

 

 

 

 

 

 

 

 

コメント

タイトルとURLをコピーしました