8.2 Volumes in a Cluster

In a cluster setup, when a Macintosh client connects to the physical IP of the AFP server, both the local volumes as well as cluster enabled shared volumes are exported to the client.

However, if the client connects to the cluster/virtual IP, then only the cluster enabled shared volumes associated with the cluster IP are exported.

For example:

Consider a cluster setup with two AFP servers running on nodes A & B. If the cluster resource is bound to A, a MAC client connecting to the physical IP of A can access both the local and the cluster enabled shared volumes.

If the client connects to the physical IP of B, then only local volumes on B are exported since the cluster resource is now on A. However, due to migration or failover, if the cluster resource is moves to B, then clients connecting to B can see both local and shared volumes.

NSS volumes are identified by the machine name and volume name combination. For instance, if you create a volume titled AFP_Volume on a server named ACME, the volume is represented as ACME.AFP_Volume. The Volume Name Management feature helps you specify an alternate name for the NSS volume. For instance, you can rename ACME.AFP_Volume to AFP_Volume. This is mandatory in a cluster setup where you need to identify volumes without the machine name prefix

8.2.1 Volume Name Management in a Cluster

Volume management is done in two ways in a cluster:

  • Using iManager AFP Management Plugin:

    • The iManager AFP Management Plugin requires a volume to be locally mounted on the cluster node before adding it to the AFP configuration. Hence migrate the volume resource to each node and use iManager AFP Management Plugin to add the volume to the AFP configuration.

  • By editing /etc/opt/novell/afptcpd/afpvols.conf on each cluster node. This is done without migrating the resource to each node. Enter the following syntax: ServerName.VolumeName VolumeName

    Where ServerName is the host name of the local cluster node and VolumeName is the name of the shared, cluster-enabled volume.

    Here is an example that illustrates how cluster nodes map to sharedvolumes.

    #    Example 3:  Renaming cluster volumes
    #    afpvols.conf for serverA:
    #
    #    serverA.vol1       sharedVol1
    #    serverA.vol2       sharedVol2
    #
    #    afpvols.conf for serverB:
    #
    #    serverB.vol1       sharedVol1
    #    serverB.vol2       sharedVol2