触发挂载请求时,autofs 服务执行的具体操作取决于自动挂载程序映射的配置方式。一般情况下,挂载过程对于所有挂载都是相同的。但是,最终结果会因指定的挂载点和映射的复杂性而异。从 Solaris 2.6 发行版开始,也对挂载过程进行了更改,使其包括触发节点的创建。
为帮助说明 autofs 挂载过程,假设已安装了以下文件。
$ cat /etc/auto_master # Master map for automounter # +auto_master /net -hosts -nosuid,nobrowse /home auto_home -nobrowse /share auto_share $ cat /etc/auto_share # share directory map for automounter # ws gumbo:/export/share/ws |
访问 /share 目录时,autofs 服务将为 /share/ws 创建触发节点,/share/ws 是 /etc/mnttab 中类似于以下项的项:
-hosts /share/ws autofs nosuid,nobrowse,ignore,nest,dev=### |
访问 /share/ws 目录时,autofs 服务将通过以下步骤完成该过程:
检查服务器的挂载服务的可用性。
在 /share 下挂载请求的文件系统。此时,/etc/mnttab 文件包含以下项。
-hosts /share/ws autofs nosuid,nobrowse,ignore,nest,dev=### gumbo:/export/share/ws /share/ws nfs nosuid,dev=#### ##### |
在自动挂载程序文件中定义了多层后,挂载过程将变得更加复杂。假设您对上一个示例中的 /etc/auto_shared 文件进行了扩展,使其包含以下内容:
# share directory map for automounter # ws / gumbo:/export/share/ws /usr gumbo:/export/share/ws/usr |
该挂载过程基本上与上一个示例中访问 /share/ws 挂载点时的情况相同。此外,下一层 (/usr) 的触发节点是在 /share/ws 文件系统中创建的,因此可以挂载下一层(如果可以对其进行访问)。在本示例中,/export/share/ws/usr 必须存在于 NFS 服务器上,才能创建触发节点。
指定分层递阶时,请勿使用 -soft 选项。有关此限制的说明,请参阅Autofs 取消挂载。
一段空闲时间后将按相反的顺序(与挂载顺序相反)执行取消挂载过程。如果分层结构中的较高层上的某个目录处于繁忙状态,则只取消挂载该目录下面的文件系统。在取消挂载过程中,将先删除所有触发节点,然后再取消挂载文件系统。如果文件系统处于繁忙状态,则取消挂载将失败并将重新安装触发节点。
指定分层递阶时,请勿使用 -soft 选项。如果使用 -soft 选项,则重新安装触发节点的请求可能会超时。如果重新安装触发节点失败,将不能再访问下一层挂载。解决此问题的唯一方法是让自动挂载程序取消挂载分层结构中的所有组件。自动挂载程序通过等待文件系统自动取消挂载或重新引导系统来完成取消挂载。