NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样
NFS是运行在应用层的协议。随着NFS多年的发展和改进,NFS既可以用于局域网也可以用于广域网,且与操作系统和硬件无关,可以在不同的计算机或系统上运行。
以下是NFS最显而易见的好处:
1. 节省本地存储空间,将常用的数据存放在一台NFS服务器上且可以通过网络访问,那么本地终端将可以减少自身存储空间的使用。
2. 用户不需要在网络中的每个机器上都建有Home目录,Home目录可以放在NFS服务器上且可以在网络上被访问使用。
3. 一些存储设备如软驱、CDROM和Zip(一种高储存密度的磁盘驱动器与磁盘)等都可以在网络上被别的机器使用。这可以减少整个网络上可移动介质设备的数量。
服务端相关配置
1)安装相关软件,修改配置文件内容
yum install nfs-utils -y
sysctemctl start nfs
firewall-cmd --permanent --add-service=nfs ##设置火墙允许NFS
firewall-cmd --permanent --add-service=rpc-bind ##为客户主机随机分配端口工具
firewall-cmd --permanent --add-service=mountd ##设置用户唯一访问方式挂载可用
firewall-cmd --reload ##刷新火墙策略
firewall-cmd --list-all
mkdir /westos
touch /westos/file{1..5}
3)编写配置文件
vim /etc/exports
/westos *(ro,sync) ##设置共享文件可读,并同步数据(保证文件系统有写的权限)
exportfs -rv ##刷新,不能用重启的方式使设置生效
客户端测试:
showmount -e 172.25.6.106
mount 172.25.254.121:/westos /mnt
在服务端的共享文件中写入新的内容,检验数据是否在客户端同步
证明共享文件不用重新挂载就能实时更新
客户端安装相关软件
yum install autofs.x86_64 -y
查询配置文件
注意:
vim /etc/sysconfig/autofs ##7.0版配置文件名
vim /etc/auto.conf ##7.3版配置文件名
vim /etc/sysconfig/autofs ##退出共享目录后自动卸载的时间——3秒后自动卸载
systemctl restart autofs
测试:
切换路径,退出共享目录,查看挂载——挂载存在,过三秒后查看挂载——挂载消失
在服务端设置
vim /etc/auto.master ##主配置文件
在第8行进行编写,【/mnt】是自定义挂载点的上层目录,【/etc/auto.westos】是子策略文件(为了规范,仿照第7行命名,子策略文件需要自己编写)
vim /etc/auto.westos ##结合前面的主配置文件:将服务端/westos挂载到客户端/mnt/test下
systemctl restart autofs.service
测试:
注意:当进入/mnt下时,查看目录内的内容,我们发现什么都没有;但是依然可以进入挂载点。当然我们可以通过在服务端进行相关参数的设置使挂载点不隐藏
在服务端配置:
vim /etc/exports
/westos *(ro,sync) 172.25.6.106(rw,sync,anonuid=1002,anongid=1002)
chmod 777 -R /westos
在服务端进行测试:
默认情况下,共享文件的更改时间会随客户端的访问而改变
当N个客户端频繁访问时,为缓解服务器的压力,可以选择不更新文件更改的时间
vim /etc/auto.westos
westos -rw notime 172.25.6.106/westos
查看挂载版本
mount
vim /etc/auto.westos
test -vers=3 172.25.6.106:/westos
systemctl restart autofs.service
test -vers=3,soft 172.25.6.106:/westos
systemctl restart autofs.service