Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

8.3. autofs

使用 /etc/fstab 的一个缺点是,无论用户如何频繁地访问 NFS 挂载的文件系统,系统都必须指定资源来保留挂载的文件系统。个或两个挂载没有问题,但当系统同时维护到多个系统的挂载时,整体系统性能可能会受到影响。/etc/fstab 的替代方法是使用基于内核的 自动挂载 程序。自动挂载器由两个组件组成:
  • 实施文件系统的内核模块,以及
  • 执行所有其他功能的用户空间守护进程。
自动挂载 程序可以自动挂载和卸载 NFS 文件系统(按需挂载),从而节省系统资源。它可用于挂载其他文件系统,包括 AFS、SMBFS、CIFS、CIFS 和本地文件系统。
重要
nfs-utils 软件包现在同时属于"NFS 文件服务器"和"网络文件系统客户端"组。因此,默认情况下,Base 组不再安装它。尝试自动挂载 NFS 共享之前,先确保系统上已安装 nfs-utils。
autofs 也是"网络文件系统客户端"组的一部分。
autofs 使用 /etc/auto.master (主映射)作为其默认主配置文件。这可以更改为使用其他受支持的网络源和名称(使用 autofs 配置(在 /etc/sysconfig/autofs中)以及 Name Service Switch(NSS)机制。为主映射中配置的每个挂载点运行了一个 autofs 版本 4 守护进程的实例,因此可以在命令行中针对任何给定挂载点手动运行。autofs 版本 5 无法执行此操作,因为它使用单个守护进程来管理所有配置的挂载点;因此,必须在主映射中配置所有自动挂载。这符合其他行业标准自动挂载器的常规要求。挂载点、主机名、导出的目录和选项都可以在一组文件(或其他支持的网络源)中指定,而不必为每个主机手动配置它们。

8.3.1. autofs 版本 5 与版本 4 的改进

autofs 版本 5 与版本 4 相比有以下改进:
直接映射支持
autofs 中的直接映射提供了一种在文件系统层次结构中的任意点自动挂载文件系统的机制。直接映射由主映射中的 /- 挂载点表示。直接映射中的条目包含绝对路径名称作为键(而不是间接映射中使用的相对路径名称)。
lazy 挂载和卸载支持
多挂载映射条目描述单个键下的挂载点层次结构。其中的一个很好的例子是 -hosts 映射,通常用于自动挂载 /net/host 下主机的所有导出作为多挂载映射条目。使用 -hosts 映射时,/net/主机的 ls 将挂载 autofs 触发每个导出 的主机 的挂载。这些内容将在访问时挂载并过期。这可大幅减少访问具有大量导出的服务器时所需的活动挂载数量。
增强的 LDAP 支持
autofs 配置文件(/etc/sysconfig/autofs)提供了一种机制,用于指定站点实施的 autofs 架构,从而无需通过试用和应用本身中的错误来确定这一点。此外,现在支持与 LDAP 服务器进行验证的绑定,使用常见 LDAP 服务器实施支持的大多数机制。为此支持添加了一个新的配置文件: /etc/autofs_ldap_auth.conf。默认的配置文件是自文档,使用 XML 格式。
正确使用名称服务切换(nsswitch)配置。
存在 Name Service Switch 配置文件,以提供从何处确定特定配置数据的方法。这种配置的原因是让管理员可以灵活地使用选定的后端数据库,同时维护统一的软件接口来访问数据。尽管在使用 NSS 配置时,版本 4 自动挂载程序变得越来越好,但它仍然不完整。另一方面,autofs 版本 5 是一个完整的实施。
有关该文件支持的语法的更多信息,请参阅 man nsswitch.conf。并非所有 NSS 数据库都是有效的映射源,解析器将拒绝无效映射源。有效的源包括文件、ypnisnisplusldaphesiod
每个 autofs 挂载点有多个主映射条目
经常使用但还没有提及的是,为直接挂载点 /- 处理多个主映射条目。每个条目的映射键合并,并以一个映射的形式运行。

例 8.2. 每个 autofs 挂载点有多个主映射条目

以下是直接挂载的 connectathon 测试映射中的示例:
/- /tmp/auto_dcthon
/- /tmp/auto_test3_direct
/- /tmp/auto_test4_direct