NFSがサーバー上で実行されているかどうかをクライアントで確認する

NFSがサーバー上で実行されているかどうかをクライアントで確認する

(私のシステムはcentos7を実行しています)

NFSを介してドライブが正しくマウントされていることをクライアントが確認しようとしています。

コマンドを入力すると、現在インストールされていると思われるnfsstat -mものが表示されますが、フォルダにアクセスできることは保証されません。これらのフォルダがマウントされたときにNFSサーバーが実行されていた可能性がありますが、今ではNFSサーバーがダウンしています。

たとえば、NFS サーバーがダウンしてクライアントマシンにコマンドを入力すると、df -hコマンドは無期限に中断されます。同様に、lsマウントしたいフォルダをマウントしようとすると、やはり無期限に停止します。

私の問題を示す例は次のとおりです。

# on server
systemctl start nfs-server

# on client
mount node1:/mnt/images /mnt/images
df -h #works fine here

# on server
systemctl stop nfs-server

# on client
nfsstat -m #shows the list of nfs mounts
df -h #this command will hang
ls /mnt/images #this command will hang

テスト方法に関する提案クライアントからNFSサーバーが稼働している場合、またはNFSマウントフォルダにアクセスできる場合は、ありがとうございます。

showmount -eサーバーで実行すると、次の出力が表示されます。 (クライアントコンピュータからマウントしようとしているすべてのフォルダは次/mnt/images/mnt/rv_outputとおりです。)/rv

/mnt/rv_output 192.168.81.0/24
/mnt/images    192.168.81.0/24
/rv            192.168.81.0/24

しかし、私はこの接続をサーバーでテストすることに興味がなく、クライアントコンピュータでテストしたいと思います。showmount -eクライアントで実行すると、nfsサーバーがサーバーシステムで有効になっているかどうかにかかわらず、同じ出力が得られます。

clin_create: RPC: Port mapper failure - Unable to receive: errno 111 (connection refused)

答え1

標準設定がある場合、サーバーのNFSデーモンはTCP / UDPポート2049をリッスンするため、またはを使用して接続を試みることがnetcatできます。 CentOSを実行していないため、何が利用可能かを正確にはわかりませんが、私のコンピュータ(OpenBSD)ではncatnctelnet

$ nc -z ip_of_nfs_server 2049

それはすべてです(-uUDPを追加し、-zスイッチは受信デーモンを確認し、データを送信しないように指示します)。man同じ目的で他のツールを使用できるようにページを確認して、コンピュータに何があるかを確認してください。telnetある程度ユビキタス

$ telnet ip_of_nfs_server 2049

また、動作する必要があります(出口を使用Ctrl+c)。

答え2

ショー山

~からman showmount

showmount - NFS サーバーのマウント情報を表示します。

実際にエクスポートした内容を確認するには、with --exports(または)オプションを使用します。-e

答え3

df -h何をすべきかは既に知っていますが、中断されているので、中断しないようにtimeoutコマンドを前に追加できます。

timeout 5s df -h 1>/dev/null 2>/dev/null && echo OK || echo NOK

関連情報