如何确定 NFS 远程是否正在导出目录?

Sea*_*red 13 rhel remote directory nfs

在我的脚本中,我有几层状态:

  1. 远程可用(ping)
  2. 远程 NFS 服务处于活动状态
  3. 远程 NFS 正在导出某个目录
  4. 远程 NFS 已挂载(mount)

对于(2)和(3),我认为rcpinfo是最好的选择。但是,对于 (2),我无法弄清楚如何在不启动子 shell 的情况下将查询范围缩小到 NFS 服务(这对于此应用程序是不可接受的)。对于 (3),我不确定这些信息是否可以远程使用(ssh当然,无需输入)。

我正在研究 RHEL 6,无法访问标准发行版中未包含的程序。

dok*_*000 18

对于 3),您可能想要使用showmount -e remote_nfs_serverwhich 显示 remote_nfs_server 是否已导出任何内容。

对于 2) 如果您不想使用 shubshel​​l 并且知道远程服务器是运行 NFSv3 还是 NFSv4 以及 TCP 还是 UDP,您可以专门使用 rpcinfo 查询:
rpcinfo -u remote_nfs_server nfs 3 通过 UDP查询NFSv3
rpcinfo -t remote_nfs_server nfs 4,通过 TCP 查询 NFSv4

对于 4) 您可能需要查看检查文件夹是否为已安装的远程文件系统


更多信息:


Bow*_*Red 5

您可以showmount -e <server>用于 #3 的某些方面。当导出很简单时,至少会建议导出一个目录(或者可能是此类目录的父目录)。

# showmount -e server
/export                               (everyone)
Run Code Online (Sandbox Code Playgroud)

对于#2,我不确定你在找什么。如果您使用的是 NFSv3,您将至少寻找 mountd 和 nfs(并且在某些情况下可能需要确认锁管理器)。您可以像您说的那样使用 rpcinfo 明确检查任何内容。

# rpcinfo -t server mountd 3
program 100005 version 3 ready and waiting
Run Code Online (Sandbox Code Playgroud)