一、安装
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/