目录
1、autofs自动挂载的概述
autofs 是一种自动挂载工具,主要用于 Linux 和类 Unix 系统,它可以在需要访问某个文件系统时自动挂载该文件系统,并在一段时间内无访问操作后自动卸载。这种方式可以节省系统资源,同时提高安全性
常见使用场景
(1)NFS 自动挂载:自动挂载网络文件系统(NFS),方便用户访问远程存储
(2)SMB/CIFS 自动挂载:自动挂载 Windows 共享目录
(3)本地分区自动挂载:自动挂载本地分区,例如挂载 USB 设备
1.1 autofs 的工作原理
(1) 自动挂载:当用户尝试访问某个目录时(比如 /mnt/nfs),如果该目录尚未挂载,autofs 会自动触发挂载操作。
(2) 自动卸载:如果在设定的时间内没有对该目录进行访问操作,autofs 会自动卸载该目录,释放系统资源。
1.2、配置文件
autofs 的行为由配置文件控制,主要配置文件包括 /etc/auto.master 和 /etc/auto.*。
(1)主配置文件 :/etc/auto.master
**用于定义挂载点和对应的映射文件
**格式:
挂载点 映射文件 挂载选项
**示例:
/mnt/nfs /etc/auto.nfs --timeout=60
- /mnt/nfs 是挂载点。
- /etc/auto.nfs 是映射文件,定义了具体挂载的文件系统。
- --timeout=60 表示如果 60 秒内没有访问操作,则自动卸载
(2)映射文件
映射文件(如 /etc/auto.nfs)定义了具体的挂载信息
**格式:
目录名 挂载选项 挂载的文件系统
**示例:
home -fstype=nfs,rw 192.168.1.10:/home
- home 是挂载点下的子目录(即 /mnt/nfs/home)
- -fstype=nfs,rw 表示使用 NFS 挂载,且以读写方式挂载
- 192.168.1.10:/home 是 NFS 服务器的地址和共享路径
2、安装和启动
(1)centos rockylinux安装如下
yum install -y autofs
(2)启动服务
systemctl enable --now autofs
3、配置
3.1、/etc/auto.master 配置
vim /etc/auto.master
/mnt/nfs /etc/auto.nfs --timeout=60
- /mnt/nfs 是挂载点,表示所有通过 /etc/auto.nfs 配置的文件系统都会被挂载到 /mnt/nfs 目录下。例如,如果 /etc/auto.nfs 中定义了一个名为 home 的挂载点,那么实际的挂载路径将是 /mnt/nfs/home
- /etc/auto.nfs 表示映射文件,这是映射文件,它定义了具体的挂载信息。autofs 会根据这个文件中的内容来决定如何挂载文件系统。
- --timeout=60 这是挂载的超时时间,单位是秒。如果在 60 秒内没有对该挂载点进行访问操作,autofs 会自动卸载该挂载点,释放系统资源。这有助于节省资源,尤其是在挂载远程文件系统(如 NFS)时
3.2、/etc/auto.nfs 文件配置
示例:
vim /etc/auto.nfs
home -fstype=nfs,rw 192.168.1.10:/home
data -fstype=nfs,rw 192.168.1.10:/data
- /mnt/nfs/home:
如果 /mnt/nfs/home 尚未挂载,autofs 会自动挂载 192.168.1.10:/home 到 /mnt/nfs/home。
如果已经挂载,autofs 会直接访问该目录。
- /mnt/nfs/data:
如果 /mnt/nfs/data 尚未挂载,autofs 会自动挂载 192.168.1.10:/data 到 /mnt/nfs/data。
如果已经挂载,autofs 会直接访问该目录。
- 自动卸载:
如果在 60 秒内没有访问 /mnt/nfs/home 或 /mnt/nfs/data,autofs 会自动卸载这些挂载点。
4、重启服务
systemctl restart autofs