(no commit message)
[openafs-wiki.git] / GeneralFAQ.mdwn
1 ## <a name="1  General"></a> 1 General
2
3 The General Section of the [[AFSFrequentlyAskedQuestions]].
4
5 - [[PreambleFAQ]]
6
7 <div>
8   <ul>
9     <li><a href="#1  General"> 1 General</a><ul>
10         <li><a href="#1.01  What is AFS?"> 1.01 What is AFS?</a></li>
11         <li><a href="#1.02  Who supplies AFS?"> 1.02 Who supplies AFS?</a></li>
12         <li><a href="#1.03  What is /afs?"> 1.03 What is /afs?</a></li>
13         <li><a href="#1.04  What is an AFS cell?"> 1.04 What is an AFS cell?</a></li>
14         <li><a href="#1.05  What are the benefits of u"> 1.05 What are the benefits of using AFS?</a><ul>
15             <li><a href="#1.05.a  Cache Manager"> 1.05.a Cache Manager</a></li>
16             <li><a href="#1.05.b  Location independence"> 1.05.b Location independence</a></li>
17             <li><a href="#1.05.c  Scalability"> 1.05.c Scalability</a></li>
18             <li><a href="#1.05.d  Improved security"> 1.05.d Improved security</a></li>
19             <li><a href="#1.05.e  Single systems image (SS"> 1.05.e Single systems image (SSI)</a></li>
20             <li><a href="#1.05.f  Replicated AFS volumes"> 1.05.f Replicated AFS volumes</a></li>
21             <li><a href="#1.05.g  Improved robustness to s"> 1.05.g Improved robustness to server crash</a></li>
22             <li><a href="#1.05.h  "Easy to use" networking"> 1.05.h "Easy to use" networking</a></li>
23             <li><a href="#1.05.i  Communications protocol"> 1.05.i Communications protocol</a></li>
24             <li><a href="#1.05.j  Improved system manageme"> 1.05.j Improved system management capability</a></li>
25           </ul>
26         </li>
27         <li><a href="#1.06  Which systems is AFS avail"> 1.06 Which systems is AFS available for?</a></li>
28         <li><a href="#1.07  What does "ls /afs" displa"> 1.07 What does "ls /afs" display in the Internet AFS filetree?</a></li>
29         <li><a href="#1.08  Why does AFS use Kerberos"> 1.08 Why does AFS use Kerberos authentication?</a></li>
30         <li><a href="#1.09  Does AFS work over protoco"> 1.09 Does AFS work over protocols other than UDP/IP?</a></li>
31         <li><a href="#1.10  How can I access AFS from"> 1.10 How can I access AFS from my PC?</a></li>
32         <li><a href="#1.11  How does AFS compare with"> 1.11 How does AFS compare with NFS?</a></li>
33       </ul>
34     </li>
35   </ul>
36 </div>
37
38 - [[UsageFAQ]]
39 - [[AdminFAQ]]
40 - [[ResourcesFAQ]]
41 - [[AboutTheFAQ]]
42 - [[FurtherReading]]
43
44 ### <a name="1.01  What is AFS?"></a> 1.01 What is AFS?
45
46 AFS is a distributed filesystem that enables co-operating hosts (clients and servers) to efficiently share filesystem resources across both local area and wide area networks.
47
48 AFS is based on a distributed file system originally developed at the Information Technology Center at Carnegie-Mellon University that was called the "Andrew File System".
49
50 "Andrew" was the name of the research project at CMU - honouring the founders of the University. A spin-off company, Transarc Corporation (now part of IBM), started producing and marketing a commercial version of AFS in 1989.
51
52 In November, 2000, IBM Open-Sourced AFS, creating [[OpenAFS]]. [[OpenAFS]] is under active development; as of this writing, the 1.6.4 release is being prepared for Unix-like platforms, and the 1.7 series for Windows is updated regularly.
53
54 ### <a name="1.02  Who supplies AFS?"></a> 1.02 Who supplies AFS?
55
56 [[OpenAFS]] is available from the [[OpenAFS]] website. An independent open source project, Arla, supports some clients that [[OpenAFS]] does not, but has not been updated since release 0.90 in early 2007; the release of [[OpenAFS]] largely removed the reasons for the development of Arla and its sister project Milka (an open source AFS server).
57
58 There is also an incomplete kernel-based AFS client (only) for Linux, maintained by Red Hat Software.
59
60 IBM no longer markets AFS and has declared an end-of-life for support.
61
62 <table border="1">
63   <tr>
64     <td>[[OpenAFS]]</td>
65     <td>WWW: <a href="http://www.openafs.org/" target="_top">http://www.openafs.org/</a></td>
66   </tr>
67   <tr>
68     <td>Arla </td>
69     <td>WWW: <a href="http://www.stacken.kth.se/projekt/arla/" target="_top">http://www.stacken.kth.se/projekt/arla/</a></td>
70   </tr>
71   <tr>
72     <td>kAFS </td>
73     <td>see <code>Documentation/filesystems/afs.txt</code> in the Linux kernel source tree</td>
74   </tr>
75 </table>
76
77 ### <a name="1.03  What is /afs?"></a> 1.03 What is `/afs`?
78
79 The root of the AFS filetree is `/afs`. If you execute `ls /afs`, you will see directories that correspond to AFS cells (see below). These cells may be local (on same LAN) or remote (e.g. halfway around the world).
80
81 With AFS you can access all the filesystem space under `/afs` with commands you already use (e.g. `cd`, `cp`, `rm`, and so on) provided you have been granted permission (see AFS ACL below).
82
83 ### <a name="1.04  What is an AFS cell?"></a> 1.04 What is an AFS cell?
84
85 An AFS cell is a collection of servers grouped together administratively and presenting a single, cohesive filesystem. Typically, an AFS cell is a set of hosts that use the same Internet domain name.
86
87 Normally, a variation of the domain name is used as the AFS cell name.
88
89 Users log into AFS client workstations which request information and files from the cell's servers on behalf of the users.
90
91 ### <a name="1.05  What are the benefits of u"></a> 1.05 What are the benefits of using AFS?
92
93 The main strengths of AFS are its:
94
95 - caching facility
96 - security features
97 - simplicity of addressing
98 - scalability
99 - communications protocol
100
101 Here are some of the advantages of using AFS in more detail:
102
103 #### <a name="1.05.a  Cache Manager"></a> 1.05.a Cache Manager
104
105 AFS client machines run a Cache Manager process. The Cache Manager maintains information about the identities of the users logged into the machine, finds and requests data on their behalf, and keeps chunks of retrieved files on local disk.
106
107 The effect of this is that as soon as a remote file is accessed a chunk of that file gets copied to local disk and so subsequent accesses (warm reads) are almost as fast as to local disk and considerably faster than a cold read (across the network).
108
109 Local caching also significantly reduces the amount of network traffic, improving performance when a cold read is necessary.
110
111 Many modern NFS implementations provide metadata caching, but this caching is limited and the protocol support for it is somewhat weak, with the result that cached NFS can get out of sync with the server. NFS does not support file data caching at all, although some operating systems can be configured to make use of a separate cache filesystem module which must be configured separately from NFS on each client workstation and for each NFS mountpoint. As this cache is separate, it can only avoid becoming out of sync with the remote filesystem at the price of extra validation and additional network traffic to detect updates every time the file is accessed (or, if there is a delay set to minimize this traffic, it will "miss" remote changes made within that window); [[OpenAFS]]'s integrated cache, by comparison, will be notified of changes on the fileserver (by means of "callback breaking") and only needs to check explicitly for remote updates if the callback has expired (roughly 2 hours). In addition, for files on a read-only volume, it is sufficient to check for a volume update to revalidate all locally cached files on that volume.
112
113 #### <a name="1.05.b  Location independence"></a> 1.05.b Location independence
114
115 Unlike NFS, which makes use of a per-client mount table (such as `/etc/filesystems` on AIX or `/etc/fstab` on Linux) to map (mount) between a local directory name and a remote filesystem, AFS does its mapping (filename to location) at the server. This has the tremendous advantage of making the served filespace location independent.
116
117 Location independence means that a user does not need to know which fileserver holds the file, the user only needs to know the pathname of a file. Of course, the user does need to know the name of the AFS cell to which the file belongs. Use of the AFS cellname as the second part of the pathname (e.g. `/afs/$AFSCELL/somefile`) is helpful to distinguish between file namespaces of local and non-local AFS cells.
118
119 To understand why such location independence is useful, consider having 20 clients and 2 servers. Let's say you had to move a filesystem `/home` from server `a` to server `b`.
120
121 Using NFS, you would have to change the `/etc/fstab` file on 20 clients and take `/home` off-line while you moved it between servers.
122
123 With AFS, you simply move the AFS volume(s) which constitute `/home` between the servers. You do this "on-line" while users are actively using files in `/home` with no disruption to their work.
124
125 (Actually, the AFS equivalent of `/home` would be `/afs/$AFSCELL/home`, where `$AFSCELL` is the AFS cellname.)
126
127 #### <a name="1.05.c  Scalability"></a> 1.05.c Scalability
128
129 With location independence comes scalability. An architectural goal of the AFS designers was client/server ratios of 200:1; some sites exceed this ratio. Exactly what ratio your cell can use depends on many factors including:
130
131 - number of AFS files
132 - size of AFS files
133 - rate at which changes are made
134 - rate at which file are being accessed
135 - speed of server's processor(s)
136 - I/O rates
137 - network bandwidth
138
139 AFS cells can range from the small (1 server/client) to the massive (with hundreds of servers and thousands of clients). Cells can be dynamic: it is simple to add new fileservers or clients and grow the computing resources to meet new user requirements.
140
141 #### <a name="1.05.d  Improved security"></a> 1.05.d Improved security
142
143 Firstly, AFS makes use of Kerberos to authenticate users. This improves security for several reasons:
144
145 - passwords do not pass across the network in plaintext
146
147 - encrypted passwords no longer need to be visible
148   - You don't have to use NIS, aka yellow pages, to distribute /etc/passwd - thus "ypcat passwd" can be eliminated.
149   - If you do choose to use NIS, you can replace the password field with "X" so the encrypted password is not visible. (These issues are discussed in detail in [[[AdminGuide|FurtherReading#AdminGuide]]]).
150
151 - AFS uses mutual authentication - both the service provider and service requester prove their identities
152
153 Secondly, AFS uses access control lists (ACLs) to enable users to restrict access to their own directories.
154
155 Some (not all) implmentations of NFS version 3 can use Kerberos authentication; NFS version 4 adds ACLs, but not all NFS4 implementations interoperate well. Additionally, configuring NFS to use Kerberos, even when it is supported, is often painful and can lead to interoperability problems.
156
157 #### <a name="1.05.e  Single systems image (SS"></a> 1.05.e Single systems image (SSI)
158
159 Establishing the same view of filestore from each client and server in a network of systems (that comprise an AFS cell) is an order of magnitude simpler with AFS than it is with, say, NFS.
160
161 This is useful to do because it enables users to move from workstation to workstation and still have the same view of filestore. It also simplifies part of the systems management workload.
162
163 In addition, because AFS works well over wide area networks, the SSI is also accessible remotely.
164
165 As an example, consider a company with two widespread divisions (and two AFS cells): `ny.acme.com` and `sf.acme.com`. Mr. Fudd, based in the New York office, is visiting the San Francisco office.
166
167 Mr. Fudd can then use any AFS client workstation in the San Francisco office that he can log into (a unprivileged guest account would suffice). He could authenticate himself to the `ny.acme.com` cell and securely access his New York filespace, and he doesn't need to remember a different path even though he's working from a remote cell.
168
169 For example:
170
171 The following shows a guest in the `sf.acme.com` AFS cell:
172
173 1. add AFS executables directory to `PATH`
174 2. obtaining a PAG with `pagsh` command (see 2.06)
175 3. use `kinit` and `aklog` to authenticate into the `ny.acme.com` AFS cell
176 4. making a `HOME` away from home
177 5. invoking a homely `.profile`
178
179         guest@toontown.sf.acme.com $ PATH=/usr/afsws/bin:$PATH; export PATH    # {1}
180         guest@toontown.sf.acme.com $ pagsh                                     # {2}
181         $ kinit elmer@NY.ACME.COM                                              # {3}
182         Password for elmer@NY.ACME.COM:
183         $ aklog -cell ny.acme.com
184         $ HOME=/afs/ny.acme.com/user/elmer; export HOME                        # {4}
185         $ cd
186         $ . .profile                                                           # {5}
187         you have new mail
188         guest@toontown $ _
189
190 It is not necessary for the San Francisco system administrator to give Mr. Fudd an AFS account in the `sf.acme.com` cell. Mr. Fudd only needs to be able to log into an AFS client that is:
191
192 1. on the same network as his cell and
193 2. his `ny.acme.com` cell is mounted in the `sf.acme.com` cell (as would certainly be the case in a company with two cells).
194
195 #### <a name="1.05.f  Replicated AFS volumes"></a> 1.05.f Replicated AFS volumes
196
197 AFS files are stored in structures called volumes. These volumes reside on the disks of the AFS file server machines. Volumes containing frequently accessed data can be read-only replicated on several servers.
198
199 Cache managers (on users client workstations) will make use of replicate volumes to load balance. If accessing data from one replicate copy, and that copy becomes unavailable due to server or network problems, AFS will automatically start accessing the same data from a different replicate copy.
200
201 An AFS client workstation will access the closest volume copy. By placing replicate volumes on servers closer to clients (eg on same physical LAN) access to those resources is improved and network traffic reduced.
202
203 #### <a name="1.05.g  Improved robustness to s"></a> 1.05.g Improved robustness to server crash
204
205 The Cache Manager maintains local copies of remotely accessed files. This is accomplished in the cache by breaking files into chunks of up to 64k (default chunk size). So, for a large file, there may be several chunks in the cache but a small file will occupy a single chunk (which will be only as big as is needed).
206
207 A "working set" of files that have been accessed on the client is established locally in the client's cache (copied from fileserver(s)).
208
209 If a fileserver crashes, the client's locally cached file copies remain readable but updates to cached files fail while the server is down.
210
211 Also, if the AFS configuration has included replicated read-only volumes then alternate fileservers can satisfy requests for files from those volumes.
212
213 #### <a name="1.05.h  &quot;Easy to use&quot; networking"></a> 1.05.h "Easy to use" networking
214
215 Accessing remote file resources via the network becomes much simpler when using AFS. Users have much less to worry about: want to move a file from a remote site? Just copy it to a different part of /afs.
216
217 Once you have wide-area AFS in place, you don't have to keep local copies of files. Let AFS fetch and cache those files when you need them.
218
219 #### <a name="1.05.i  Communications protocol"></a> 1.05.i Communications protocol
220
221 The AFS communications protocol is optimized for Wide Area Networks. Retransmitting only the single bad packet in a batch of packets and allowing the number of unacknowledged packets to be higher (than in other protocols, see [[[Johnson90|FurtherReading#Johnson90]]]).
222
223 #### <a name="1.05.j  Improved system manageme"></a> 1.05.j Improved system management capability
224
225 Systems administrators are able to make configuration changes from any client in the AFS cell (it is not necessary to login to a fileserver).
226
227 With AFS it is simple to effect changes without having to take systems off-line.
228
229 Example:
230
231 A department (with its own AFS cell) was relocated to another office. The cell had several fileservers and many clients. How could they move their systems without causing disruption?
232
233 First, the network infrastructure was established to the new location. The AFS volumes on one fileserver were migrated to the other fileservers. The "freed up" fileserver was moved to the new office and connected to the network.
234
235 A second fileserver was "freed up" by moving its AFS volumes across the network to the first fileserver at the new office. The second fileserver was then moved.
236
237 This process was repeated until all the fileservers were moved.
238
239 All this happened with users on client workstations continuing to use the cell's filespace. Unless a user saw a fileserver being physically moved (s)he would have no way to tell the change had taken place.
240
241 Finally, the AFS clients were moved - this was noticed!
242
243 ### <a name="1.06  Which systems is AFS avail"></a> 1.06 Which systems is AFS available for?
244
245 [[OpenAFS]], as of the 1.6.2 release for Unix and 1.7.24 for Windows, is currently available in binary releases for:
246
247 - IBM AIX 5.3, 6.1
248 - Fedora Core 15, 16, 17, 18 (Intel)
249 - [[FreeBSD]] 8.2, 8.3, 9.0, 9.1 (Intel)
250 - [[MacOS]] X 10.6-10.8 (Intel) (Snow Leopard, Lion, Mountain Lion)
251 - RHEL 5, 6 (Intel)
252 - SuSE Enterprise 10, 11 (Intel)
253 - Solaris 10, 11 (Sparc and Intel)
254 - Windows 2000/XP/2003/Vista/7
255
256 These are only the platforms for which official binary releases are prepared; it can be built from source for a large number of additional platforms including HP-UX, SGI, OpenBSD, NetBSD, and older releases and other CPU architectures of supported platforms.
257
258 ### <a name="1.07  What does &quot;ls /afs&quot; displa"></a> 1.07 What does `ls /afs` display in the Internet AFS filetree?
259
260 Essentially this displays the AFS cells that co-operate in the Internet AFS filetree.
261
262 Note that the output of this will depend on the cell you do it from; a given cell may not have all the publicly advertised cells available, and it may have some cells that aren't advertised outside of the given site.
263
264 The definitive source for this information is [[/afs/grand.central.org/service/CellServDB|file:///afs/grand.central.org/service/CellServDB]].
265
266 Note that it is also possible to use AFS "behind the firewall" within the confines of your organization's network - you don't have to participate in the Internet AFS filetree.
267
268 Indeed, there are lots of benefits of using AFS on a local area network without using the WAN capabilities.
269
270 ### <a name="1.08  Why does AFS use Kerberos"></a><a name="1.08  Why does AFS use Kerberos "></a> 1.08 Why does AFS use Kerberos authentication?
271
272 It improves security.
273
274 Kerberos uses the idea of a trusted third party to prove identification. This is a bit like using a letter of introduction or quoting a referee who will vouch for you.
275
276 When a user authenticates using the klog command (s)he is prompted for a password. If the password is accepted the Kerberos server provides the user with an encrypted token (containing a "ticket granting ticket").
277
278 From that point on, it is the encrypted token that is used to prove the user's identity. These tokens have a limited lifetime (typically a day) and are useless when expired.
279
280 In AFS, it is possible to authenticate into multiple AFS cells. A summary of the current set of tokens held can be displayed by using the "tokens" command.
281
282 For example:
283
284     elmer@toontown $ tokens
285
286     Tokens held by the Cache Manager:
287
288     User's (AFS ID 9997) tokens for afs@ny.acme.com [Expires Sep 15 06:50]
289     User's (AFS ID 5391) tokens for afs@sf.acme.com [Expires Sep 15 06:48]
290        --End of list--
291
292 Kerberos improves security because a users's password need only be entered once (at `kinit` time).
293
294 AFS uses Kerberos to do complex mutual authentication which means that both the service requester and the service provider have to prove their identities before a service is granted.
295
296 Originally AFS shipped with its own version of Kerberos 4, called `kaserver`. `kaserver` still ships at this time (1.6.2 release), but is deprecated in favor of using a true Kerberos 5 implementation. [[OpenAFS]] does not currently ship with a Kerberos 5 implementation; it is up to the administrator(s) to choose a version (MIT krb5, Heimdal, Active Directory, etc) and install it. [[OpenAFS]] will happily work with any KDC.
297
298 For more detail on this and other Kerberos issues see the faq for Kerberos (posted to `news.answers` and `comp.protocols.kerberos`) [[[Jaspan|FurtherReading#Jaspan]]]. (Also, see [[[Miller87|FurtherReading#Miller87]]], [[[Bryant88|FurtherReading#Bryant88]]], [[[Bellovin90|FurtherReading#Bellovin90]]], [[[Steiner88|FurtherReading#Steiner88]]])
299
300 ### <a name="1.09  Does AFS work over protoco"></a> 1.09 Does AFS work over protocols other than UDP?
301
302 No. AFS was designed to work over UDP, and does not use TCP.
303
304 There is some work being done (see
305 [here](http://conferences.inf.ed.ac.uk/eakc2012/slides/201210_eakc_oob.pdf)) to
306 allow AFS to make use of other network transports, including TCP, but this is
307 still experimental and undergoing development.
308
309 ### <a name="1.10  How can I access AFS from"></a><a name="1.10  How can I access AFS from "></a> 1.10 How can I access AFS from my PC?
310
311 You can use [[OpenAFS]] for Windows client. In the past year it has become very stable and robust. [[OAfW]] works with Kerberos for Windows in much the same way the Unix clients work with Kerberos.
312
313 There is also [[Samba|http://www.samba.org]], an SMB server for UNIX. There are several ways to integrate AFS with Samba. See [[SMBtoAFS]].
314
315 Mac OS X and Linux users might find [[`sshfs`|http://en.wikipedia.org/wiki/SSHFS]] useful in some circumstances.
316
317 ### <a name="1.11  How does AFS compare with"></a><a name="1.11  How does AFS compare with "></a> 1.11 How does AFS compare with NFS?
318
319 <table border="1" cellpadding="0" cellspacing="0">
320   <tr>
321     <td>   </td>
322     <th align="center" bgcolor="#99CCCC"><strong> AFS </strong></th>
323     <th align="center" bgcolor="#99CCCC"><strong> NFS </strong></th>
324   </tr>
325   <tr>
326     <th bgcolor="#99CCCC"><strong> File Access </strong></th>
327     <td> Common name space from all workstations </td>
328     <td> Different file names from different workstations </td>
329   </tr>
330   <tr>
331     <th bgcolor="#99CCCC"><strong> File Location Tracking </strong></th>
332     <td> Automatic tracking by file system processes and databases </td>
333     <td> Mountpoints to files set by administrators and users </td>
334   </tr>
335   <tr>
336     <th bgcolor="#99CCCC"><strong> Performance </strong></th>
337     <td> Client caching to reduce network load; callbacks to maintain cache consistency </td>
338     <td> No local disk caching without local configuration of `cachefs`; limited cache consistency </td>
339   </tr>
340   <tr>
341     <th bgcolor="#99CCCC"><strong> Andrew Benchmark (5 phases, 8 clients) </strong></th>
342     <td> Average time of 210 seconds/client </td>
343     <td> Average time of 280 seconds/client </td>
344   </tr>
345   <tr>
346     <th bgcolor="#99CCCC"><strong> Scaling capabilities </strong></th>
347     <td> Maintains performance in small and very large installations </td>
348     <td> Best in small to mid-size installations </td>
349   </tr>
350   <tr>
351     <td>   </td>
352     <td> Excellent performance on wide-area configuration </td>
353     <td> Best in local-area configurations </td>
354   </tr>
355   <tr>
356     <th bgcolor="#99CCCC"><strong> Security </strong></th>
357     <td> Kerberos mutual authentication </td>
358     <td> Security based on unencrypted user ID's </td>
359   </tr>
360   <tr>
361     <td>   </td>
362     <td> Access control lists on directories for user and group access </td>
363     <td> No access control lists </td>
364   </tr>
365   <tr>
366     <th bgcolor="#99CCCC"><strong> Availability </strong></th>
367     <td> Replicates read-mostly data and AFS system information </td>
368     <td> No replication </td>
369   </tr>
370   <tr>
371     <th bgcolor="#99CCCC"><strong> Backup Operation </strong></th>
372     <td> No system downtime with specially developed AFS Backup System </td>
373     <td> Standard UNIX backup system </td>
374   </tr>
375   <tr>
376     <th bgcolor="#99CCCC"><strong> Reconfiguration </strong></th>
377     <td> By volumes (groups of files) </td>
378     <td> Per-file movement </td>
379   </tr>
380   <tr>
381     <td>   </td>
382     <td> No user impact; files remain accessible during moves, and file names do not change </td>
383     <td> Users lose access to files and filenames change (mountpoints need to be reset) </td>
384   </tr>
385   <tr>
386     <th bgcolor="#99CCCC"><strong> System Management </strong></th>
387     <td> Most tasks performed from any workstation </td>
388     <td> Frequently involves telnet to other workstations </td>
389   </tr>
390   <tr>
391     <th bgcolor="#99CCCC"><strong> Autonomous Architecture </strong></th>
392     <td> Autonomous administrative units called cells, in addition to file servers and clients </td>
393     <td> File servers and clients </td>
394   </tr>
395   <tr>
396     <td>   </td>
397     <td> No trust required between cells </td>
398     <td> No security distinctions between sites </td>
399   </tr>
400   <tr>
401     <td>
402     </td>
403     <td colspan="2"> [ source: <a href="ftp://ftp.transarc.com/pub/afsps/doc/afs-nfs.comparison" target="_top">ftp://ftp.transarc.com/pub/afsps/doc/afs-nfs.comparison</a> ] </td>
404   </tr>
405 </table>
406
407 Other points:
408
409 - Some vendors offer more secure versions of NFS but implementations vary. Many NFS ports have no extra security features (such as Kerberos).
410
411 - The AFS Cache Manager can be configured to work with a RAM (memory) based cache. This offers signifigant performance benefits over a disk based cache. NFS has no such feature. Imagine how much faster it is to access files cached into RAM!
412
413 - The Andrew benchmark demonstrates that AFS has better performance than NFS as the number of clients increases. A graph of this (taken from Andrew benchmark report) is available in:
414   - ![20050131\_graph\_afs\_nfs.jpg](http://i.imgur.com/Ir6YS.jpg)
415