web-dev-qa-db-ja.com

NFSリモートがディレクトリをエクスポートしているかどうかを確認するにはどうすればよいですか?

私のスクリプトでは、ステータスのいくつかのレイヤーがあります。

  1. リモートが利用可能です(ping)
  2. リモートNFSサービスがアクティブです
  3. リモートNFSが特定のディレクトリをエクスポートしています
  4. リモートNFSがマウントされている(マウント)

(2)と(3)については、rcpinfoが最善の策だと思います。 (2)については、サブシェルを開始せずにクエリをNFSサービスに絞り込む方法がわかりません(これは、このアプリケーションでは受け入れられません)。 (3)の場合、この情報がリモートで利用できるかどうかはわかりません(もちろんsshingがなければ)。

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

11
Sean Allred

3)の場合、おそらくshowmount -e remote_nfs_serverこれは、remote_nfs_serverが何かをエクスポートしたかどうかを示します。

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

4)については、 フォルダがマウントされたリモートファイルシステムであるかどうかを確認したい場合があります


さらに詳しい情報:

16
doktor5000

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

# showmount -e server
/export                               (everyone)

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

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

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

ls /net/ip-addr-nfs-server

別のスレッドで私の回答を確認してください

0
Sathish