NFS:网络文件系统 unix和unix之间做文件共享(现在用于linux之间文件共享)
SUN:java mysql solaris(unix) NFS v4 linux
NFS配置案例:
服务端
服务端需要安装包:
共享目录/data
①server端目前创建一个/data目录,
②编辑配置文件vim /etc/exports
③将权限修改为:chmod 777 /data
④关闭防火墙。
systemctl stop firewalld
客户端
①:查看服务器端共享的文件showmount -e 172.25.0.11
手动挂载:mount -t nfs 172.25.0.11:/data /mnt
开机自动挂载:(这里不需要在defaults_netdev ,因为nfs格式就告诉系统不是本地磁盘了,启动的时候只会加载本地磁盘。)
vim /etc/fstab
172.25.0.11:/data /mnt nfs defaults 0 0
=================
场景1:client至server端的网络突然故障,或则server端的nfs服务故障,会造成client访问/mnt时出现卡死的现象:
恢复后关掉server端的网卡:
client端同样会卡掉。
测试在网络中断的情况下重启client
在网络中断的情况下最终可以启动成功,但是没有挂在到这个NFS设备。等nfs网络再恢复的时候也不会自动挂载。
如何解决这个问题????
=======================================================================
使用按需自动挂载来解决上述问题,按需挂载,需要的时候才会挂载。
按需自动挂载在/mydata/test/nfs (一般使用自动挂载要在两级以上的目录下面),实际上是客户端触发这个目录的时候就自动挂载。
客户端按需自动挂载
①yum -y install autofs
②配置autofs配置文件,主配置文件存放在/etc/auto.master中,
这个文件有自动挂载的目录的上级目录,以及挂载目录的最后一级目录的子配置文件。
本例中最终是挂载到/mydata/test/nfs目录下,这个完整的目录是存放在两个配置文件中的。
首先第一级目录至倒数第二级目录/mydata/test的配置是存放在/etc/auto.master中的,
同时这个文件会指定子配置文件,本例中指定的子配置文件是/etc/auto.nfs(名字可以随意指定)。
在/etc/auto.nfs中配置最后一级目录nfs。nfs -rw 172.25.0.11:/data
systemctl restart autofs #重启autofs服务,/mydata/test如果不存在会自动创建
触发最后一级目录cd 、touch 、mkdir
按需自动挂载不需要写/etc/fsta配置。/etc/fstab文件可以认为是开机自动挂载。
安需挂载,这个目录过一段时间不使用就自动卸载了:
===============================
nfs共享
服务端
mkdir /data; chmod 777 /data
vim /etc/exports
/data 172.25.0.0/24(rw)
systemctl restart nfs
注意防火墙也要关掉
客户端挂载
vim /etc/fstab
172.25.0.11:/data /mnt nfs defaults 0 0
mount -a
-----------------
客户端自动挂载
yum -y install autofs
systemctl enable autofs;systemctl start autofs
[root@desktop0 ~]# cat /etc/auto.master | grep nfs
/mydata/test /etc/auto.nfs
[root@desktop0 ~]# cat /etc/auto.nfs | grep nfs
nfs 172.25.0.11:/data
/mydata/test/nfs是本地的挂载点
注意:/mydata/test 可以不用创建;nfs目录不能自己创建
重启服务
systemctl restart autofs #/mydata/test如果不存在会自动创建
触发最后一级目录cd touch mkdir