[OpenAFS] oAFS & Arla
Jeffrey Hutzelman
jhutz@cmu.edu
Mon, 19 Jul 2004 18:45:20 -0400
On Monday, July 19, 2004 15:13:03 -0700 Mike Fedyk <mfedyk@matchmail.com>
wrote:
> Thomas Kirk wrote:
>
>> Hep
>>
>> On Mon, Jul 19, 2004 at 12:13:23PM -0400, Jeffrey Hutzelman wrote:
>>
>>
>>
>>> Actually, it's much cooler than that. Arla keeps track of the apparent
>>> performance of each server it talks to (which can be a function of
>>> actual fileserver capabilities, network speed, distance, load, etc),
>>> and dynamically adjusts what fraction of its requests are sent to each
>>> server accordingly.
>>>
>>>
> How does that deal with file versioning where a file is updated on the
> r/w volume, and being transferred to the several r/o volumes? Is it an
> atomic switch once the transfer is complete, or can you see partial
> updates nfs style?
AFS does not conflate a read/write volume with its read-only clones.
So if you are reading a replicated read-only volume, you _never_ get data
from the read/write volume.
Replication does not occur as you write a file; it happens only during an
explicit release operation, which is atomic if the clients implement the
protocol correctly.
>> Does OpenAFS work this way to or how is the "load" distributed among
>> more OpenAFS servers?
>>
>>
> I read once on the lists, that it only uses one r/o volume, and it picks
> the one with the lowest IP address even if it's not local. But I really
> hope it was wrong.
No, this is not correct. The OpenAFS cache manager assigns each server a
gross priority based on address similarity, perturbed by a small random
value such that no two servers have the same priority. It then selects
between multiple servers by using the lowest-priority server that is
currently believed to be up. Priorities may be adjusted manually by using
"fs setserverprefs".
-- Jeffrey T. Hutzelman (N3NHS) <jhutz+@cmu.edu>
Sr. Research Systems Programmer
School of Computer Science - Research Computing Facility
Carnegie Mellon University - Pittsburgh, PA