Networking Guide
Chapter 13, Configuring the NFS automounter

Optimizing subdirectory mounting

Optimizing subdirectory mounting

Both direct and indirect maps contain a ``location'' field where the filesystem to be mounted is specified. The syntax of this field is:

server:pathname[:subdirectory]

We recommend that a subdirectory entry be provided in the ``location'' field when different map entries refer to the same mounted filesystem from the same server. This allows automount to work more efficiently. The following example shows a common use of subdirectories that optimizes the work of automount.

This indirect map shows a common way in which automount can be configured to distribute home directories from NFS servers to clients. Such a map may be called auto.home.

   moscow              moscow:/home/moscow
   prague              prague:/home/prague
   zurich              zurich:/home/zurich
Given this indirect map, every time a user wants to access a home directory in, for example, /home/moscow, all the directories under it are mounted. Another way to organize an auto.home map is by user name:
   john                moscow:/home/moscow/john
   mary                moscow:/home/moscow/mary
   joe                 moscow:/home/moscow/joe
The above example assumes that home directories on the NFS client are of the form /home/user rather than /home/server/user. If a user now enters:
   ls ~john ~\mary
automount performs the equivalent of:
   mkdir /tmp_mnt/home/john
   mount -f NFS moscow:/home/moscow/john /tmp_mnt/home/john
   ln -s /tmp_mnt/home/john /home/john
   

mkdir /tmp_mnt/home/mary mount -f NFS moscow:/home/moscow/mary /tmp_mnt/home/mary ln -s /tmp_mnt/home/mary /home/mary

It is possible to optimize the work done by automount by modifying the entries in the auto.home map to use the optional ``subdirectory'' field of the ``location'' field of the indirect map. The new auto.home map looks like:
   john                moscow:/home/moscow:john
   mary                moscow:/home/moscow:mary
   joe                 moscow:/home/moscow:joe
Here ``john,'' ``mary,'' and ``joe'' are entries in the ``subdirectory'' field. Now when a user refers to john's home directory, automount mounts moscow:/home/moscow and links /tmp_mnt/home/moscow/john and /home/john.

If the user then requests access to mary's home directory, automount sees that moscow:/home/moscow is already mounted, and simply links /tmp_mnt/home/moscow/mary and /home/mary. Therefore, automount now performs only the equivalent of:

   mkdir /tmp_mnt/home/john
   mount -f NFS moscow:/home/moscow /tmp_mnt/home
   ln -s /tmp_mnt/home/john /home/john
   ln -s /tmp_mnt/home/mary /home/mary

See also: