x-systemd.automount 是否按预期工作?

x-systemd.automount 是否按预期工作?

我有以下条目/etc/fstab

UUID=foo /media/bar xfs noauto,x-systemd.automount,nofail,x-systemd.device-timeout=1,noatime 0 2

运行cat /proc/mounts | grep bar返回以下内容:

systemd-1 /media/bar autofs rw,relatime,fd=41,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=1419 0 0
/dev/sdb1 /media/bar xfs rw,noatime,attr2,inode64,noquota 0 0

有几点我不明白:

  • 这个“重复”条目正常吗?
  • 为什么 systemd 行显示autofsandrelatime而不是xfsand noatime
  • 当此驱动器拔出时,我可以启动,但我无法访问除以下分区之外的任何分区/例如 ls /可以工作,但ls /media/bar甚至ls ~不能工作(/home在单独的分区上)。

据我所知,第三个问题可能与此无关,但我仍然对前两个问题感兴趣。

答案1

这个“重复”条目正常吗?

是的,这是正常的。这是 autofs 的工作原理(见下文)。

为什么 systemd 行显示 autofs 和 relatime 而不是 xfs 和 noatime ?

再次,这就是autofs 内核子系统作品。

在启动时,systemd 会在所需的挂载点上挂载一个伪文件系统autofs。其挂载选项不应该也不会与您想要的挂载选项相对应。

当用户空间访问此挂载点以下的任何文件时,Linux 内核会暂停用户空间进程,通知 systemd(它将真实xfs文件系统挂载到伪autofs文件系统上,具体方法请参见相应的.mount我们首先将文件系统划分为一个单元(unit),最后允许用户空间继续运行,然后访问真实的文件系统。

拔下此驱动器后,我可以启动,但无法访问除 /!之外的任何分区。例如,ls / 可以工作,但 ls /media/bar 甚至 ls ~ 都不行(/home 位于单独的分区上)。

访问应该自动挂载但无法自动挂载的挂载点下的路径(例如,由于缺少驱动器)将失败。如果 systemd 无法在伪文件系统上挂载真实文件系统,则内核将向访问进程返回失败。

如果/home没有自动安装,那么我无法解释/home无法访问的情况。

相关内容