背景
服务端:centos 7.6。ip:47.96.156.20。
客户端:centos 7.6。ip:
服务端不在同一vpc下。
nfs简介
NFS是Network File System的简写,即网络文件系统,NFS是FreeBSD支持的文件系统中的一种。NFS基于RPC(Remote Procedure Call)远程过程调用实现,其允许一个系统在网络上与它人共享目录和文件。通过使用NFS,用户和程序就可以像访问本地文件一样访问远端系统上的文件。NFS是一个非常稳定的,可移植的网络文件系统。具备可扩展和高性能等特性,达到了企业级应用质量标准。由于网络速度的增加和延迟的降低,NFS系统一直是通过网络提供文件系统服务的有竞争力的选择 。
NFS与Samba服务类似,但一般Samba服务常用于办公局域网共享,而NFS常用于互联网中小型网站集群架构后端的数据共享。
NFS客户端将NFS服务端设置好的共享目录挂载到本地某个挂载点,对于客户端来说,共享的资源就相当于在本地的目录下。
rpc简介
RPC(Remote Procedure Call Protocol)远程过程调用协议。它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。
在NFS服务端和NFS客户端之间,RPC服务扮演一个中介角色,NFS客户端通过RPC服务得知NFS服务端使用的端口,从而双方可以进行数据通信。
rpc和nfs通讯
当NFS服务端启动服务时会随机取用若干端口,并主动向RPC服务注册取用相关端口及功能信息,这样,RPC服务就知道NFS每个端口对应的的NFS功能了,然后RPC服务使用固定的111端口来监听NFS客户端提交的请求,并将正确的NFS端口信息回复给请求的NFS客户端。这样,NFS客户就可以与NFS服务端进行数据传输了
nfs服务端
通过yum目录安装nfs服务和rpcbind服务
yum -y install nfs-utils rpcbind
启动服务
systemctl start rpcbind
systemctl enable rpcbind
systemctl start nfs(或者systemctl start nfs-server)
sytemctl enable nfs
查看nfs服务是否安装正常
rpcinfo -p localhost
或者是通过公网测试服务端的nfs服务是否可用。
rpcinfo -p 47.96.156.20
显示如下即正常
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
100024 1 udp 45993 status
100024 1 tcp 39431 status
100005 1 udp 20048 mountd
100005 1 tcp 20048 mountd
100005 2 udp 20048 mountd
100005 2 tcp 20048 mountd
100005 3 udp 20048 mountd
100005 3 tcp 20048 mountd
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 3 tcp 2049 nfs_acl
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 3 udp 2049 nfs_acl
100021 1 udp 43258 nlockmgr
100021 3 udp 43258 nlockmgr</