NFSリモートデバイスがディレクトリをエクスポートしていることを確認する方法は?

NFSリモートデバイスがディレクトリをエクスポートしていることを確認する方法は?

私のスクリプトには複数のレイヤーの状態があります。

  1. リモートで使用可能(ping)
  2. リモートNFSサービスが有効になっています。
  3. リモートNFSがディレクトリをエクスポートしています。
  4. リモートNFSがマウントされました(マウント)。

rcpinfo(2)と(3)の場合は最良の選択だと思います。ただし、(2)の場合、サブシェルを起動せず(このアプリケーションでは許可されていません)、クエリ範囲をNFSサービスに絞り込む方法はわかりません。 (3)の場合、この情報をリモートで取得できるかどうか(sshもちろんログインせずに)はわかりません。

私はRHEL 6を使用しており、標準のディストリビューションに含まれていないプログラムにアクセスできません。

答え1

showmount -e remote_nfs_server3)の場合、 remote_nfs_server が何でもエクスポートされたかどうかを示すためにwhichを使用できます。

2)の場合、shubshel​​lを使用したくなく、リモートサーバーがNFSv3またはNFSv4およびTCPまたはUDPを実行しているかどうかを知っている場合は、rpcinfoを使用して具体的に照会できます。
rpcinfo -u remote_nfs_server nfs 3 UDP経由のNFSv3の場合、
rpcinfo -t remote_nfs_server nfs 4TCP経由のNFSv4の場合

4)あなたが見たいかもしれませんフォルダがマウントされたリモートファイルシステムであることを確認してください。


追加情報:

答え2

showmount -e <server>#3のいくつかの側面でこれを使うことができます。エクスポートが簡単な場合は、少なくともディレクトリ(またはそのディレクトリの親ディレクトリ)をエクスポートすることをお勧めします。

# showmount -e server
/export                               (everyone)

#2の場合、あなたが探しているものがわからない。 NFSv3を使用している場合は、少なくともmountdとnfsを見つける必要があります(場合によってはロックマネージャを確認する必要があるかもしれません)。あなたが言ったように、rpcinfoを使用すると、何でも明示的に確認できます。

# rpcinfo -t server mountd 3
program 100005 version 3 ready and waiting

答え3

すべての擬似ルートNFS-V4エクスポートディレクトリの一覧表示

ls /net/ip-addr-nfs-server

私の答えは他の投稿で確認してください

関連情報