[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