Linux 配置NFS与autofs自动挂载

目录

配置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

猜你喜欢

转载自blog.csdn.net/m0_49864110/article/details/129219464