Clean up broken links
[openafs-wiki.git] / general / FurtherReading / NFS_on_steroids.txt
1 Journal:    LAN Technology  March 1993 v9 n3 p51(9)
2 * Full Text COPYRIGHT M&T Publishing Inc. 1993.
3 -------------------------------------------------------------------------
4 Title:     AFS: NFS on steroids. (Carnegie Mellon University's Andrew
5            File System; Sun Microsystem Inc.'s Network File
6            System)(includes related article about the Open Software
7            Foundation's Distributed File Service implementation of AFS;
8            another related article is about features of the Kerberos
9            security system)
10 Author:    Cohen, David L.
11
12
13 Abstract:  Some users now favor Carnegie Mellon University's Andrew File
14            Systems (AFS) distributed file system over Sun Microsystems
15            Inc's Network File System (NFS), which has been the
16            predominant system.  NFS is deficient in some areas such as
17            scalability and security.  AFS, which was developed to deal
18            with these problems, can improve a distributed system's
19            performance, reliability, security and management.  AFS is
20            currently distributed exclusively by Transarc, which started
21            shipping Version 3 in 1990 and the current version, 3.2, in
22            Aug 1992.  AFS is available for the following Unix machines:
23            DEC's DECstation and VAXstation; HP's HP 9000 Series 300, 400,
24            700 and 800; IBM's RS/6000 and RT; NeXT's full product line;
25            and Sun's Sun, 3, 4, SPARCstation and 600MP.  A table is
26            provided that compares NFS and AFS features and capabilities.
27 -------------------------------------------------------------------------
28 Full Text:
29
30 For many organizations, a distributed file behind their distributed
31 computer systems.  Sun Microsystems Network File System [NFS] is the
32 predominant distributed file system in use today.  However, the Andrew
33 File System [AFS] developed by Carnegie Mellon University has robust
34 features that are winning over NFS users.
35
36 For the College of Engineering at North Carolina State University (NCSU),
37 moving from NFS to AFS meant a boost in reliability, performance,
38 security, and management of its distributed computer system.  With more
39 than 8,000 user accounts on 600 Unix workstations, and over 3,000
40 original mail messages and 7,000 printed pages generated daily on this
41 FDDI backbone with 20 subnetworks, ease of support is critical.  AFS
42 provides this, as well as a first step toward the adoption of the Open
43 Software Foundation's (OSF) Distributed File Service (DFS), which
44 incorporates AFS functionality.
45
46 NCSU initially ran NFS with the Kerberos security scheme when it set up a
47 network of Unix workstations for engineering students in 1990.  However,
48 project leaders quickly decided that students needed more transparent
49 distribution of files than NFS offers.  One of the problems was that when
50 an NFS server went down, the client machines that depended on that server
51 for applications were stranded.  Also, as machines were added to the
52 network, NFS had problems keeping up with file access requests and began
53 dropping packets. AFS was selected to overcome these problems.
54
55 According to Bill Willis, the director of computing operations at NCSU,
56 the number of dropped packets decreased by an order of magnitude after
57 installing AFS.  Reliability also improved.  Ken Barnhouse, a system
58 administrator, reported that an application server crash once went
59 undetected for four hours.  Users' application requests were
60 automatically rerouted to what is called a replicate server, and network
61 administrators only discovered the crash duffting a routine check of
62 outputs from management utilities.
63
64 The Contenders
65
66 Introduced by Sun Microsystems in 1985, NFS has mushroomed in popularity,
67 with versions available for most minicomputers, workstations, and
68 personal computers.  Digital Equipment, IBM, FTP Software, Novell, and
69 others either developed their own version of this open standard or resell
70 third-party packages to satisfy user demand for distributed file system
71 capabilities.  NFS uses a peer-to-peer networking scheme, in which
72 individual workstations access or mount subdirectory trees that are
73 exported by other machines, making these directories and files appear
74 local to the machine importing or mounting them.
75
76 As with many technologies, full-scale implementation of NFS magnifies
77 known deficiencies and brings new ones to light.  In the case of NFS,
78 scale-ability and security are the major sore points.  With significant
79 backing from IBM, CMU developed AFS to address these and other NFS
80 shortcomings.  AFS (the commercial name) is now distributed exclusively
81 by Transarc, which began shipping Version 3 in 1990 and the current
82 revision, 3.2, last August.  AFS is available for the following Unix
83 workstations: Digital Equipment's DECstation and VAXstation,
84 HewlettPackard's HP 9000 Series 300, 400, 700, and 800, IBM's RS/6000 and
85 RT, NeXT's full line, and Sun's Sun 3, 4, SPARCstation, and 600MP.
86
87 NFS and AFS differ in their architecture, reliability, performance,
88 security, management and administration, backup support, and
89 availability.  These differences are summarized in the table and will be
90 elaborated throughout this article.  Currently, AFS is only available
91 from Transarc.  However, OSF, backed by a consortium that includes IBM,
92 is incorporating AFS in the DFS component of the Distributed Computing
93 Environment.  DCE is an integrated set of tools and services for
94 developing and running distributed applications.  It includes
95 machine-independent data representation tools, a remote procedure call
96 facility and compiler, an authentication service, a network naming
97 service, a network time service, and a distributed file system.  (For
98 more on the migration to OSF, see the sidebar "From NFS to OSF via AFS.")
99
100 Degrees of Distribution
101
102 NCSU opted to move to AFS partly because it is a more truly distributed
103 system than NFS.  Architecturally, NFS follows the client-server model
104 more closely than the distributed model.  Like a client-server database,
105 NFS requires the user to specify what file he or she wants and where that
106 file resides.  Client-server databases, like NFS file systems, can reside
107 on any node.  However, since each database is completely contained on one
108 host, it is said to be location-dependent.  Users can access multiple
109 databases and even link them together, but they must still know which
110 machines to access.
111
112 A true distributed database or file system is accessible from any client
113 station.  It is not dependent on any one host, since individual pieces
114 can be spread across multiple machines and even replicated in places.  A
115 truly distributed file system has location transparency; users don't need
116 to know where file systems or directory trees reside.
117
118 In contrast to NFS, where users need to know the location of a file
119 system before they can mount it, AFS combines all files into a single
120 name space, independent of physical location.  A user can log on at any
121 station and be presented with the same global view.  It's this use of a
122 single name space that makes AFS location-transparent, allowing system
123 administrators to move individual file subsystems without disrupting
124 users.  Because of NFS' location-dependence, moves cannot be made
125 transparently.
126
127 In addition, applications and system files on an AFS network can be
128 replicated on read-only servers.  When an application is installed or
129 upgraded, it can be easily propagated to multiple read-only servers by
130 using the AFS vos release command.  If an AFS application server goes
131 down, user requests for applications and system software that reside on
132 that server are redirected to a replicate server.  NFS does not have
133 replication.
134
135 To better understand the differences, let's look at how NFS and AFS
136 handle file distribution in more detail.  I'll use Unix terminology in
137 these examples, but the commands and file names are similar in other
138 operating systems.  Note that both file systems employ the User Datagram
139 Protocol/Internet Protocol (UDP/IP) as the communications mechanism.
140
141 In NFS, a system administrator (or a user) determines which files on a
142 server can be exported.  An exported file system includes files in the
143 named directory and all subordinate directories and files.  You can only
144 export local file systems.  That is, a file system that has been mounted
145 from a remote server cannot be re-exported.  The administrator lists the
146 exported file systems along with options that govern how the file system
147 can be used (such as whether it is mounted as read-write or read only) in
148 a file called/etc/exports.
149
150 Remote file systems to be mounted locally (which can be thought of as
151 file systems that have been "imported") are listed along with local file
152 systems in a file called/etc/fstab.  Local file systems are accessed
153 using the syntax: device, mount point, and options.  A device refers to
154 the disk or disk partition where the file system is located.  A mount
155 point is where the file system, which can come from a local device or a
156 remote file system, is grafted onto the local file system.  To access a
157 remote file system, users must indicate remote-host:exported filesystem
158 instead of the device.
159
160 The mount command is used to mount either all file systems listed in
161 /etc/fstab or a specific file system.  Typical fstab entries look like
162 this: /dev/sdOg/usr/local 4.2 rw 13 /dev/sdld/usr/local/bin 4.2 rw 13
163 zippy:/home/zippy/home/zippy nfs rw, bg, hard 0 0
164 pooh:/home/pooh/home/pooh nfs rw, bg,hard 0 0
165
166 As you can see, to mount a remote file system under NFS, a user needs to
167 know the name of the specific host.  Throw in all the other files
168 containing specific host information, such as /etc/hosts
169 and/etc/networks, and you can see that moving a subdirectory tree to a
170 different host is not a trivial matter.  Not only does the administrator
171 have to change the export files on the machines the files are moved from
172 and to, he or she has to modify the fstab file for each workstation that
173 had been mounting that file system.
174
175 NFS has no restriction on what you use for the specific mount points.
176 However, to give users a consistent environment, most NFS administrators
177 try to standardize on mount points by setting up the same subdirectory
178 structure across workstations and putting the same mount point for that
179 file system in each workstation's fstab file.  This lets a user go to
180 another machine that has mounted the same file system and see the same
181 directory structure as on his or her own machine.
182
183 The key processes for NFS are the nfsd and biod daemons or processes.
184 The nfsd process runs on a file server and is basically a listener that
185 fields client requests for file access.  Multiple copies of nfsd can run
186 on a server.  On the client, processes use remote procedure calls (RPCs)
187 to access NFS servers.  The biod daemon takes client requests for
188 non-local files and puts them on the network.  This daemon interacts with
189 the client's buffer cache to achieve adequate throughput via.
190 read-aheads and batched writes.  On the management front, NFS sites
191 typically manage common configuration files, such as/etc/hosts, with the
192 Network Information System (NIS; formerly known as the Yellow Pages).
193 NIS centralizes configuration files and eases management, but does not
194 help with specific file management.
195
196 In contrast to NFS, which has multiple name spaces associated with
197 multiple file systems, AFS presents a unified name space or global file
198 system.  Thus, a user can sit down at any station on the network and be
199 presented with an identical environment.  AFS must be incorporated into
200 the kernel of all AFS file server and client machines.
201
202 On servers, AFS executables are installed in/usr/afs/bin and server
203 configuration files are installed in /usr/afs/etc.  AFS volumes on
204 servers must reside on partitions associated with directories
205 named/vicep?, where ? can be A through Z. Logical directories are
206 associated with physical partitions in the/etc/fstab file.  Since
207 the/vicep? directions are not standard Unix directories, Transarc ships
208 its own version of the Unix fsck utility.  (This tool checks file system
209 consistency.) In the AFS client, executables and configuration files are
210 installed in/usr/vice/etc.  Every AFS client must have a cache set up in
211 memory or on disk.
212
213 In AFS, a volume corresponds to an NFS file system.  A volume is a set of
214 related files grouped together based on a disk space unit.  Volumes
215 cannot span multiple partitions.  For management purposes, system
216 administrators typically use a relatively small volume size to facilitate
217 the replication and migration of files to another partition.
218
219 In AFS, servers and clients are grouped into administrative domains known
220 as cells.  Applications, executable files, and AFS databases are
221 replicated on multiple file servers within a cell, and users can easily
222 share information both within and between cells.
223
224 At the top of the AFS directory structure is a global file system that
225 Transarc maintains.  This file system encompasses many of the sites that
226 use AFS and lets participants remotely access a file system from another
227 site.  NCSU is one of about 60 individual cells that Transarc lists.
228 These cells are subordinate to the top-level/afs directory, so cell names
229 need to be cleared with Transarc.  Since most AFS sites are on the
230 Internet, cell names typically correspond to registered Internet domain
231 names to ensure uniqueness.  Transarc's root volume's CellServDB file
232 maintains the IP addresses.  Individual client CellServDB files list the
233 IP addresses and names of the database server machines in the local and
234 foreign cells that a particular AFS client wants to contact.
235
236 Various AFS processes work behind the scenes on designated file servers
237 to present this distributed environment.  For example, the File Server
238 Process handles file requests from clients and maintains the overall
239 directory struc-
240
241 ture.  The Basic OverSeer Server Process, as its Big Brother-ish name
242 implies, monitors server processes and can restart them as necessary.
243 Volume
244
245 moves, replicates, and backups are managed by the Volume Server Process.
246 The Volume Location Server Process is responsible for location
247 transparency.  Authentication is the domain of the Authentication Server
248 Process.  The Protection Server Process maintains user and group access
249 information and authorization, while the propagation of application and
250 system software updates to replicate servers is handled by the Update
251 Server Process.  Transarc divides files servers within cells into four
252 distinct roles.  The System Control Machine maintains information for all
253 file servers in a cell.  At least one file server runs the four AFS
254 database processes (Authentication, Protection, Volume Location, and
255 Backup Server), but Transarc recommends three or more file servers host
256 these tasks.  For each different type of computer (such as a SPARCstation
257 or a DECstation) in a cell, a Binary Distribution Machine is required to
258 distribute software to that specific class of machine.  Finally, Simple
259 Server Machines run only the basic File Server and Volume Server
260 processes.  At NCSU, file servers are further categorized into those with
261 operating system-related files and user-related files.  Of NCSU's 35
262 servers, 10 handle user home directories, 18 are used as binary servers
263 for operating system files and third-party packages, and the remainder
264 serve as department-specific servers.  To simplify file access,
265 administrators or users at NCSU use a program called attach, from MIT, to
266 map volumes to a shorter name space.  For example, if a user wants to
267 access a mathematics package called matlab, typically the user would need
268 to provide the path: /afs/eos.  ncsu.  edu/dist/matlab where afs
269 represents the Transarc root directory, eos.ncsu.edu is the cell or site,
270 dist is a directory within that cell, and matlab is the directory for the
271 math application.  Using attach, the path becomes/ncsu/matlab.  Figure 1
272 Illustrates the AFS structure implemented at NCSU.
273
274 You can use NIS as a name server for AFS but most sites, including NCSU,
275 use the Berkeley Internet Name Domain (BIND) server to maintain a
276 database of name information.  The BIND tool comes with the standard BSD
277 Unix distribution.
278
279 A Question of Reliability
280
281 AFS is more reliable than NFS because copies of applications and AFS
282 databases can be replicated on multiple file servers within a cell.
283 These replicates eliminate the single point of failure frequently seen on
284 NFS networks.  If an NFS file server containing applications goes down,
285 then some block of client workstations is unable to access its
286 applications.  In AFS, a problem with a primary application server causes
287 attached clients to be switched to a replicate, with only a minor delay.
288
289 By using replicates to spread out the load of file system requests, AFS
290 also eases the problem of dropped packets.  In NFS, multiple nfsd daemons
291 on a machine all retrieve client requests on the same UDP socket, which
292 is an access point or a "listener" process.  UDP sockets have limited
293 buffer space, so a surge in requests can lead to overflows.  Increasing
294 the number of nfsd daemons helps to a point, but running too many
295 degrades NFS performance due to context switching and scheduling
296 overhead.  AFS replicates lessen the importance of choosing the correct
297 number of processes to listen on a UDP socket.
298
299 A Better Performer
300
301 Although third-party products can enhance the performance of NFS, I have
302 concentrated on the base capabilities of NFS and AFS.  Robust caching is
303 the key to AFS's superior performance.  When a non-local file is
304 accessed, the requested portions of the file are retrieved in 64-Kbyte
305 chunks and stored locally (on disk or in memory).  Initial access of
306 network applications is slower, but subsequent invocations run at local
307 workstation speed.
308
309 AFS's callback facility helps reduce LAN traffic as well as maintain
310 cache consistency.  With callback, an AFS server notifies clients when a
311 file system they're caching has been changed.  The next time a user
312 accesses the file on the client, the cache manager knows to refresh its
313 cache by reading the most recent copy of the file from the server.
314
315 In comparison, NFS caches are similar to traditional Unix buffer caches,
316 which are simply portions of memory reserved for recently accessed file
317 blocks.  Normally, NFS reads and writes data in 8-Kbyte chunks.  Data
318 validity is maintained via the file attributes, such as date of last
319 access and file modification time, which are cached on the client and
320 generally refreshed from the server every 60 seconds (although this
321 refresh time is configurable).  If some file attribute information
322 changes, an NFS process knows it needs to refresh the block of data it
323 has read.  The file modification time determines if the cache must be
324 flushed and the file re-read.
325
326 This process causes traffic on the network, since clients must get file
327 attribute refreshes at regular intervals.  However, if a user is
328 accessing an application, this refresh is unnecessary.  Unlike AFS, the
329 NFS process introduces the possibility of a client having out-of-date
330 information.  Shorter refresh periods reduce the danger of stale
331 information, but dramatically increase the request load on the server,
332 which can result in dropped packets.
333
334 Both NFS and AFS clients perform asynchronous writes back to the server,
335 but the larger buffer size blunts the impact with AFS.  Use of a large
336 buffer results in fewer network messages, and thus less network overhead.
337  For example, writing one 32-Kbyte block is faster than writing four
338 8Kbyte blocks.  The combination of a small buffer size, limited caching
339 capability, and constant attribute cache updates puts a lot of strain on
340 an NFS server, making wide area access prohibitively slow.  Conversely,
341 large buffers, significant caching capability, and server callbacks make
342 life easier for AFS servers, allowing for excellent wide area access over
343 T1 lines.
344
345 Figure 2 contrasts the AFS and NFS caching approaches.  In this scenario,
346 a student first browses, then prints, a file containing class notes.  In
347 between the student's browsing and printing, the teacher updates the
348 notes on the file server.  With NFS, the student may end up priming the
349 older information.  Under AFS, the student prints out the updated class
350 notes.
351
352 While Transarc recommends 20 Mbytes of disk space per AFS client, NCSU
353 uses 25 Mbytes or more.  Transarc recommends 25 Mbytes or more of disk
354 space for file servers, depending on their role.  NFS requirements vary
355 widely due to the diversity of implementations, but they are much lower
356 due to NFS's primitive caching.  AFS and NFS both support diskless
357 clients but, since they place large demands on the network, NCSU shuns
358 them.
359
360 For better performance, NCSU installed AFS database servers on dedicated
361 CPUs.  Suddenly users could no longer reach file servers.  Transarc
362 helped NCSU administrators determine that the problem was related to
363 backward compatibility with previous versions of AFS.  It turned out that
364 even though AFS maintained all system information in the databases,
365 requesting processes looked for file servers instead of querying the
366 Volume Location Process on the database servers.  Until Transarc fixed
367 the problem, NCSU worked around it by configuring database servers as
368 both database and file servers.
369
370 While replicates are mainly an AFS reliability feature, they also aid
371 performance by reducing UDP socket activity on a given server.
372 Performance can be further improved by configuring clients with server
373 preference lists.  NCSU buys applications with network licenses.  Each
374 client has a list of application servers it would prefer to access, based
375 on where that server is located on the network.  For example, a client
376 typically would prefer to access an application server on the same LAN
377 segment rather than traverse a router.  AFS originally used random server
378 access, but in Version 3.2 Transarc introduced a preference scheme that
379 uses network addresses.
380
381 Currently, AFS supports up to six read-only replicates of a single
382 read-write volume.  Support for more replicates is planned for the next
383 release.  In the meantime, NCSU administrators have implemented two
384 read-write servers in some instances in order to increase the number of
385 replicates to 12.  This requires additional management, since they have
386 to update two servers with new software releases.
387
388 Security Muscle
389
390 AFS gets its security edge through its integration with Kerberos.
391 Although NFS can operate with Kerberos, it takes considerable effort to
392 integrate.  (For more on Kerberos, see the sidebar "Kerberized
393 Services.") Kerberos uses network-wide passwords and requires clients to
394 obtain tickets, which are a type of access key conveyed in messages, in
395 order to access services.  Typically, NFS systems use NIS to maintain a
396 network-wide password file.  However, trusted hosts and users are
397 frequently employed by remote users as a means to access servers.  (A
398 trusted host has a trustworthy system administrator who won't let his or
399 her machine masquerade as another host.) A user from a trusted host can
400 access resources on another host, if the user has an account on both
401 machines, without entering a user name and password.  While this makes
402 casual access easy, you must be able to trust the other systems and take
403 steps to prevent one system from masquerading as another.
404
405 In NFS, the/etc/hosts.equiv and .  rhosts files in user home directories
406 contain hostname or host-user pairs, for example pooh and zippy davec.
407 This host trusts all users on host pooh and user davec on host zippy.
408 Trusted hosts and users should be used cautiously, as they present large
409 security gaps.  For example, by changing the IP address and host name, an
410 administrator on a single machine can make that machine look like one
411 that has trusted host status.  Similarly, an administrator can "become" a
412 user who has trusted user access on another machine.  For this reason,
413 many sites have switched to a Kerberized NFS.
414
415 AFS's use of protection groups for security is a significant advantage
416 over NFS.  A protection group is a set of users with common access rights
417 to specific groups of files.  These groups can be set up by anyone.
418 While Unix lets you establish groups, you need system administrator
419 rights to set them up and maintain them.  In AFS, protection groups are
420 generally created and maintained by users.  At NCSU, the faculty sets up
421 protection groups based on class members.  To prevent name conflicts, a
422 protection group name is prefaced by the creator's user name, such as
423 davec:sysadm.  Here, user davec created protection group sysadm.
424
425 In AFS, access control lists (ACLs) apply to individuals or groups and
426 support the following rights: read, lookup, insert, delete, write, lock,
427 and admin.  This is a major improvement over the standard Unix chmod
428 command used in NFS, which only offers read, write, and execute.
429 Currently, AFS access control is applied by directory only, while Unix
430 rights apply to files and directories.
431
432 Another security issue arises from the Unix root user and setuid
433 programs.  On a Unix system, the root user has access to everything on
434 that workstation, since root defines a superuser.  A setuid program can
435 change its identity to become anyone else.  Many Unix utilities,
436 including mail and the lpd print spooler, require superuser rights to get
437 at files they need.  Some of the programs that comprise the standard Unix
438 mail processes must run with setuid privileges in order to create files
439 accessible by specific users.  The lpd program typically would setuid to
440 root to access the files it needs.  On a distributed system, the
441 superuser on one machine has no special rights on another machine.  Since
442 root does not operate across multiple machines, utilities that rely on
443 root and setuid will not work across the network.
444
445 NFS gets around this problem with trusted host operation, where root can
446 run the printer and mail processes on another machine.  This solution
447 poses security risks and isn't possible under AFS and Kerberized NFS
448 because Kerberos doesn't allow for the use of trusted hosts.  To get
449 around the difficulties posed by root and setuid programs, AFS users need
450 to look to third parties.  NCSU administrators tackled the mail problem
451 by using a Kerberized post office protocol (pop) mail server from MIT.
452 Using a pop mail server, clients access a central mail hub to retrieve
453 messages.  This scheme is familiar to those in the personal computer
454 world, but most Unix systems use mail facilities that route mail between
455 machines.
456
457 Management Styles
458
459 NFS and AFS have different administration and management tools as well as
460 different backup systems.  NFS file servers have several mechanisms for
461 tracking mounted file systems.  The exports utility maintains
462 the/etc/xtab file, which lists exported file systems.  The mountd daemon
463 on the server notes client mount requests in the /etc/rmtab file, and
464 administrators can retrieve the information with the show-mount utility.
465
466 On clients, the/etc/mtab file lists file systems currently mount request
467 in the client.  (/etc/fstab, discussed earlier only lists those file
468 systems the system, administrator has specifically indicated can be
469 mounted.) Clients can review currently mounted file systems with the df
470 utility.  NFS file access statistic are available via nfstat.  For
471 clients, this utility shows aggregate server access statistics; for
472 servers, it shows aggregate client access statistics.
473
474 In AFS, the administration commands most commonly employed by users and
475 administrators are:
476
477 fs -- for file-related activities such as set access control, check
478 quota, and get current server
479
480 pts -- for group-related activities such as create groups, set group
481 access, and add users to groups
482
483 vos -- for volume-related activities such as create/destroy/update
484 volumes and mount and examine volumes
485
486 bos -- for server-related activities such as bring servers up and down
487 and view server status and logs
488
489 AFS also includes the following management utilities and tools: Scout,
490 the Backup System, uss, Package, and Ubik.  Scout probes AFS file
491 servers, collecting load statistics, flagging unresponsive servers, and
492 alerting administrators when a server parameter exceeds a predetermined
493 threshold.  The Backup System backs up volumes to tape in groups called
494 volume sets.  During backup, volume sets are "cloned," then backed up,
495 allowing the file system to remain available.  Clones also allow users to
496 retrieve files they inadvertently deleted, as the clone of the user's
497 volume appears under a .Old subdirectory in the user's home directory.
498 The clone contains a reference, like a Unix hard link, to each file in
499 the read-write volume.  (With a hard link, a user can create a file
500 called X and a link to that file called Y. If the user deletes X, the
501 file still exists and can be read through Y.) When a file in an AFS
502 read-write volume is deleted, the done volume's reference preserves the
503 file until the volume is re-cloned.
504
505 The AFS Backup System also has a mechanism for storing and retrieving
506 volumes on tape.  This system and its database of tape history were
507 recently integrated into the AFS distributed database scheme.  However,
508 the AFS backup process requires human interaction, since it cannot be
509 pre-scheduled to launch.  This is a disadvantage compared to the standard
510 Unix dump and restore scripts, which can be launched by cron, a program
511 for scheduling other processes.  To get around this shortcoming of the
512 AFS backup scheme, NCSU uses a utility developed by the University of
513 California at Berkeley that stores a set of keystrokes, so it can be used
514 to launch a backup.
515
516 NCSU doesn't use the .Old cloning facility because it can require
517 considerable disk space.  Thus, in order to restore one file from tape,
518 the entire backup volume must be mounted and the file moved.  To ease
519 backups and restores, NCSU administrators limit the size of volumes so
520 that the typical user volume is 5 Mbytes.  The only backup advantage NFS
521 offers over AFS is its ability to restore individual files; AYS requires
522 that a whole volume be mounted.  NFS backup systems are frequently just
523 shell scripts cobbled together around the Unix dump and restore commands.
524
525 The uss tool lets AFS administrators add users to the system via
526 templates they create, and a bulk feature lets administrators create a
527 large number of accounts at once.  In contrast, NFS relies on NIS to
528 maintain system-wide user name databases.
529
530 The AFS Package tool performs client maintenance tasks and installs AFS
531 on client machines using predefined configurations that require the
532 administrator to change only a few parameters, such as machine-specific
533 values.  Finally, Ubik is a library of utilities that AFS database
534 servers use to keep the individual copies of their databases
535 synchronized.  Ubik is a sub-process within the Authentication,
536 Protection, Volume Location, and Backup processes.  Primary copies of the
537 four system databases are located on a server designated as the
538 synchronization site, and secondary databases are updated when the
539 primary is changed.
540
541 AFS Strengths
542
543 Based on NCSU's experience, Unix networks running AFS require minimal
544 support.  Ten people, including a secretary, are responsible for more
545 than 8,000 accounts and 40 Gbytes of disk space.  Unlike NFS' inscrutable
546 uid-based disk quotas for users, AFS disk quotas are based on volumes and
547 are easily reviewed by users.
548
549 At NCSU, two support people handle hardware and two others take care of
550 the operating system, file system, and security.  Two more manage the
551 30plus applications.  The NCSU team can have a workstation up and running
552 on the AFS network 20 minutes after the hardware is set up, thanks to
553 customized bootstrapping and configuration software engineered by Bobby
554 Pham, the principal systems programmer.  Responsibility for printers and
555 printing is farmed out to a local service firm.
556
557 Although NCSU has deployed mainly DEC workstations, some IBM,
558 Hewlett-Packard, and Sun machines also exist on the network.  When
559 dealing with a heterogeneous environment, AFS clients use a file to point
560 to the machine architecture.  NFS also supports mixed environments, but
561 because so many vendors have done their own implementations, you must
562 take care when setting up NFS in a heterogenous environment.  An
563 important advantage of NFS over AFS is NFS's support for Intel-based and
564 Macintosh clients.  To incorporate these NFS clients into an AFS network,
565 a Unix machine must be configured as an NFS server and run Transarc's
566 NFS/AFS Translator.
567
568 The key contribution AFS has made at NCSU is that students can sit down
569 at any workstation and be presented with the same environment.  System
570 administrator Barnhouse refers to this as "wherever you go, there you
571 are." This concept extends into management, as RPC-based administrative
572 commands can be issued from any workstation, given appropriate access
573 rights.
574
575 NFS blazed a trail for distributed file systems, but its age is showing.
576 Today's large, interconnected networks are constrained by NFS's
577 performance bottlenecks and weak security.  System administrators must
578 work magic with piecemeal management tools.
579
580 NFS's problems and patches were duly noted by CMU developers as they
581 developed the Andrew File System.  With Kerberos security, file location
582 transparency, and powerful management tools as integral components, AFS
583 represents a clear evolution for distributed file systems.  Transarc's
584 commercialization of the CMU offspring spawned wider use of AFS.  Over
585 the past three years, AFS has been installed in 250 sites, with 55
586 percent of these commercial, 35 percent educational, and 10 percent
587 government sites.  Roughly 80 percent of AFS installations are in the
588 United States.
589
590 OSF's adoption of AFS as the file system component of DCE will spur even
591 greater acceptance of this technology.  Although NFS is still the
592 overwhelming choice for distributed file systems for Unix networks, look
593 for AFS (and its DCE incarnation) to muscle its way into the market.
594
595 Acknowledgments
596
597 Bill Willis, the director of Computing Operations at NCSU, deserves
598 credit for pushing a project with tremendous promise.  He introduced me
599 to the project and made personnel available for assistance.  Ken
600 Barnhouse gave me an in-depth look at AFS in action, while Bobby Pham,
601 the principal systems programmer for the project, clarified technical
602 details and took on the proofreading chores.
603
604 Elaine Wolfe in marketing services and Kathy Rizzuti in product support
605 at Transarc managed to block out the product blitz long enough to feed me
606 technical literature and answer questions.
607
608 Finally, Hal Stern's book, Managing NS and NIS (O'Reilly and Associates),
609 proved to be a comprehensive resource.
610
611 From NFS to OSF via AFS
612
613 In May of 1990, the OSF selected technology submitted by Transarc for
614 inclusion in the DFS component of DCE.  As a result, AFS-based DCE will
615 be available from all OSF vendors, with initial implementations due out
616 by mid-year.  To help port applications to DCE, Transarc is shipping a
617 DCE Developer's Kit.  The company also announced plans to deliver a
618 production-quality DCE for Solaris 2.0 on Sun workstations this year,
619
620 Transarc is positioning AFS Version 3 as a migration path to DCE.
621 Architectural components, tools, and user commands will be similar.  In
622 particular, Transarc claims that system managers can make decisions based
623 on AFS that apply to DCE in the following areas: hardware and software
624 purchases, machine allocation (that is, machines needed for specific
625 tasks), user disk quotas, security policies, and system administrative
626 staffing.  Once DCE is widely available, Transarc will discontinue
627 selling AFS.
628
629 The key differences between the stand-alone version of AFS and its DCE
630 implementation are that the DCE version will support technologies that
631 interoperate with other DCE components.  For example, AFS implementation
632 in DCE will support a journaling, high-performance file system called the
633 Local File System.  LFS is based on Transarc's Episode product.  Also,
634 automatic periodic updates of replicates will be supported in the DCE
635 implementation.  In addition, access control will be possible at the file
636 level, rather than just the directory level.  The DCE version of AFS will
637 also support OSF components such as the Remote Procedure Call (RPC)
638 facility, the Global Directory Service (based on X.500), and the
639 Distributed Time Service.
640
641 Transarc will offer an AFS 3-toDCE DFS Migration Toolkit to help
642 customers move to DCE.  The toolkit permits interoperability between AFS
643 systems and systems that have been converted to DCE.  It contains three
644 primary components: a tool for transferring account and group
645 information, a tool for converting files, and a tool for
646 interoperability.
647
648 On the other end of the spectrum, companies can ease the transition from
649 NFS to AFS with Transarc's NFS/AFS Translator.  The translator, installed
650 on an AFS client, lets unmodified NFS systems access files stored in the
651 AFS name space.  ln effect, the AFS client becomes an NFS server.  The
652 translator is particularly valuable for machines such as IBM PCs and
653 compatibles and Macintoshes, as these platforms boast numerous NFS
654 solutions but are not supported under AFS.
655
656 The NFS/AFS Translator thus becomes a key stepping-stone in a company's
657 migration to AFS.  However, potholes mar the road to OSF.  The absence of
658 a translator between NFS and DFS threatens to leave IBM PCs and
659 Macintoshes by the wayside.  Transarc indicated that a translator
660 wouldn't lag too far behind early DCE releases.
661
662 If you're thinking of skipping the translation stage and migrating your
663 personal computers right to DCE, brace yourself for steep CPU, memory,
664 and disk space requirements.  (You'll need an 80486-based machine with at
665 least 16 Mbytes of RAM and upwards of 100 Mbytes of disk space, depending
666 on the number of DCE components installed.) Gradient Technologies has
667 announced DCE for PC DOS and Siemens Nixdorf is working on an IBM PC
668 version of DCE.  OSF has reportedly had discussions with Apple concerning
669 a Macintosh implementation.
670
671 Kerberized Services
672
673 Part of MIT's Project Athena, Kerberos was named after Cerberus, the
674 three-headed dog that guards the entrance to Hades in Greek mythology.
675 Like Cerberus, Kerberos' job is to prevent unauthorized access -- in this
676 case, to Unix services.  (The goal of Project Athena was to design a
677 network that would run local applications while being able to call remote
678 services.  In addition to Kerberos, Project Athena spawned the X Window
679 System and other Unix systems and tools.)
680
681 Kerberos assumes it is operating in a distributed environment
682 characterized by unsecured workstations, moderately secure servers, and
683 secure Kerberos key distribution machines.  The two mechanisms used to
684 ensure security are tickets and authenticators.  A ticket is a message
685 used to obtain a temporary session key and to ensure the identity of the
686 requester.  An initial ticket is even required to obtain tickets for
687 other services.  The authenticator validates the identity of the
688 requester.
689
690 When a client (user or application) logs on to a system, a ticket request
691 is sent to the Kerberos server.  The Kerberos server issues a ticket,
692 which the client then presents to the ticketgranting server (TGS) in
693 order to obtain tickets for other servers.  This initial ticket, known as
694 the ticketgranting ticket, is encrypted with a key known only to the
695 Kerberos server and the TGS.  For additional security, the ticket expires
696 at the end of a specified time, usually between eight and 24 hours.
697
698 A dient must obtain a ticket from the TGS for each service to be used.
699 The request to the TGS includes the server required, the ticket-granting
700 ticket, and an authenticator.  The authenticator is part of a message
701 built by the dient; it contains some client information that is also in
702 the ticket-granting ticket and is used to verify that the client is who
703 he says he is.  A client must create a new authenticator prior to every
704 service request.  The ticket the TGS returns is encrypted with the
705 requested server's Kerberos key.
706
707 Finally, the ticket and a new authenticator are sent to the server the
708 client wants services from.  The server decrypts the ticket, verities the
709 ticket information against the authenticator, and, if everything checks
710 out, grants the request.
711
712 Kerberos plugs a number of security holes, but still requires a secure
713 server and private passwords.  In addition, a service's source code must
714 be modified to use Kerberos.  Fortunately, more and more network services
715 are being Kerberized, giving you the equivalent of a three-headed dog to
716 protect your Hades...er, network.
717 -------------------------------------------------------------------------
718 Company:   Sun Microsystems Inc.
719            Transarc Corp.
720 Product:   AFS 3.2
721            Network File System
722 Topic:     Carnegie-Mellon University
723            File Management
724            Distributed Processing
725            Network Software
726            Communications Software
727            Comparison
728
729
730 Record#:   13 620 603.
731                               *** End ***