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)

以上配置列出了

配置生效

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

文档信息