[OpenAFS] OpenAFS vs NFSv4?

Rodney M Dyer rmdyer@uncc.edu
Mon, 28 Apr 2003 10:50:43 -0400


At 08:06 AM 4/28/2003 -0400, you wrote:
>--On Monday, April 28, 2003 1:49 AM -0500 Ryan Underwood 
><nemesis-lists@icequake.net> wrote:
>
>"...I don't think there is namespace abstraction so you can move data 
>between file servers without it being user-visible."

As a long time user of AFS, I don't understand how some people don't get 
the "global namespace" idea.  I also don't understand why this isn't being 
promoted as -the- single most important criteria of the versatility of 
AFS.  As I understand it, no other filesystem in existance has this 
capability, right?  I mean there is of course Transarc's DFS, which almost 
no one uses anymore.  Then there's Microsoft's Win2k AD'd dfs, which is a 
kludged -way- of getting single namespace from CIFS.  But normally, no 
other filesystem has allowed one rooted directory tree namespace that hides 
the backend behind it.

Historically, you normally just mount a root to a data volume on one 
server.  Regular CIFS does this, Novell does this, all older versions of 
NFS do this, SMB does this, etc.  Granted, you -can- abstract that volume 
"at the server" with products like Veritas, NAS, SAN, whatever.  But this 
makes for a very poor scaling system because you essentially end up 
pointing all your clients at one network end-point anyway.  What makes AFS 
so powerful is that the volume location server setup allows the client to 
decide which servers to hit for which directories in the tree it needs to 
get to.  This distributes the load across the network, preventing 
bottlenecks.  For wide-area-networks, it also allows you to put servers in 
the buildings that are closest to the clients without changing mount 
points.  I cannot stress that last point enought..."without changing mount 
points".  With AFS you mount "one time" at the root and you are 
done.  Traversing the filesystem moves you from one server volume to 
another invisibly.

As I understand it, NFSv4 will not have global namespace capability.  You 
may be able to kludge some kind of similar setup, but unless NFSv4 has 
volume location at the client, I really don't see how this will improve 
performance, or compare to AFS.  There's also the point that you don't need 
to setup really beefy servers for your volumes because the loading is 
distributed.  In this case you can save a good bit of money just by buying 
low-end.  You can have two clients sitting right beside each other 
transparently using different servers.  Try doing that with Novell, SMB, or 
NFS.

My conspiracy theory is that NAS and SAN companies want to keep you 
"buying-in" to their product lines.  They don't really want the abstraction 
of the "global namespace" idea getting out, it would change the way 
business is done.  Look at what IBM did.  They basically shut down 
Transarc's business.  You don't even see Microsoft promoting their "dfs" 
very much at all.  Why?  Because it doesn't sell big-beefy-servers for 
their friends.

With AFS you can setup a very low priced, fully distributed, extremely 
scaleable network with low priced commodity Linux/Intel Sun/Solaris 
boxes.  The performance is excellent on the client because of client-side 
caching, and the ability to put the data near the client.  I won't even get 
into the security of AFS except to say that being based on Kerberos and 
ACL's for a long time, it has always "already been there, done that".  Oh, 
and your users can setup their own personal groups...try that on another 
filesystem!

I do understand however that for server system rooms where you have large 
farms of computing/fileserver machines in close proximity AFS is probably 
not a great solution.  In this case a NAS/SAN solution might be your better 
option because of performance.  When going from server to server within the 
same room it just doesn't make sense to setup AFS.  It is much better to 
use a more streamlined protocol, and in this case NFSv4 is likely to be a 
better option.

These are only my opinions.  Personally I'd like to tell two friends about 
global-namespace filesystems, then they tell two friends, and so on, and so 
on.  I just don't get how most AFS administrators have just let the idea 
die by not promoting it.  Sometimes I guess we just get so used to the 
idea, it just seems natural that everyone would understand it.

Rodney

Rodney M. Dyer
Systems Programmer
Mosaic Computing Group
William States Lee College of Engineering
University of North Carolina at Charlotte
Email rmdyer@uncc.edu
Phone (704)687-3518
Help Desk Line (704)687-3150
FAX (704)687-2352
Office  267 Smith Building