[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
to.
> 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.
<<CDC