首页/系统/Linux 运维命令速查/systemd 自动挂载(automount)
systemd 与服务42 条

systemd 自动挂载(automount)

.automount 单元实现按需挂载:访问路径时才挂载底层 .mount,配合 noauto 与超时策略,适合不常用的大容量存储。

Linux 运维命令速查系统更新于 2026-10-13

按需挂载是什么

systemd 的自动挂载由一对单元配合实现:描述挂载点的单元负责真正的挂载动作,自动挂载单元负责在指定路径上设置一个触发器。平时该路径并没有挂上存储,只有在进程访问这个路径时才触发挂载,空闲一段时间后再自动卸载。适合不常用但需要保留访问入口的存储,例如备份盘、冷数据卷。

基本信息

适用平台systemd 发行版(单元名以路径为基础命名)
实现方式自动挂载单元与对应的挂载单元成对使用
关键参数触发路径、空闲卸载时间、目录权限
fstab 写法在挂载项里加上按需挂载相关选项即可由系统自动生成单元

典型使用场景

  • 备份盘平时不挂载,备份脚本访问路径时才自动挂上
  • 外接大容量存储按需启用,避免常驻占用与误删除
  • 网络共享在访问时才建立连接,减少空闲长连接
  • 多台机器共用同一套挂载策略,用单元统一管理
  • 排查访问某个目录时命令卡住,确认是否触发了自动挂载

单元示例

单元示例
# /etc/systemd/system/data.automount
[Unit]
Description=Automount data volume
[Automount]
Where=/data
TimeoutIdleSec=10min      # 空闲十分钟后自动卸载
[Install]
WantedBy=multi-user.target
# 另需 /etc/systemd/system/data.mount 描述真实挂载,切勿单独启用它

启用与检查

启用与检查
sudo systemctl daemon-reload
sudo systemctl enable --now data.automount     # 启用自动挂载单元
systemctl status data.automount                # 确认触发器已就绪
ls /data && findmnt /data                      # 访问后确认已挂载
systemctl list-units --type=automount          # 列出所有自动挂载单元
findmnt -o TARGET,SOURCE,FSTYPE /data          # 核对实际来源

参数读法

参数作用注意
Where触发器监听的路径必须与挂载单元描述的路径一致
TimeoutIdleSec空闲多久后自动卸载设得过短会导致频繁挂载卸载
挂载单元内容真实挂载参数与来源不要单独启用挂载单元
目录权限相关参数自动创建目录时的权限影响访问者能否进入该路径
在挂载配置里加按需挂载选项,系统会自动生成对应的自动挂载单元,比手写两份单元更省事,也便于统一管理。

使用建议

  • 命名与路径保持一致,避免单元之间对不上号
  • 空闲卸载时间根据访问规律设置,不宜过短
  • 启用后先用访问动作验证确实会自动挂载
  • 检查挂载来源与预期一致,避免挂到别的设备
  • 用状态命令确认触发器的启用状态与最近活动
空闲卸载后如果仍有进程的工作目录停留在该路径上,访问会被重新触发挂载,排查卡顿时要把这一点考虑进去。

易错点

  • 自动挂载单元与挂载单元的名字必须与路径匹配,名字不一致会静默不触发
  • 误把挂载单元单独启用,会绕过按需机制变成常驻挂载,与设计意图相悖
  • 网络存储空闲卸载后再次访问可能因链路抖动触发大量重试,需要配合超时与监控
  • 空闲时间设置过短导致频繁挂载卸载,性能与日志噪声都会变差

数据来源与参考

  • man 5 systemd.automount
  • man 5 systemd.mount

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌