tags(7)

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)