[OpenAFS] Is OpenAFS the right solution for this?

Christopher D. Clausen cclausen@acm.org
Mon, 22 Jan 2007 08:27:56 -0600

Brandon Lamb <brandonlamb@gmail.com> wrote:
> Now what I am trying to figure out, is should I use openafs or gfs to
> replace NFS? GFS was sounding cool as I read that using iscsi to
> connect the partition on the raid at a block level could be 10 times
> faster than NFS. But I dont understand how GFS works exactly.

GFS (assuming you are refering to the Sistina product that was acquired 
by RedHat,) is a cluster filesystem.  All hosts accessing the space 
require block-level access to the disk and various GFS daemons / kernel 
modules run on each client machine to manage file locking on the raw 
block device.

NFS and AFS effectively use a fileserver and all I/O goes through the 
fileserver across the network.  AFS has a layer of indirection that NFS 
does not, allowing for seemless backend data moves between fileservers 
with live clients accessing the data.  NFS likely handles locking better 
in your situation.  I would not recomend using AFS for email in this 
maner.  It will likely cause you much pain.

I'm guesing that GFS would be best perfromance wise in your situation, 
although I'm not sure you can mirror it across two disk servers.

> I came across OpenAFS before GFS and it sounded like what I wanted.
> Basically providing the same functionality of NFS (sharing a single
> disk with RW access to multiple client machines) but with better
> security and performance.

AFS is not likely to have better write performance (it can, but it would 
likely require tuning that you could just as easily do with NFS,) but 
the AFS client cache should help with reading data from the file 
server(s).  I'm not sure what kind of email servers you have setup, but 
I'd suggest looking at what percentage of your disk I/O is reads vs. 
writes.  This is an important factor in determining what you should move 

> Oh one more thing to add, we are going to turn the current 16 drive
> raid into two replicated 8 drive raids using DRBD to replicate between
> the new "fileserver' and a live spare. Not sure if that will make a
> difference. I am thinking that part should work fine regardless of
> which of the 3 options I go with.

Using AFS with something that does block-level replication will likely 
cause you pain.  Thats not to say that it won't work, its just that AFS 
wasn't designed to be used in this way.  If you do go with AFS, I'd 
suggest simply using the AFS replication method to mirror data every 15 
minutes or so to another file server.  Or use each client machine and 
mirror at that level (host based mirroring.)

I'm sure others have different opinions though.

Feel free to ask questions about this on IRC in #openafs at Freenode.