1、服务器和客户端都需要安装
[root@iZ8vb409m8717ruqk6uowlZ ~]# yum -y install nfs-utils
2、创建共享目录
[root@iZ8vb409m8717ruqk6uowlZ ~]# mkdir app
[root@iZ8vb409m8717ruqk6uowlZ ~]# cd app
[root@iZ8vb409m8717ruqk6uowlZ app]# mkdir cdn #共享目录
[root@iZ8vb409m8717ruqk6uowlZ app]# vi /etc/exports #配置共享客户端
[root@iZ8vb409m8717ruqk6uowlZ app]# cat /etc/exports
/app/cdn 120.77.251.70(rw,no_root_squash,sync,no_subtree_check)
[root@iZ8vb409m8717ruqk6uowlZ app]# cd cdn
[root@iZ8vb409m8717ruqk6uowlZ cdn]# touch a.txt #创建两个文件测试挂载时展示
[root@iZ8vb409m8717ruqk6uowlZ cdn]# touch b.txt
[root@iZ8vb409m8717ruqk6uowlZ cdn]# ll
total 0
-rw-r--r-- 1 root root 0 Aug 14 17:49 a.txt
-rw-r--r-- 1 root root 0 Aug 14 17:49 b.txt
[root@iZ8vb409m8717ruqk6uowlZ cdn]#
3、启动nfs
[root@iZ8vb409m8717ruqk6uowlZ ~]# systemctl start nfs-server
4、nfs设置开机自启动
[root@iZ8vb409m8717ruqk6uowlZ ~]# systemctl enable nfs-server.service
5、客户端挂载,默认服务端也安装了nfs,如果服务端开启了防火墙,需开放111和2049端口
[root@iZwz917v5v3z71u4q0qly0Z ~]# cd /home
[root@iZwz917v5v3z71u4q0qly0Z home]# mkdir project #创建挂载目录
[root@iZwz917v5v3z71u4q0qly0Z home]# mount 121.89.195.187:/app/cdn /home/project/ #挂载
[root@iZwz917v5v3z71u4q0qly0Z home]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 909M 0 909M 0% /dev
tmpfs 919M 0 919M 0% /dev/shm
tmpfs 919M 556K 919M 1% /run
tmpfs 919M 0 919M 0% /sys/fs/cgroup
/dev/vda1 40G 13G 26G 33% /
tmpfs 184M 0 184M 0% /run/user/0
121.89.195.187:/app/cdn 40G 2.6G 38G 7% /home/project #已经挂载上了
6、挂载成功,进入共享文件目录,查看文件和测试创建文件
[root@iZwz917v5v3z71u4q0qly0Z home]# cd project/ #进入挂载的目录,查看里面的文件
[root@iZwz917v5v3z71u4q0qly0Z project]# ll
total 0
-rw-r--r-- 1 root root 0 Aug 14 17:49 a.txt
-rw-r--r-- 1 root root 0 Aug 14 17:49 b.txt
[root@iZwz917v5v3z71u4q0qly0Z project]# touch c.txt #测试在共享文件夹里创建文件
[root@iZwz917v5v3z71u4q0qly0Z project]# ll
total 0
-rw-r--r-- 1 root root 0 Aug 14 17:49 a.txt
-rw-r--r-- 1 root root 0 Aug 14 17:49 b.txt
-rw-r--r-- 1 root root 0 Aug 14 17:55 c.txt
[root@iZwz917v5v3z71u4q0qly0Z project]#
7、一些其它命令和配置的说明
1.客户端永久挂载
vi /etc/fstab
在最后添加一行
121.89.195.187:/app/cdn /home/project/ nfs defaults 1 1
2.取消挂载
umount /home/project
3.停止nfs服务
systemctl start nfs-server
4.重启nfs服务
systemctl restart nfs-server
5.查看nfs状态
systemctl status nfs-server
6.服务端/etc/exports对客户端的参数配置参考
ro 该主机对该共享目录有只读权限
rw 该主机对该共享目录有读写权限
root_squash 客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户
no_root_squash 客户机用root访问该共享文件夹时,不映射root用户
all_squash 客户机上的任何用户访问该共享目录时都映射成匿名用户(nfsnobody)
no_all_squash 与all_squash取反(默认设置)
anonuid=XXX 将客户机上的用户映射成指定的本地用户ID的用户(UID=xxx)
anongid=XXX 将客户机上的用户映射成属于指定的本地用户组ID (GID=xxx)
sync 资料同步写入到内存与硬盘中,效率低,但可以保证数据的一致性
async 资料会先暂存于内存中,而非直接写入硬盘
insecure 允许从这台机器过来的非授权访问
subtree_check 如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)
no_subtree_check 和上面相对,不检查父目录权限
wdelay 检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率(默认设置)
no_wdelay 如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。若有写操作则立即执行,应与sync配合使用
hide 在NFS共享目录中不共享其子目录
no_hide 共享NFS目录的子目录
secure NFS通过1024以下的安全TCP/IP端口发送
insecure NFS通过1024以上的端口发送
参数参考来着:https://blog.csdn.net/fenglailea/article/details/88060641