autofs
One drawback to using /etc/fstab
is that, regardless of how infrequently a user accesses the NFS mounted file system, the system must dedicate resources to keep the mounted file system in place. This is not a problem with one or two mounts, but when the system is maintaining mounts to many systems at one time, overall system performance can be affected. An alternative to /etc/fstab
is to use the kernel-based automount utility. An automounter consists of two components. One is a kernel module that implements a file system, while the other is a user-space daemon that performs all of the other functions. The automount utility can mount and unmount NFS file systems automatically (on demand mounting) therefore saving system resources. The automount utility can be used to mount other file systems including AFS, SMBFS, CIFS and local file systems.
Autofs direct maps provide a mechanism to automatically mount file systems at arbitrary points in the file system hierarchy. A direct map is denoted by a mount point of "/-" in the master map. Entries in a direct map contain an absolute path name as a key (instead of the relative path names used in indirect maps). Multimount map entries describe a hierarchy of mount points under a single key. A good example of this is the "-hosts" map, commonly used for automounting all exports from a host under " The Lightweight Directory Access Protocol, or LDAP, support in autofs version 5 has been enhanced in several ways with respect to autofs version 4. The autofs configuration file ( The Name Service Switch configuration file exists to provide a means of determining from where specific configuration data comes. The reason for this configuration is to allow administrators the flexibility of using the back-end database of choice, while maintaining a uniform software interface to access the data. While the version 4 automounter is becoming increasingly better at handling the name service switch configuration, it is still not complete. Autofs version 5, on the other hand, is a complete implementation. See the manual page for nsswitch.conf for more information on the supported syntax of this file. Please note that not all nss databases are valid map sources and the parser will reject ones that are invalid. Valid sources are files, yp, nis, nisplus, ldap and hesiod.
One thing that is frequently used but not yet mentioned is the handling of multiple master map entries for the direct mount point "/-". The map keys for each entry are merged and behave as one map.
An example is seen in the connectathon test maps for the direct mounts below:
The primary configuration file for the automounter is where:
The following is a sample The general format of maps is similar to the master map, however the "options" appear between the mount point and the location instead of at the end of the entry as in the master map:
where:
The following is a sample map file:
The first column in a map file indicates the autofs mount point ( The automounter will create the directories if they do not exist. If the directories exist before the automounter was started, the automounter will not remove them when it exits. You can start or restart the automount daemon by issuing the following command:
or
Using the above configuration, if a process requires access to an autofs unmounted directory such as You can view the status of the automount daemon by issuing the following command in your terminal:
It can be useful to override site defaults for a specific mount point on a client system. For example, assuming that the automounter maps are stored in NIS and the and the NIS Also assume the NIS and the file map For the above example, lets assume that the client system needs to mount home directories from a different server. In this case, the client will need to use the following And the Because only the first occurrence of a mount point is processed, Alternatively, if you just want to augment the site-wide Given the NIS This last example works as expected because LDAP client libraries must be installed on all systems which are to retrieve automounter maps from LDAP. On RHEL 5, the The most recently established schema for storing automount maps in LDAP is described by Ensure that these are the only schema entries not commented in the configuration. Please also note that the Any number of maps can be combined into a single map in this manner. This feature is no longer present in v5. This is because Version 5 supports included maps which can be used to attain the same results. Consider the following multi-map example:
This can be replaced by the following configuration for v5:
In this way, the entries from In version 5, this is no longer the behaviour. Only the first master map found from the list of sources in The above configuration will merge the contents of the file-based This limitation can be overcome by creating a master maps that have a different name in the source. In the example above if we had an LDAP master map named autofs
uses /etc/auto.master
(master map) as its default primary configuration file. This can be changed to use another supported network source and name using the autofs configuration (in /etc/sysconfig/autofs
) in conjunction with the Name Service Switch mechanism. An instance of the version 4 daemon was run for each mount point configured in the master map and so it could be run manually from the command line for any given mount point. This is not possible with version 5 because it uses a single daemon to manage all configured mount points, so all automounts must be configured in the master map. This is in line with the usual requirements of other industry standard automounters. Mount point, hostname, exported directory, and options can all be specified in a set of files (or other supported network sources) rather than configuring them manually for each host. Please ensure that you have the autofs
package installed if you wish to use this service.
What's new in
autofs
version 5?
/net/<host>
" as a multi-mount map entry. When using the "-hosts
" map, an 'ls
' of "/net/<host>
" will mount autofs trigger mounts for each export from <host>
and mount and expire them as they are accessed. This can greatly reduce the number of active mounts needed when accessing a server with a large number of exports.
/etc/sysconfig/autofs
) provides a mechanism to specify the autofs schema that a site implements, thus precluding the need to determine this via trial and error in the application itself. In addition, authenticated binds to the LDAP server are now supported, using most mechanisms supported by the common LDAP server implementations. A new configuration file has been added for this support: /etc/autofs_ldap_auth.conf
. The default configuration file is self-documenting, and uses an XML format.
nsswitch
) configuration.
/- /tmp/auto_dcthon
/- /tmp/auto_test3_direct
/- /tmp/auto_test4_direct
autofs
Configuration/etc/auto.master
, also referred to as the master map which may be changed as described in the introduction section above. The master map lists autofs-controlled mount points on the system, and their corresponding configuration files or network sources known as automount maps. The format of the master map is as follows:
<mount-point> <map-name> <options>
mount-point
is the autofs mount point such as /home
.
map-name
is the name of a map source which contains a list of mount points, and the file system location from which those mount points should be mounted. The syntax for a map entry is described below.
options
if supplied, will apply to all entries in the given map provided they don't themselves have options specified. This behavior is different from autofs version 4 where the options where cumulative. This has been changed to meet our primary goal of mixed environment compatibility./etc/auto.master
file:
~]$
cat /etc/auto.master
/home /etc/auto.misc<mount-point> [<options>] <location>
<mount-point>
is the autofs mount point. This can be a single directory name for an indirect mount or the full path of the mount point for direct mounts. Each direct and indirect map entry key (<mount-point>
above) may be followed by a space separated list of offset directories (sub directory names each beginning with a "/") making them what is known as a mutli-mount entry.
~]$
cat /etc/auto.misc
payroll -fstype=nfs personnel:/dev/hda3
sales -fstype=ext3 :/dev/hda4sales
and payroll
from the server called personnel
). The second column indicates the options for the autofs mount while the third column indicates the source of the mount. Following the above configuration, the autofs mount points will be /home/payroll
and /home/sales
. The -fstype=
option is often omitted and is generally not needed for correct operation.
service autofs start
service autofs restart
/home/payroll/2006/July.sxc
, the automount daemon automatically mounts the directory. If a timeout is specified, the directory will automatically be unmounted if the directory is not accessed for the timeout period.
/sbin/service/autofs status
autofs
Common TasksOverriding or augmenting site configuration files
/etc/nsswitch.conf
file has the following directive:
automount: files nis
auto.master
map file contains the following:
/home auto.home
auto.home
map contains the following:
beth fileserver.example.com:/export/home/beth
joe fileserver.example.com:/export/home/joe
* fileserver.example.com:/export/home/&
/etc/auto.home
does not exist.
/etc/auto.master
map:
/home /etc/auto.home2
+auto.master
/etc/auto.home2
map contains the entry:
* labserver.example.com:/export/home/&
/home
will contain the contents of /etc/auto.home2
instead of the NIS auto.home
map.
auto.home
map with a few entries, create a /etc/auto.home
file map, and in it put your new entries and at the end, include the NIS auto.home map. Then the /etc/auto.home
file map might look similar to:
mydir someserver:/export/mydir
+auto.home
auto.home
map listed above, an ls
of /home
would now give:
~]$
ls /home
beth joe mydirautofs
knows not to include the contents of a file map of the same name as the one it is reading and so moves on to the next map source in the nsswitch
configuration.Using LDAP to Store Automounter Maps
openldap
package should be installed automatically as a dependency of the automounter
. To configure LDAP access, modify /etc/openldap/ldap.conf
. Ensure that BASE and URI are set appropriately for your site. Please also ensure that the schema is set in the configuration.
rfc2307bis
. To use this schema it is necessary to set it in the autofs
configuration (/etc/sysconfig/autofs
) by removing the comment characters from the schema definition. For example:
DEFAULT_MAP_OBJECT_CLASS="automountMap"
DEFAULT_ENTRY_OBJECT_CLASS="automount"
DEFAULT_MAP_ATTRIBUTE="automountMapName"
DEFAULT_ENTRY_ATTRIBUTE="automountKey"
DEFAULT_VALUE_ATTRIBUTE="automountInformation"
automountKey
replaces the cn
attribute in the rfc2307bis
schema. An LDIF
of a sample configuration is described below:
# extended LDIF
#
# LDAPv3
# base <> with scope subtree
# filter: (&(objectclass=automountMap)(automountMapName=auto.master))
# requesting: ALL
#
# auto.master, example.com
dn: automountMapName=auto.master,dc=example,dc=com
objectClass: top
objectClass: automountMap
automountMapName: auto.master
# extended LDIF
#
# LDAPv3
# base <automountMapName=auto.master,dc=example,dc=com> with scope subtree
# filter: (objectclass=automount)
# requesting: ALL
#
# /home, auto.master, example.com
dn: automountMapName=auto.master,dc=example,dc=com
objectClass: automount
cn: /home
automountKey: /home
automountInformation: auto.home
# extended LDIF
#
# LDAPv3
# base <> with scope subtree
# filter: (&(objectclass=automountMap)(automountMapName=auto.home))
# requesting: ALL
#
# auto.home, example.com
dn: automountMapName=auto.home,dc=example,dc=com
objectClass: automountMap
automountMapName: auto.home
# extended LDIF
#
# LDAPv3
# base <automountMapName=auto.home,dc=example,dc=com> with scope subtree
# filter: (objectclass=automount)
# requesting: ALL
#
# foo, auto.home, example.com
dn: automountKey=foo,automountMapName=auto.home,dc=example,dc=com
objectClass: automount
automountKey: foo
automountInformation: filer.example.com:/export/foo
# /, auto.home, example.com
dn: automountKey=/,automountMapName=auto.home,dc=example,dc=com
objectClass: automount
automountKey: /
automountInformation: filer.example.com:/export/&
Adapting Autofs v4 Maps To Autofs v5
v4 Multi-map entries
Autofs version 4 introduced the notion of a multi-map entry in the master map. A multi-map entry is of the form:<mount-point> <maptype1> <mapname1> <options1> -- <maptype2> <mapname2> <options2> -- ...
/home file /etc/auto.home -- nis auto.home
/etc/nsswitch.conf
must list:
automount: files nis
/etc/auto.master
should contain:
/home auto.home
/etc/auto.home
should contain:
<entries for the home directory>
+auto.home
/etc/auto.home
and the nis auto.home
map are combined.
Multiple master maps
In autofs version 4, it is possible to merge the contents of master maps from each source, such as files, nis, hesiod, and LDAP. The version 4 automounter looks for a master map for each of the sources listed in /etc/nsswitch.conf
. The map is read if it exists and its contents are merged into one large auto.master
map.nsswitch.conf
is consulted. If it is desirable to merge the contents of multiple master maps, included maps can be used. Consider the following example:
/etc/nsswitch.conf:
automount: files nis
/etc/auto.master:
/home /etc/auto.home
+auto.master
auto.master
and the NIS-based auto.master
. However, because included map entries are only allowed in file maps, there is no way to include both an NIS auto.master
and an LDAP auto.master
.
auto.master.ldap
we could also add "+auto.master.ldap"
to the file based master map and provided that "ldap
" is listed as a source in our nsswitch configuration it would also be included.