Autofs
Autofs 简介
autofs服务程序是一种Linux系统守护进程,当检测到用户试图访问一个尚未挂载的文件系统时,将自动挂载该文件系统。将信息填入/etc/fstab文件后,系统在每次开机时都自动将其挂载,当nfs服务器未准备好或者网络未准备好时,挂载会失败.
而autofs服务程序则是在用户需要使用该文件系统时才会动态挂载,从而节约了网络资源和服务器硬件资源的开销。
Autofs非常方便,主要有两点:
1)设置开机不一定要挂载的目录,当用的时候才实现自动挂载。
2)用户不使用自动挂载的目录一段的时间,会自动卸载。(默认时间为10分钟)
NFS
服务器安装配置NFS服务
安装NFS server
sudo apt install nfs-kernel-server
设定共享目录
sudo vim /etc/exports
/mnt/ssd 192.168.100.0/24(rw,sync,no_subtree_check)
# 换行
/data/mirror \
10.8.250.208(ro,sync,no_subtree_check) \
10.8.250.209(ro,sync,no_subtree_check) \
10.8.251.249(ro,sync,no_subtree_check) \
10.8.251.250(ro,sync,no_subtree_check)
以上配置列出了
-
此 NFS 共享的目录(/mnt/ssd)
-
可连接此 NFS 共享的主机范围,此处以内网 IP 的子网内主机作为被允许范围
-
配置项 可配置的配置项如下:
-
ro:指定目录只能以只读方式挂载
-
rw:授予对目录的读写权限
-
no_root_squash:这是一个非常危险的选项,它允许远程 root 用户与主机的 root 用户享有相同的特权
-
subtree_check:指定在导出目录而不是整个文件系统的情况下,主机应验证主机文件系统上文件和目录的位置
-
no_subtree_check:指定主机不应检查通过主机文件系统访问的文件的位置
-
sync:这只是确保主机使上传到共享目录的所有更改保持同步
-
async:忽略同步检查以提高速度
配置生效
sudo exportfs -ar
安装autofs服务
[root@centos ~]# yum -y install autofs
[root@debian ~]# apt -y install autofs
默认配置
debian: /etc/default/autofs redhat: /etc/sysconfig/autofs
可以取消自动卸载
# TIMEOUT - set the default mount timeout (default 600).
#
TIMEOUT=0
编辑/etc/auto.master
如果把挂载信息都写入到autofs服务的主配置文件中,会使主配置文件臃肿不堪,不利于管理和维护。因此在autofs的主配置文件中按照"挂载目录的上层目录子配置文件"的格式填写,具体的挂载信息写入到子配置文件中,方便日后管理和维护。
[root@localhost ~]# vim /etc/auto.master
# 添加以下内容
/data /etc/auto.nfs
# 如果想挂载到根目录下的一级目录:
/- /etc/auto.nfs
编辑auto.nfs
[root@localhost ~]# vim /etc/auto.nfs
# 添加以下内容
nfs -fstype=nfs,rw,sync 172.168.1.65:/data/nfs
# 一级目录则为:
/nfs -fstype=nfs,rw,sync 172.168.1.65:/data/nfs
# 挂载后的子目录,bind到其他目录,可以再继续添加一行bind的
/var/lib/jenkins -fstype=bind :/nfs/jobs
注:NFS的本地挂载子目录为nfs,-fstype=nfs表示类型为nfs,rw、sync是挂载使用的权限,172.168.1.65:/data/nfs是远程NFS挂载目录。
启动Autofs服务
[root@localhost ~]# systemctl start autofs
验证自动挂载
# 先使用df -h查看是否已经挂载
[root@localhost ~]# df -h
# 使用cd命令触发自动挂载
[root@localhost ~]# cd /data/nfs
[root@localhost nfs]# ls -l
[root@localhost nfs]# df -h
# 结果显示已自动挂载
至此,Autofs自动挂载搭建完毕。
OverlayFS只读挂载
编辑 /etc/auto.master 文件,添加新的挂载点配置:
/mnt /etc/auto.overlay --timeout=60
/mnt 是挂载点的根路径,autofs 会自动管理其下的目录。
/etc/auto.overlay 是挂载配置文件的路径。
--timeout=60 指定闲置 60 秒后自动卸载。
创建 autofs 配置文件
/etc/auto.overlay
dir3 -fstype=overlay,lowerdir=/mnt/dir2:/mnt/dir1 :overlay
dir3 是挂载点名称,最终会挂载到 /mnt/dir3。
-fstype=overlay,lowerdir=/mnt/dir2:/mnt/dir1 定义了 OverlayFS 的挂载参数。
:overlay 是文件系统类型。
重启autofs
sudo systemctl restart autofs
验证
ls /mnt/dir3
文档信息
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
- 发表日期: 2022-08-31T10:11:38+08:00