web-dev-qa-db-ja.com

NFSファイルをマウントするとターミナルがハングする

NFS共有を作成しています。 NFSサーバーとNFSクライアントも構成しました。

私のシェアは昨日まで完璧に機能していましたが、今では機能しないことがわかりました。

NFS構成のすべての手順をやり直しましたが、まだ機能しません。

私の問題は、cat /mnt/nfs1.txt(昨日まで完全に機能していた)を使用してマウントフォルダーにアクセスしようとすると、画面に何も表示されないことです。そして、吊られているか、折りたたまれているようです。

root@ela-native:~# cat /mnt/nfs1.txt

この後、画面には何も表示されず、端末を閉じて終了する必要があります。

何が間違っていますか?

Edit1

以下は、nfsの構成の手順です。

NFSサーバー:

Sudo apt-get install nfs-kernel-server

Sudo mkdir /var/nfs/general

Sudo nano /etc/exports

  /var/nfs/general *(rw,sync,no_root_squash,no_subtree_check)

Sudo exportfs -a

Sudo service nfs-kernel-server start

NFSクライアント:

Sudo apt-get install nfs-common

Sudo mount 172.21.215.101:/var/nfs/general /mnt

また、mount -t nfsを実行すると、次のようになります:

root@ela-native:/home/salini# mount -t nfs
172.21.215.101:/var/nfs/general on /mnt type nfs (rw,vers=4,addr=172.21.215.101,clientaddr=192.168.164.78)

showmount -e 172.21.215.101も試しました

clnt_create: RPC: Port mapper failure - Timed out 

Edit2

そして、私はサーバーマシンでless /var/log/boot.logを試しましたが、私の理解によると、nfsサーバーに何らかのエラーがあると思います。

[ESC[0;1;31mFAILEDESC[0m] Failed to start Automatically refresh installed snaps.


 [ESC[0;1;31mFAILEDESC[0m] Failed to mount /mnt/nfs/var/nfs.
    See 'systemctl status mnt-nfs-var-nfs.mount' for details.
   [ESC[0;1;33mDEPENDESC[0m] Dependency failed for Remote File Systems.
             Starting Permit User Sessions...
             Starting LSB: VirtualBox Linux kernel module...
             Starting LSB: Set the CPU Frequency Scaling governor to "ondemand"...
             Starting LSB: Speech Dispatcher...
             Starting LSB: automatic crash report generation...
             Starting LSB: Apache2 web server...
             Starting LSB: daemon to balance interrupts for SMP systems...
    [ESC[0;32m  OK  ESC[0m] Mounted /mnt/nfs/home.

ここで問題は何ですか?

Edit

私はSudo ufw status numberedSudo netstat -nlp | grep :111をしました。私はこれを得た:

root@wsm-ela-inc6:/home/test# Sudo ufw status numbered
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 514/tcp                    ALLOW IN    Anywhere                  
[ 2] 514/udp                    ALLOW IN    Anywhere                  
[ 3] 514/tcp (v6)               ALLOW IN    Anywhere (v6)             
[ 4] 514/udp (v6)               ALLOW IN    Anywhere (v6)             

root@wsm-ela-inc6:/home/test# Sudo netstat -nlp | grep :111
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      3062/rpcbind    
tcp6       0      0 :::111                  :::*                    LISTEN      3062/rpcbind    
udp        0      0 0.0.0.0:111             0.0.0.0:*                           3062/rpcbind    
udp6       0      0 :::111                  :::*                                3062/rpcbind    

Edit4

showmountで再試行しましたが、端末から再度通知されます

clnt_create: RPC: Port mapper failure - Timed out

また、Sudo service portmap restartを試しましたが、portmap: unrecognized serviceを取得しました。また、Sudo service statd restartを試しましたが、うまくいきました。それからもう一度showmountを試しましたが、それでも同じ問題です。

Edit5

私もnetstatを試してみましたが、これは次のとおりです。

    tcp        0      0 wsm-ela-inc6.csez:52630 maa03s29-in-f2.1e:https ESTABLISHED
tcp        0      0 wsm-ela-inc6.csez.z:nfs wsm-ela-inc6.csez.z:890 ESTABLISHED
tcp        0      0 wsm-ela-inc6.csez:34388 stackoverflow.com:https ESTABLISHED
tcp        0      0 wsm-ela-inc6.csez:35504 maa05s06-in-f8.1e:https TIME_WAIT  
tcp        0      0 wsm-ela-inc6.csez.z:890 wsm-ela-inc6.csez.z:nfs ESTABLISHED
tcp        0      0 wsm-ela-inc6.csez:39524 maa03s22-in-f2.1e:https TIME_WAIT  
tcp        0      0 wsm-ela-inc6.csez:Shell 192.168.164.78:58982    ESTABLISHED
tcp        0      0 wsm-ela-inc6.csez:34414 stackoverflow.com:https ESTABLISHED
tcp        0      0 wsm-ela-inc6.csez:34438 stackoverflow.com:https ESTABLISHED

誰か助けてください。私は絶望的です。

1
Lublaut

クライアントとサーバーの両方でファイアウォールを無効にすることで、mountおよびshowmountコマンドが正常に機能することがわかりました。

私はサーバーとクライアントのファイアウォールを無効にしようとしましたが、すべてが活気づきました。一般に、クライアントとサーバーが同じ信頼できるネットワーク上にない場合、それらの間でNFSを実行することは素晴らしい考えではありません。特に、ダムファイアウォールとうまく機能しないためです。それらが同じ信頼できるネットワーク上にある場合、他のシステムからの入力トラフィックに対する各システムのより包括的な許可により、おそらく機能し続けるでしょう。

1
Lublaut