Managing On-Demand Mounts Using autofs
WARNING:
This documentation is a draft and is not meant for production use. Branch: OL10-FSADMIN
On-demand mounts are used to automatically mount file systems when they're accessed, rather than maintaining connections for those mounts all the time. When a file system becomes inactive for a certain period, the file system is unmounted.
Using on-demand mounts frees up system resources and improves system performance. Furthermore, when working with network based file systems, such as NFS, and Samba, using on-demand mounts can reduce the likelihood of stale mounts.
On-demand mounts are handled by the automounter, which consists of two components: the
autofs kernel module and the automount user-space
daemon. Configuration is handled in a set of configuration files including
/etc/autofs.conf and /etc/auto.master.
See also the autofs(5), auto.master(5), and
autofs.conf(5) manual pages.
On-demand mounts are commonly used with network based file systems such as NFS. For more information about NFS administration, see Oracle Linux 10: Managing the Network File System.
Installing and Enabling autofs
Install the autofs package to use on-demand mounting of file
systems. Enable and start the autofs systemd service after configuration to
make it active and persistent across system reboots.
Configuring autofs
Autofs uses a combination of configuration files to manage on-demand mounting of file systems.
Master Map File (/etc/auto.master)
The master map file, at /etc/auto.master, serves is the primary
configuration file for autofs mounts. It contains a list of entries that specify the
relationship between mount points and their corresponding map files.
- Mount point: The directory where the file system can be mounted.
- Map file: The location of the map file that defines the file system details.
- Options: Optional parameters that control the autofs behavior, such as the timeout value.
/mnt/shared /etc/auto.shared --timeout=300
Each map entry specifies a mount point and a map file that contains definitions of the remote file systems that can be mounted, for example:
/- /etc/auto.direct
/misc /etc/auto.misc
/net -hosts
The previous example shows the following types of map entries:
-
/-: direct map entry. Direct map entries always specify/-as the mount point. -
/misc: indirect map entry. -
/net: host map entry. Host maps always specify the keyword-hostsinstead of a map file.
Map Files
Map files contain the actual file system definitions, specifying the type of file system, mount options, and other relevant details. You can define two types of mappings:
-
Direct map files: A direct map contains definitions of directories that are automounted at the specified absolute path. In the example, the
auto.directmap file might contain an entry similar to the following:/mnt/data -fstype=nfs,ro,soft host01:/export/dataThis entry is a directive to do the following:
-
Mount the file system
/export/datathat's exported byhost01by specifying theroandsoftoptions. -
Create the
/mnt/datamount point if it doesn't already exist. If the mount point exists , the mounted file system hides any existing files that it contains.
-
-
Indirect map files: An indirect map contains definitions of directories or keys that are automounted relative to the mount point (
/misc) that's specified in the/etc/auto.masterfile. For example, the/etc/auto.miscmap file might contain entries similar to the following:xyz -ro,soft host01:/xyz cd -fstype=iso9600,ro,nosuid,nodev :/dev/cdrom abc -fstype=xfs :/dev/hda1 fenetres -fstype=smb3,credentials=credfile ://fenetres/cNote that the
/miscdirectory must already exist; however, the automounter creates a mount point for the keysxyz,cd, and so on, if they don't already exist, and then removes them when it unmounts the file system. So if a program accesses/misc/xyz/, the mount point is created and mounted on demand, so that you can access the file system immediately.
Other Configuration Files
Other configuration files are available to customize autofs behavior, including:
-
/etc/autofs.conf: The global configuration file for autofs, used to control functionality such as logging, debugging, and the location of the master map file. -
/etc/auto.net: A useful script that's used by autofs to automatically mount NFS shares for resolvable hosts on the network that have NFS shares exposed. If a host map entry exists, and a command references an NFS server that's relative to the mount point (/net) by name, the automounter mounts all the directories that the server exports within a subdirectory of the mount point named for the server. For example, thecd /net/host03command causes the automounter to mount all exports fromhost03under the/net/host03directory. By default, the automounter uses thenosuid,nodev,intrmount options. These options are configurable in/etc/auto.master.The name of the NFS server must be resolvable to an IP address in DNS or must be present in the
/etc/hostsfile. You can equally reference hosts directly by their IP address. For example,ls /net/192.168.0.3/mounts all NFS exports on the server at the IP address 192.168.0.3. -
/etc/auto.smb: A useful script that's used by autofs to automatically mount CIFS shares for resolvable Windows or Samba file servers on the network. autofs automatically scans the host for CIFS file shares and exposes these within the/cifs/host/directory. To use this, you must install thesamba-clientpackage and add an entry to/etc/auto.master:/cifs /etc/auto.smb --timeout=300