Sun-style Automounter Syntax Support in Amd
Last updated: October 10, 2005
The goal of this effort is to provide a drop in replacement for the Sun
automounter. This is implemented in two ways. (1) A new parser built into
Amd. (2) a standalone sun2amd Unix filter tool that can convert Sun-style
maps to Amd maps.
Support for Sun-style maps in Amd (including this document) is a
work-in-progress. This feature as a whole has not been throughly tested and
is "alpha" quality as of the date posted at the top of this document.
Currently sun2amd supports most of the basic syntax features of Sun maps.
However, support for Sun auto.master maps does not yet exists at any level.
Below is a list of supported and not-yet supported features.
1. Supported Sun map features:
- Simple map entry format: <key> [mount_options] location ...
locations take the form of host:pathname
- Map Key Substitution: <key> <hostname>:/tmp/&
the & expands to <key>
- Wildcard Key: * <hostname>:/tmp
This is is a catch-all entry.
- Variable Substitution:
$ARCH, $CPU, $HOST, $OSNAME, $OSREL, $OSVERS, $NATISA
- Multiple Mount format:
<key> [mount_options] [mountpoint] [mount-options locations...]...
pluto -ro /tmp1 host1:/tmp1 /tmp2 host2:/tmp2
- HSFS file-system (cdrom): <key> -fstype=hsfs,ro :/dev/cdrom
2. Not-yet supported Sun map features:
- Replicated File Systems: <hostname>,<hostname>...:<pathname>
This is a feature of Solaris that allows a user to specify a
set of hosts to appear as one in a map entry. When a host
does not respond the kernel will switch to an alternate
server. Amd will supports the syntax for replicated file
systems by creating multiple hosts, however, Amd will not
perform any kind of fail over.
- CacheFS (although Amd supports type:=cachefs, sun2amd doesn't yet parse
- AutoFS (although Amd supports Autofs mounts and type:=auto, sun2amd
may not parse it fully).
- Included maps: +<map_name>
This will include the contents of a map into another map.
- Sun master maps: auto.master
Amd still relies and amd.conf. Any feature in auto.master
must be duplicated using Amd equivalent features in amd.conf.
- /net mount point:
The automounter is suppose to dynamically create map entries
under this mount point corresponding to NFS server(s) exported
file systems. While this isn't parser by sun2amd, Amd does support
host maps (type:=host).
- Federated Naming Service (FNS) (-xfn):
A naming server that wraps a number of other naming service
under one interface.
- "-null" map option: A way to cancel maps in the auto.master file.
This file provides a way to specify what lookup service to use
for a number of systems including Sun's automounter. In amd
lookup services for map files are define in the amd.conf file.
To enable Sun-style maps in Amd, set "sun_map_syntax = yes" in your amd.conf
file. When this flag is set in [global], all maps read by Amd are assumed
to be Sun style maps. You can set this on a per map basis, thus mixing
Sun-style and Amd-style maps. For more information about amd.conf please
see the Amd documentation.
# file: amd.conf
[ global ]
sun_map_syntax = yes
[ /home ]
map_name = /etc/amd.sun_map
map_type = file
* sun2amd command line utility
In addition to build-in Amd support there also exists the sun2amd command
line utility that converts Sun maps to Amd maps. This can be useful in
migrating one or more Sun maps to the Amd syntax in one step.
$ sun2amd -i sun_map -o amd_map
This line tells sun2amd to read the file sun_map and redirect its output to
a file called amd_map. By default sun2amd reads from stdin and writes to
stdout (i.e., traditional Unix filter).
Q1: I know "/net" is not supported, but how can I achieve the same
functionality with Amd?
A1: In short, you must create the '/net' entry as a Amd entry of type host
by hand. Below is an example of how to do this. See the Amd
documentation on type autofs for more information.
# file: amd.conf
[ /net ]
map_name = /etc/amd.net
# file: /etc/amd.net
(more FAQ entries to come...)