NAME
tags - tagged files used for clustering extensions
DESCRIPTION
Tagged files are used by ClusterNFS and unfs3 to support NFS exporting
directories like /etc and /var to a cluster of client machines. The
problem at hand is that different files need to be served to different
clients. Tagged files provide a way to specify which file should be
served to which client(s).
Tags are appended to the end of a filename and are seperated from the
rest of the name by beginning and ending with $$. For each file, there
can be multiple tagged variants. The normal file, without a tag, is
only served to clients by default when no tagged file matching the
client is found. The following tags exist:
file$$$$
If a client attempts to access this file, it will be redirected
to the normal file instead, no matter what other tagged files
exist. This is mainly useful for use inside symlinks that need
to point to a normal file although other access to the normal
file should be redirected. In this special case, the tagged file
file$$$$ does not even need to exist (the symlink will then seem
to be dangling on the server).
file$$IP=a.b.c.d$$
If a client with an IP address of a.b.c.d attempts to access the
normal file, it will be redirected to this file instead.
file$$IP=a.b.c.d_n$$
If a client with an IP adress in the network a.b.c.d/n attempts
to access the normal file, it will be redirected to this file
instead. Note that unfs3 only supports 8, 16, and 24 as values
for n.
file$$HOST=name$$
If a client with the hostname name attempts to access the normal
file, it will be redirected to this file instead.
file$$HOST=name*$$
If a client whose hostname begins with the string name attempts
to access the normal file, it will be redirected to this file
instead.
file$$CLIENT$$
If any client attempts to access the normal file, it will be
redirected to this file instead.
file$$ALWAYS=IP$$
If any client attempts to access or create the normal file, it
will be redirected to file$$IP=a.b.c.d$$ instead, where a.b.c.d
is the IP address of the client. It does not matter whether the
target tagged file exists or not.
file$$ALWAYS=CLIENT$$
If any client attempts to access or create the normal file, it
will be redirected to file$$CLIENT$$ instead. It does not matter
whether that file exists or not.
$$ALWAYS=CLIENT$$
Like above, but effective for all files in the directory where
it is found.
$$ALWAYS=IP$$
Like above, but effective for all files in the directory where
it is found.
Note that the ALWAYS tag can lead to file not found errors on clients
if the tagged files it redirects to does not exist on the server. For
example, ls(1) can suffer from this problem. Furthermore, this tag is a
unfs3 extension and does not exist in ClusterNFS. When this tags
exists, it prevents all access to the normal file by any client.
file$$CREATE=IP$$
If any client attempts to create the normal file,
file$$IP=a.b.c.d$$ will be created instead, where a.b.c.d is the
IP address of the client.
file$$CREATE=CLIENT$$
If any client attempts to create the normal file, file$$CLIENT$$
will be created instead.
$$CREATE=IP$$
Like above, but effective for all files in the directory where
it is found.
$$CREATE=CLIENT$$
Like above, but effective for all files in the directory where
it is found.
Tags work for all kinds of named filesystem objects. If multiple
tagged files are found for a normal file, they are considered in the
order they are given above, starting at the top. Processing stops once
a match is found. In ClusterNFS, but not in unfs3, only files
accessible and readable by a client are considered matches.
AUTHOR
Pascal Schmidt
SEE ALSO
unfsd(8)
04 Jan 2004 tags(7)