[417] in Info-AFS_Redistribution
Re: replicating mail queue volumes
daemon@ATHENA.MIT.EDU (Craig_Everhart@transarc.com)
Thu Nov 14 18:39:55 1991
Date: Thu, 14 Nov 1991 15:51:49 -0500 (EST)
From: Craig_Everhart@transarc.com
To: Info-Andrew <info-andrew+@andrew.cmu.edu>, Info-AFS@transarc.com,
In-Reply-To: <wd8hdvG0ts4jI4DUcI@alw.nih.gov>
(Wearing an old AMDS hat...) I believe that this is discussed in
something like AMDS.ins.
The mail-enqueueing protocol is to find any directory matching
/afs/CELLNAME/service/mailqs/q* and put your message there. All such
directories are presumed equivalent.
Let's say you have three file servers (A, B, C) and three mail queues
(q1, q2, q3); the mail queues are each separate (small) volumes. You
scatter the queues over the available servers, in this case one queue
per server.
You mount your mail-queue volumes in the /afs/CELLNAME/service/mailqs
directory, then replicate the volume holding that directory. Let's say
that you put a replica on each of your three servers.
Now, you can enqueue mail for delivery even when one of your file
servers goes down. Or even two of them. AMDS starts looking in
/afs/CELLNAME/service/mailqs at a random point, then cycles through all
the q* directories looking for one that's usable. Because
/afs/CELLNAME/service/mailqs is on all three file servers--and let's
assume that /afs/CELLNAME/service is also--all a client machine needs is
one server up in order to get to that directory. Further, since the q*
directories are scattered on the three servers, at least one of them is
available since one file server is. Presto: your mail is enqueued there.
The mail that had been queued in the other q* directories isn't lost,
but it's ignored until those file servers return to service.
Craig