一、安装

yum install -y nfs-utils

二、配置

vim /etc/exports
/data/nfs/ 192.168.56.0/24(rw,sync,no_root_squash,no_all_squash)

三、启动nfs服务

先为rpcbind和nfs做开机启动:(必须先启动rpcbind服务)

systemctl enable rpcbind.service
systemctl enable nfs-server.service

然后分别启动rpcbind和nfs服务:

systemctl start rpcbind.service
systemctl start nfs-server.service

确认NFS服务器启动成功:
rpcinfo -p

检查 NFS 服务器是否挂载我们想共享的目录 /data/nfs/:
exportfs

#使配置生效
exportfs -r

可以查看到已经ok

/data/nfs/ 192.168.56.0/24

四、在从机上安装NFS 客户端

首先是安裝nfs,同上,然后启动rpcbind服务
yum install -y nfs-utils

先为rpcbind做开机启动:

systemctl enable rpcbind.service

然后启动rpcbind服务:

systemctl start rpcbind.service

注意:客户端不需要启动nfs服务

检查 NFS 服务器端是否有目录共享:showmount -e nfs服务器的IP

showmount -e  192.168.56.44
Export list for 192.168.56.44:
/data/nfs 192.168.56.0

五 常用命令

1、exportfs

如果我们在启动了NFS之后又修改了/etc/exports,是不是还要重新启动nfs呢?这个时候我们就可以用exportfs 命令来使改动立刻生效,该命令格式如下:

exportfs [-aruv]

-a    # 全部挂载或卸载 /etc/exports中的内容
-r     #重新读取/etc/exports 中的信息 ,并同步更新/etc/exports、/var/lib/nfs/xtab
-u     #卸载单一目录(和-a一起使用为卸载所有/etc/exports文件中的目录)
-v     #在export的时候,将详细的信息输出到屏幕上。

具体例子:
exportfs -au #卸载所有共享目录

2、nfsstat

查看NFS的运行状态,对于调整NFS的运行有很大帮助。

3、rpcinfo

查看rpc执行信息,可以用于检测rpc运行情况的工具
rpcinfo -p看出RPC开启的端口所提供的程序有哪些。

4、showmount

-a 显示已经于客户端连接上的目录信息
-e IP或者hostname 显示此IP地址分享出来的目录
最后注意两点,虽然通过权限设置可以让普通用户访问,但是挂载的时候默认情况下只有root可以去挂载,普通用户可以执行sudo。

NFS server 关机的时候一点要确保NFS服务关闭,没有客户端处于连接状态!通过showmount -a 可以查看,如果有的话用kill killall pkill 来结束,(-9 强制结束
NFS client启动的时候,如果做了自动挂载,一定要保证NFS server先起来,否则开机会启动不了

5、防火墙策略

firewall-cmd --permanent --add-service=nfs
systemctl restart firewalld.service

六、权限

让 nfs client以某个用户来挂载和访问nfs server共享的磁盘

nfs server

chown elk.elk /data/nfs/ -R 

ll /data/nfs/ -d
drwxr-xr-x 2 elk elk 21 Nov  7 18:13 /data/nfs/

#id elk
uid=1003(elk) gid=1003(elk) groups=1003(elk)

nfs 客户端

id elk #保证uid还server的保持一致
uid=1003(elk) gid=1003(elk) groups=1003(elk)

mount -t nfs  192.168.56.44:/data/nfs /data/esbackup/