NFS(Network File System)是一种分布式文件系统,它可以让计算机之间共享文件。在Linux下,NFS是一个常用的文件共享协议,它可以通过网络访问远程文件系统。在许多情况下,我们需要查询NFS以了解系统的状态和运行状况。本文将介绍如何在Linux下查询NFS。
一、查询已安装NFS的软件包
在Linux下,我们可以使用rpm或者dpkg等命令来查询已经安装的软件包,以验证NFS是否已经安装。以CentOS系统为例,我们可以在终端中输入以下命令:
rpm -qa|grep nfs
如果系统中已经安装了NFS软件包,则会输出相关信息,如下:
nfs-utils-1.3.0-0.65.el7_9.x86_64
nfs-utils-lib-1.1.5-18.el7.x86_64
nfs4-acl-tools-0.3.6-1.el7.x86_64
如果没有任何输出,则表示系统中没有安装NFS软件包,需要手动安装。
二、检查nfs-utils服务是否正在运行
在Linux下,我们可以使用systemctl命令来查询服务状态。在查询NFS时,我们需要检查nfs-utils服务是否正在运行。在终端中输入以下命令:
systemctl status nfs-utils
如果nfs-utils服务正在运行,则会输出类似如下信息:
● nfs-server.service – NFS server and services
Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; enabled; vendor preset: disabled)
Active: active (exited) since Fri 2023-11-26 16:48:24 UTC; 2 days ago
Process: 2023 ExecStartPost=/bin/sh -c systemctl start nfs-server.service (code=exited, status=0/SUCCESS)
Process: 2023 ExecStart=/usr/in/rpc.nfsd $RPCNFSDARGS $RPCNFSDCOUNT (code=exited, status=0/SUCCESS)
Process: 1994 ExecStartPre=/usr/in/exportfs -r (code=exited, status=0/SUCCESS)
Mn PID: 2023 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/nfs-server.service
如果nfs-utils服务没有运行,则会输出类似如下信息:
● nfs-server.service – NFS server and services
Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; enabled; vendor preset: disabled)
Active: inactive (dead) since Fri 2023-11-26 16:58:53 UTC; 2 days ago
Process: 2023 ExecStartPost=/bin/sh -c systemctl start nfs-server.service (code=exited, status=0/SUCCESS)
Process: 2023 ExecStart=/usr/in/rpc.nfsd $RPCNFSDARGS $RPCNFSDCOUNT (code=exited, status=0/SUCCESS)
Process: 1994 ExecStartPre=/usr/in/exportfs -r (code=exited, status=0/SUCCESS)
三、使用showmount命令查询客户端的NFS挂载点
showmount命令可以查询NFS服务器上的挂载列表,以及客户端上挂载的文件系统。在客户端终端中输入以下命令:
showmount -e [nfs服务器地址]
其中,[nfs服务器地址]为NFS服务器的IP地址或主机名。
如果客户端没有挂载任何文件系统,则会输出类似如下信息:
clnt_create: RPC: Port mapper flure – Unable to receive: errno 111 (Connection refused)
如果客户端已经挂载了文件系统,则会输出类似如下信息:
Export list for [nfs服务器地址]:
/[共享目录] [客户端地址]
/[共享目录] [客户端地址]
其中,[共享目录]为NFS服务器上共享的目录名称,[客户端地址]为客户端的IP地址或主机名。
四、使用rpcinfo命令查询NFS相关信息
rpcinfo命令可以查询与RPC相关的信息,例如NFS服务器的状态等。在终端中输入以下命令:
rpcinfo -p [nfs服务器地址]
其中,[nfs服务器地址]为NFS服务器的IP地址或主机名。
如果NFS服务器正常运行,则会输出类似如下信息:
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100005 1 udp 20238 mountd
100005 1 tcp 20238 mountd
100005 2 udp 20238 mountd
100005 2 tcp 20238 mountd
100005 3 udp 20238 mountd
100005 3 tcp 20238 mountd
100003 3 udp 2023 nfs
100003 4 udp 2023 nfs
100021 1 udp 37468 nlockmgr
100021 3 udp 37468 nlockmgr
100021 4 udp 37468 nlockmgr
100021 1 tcp 44189 nlockmgr
100021 3 tcp 44189 nlockmgr
100021 4 tcp 44189 nlockmgr
100024 1 udp 51909 status
100024 1 tcp 40709 status
其中,100003代表NFS,100005代表mountd,100021代表nlockmgr。
五、使用nfsstat命令查询NFS的统计数据
nfsstat命令可以查询NFS的统计数据。在终端中输入以下命令:
nfsstat
如果NFS正常运行,则会输出类似如下信息:
Server rpc stats:
calls retrans authrefrsh
0 0 0
sends badxids timeouts
0 0 0
newcreds badverfs timers
0 0 0
Client rpc stats:
calls retrans authrefrsh
0 0 0
sends badxids timeousts
0 0 0
newcreds badverfs timers
0 0 0
其中,calls表示RPC调用数,retrans表示重新传输数,badxids表示无效的XID,timeouts表示超时次数。
综上所述,本文介绍了在Linux下查询NFS的方法,包括查询已安装NFS的软件包、检查nfs-utils服务是否正在运行、使用showmount命令查询客户端的NFS挂载点、使用rpcinfo命令查询NFS相关信息,以及使用nfsstat命令查询NFS的统计数据。通过这些方法,我们可以了解NFS的运行情况和状态,并进行必要的维护和优化。
相关问题拓展阅读:
NFS(Network File System),网络文件存储系统,它最早是由 Sun 公司开发的,也是 FreeBSD 支持的文件系统中的一个,它允许网络中的计算机之间通过TCP/IP 网络共享资源。通过 NFS 协议,我们本地 NFS 的客户端应用可以透明的读写位于服务端 NFS 服务器上的文件,就像访问本地文件一样方便。简单的理解,NFS 就是可以透过网络,让不同的主机,不同的操作系统可以共享存储的服务。
NFS 在文件传送或信息传送过程中依赖 RPC(Remote Procedure Call)协议,即远程过程调用,NFS的各项功能都必须向 RPC 来注册,如此一来 RPC 才能了解 NFS 这服务的各项功能 Port,PID,NFS 在服务器所监听的 IP 等,而客户端才能透过 RPC 的询问找到正确对应的端口,所以 NFS 必须要有 RPC 存在是才能成功的提供服务,简单的理解二者关系:NFS 是一个文件存储系统,而 RPC 是负责信息的传输。
通过上面的简介,我们知道 NFS 服务需要依赖 RPC 服务,所以这里 NFS 服务端需要安装 rpcbind 和 nfs-utils ,客户端只需要安装 nfs-utils 即可,由于我们选用 CentOS 系统,所以可以使用 yum 快速的安装。
然后安装 NFS 服务
另:Ubuntu 16.04 安装命令
我们在服务端创建一个共享目录 /data/share ,作为客户端挂载在远端入口,然后设置权限
然后,修改 NFS 配置文件 /etx/exports
说明一下,这里配置后边有很多参数,每个参数有不同的含义,具体可以参考下边。此处,我配置了将 /data/share 文件目录设置为允许IP为 192.168.0.0/24 区间的客户端挂载。然后,如果客户端IP不在该区间也想要挂载的话,可以设置IP区间更大或者设置为 * 即允许所有客户端挂载,例如: /home *(ro, sync,insecure,no_root_squash) 设置 /home 目录允许所有客户端只读挂载。
接下来,我们先启动 RPC 服务
我们发现,启动了 NFS 服务后,RPC 注册的端口列表明显增多。现在服务端都启动起来了,在服务端看下是否正确加载了设置的 /etc/exports 配置
最后,在另一台Linux虚拟机上测试一下,是否能够正确挂载。首先,我们可以在客户端查看下NFS服务端设置可共享的目录信息
然后,在客户端创建挂载目录/share
最后,挂载远端目录到本地 /share 目录
可以看到,可以正确将远端 NFS 目录挂载到本地。注意:挂载点 /share 目录必须已经存在,而且目录中没有文件或子目录
最后,我们在 NFS 服务端 /data/share 目录下创建一个文件,看下客户端能否正确读取并修改
都可以了,这里因为上面设置了 NFS 远端目录权限为 rw 拥有读写权限,如果设置为 ro ,那么客户端只能读取,不能写入。根据实际应用场景合理配置。
NFS 默认使用 UDP协议进行挂载,为了提供 NFS 的稳定性,可以使用 TCP 协议挂载,那么客户端挂载命令如下:
最后,卸载命令
linux 查询nfs的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux 查询nfs,Linux下如何查询NFS?,Linux 环境下搭建NFS服务的信息别忘了在本站进行查找喔。
香港服务器选创新互联,2H2G首月10元开通。
创新互联(www.cdcxhl.com)互联网服务提供商,拥有超过10年的服务器租用、服务器托管、云服务器、虚拟主机、网站系统开发经验。专业提供云主机、虚拟主机、域名注册、VPS主机、云服务器、香港云服务器、免备案服务器等。
本文名称:Linux下如何查询NFS?(linux查询nfs)
浏览路径:http://www.shufengxianlan.com/qtweb/news7/391907.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联