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

やった :

Sudo ufw allow from 192.168.1.0/24 to any port 2049

Sudo ufw allow from 192.168.1.0/24 to any port 111

そして、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を実行することはお勧めできません。特に、ダムファイアウォールでうまく機能しないためです。それらが同じ信頼できるネットワーク上にある場合、他のシステムからの入力トラフィックに対して各システムでより包括的な許可を与えると、おそらく動作し続けるでしょう。

0
Lublaut