显示NFS 共享|列出NFS挂载点|列出NFS客户端Linux

时间:2020-02-23 14:40:30  来源:igfitidea点击:

在本文中,将介绍如何:

  • 显示在NFS服务器上配置的NFS共享

  • 列出NFS客户端上的NFS安装点

  • 列出连接到NFS服务器的NFS客户端

在NFS服务器上显示NFS共享

使用showmount显示NFS共享

我们可以使用showmount命令在使用NFSv3协议的NFS服务器上显示NFS共享。

重要的提示:

仅在使用rpcbind时,showmount可用于显示NFS共享。
在NFSv4中,不再使用rpcbind,因此showmount将在NFSv4服务器配置上抛出clnt_create:RPC:程序未注册。

# showmount --exports
Export list for server1.example.com:
/nfs_shares  *
/priv_shares 192.168.0.0/255.255.255.0
/pub_shares  10.10.10.0/255.255.255.0

我们还可以提供服务器详细信息以显示相应服务器的NFS共享

# showmount --exports 10.10.10.2
Export list for 10.10.10.2:
/nfs_shares  *
/priv_shares 192.168.0.0/255.255.255.0

使用exportfs显示NFS共享

我们可以使用exportfs来显示所有NFS版本的NFS共享。
exportfs -v将显示当前共享的目录列表以及每个目录的所有权限

# exportfs -v
/pub_shares     10.10.10.0/255.255.255.0(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)
/priv_shares    192.168.0.0/255.255.255.0(sync,wdelay,hide,no_subtree_check,sec=sys,ro,secure,root_squash,no_all_squash)
/nfs_shares     (sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)

使用主导出文件/var/lib/nfs/etab显示NFS共享

我们使用/etc/exports或者/etc/exports.d添加任何NFS共享。
接下来,当我们使用exportfs -r或者exportfs -a刷新共享列表时,/etc/exports/etc/exports.d中的共享列表在主导出表/var/lib/nfs/etab中更新。

警告:我们不应该手动编辑/var/lib/nfs/etab文件。
我们必须始终在/etc/exports/etc/exports.d下更新共享。

检查/var/lib/nfs/etab的内容以显示NFS共享列表和所有应用的权限详细信息

# cat /var/lib/nfs/etab
/priv_shares    192.168.0.0/255.255.255.0(ro,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,ro,secure,root_squash,no_all_squash)
/pub_shares     10.10.10.0/255.255.255.0(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,rw,secure,root_squash,no_all_squash)
/nfs_shares     *(rw,sync,wdelay,hide,nocrossmnt,secure,no_root_squash,no_all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,rw,secure,no_root_squash,no_all_squash)

列出NFS客户端上的NFS安装点

有各种命令和方法可以列出NFS挂载点

使用挂载列出NFS挂载点

我们可以使用mount命令在nfs-client上列出NFS挂载点。

# mount | grep nfs
10.10.10.12:/nfs_shares on /mnt type nfs4 (rw,relatime,vers=4.2,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.10.10.16,local_lock=none,addr=10.10.10.12)

使用nfsstat列出NFS挂载点

通常,我们使用nfsstat来获取NFS挂载点的使用情况和统计信息。
但是我们也可以使用nfsstat列出nfs-client上当前使用的NFS挂载点。

# nfsstat --mounts
/mnt from 10.10.10.12:/nfs_shares
Flags: rw,relatime,vers=4.2,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.10.10.16,local_lock=none,addr=10.10.10.12

使用/proc/mounts列出NFS挂载点

我们也可以检查/proc/mounts的内容,以在nfs-client上列出NFS挂载点。

# cat /proc/mounts | grep nfs
10.10.10.12:/nfs_shares /mnt nfs4 rw,relatime,vers=4.2,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.10.10.16,local_lock=none,addr=10.10.10.12 0 0

列出连接到NFS服务器的NFS客户端

使用netstat列出连接到NFS服务器的NFS客户端

netstat用于列出侦听的TCP和UDP端口。
在示例中,我有一个NFS客户端连接到1018端口上的NFS服务器

# netstat | grep :nfs
tcp        0      0 server1.example.com:nfs 10.10.10.16:1018        ESTABLISHED

使用ss列出连接到NFS服务器的NFS客户端

ss是另一个用于研究套接字的实用程序,在将来的Linux发行版中被认为是netstat的替代品。
因此,我们也可以使用ss命令列出连接到NFS服务器的NFS客户端。
在NFS服务器上执行以下命令以列出NFS客户端。

# ss -a|grep :nfs
udp    UNCONN     0      0       *:nfs                   *:*
udp    UNCONN     0      0        [::]:nfs              [::]:*
tcp    LISTEN     0      64      *:nfs                   *:*
tcp    ESTAB      0      0      10.10.10.2:nfs          10.10.10.16:1018
tcp    LISTEN     0      64       [::]:nfs              [::]:*

在此示例中,我们当前有一个NFS客户端连接到端口1018上的NFS服务器。