目录
配置NFS服务器
安装nfs软件包
配置共享目录
防火墙放行相关服务
配置NFS客户端
autofs自动挂载
配置autofs
配置NFS服务器
nfs主配置文件参数(/etc/exports)
共享目录 允许地址1访问(选项1,选项2) 循序地址2访问(选项1,选项2)……
允许地址的格式
子网、主机地址、指定域名、*(表示所有主机)
选项
ro 共享目录只可读
rw 共享目录可读可写
all_squash 将远程访问的用户以及所属用户组都映射为匿名用户和匿名用户组
no_all_squash 与all_quash相反
anonuid=xxx 将远程访问的用户都映射为匿名用户,并指定该匿名用户为本地用户
sync 将数据同步写入到内存缓冲区与磁盘中(保证数据的一致性)
asyn 先将数据保存在内存缓冲区,需要时再写入硬盘
secure 限制客户端只可以从小于1024的TCP/IP端口连接FNS服务器(默认)
insecure 允许从大于1024的端口连接NFS服务器
安装nfs软件包
NFS服务所需的进程
rpc.nfsd nfs的主要进程,负责管理客户端的登录,判别登入者ID
rpc.mountd 负责管理NFS的文件系统,通过读取NFS主要配置文件/etc/exports对客户端进行权限锁定
rpc.lockd 非必要进程,主要解决多个客户端同时写入的问题(必须在客户端和服务端都开启才有用,长与statd同时使用)
rpc.statd 非必要进程,用于检查文件的一致性,检查文件是否被摧毁(必须在客户端和服务端都开启才有效)
为了支持NFS,需要启用多个服务进程,每个进程都会占用一个端口来传输数据;其中除了nfsd使用固定的2049端口,其余的都随机使用小于1024的端口,用户如何知道这些端口,
此时就需要使用rpcbind服务进程来实现
rpcbind 管理ROC服务进程和端口之间的映射关系(NFS服务进程启用时,选取端口,向rpcbind注册映射消息;客户端请求NFS相关进程时,先请求rpcbind得到相应的端口,然后再通过端口与对应进程建立通信)
启动NFS服务
安装软件包
安装nfs-utils包:包含nfsd、mountd、lockd、statd等服务端的守护进程和客户端相关工具
安装rpcbind包:包含rpcbind进程
yum -y install nfs-utils
yum -y install rpcbind
注意:安装完nfs-utils后,rpcbind默认启动
启用相关服务
systemctl start nfs服务
systemctl start rpcbind
查看服务状态
systemctl status nfs服务
systemctl status rpcbind
设置开机自启动服务
systemctl enable nfs服务
systemctl enable rpcbind
配置共享目录
创建目录
mkdir -p /nfs1/share1
更改权限
chmod 777 /nfs1/share1
配置共享目录到nfs的主配置文件/etc/exports下
vim /etc/exports
/nfs1/share1 172.25.250.*(rw,sync,all_squash)
重新挂载(exportfs 管理NFS服务器共享的文件系统)
export -ar 重新加载NFS配置文件(或者重启nfs服务也可以)
-a 全部
-r 重新挂载某个目录
-u 客户端:目录 卸载某个目录(并没有删除配置文件的内容)
-v 显示NFS服务器上的所有共享目录(显示详细信息)
检查共享目录是否设置正确(shownmount)
showmount -e 显示NFS服务器上所有的共享目录-显示简要信息
-d 仅显示已经被NFS客户端加载的目录
防火墙放行相关服务
可以在文件/etc/sysconfig/nfs为每个服务进程设置固定端口,然后防火墙放行
也可以直接防火墙放行所有nfs服务
firewall-cmd --add-service=nfs 防火墙放行NFS服务
配置NFS客户端
安装nfs软件包
yum -y install nfs-utils
启用相关服务
systemctl start nfs服务
systemctl start rpcbind
查看服务状态
systemctl status nfs服务
systemctl status rpcbind
设置开机自启动服务
systemctl enable nfs服务
systemctl enable rpcbind
检查共享目录是否设置正确
showmount -e nfs服务器地址
挂载到NFS服务器的文件到本地
mkdir -p /media/nfs1 创建挂载点
临时挂载
mount -t nfs 服务器地址: /nfs1/share1 /media/nfs1 将服务器上的/nfs1/shar1挂载到本地/media/nfs1目录
永久挂载
服务器地址:/nfs1/share1 /media/nfs1 nfs rw,sync 0 0
sync 缓冲和磁盘一起写入,防止数据丢失
autofs自动挂载
在NFS客户端配置,取代vim /etc/fstab挂载
为什么需要autofs
由于网络的问题,NFS客户端与服务器的连接不会一直存在,当我们挂载了NFS服务器之后,任何一方脱机都可能造成另一方等待超时,以此通过autofs来解决此问题
autofs自动挂载原理
持续监听某个目录,然后当我们使用某个目录下的子目录时,会根据规则文件自动挂载
对于NFS来说:当客户端在使用NFS文件系统时,才让系统自动挂载;当NFS文件系统使用完毕后,让NFS自动卸载
配置autofs
将nfs服务器的/nfs1/share1挂载到/media/nfsclient
相对路径挂载方法
1、安装软件包
yum install -y autofs
2、启动相关服务
systemctl start autofs.service
systemctl enable autofs.service
3、配置autofs的主映射文件(/etc/auto.master)
/etc/auto.master 进行自动挂载时参考的主映射文件(根据此文件来设置自动挂载时的挂载点)
可以通过在/etc/default/autofs中设置MASTER_MAP_NAME变量来更改默认的主映射文件
文件格式
挂载点的主目录(/media) 挂载点对应的子配置文件(可以任意创建/etc/rule.auto)
4、配置挂载点主目录的子配置文件(/etc/rule.auto)
挂载点的子目录(/nfsclient) 挂载选项(-nfs,rw,sync) 要挂载设备(nfs服务器:/nfs1/share1)
注意使用autofs自动挂载,就不需要主动去创建挂载目录
5、重启autofs服务
systemctl restart autofs
绝对路径挂载方法
1、2、5步同相对路径方法
3、配置主映射文件
/- /etc/rule.auto /-表示使用绝对路径
4、配置子配置文件格式(vim /etc/rule.auto)
/media/nfsclient (-nfs,rw,syns) nfs服务器:/nfs1/share1