应用场景
tomcat集群中,主备指定某个文件夹,文件共享
效果图
NFS服务器:192.168.254.129
从服务器:192.168.254.130
1、nfs服务需要的rpm包下载地址:https://download.csdn.net/download/qq_35197601/10782606
2、安装、编译
[root@localhost soft]# rpm -Uvh *.rpm --nodeps --force
Updating / installing...
1:glibc-2.17-222.el7 ################################# [ 9%]
2:libtirpc-0.2.4-0.10.el7 ################################# [ 18%]
3:rpcbind-0.2.0-44.el7 ################################# [ 27%]
4:keyutils-1.5.8-3.el7 ################################# [ 36%]
5:libevent-2.0.21-4.el7 ################################# [ 45%]
6:nfs-utils-1:1.3.0-0.54.el7 ################################# [ 55%]
7:libgssglue-0.4-2.el7.nux ################################# [ 64%]
8:net-tools-2.0-0.22.20131004git.el################################# [ 73%]
9:nfs-utils-lib-1.1.5-13.el6 ################################# [ 82%]
10:libevent-2.0.21-4.el7 ################################# [ 91%]
11:xinetd-2:2.3.14-29.el6 ################################# [100%]
3、新减/home/nfs文件夹,编辑exports文件,添加从机
[root@localhost soft]# vi /etc/exports
/home/nfs 192.168.254.130(rw,sync,all_squash,anonuid=0,anongid=0)
配置说明:
这一行分为三个部分:
第一部分:/home/nfs ,这个是本地要共享出去的目录。
第二部分:192.168.254.130 ,允许访问的主机,
第三部分:括号中部分。
rw表示可读写,ro只读;
sync :同步模式,内存中数据时时写入磁盘;async :不同步,把内存中数据定期写入磁盘中;
no_root_squash :加上这个选项后,root用户就会对共享的目录拥有至高的权限控制,就像是对本机的目录操作一样。不安全,不建议使用;root_squash:和上面的选项对应,root用户对共享目录的权限不高,只有普通用户的权限,即限制了root;all_squash:不管使用NFS的用户是谁,他的身份都会被限定成为一个指定的普通用户身份;
anonuid/anongid :要和root_squash 以及all_squash一同使用,用于指定使用NFS的用户限定后的uid和gid,前提是本机的/etc/passwd中存在这个uid和gid。
fsid=0表示将/home/nfs整个目录包装成根目录
使配置及时生效
[root@localhost soft]# exportfs -rv
4、启动A机上rpcbind,nfs服务
[root@localhost soft]# systemctl enable rpcbind.service
[root@localhost soft]# systemctl enable nfs-server.service
[root@localhost soft]# systemctl start rpcbind.service
[root@localhost soft]# systemctl start nfs-server.service
5、查看可挂载目录及可连接的IP
[root@localhost soft]# showmount -e 192.168.254.129
Export list for 192.168.254.129:
/home/nfs 192.168.254.130
6、暂时先关闭防火墙,后面介绍nfs需要开放的端口
[root@localhost soft]# systemctl stop firewalld.service
7、切换到从机,安装nfs,并启动服务。
[root@localhost soft]# systemctl enable rpcbind.service
[root@localhost soft]# systemctl start rpcbind.service
8、检查 NFS 服务器端是否有目录共享
[root@localhost soft]# showmount -e 192.168.254.129
9、使用mount挂载文件夹
[root@localhost soft]# mount -t nfs 192.168.254.129:/home/nfs/ /home/nfs/
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 17G 1018M 16G 6% /
devtmpfs 476M 0 476M 0% /dev
tmpfs 488M 0 488M 0% /dev/shm
tmpfs 488M 7.7M 480M 2% /run
tmpfs 488M 0 488M 0% /sys/fs/cgroup
/dev/sda1 1014M 130M 885M 13% /boot
tmpfs 98M 0 98M 0% /run/user/0
192.168.254.129:/home/nfs 17G 1.1G 16G 6% /home/nfs
挂载完成,可以正常访问本机下的/home/nfs,如果在129在共享目录/home/nfs中写入文件,130上可以看到,但是不能在这个目录中写入文件.
10、在客户端实现挂载,编辑vi /etc/fstab,添加以下内容
192.168.254.129:/home/nfs /home/nfs nfs nolock 0 0
保存后,重新挂载
[root@localhost soft]# mount -a
11、上面配置必须关闭防火墙才可以,以下开启防火墙,开放nfs服务需要的端口,执行以下命令,开启端口
firewall-cmd --permanent --zone=public --add-port=111/tcp;
firewall-cmd --permanent --zone=public --add-port=111/udp;
firewall-cmd --permanent --zone=public --add-port=2049/tcp;
firewall-cmd --permanent --zone=public --add-port=2049/udp;
firewall-cmd --permanent --zone=public --add-port=1001/tcp;
firewall-cmd --permanent --zone=public --add-port=1001/udp;
firewall-cmd --permanent --zone=public --add-port=32803/tcp;
firewall-cmd --permanent --zone=public --add-port=32769/udp;
firewall-cmd --permanent --zone=public --add-port=892/tcp;
firewall-cmd --permanent --zone=public --add-port=892/udp;
firewall-cmd --reload
12、编辑/etc/sysconfig/nfs,添加以下内容
RQUOTAD_PORT=1001
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
reboot 测试!!!大功告成!!!
参考博客:https://blog.csdn.net/u014635472/article/details/71375048,https://blog.csdn.net/w171066/article/details/52934862