138799fcfeab7a862e685ced2aa6ef0b0832a900
[openafs.git] / doc / xml / AdminGuide / auagd006.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <chapter id="HDRWQ5">
3   <title>An Overview of OpenAFS Administration</title>
4
5   <para>This chapter provides a broad overview of the concepts and organization of AFS. It is strongly recommended that anyone
6   involved in administering an AFS cell read this chapter before beginning to issue commands.</para>
7
8   <sect1 id="HDRWQ6">
9     <title>A Broad Overview of AFS</title>
10
11     <para>This section introduces most of the key terms and concepts necessary for a basic understanding of AFS. For a more detailed
12     discussion, see <link linkend="HDRWQ7">More Detailed Discussions of Some Basic Concepts</link>.</para>
13
14     <sect2 renderas="sect3">
15       <title>AFS: A Distributed File System</title>
16
17       <para>AFS is a distributed file system that enables users to share and access all of the files stored in a network of
18       computers as easily as they access the files stored on their local machines. The file system is called distributed for this
19       exact reason: files can reside on many different machines (be distributed across them), but are available to users on every
20       machine.</para>
21     </sect2>
22
23     <sect2 renderas="sect3">
24       <title>Servers and Clients</title>
25
26       <para>In fact, AFS stores files on a subset of the machines in a network, called file server machines. File server machines
27       provide file storage and delivery service, along with other specialized services, to the other subset of machines in the
28       network, the client machines. These machines are called clients because they make use of the servers' services while doing
29       their own work. In a standard AFS configuration, clients provide computational power, access to the files in AFS and other
30       "general purpose" tools to the users seated at their consoles. There are generally many more client workstations than file
31       server machines.</para>
32
33       <para>AFS file server machines run a number of server processes, so called because each provides a distinct specialized
34       service: one handles file requests, another tracks file location, a third manages security, and so on. To avoid confusion, AFS
35       documentation always refers to server machines and server processes, not simply to servers. For a more detailed description of
36       the server processes, see <link linkend="HDRWQ17">AFS Server Processes and the Cache Manager</link>.</para>
37     </sect2>
38
39     <sect2 renderas="sect3">
40       <title>Cells</title>
41
42       <para>A cell is an administratively independent site running AFS. As a cell's system administrator, you make many decisions
43       about configuring and maintaining your cell in the way that best serves its users, without having to consult the
44       administrators in other cells. For example, you determine how many clients and servers to have, where to put files, and how to
45       allocate client machines to users.</para>
46     </sect2>
47
48     <sect2 renderas="sect3">
49       <title>Transparent Access and the Uniform Namespace</title>
50
51       <para>Although your AFS cell is administratively independent, you probably want to organize the local collection of files
52       (your filespace or tree) so that users from other cells can also access the information in it. AFS enables cells to combine
53       their local filespaces into a global filespace, and does so in such a way that file access is transparent--users do not need
54       to know anything about a file's location in order to access it. All they need to know is the pathname of the file, which looks
55       the same in every cell. Thus every user at every machine sees the collection of files in the same way, meaning that AFS
56       provides a uniform namespace to its users.</para>
57     </sect2>
58
59     <sect2 renderas="sect3">
60       <title>Volumes</title>
61
62       <para>AFS groups files into volumes, making it possible to distribute files across many machines and yet maintain a uniform
63       namespace. A volume is a unit of disk space that functions like a container for a set of related files, keeping them all
64       together on one partition. Volumes can vary in size, but are (by definition) smaller than a partition.</para>
65
66       <para>Volumes are important to system administrators and users for several reasons. Their small size makes them easy to move
67       from one partition to another, or even between machines. The system administrator can maintain maximum efficiency by moving
68       volumes to keep the load balanced evenly. In addition, volumes correspond to directories in the filespace--most cells store
69       the contents of each user home directory in a separate volume. Thus the complete contents of the directory move together when
70       the volume moves, making it easy for AFS to keep track of where a file is at a certain time. Volume moves are recorded
71       automatically, so users do not have to keep track of file locations.</para>
72     </sect2>
73
74     <sect2 renderas="sect3">
75       <title>Efficiency Boosters: Replication and Caching</title>
76
77       <para>AFS incorporates special features on server machines and client machines that help make it efficient and
78       reliable.</para>
79
80       <para>On server machines, AFS enables administrators to replicate commonly-used volumes, such as those containing binaries for
81       popular programs. Replication means putting an identical read-only copy (sometimes called a clone) of a volume on more than
82       one file server machine. The failure of one file server machine housing the volume does not interrupt users' work, because the
83       volume's contents are still available from other machines. Replication also means that one machine does not become
84       overburdened with requests for files from a popular volume.</para>
85
86       <para>On client machines, AFS uses caching to improve efficiency. When a user on a client workstation requests a file, the
87       Cache Manager on the client sends a request for the data to the File Server process running on the proper file server machine.
88       The user does not need to know which machine this is; the Cache Manager determines file location automatically. The Cache
89       Manager receives the file from the File Server process and puts it into the cache, an area of the client machine's local disk
90       or memory dedicated to temporary file storage. Caching improves efficiency because the client does not need to send a request
91       across the network every time the user wants the same file. Network traffic is minimized, and subsequent access to the file is
92       especially fast because the file is stored locally. AFS has a way of ensuring that the cached file stays up-to-date, called a
93       callback.</para>
94     </sect2>
95
96     <sect2 renderas="sect3">
97       <title>Security: Mutual Authentication and Access Control Lists</title>
98
99       <para>Even in a cell where file sharing is especially frequent and widespread, it is not desirable that every user have equal
100       access to every file. One way AFS provides adequate security is by requiring that servers and clients prove their identities
101       to one another before they exchange information. This procedure, called mutual authentication, requires that both server and
102       client demonstrate knowledge of a "shared secret" (like a password) known only to the two of them. Mutual authentication
103       guarantees that servers provide information only to authorized clients and that clients receive information only from
104       legitimate servers.</para>
105
106       <para>Users themselves control another aspect of AFS security, by determining who has access to the directories they own. For
107       any directory a user owns, he or she can build an access control list (ACL) that grants or denies access to the contents of
108       the directory. An access control list pairs specific users with specific types of access privileges. There are seven separate
109       permissions and up to twenty different people or groups of people can appear on an access control list.</para>
110
111       <para>For a more detailed description of AFS's mutual authentication procedure, see <link linkend="HDRWQ75">A More Detailed
112       Look at Mutual Authentication</link>. For further discussion of ACLs, see <link linkend="HDRWQ562">Managing Access Control
113       Lists</link>.</para>
114     </sect2>
115   </sect1>
116
117   <sect1 id="HDRWQ7">
118     <title>More Detailed Discussions of Some Basic Concepts</title>
119
120     <para>The previous section offered a brief overview of the many concepts that an AFS system administrator needs to understand.
121     The following sections examine some important concepts in more detail. Although not all concepts are new to an experienced
122     administrator, reading this section helps ensure a common understanding of term and concepts.</para>
123
124     <sect2 id="HDRWQ8">
125       <title>Networks</title>
126
127       <indexterm>
128         <primary>network</primary>
129
130         <secondary>defined</secondary>
131       </indexterm>
132
133       <para>A <emphasis>network</emphasis> is a collection of interconnected computers able to communicate with each other and
134       transfer information back and forth.</para>
135
136       <para>A networked computing environment contrasts with two types of computing environments: <emphasis>mainframe</emphasis> and
137       <emphasis>personal</emphasis>. <indexterm>
138           <primary>network</primary>
139
140           <secondary>as computing environment</secondary>
141         </indexterm> <indexterm>
142           <primary>environment</primary>
143
144           <secondary>types compared</secondary>
145         </indexterm> <itemizedlist>
146           <listitem>
147             <para>A <emphasis>mainframe</emphasis> computing environment is the most traditional. It uses a single powerful computer
148             (the mainframe) to do the majority of the work in the system, both file storage and computation. It serves many users,
149             who access their files and issue commands to the mainframe via terminals, which generally have only enough computing
150             power to accept input from a keyboard and to display data on the screen.</para>
151
152             <indexterm>
153               <primary>mainframe</primary>
154
155               <secondary>computing environment</secondary>
156             </indexterm>
157           </listitem>
158
159           <listitem>
160             <para>A <emphasis>personal</emphasis> computing environment is a single small computer that serves one (or, at the most,
161             a few) users. Like a mainframe computer, the single computer stores all the files and performs all computation. Like a
162             terminal, the personal computer provides access to the computer through a keyboard and screen.</para>
163
164             <indexterm>
165               <primary>personal</primary>
166
167               <secondary>computing environment</secondary>
168             </indexterm>
169           </listitem>
170         </itemizedlist></para>
171
172       <para>A network can connect computers of any kind, but the typical network running AFS connects high-function personal
173       workstations. Each workstation has some computing power and local disk space, usually more than a personal computer or
174       terminal, but less than a mainframe. For more about the classes of machines used in an AFS environment, see <link
175       linkend="HDRWQ10">Servers and Clients</link>.</para>
176     </sect2>
177
178     <sect2 id="HDRWQ9">
179       <title>Distributed File Systems</title>
180
181       <indexterm>
182         <primary>file system</primary>
183
184         <secondary>defined</secondary>
185       </indexterm>
186
187       <indexterm>
188         <primary>distributed file system</primary>
189       </indexterm>
190
191       <para>A <emphasis>file system</emphasis> is a collection of files and the facilities (programs and commands) that enable users
192       to access the information in the files. All computing environments have file systems. In a mainframe environment, the file
193       system consists of all the files on the mainframe's storage disks, whereas in a personal computing environment it consists of
194       the files on the computer's local disk.</para>
195
196       <para>Networked computing environments often use <emphasis>distributed file systems</emphasis> like AFS. A distributed file
197       system takes advantage of the interconnected nature of the network by storing files on more than one computer in the network
198       and making them accessible to all of them. In other words, the responsibility for file storage and delivery is "distributed"
199       among multiple machines instead of relying on only one. Despite the distribution of responsibility, a distributed file system
200       like AFS creates the illusion that there is a single filespace.</para>
201     </sect2>
202
203     <sect2 id="HDRWQ10">
204       <title>Servers and Clients</title>
205
206       <indexterm>
207         <primary>server/client model</primary>
208       </indexterm>
209
210       <indexterm>
211         <primary>server</primary>
212
213         <secondary>definition</secondary>
214       </indexterm>
215
216       <indexterm>
217         <primary>client</primary>
218
219         <secondary>definition</secondary>
220       </indexterm>
221
222       <para>AFS uses a server/client model. In general, a server is a machine, or a process running on a machine, that provides
223       specialized services to other machines. A client is a machine or process that makes use of a server's specialized service
224       during the course of its own work, which is often of a more general nature than the server's. The functional distinction
225       between clients and server is not always strict, however--a server can be considered the client of another server whose
226       service it is using.</para>
227
228       <para>AFS divides the machines on a network into two basic classes, <emphasis>file server machines</emphasis> and
229       <emphasis>client machines</emphasis>, and assigns different tasks and responsibilities to each.</para>
230
231       <formalpara>
232         <title>File Server Machines</title>
233
234         <indexterm>
235           <primary>file server machine</primary>
236         </indexterm>
237
238         <indexterm>
239           <primary>server</primary>
240
241           <secondary>process</secondary>
242
243           <tertiary>definition</tertiary>
244         </indexterm>
245
246         <para><emphasis>File server machines</emphasis> store the files in the distributed file system, and a <emphasis>server
247         process</emphasis> running on the file server machine delivers and receives files. AFS file server machines run a number of
248         <emphasis>server processes</emphasis>. Each process has a special function, such as maintaining databases important to AFS
249         administration, managing security or handling volumes. This modular design enables each server process to specialize in one
250         area, and thus perform more efficiently. For a description of the function of each AFS server process, see <link
251         linkend="HDRWQ17">AFS Server Processes and the Cache Manager</link>.</para>
252       </formalpara>
253
254       <para>Not all AFS server machines must run all of the server processes. Some processes run on only a few machines because the
255       demand for their services is low. Other processes run on only one machine in order to act as a synchronization site. See <link
256       linkend="HDRWQ90">The Four Roles for File Server Machines</link>.</para>
257
258       <formalpara>
259         <title>Client Machines</title>
260
261         <indexterm>
262           <primary>client</primary>
263
264           <secondary>machine</secondary>
265
266           <tertiary>definition</tertiary>
267         </indexterm>
268
269         <para>The other class of machines are the <emphasis>client machines</emphasis>, which generally work directly for users,
270         providing computational power and other general purpose tools. Clients also provide users with access to the files stored on
271         the file server machines. Clients do not run any special processes per se, but do use a modified kernel that enables them to
272         communicate with the AFS server processes running on the file server machines and to cache files. This collection of kernel
273         modifications is referred to as the Cache Manager; see <link linkend="HDRWQ28">The Cache Manager</link>. There are usually
274         many more client machines in a cell than file server machines.</para>
275       </formalpara>
276
277       <formalpara>
278         <title>Client and Server Configuration</title>
279
280         <indexterm>
281           <primary>personal</primary>
282
283           <secondary>workstation</secondary>
284
285           <tertiary>as typical AFS machine</tertiary>
286         </indexterm>
287
288         <para>In the most typical AFS configuration, both file server machines and client machines are high-function workstations
289         with disk drives. While this configuration is not required, it does have some advantages.</para>
290       </formalpara>
291
292       <para>There are several advantages to using personal workstations as file server machines. One is that it is easy to expand
293       the network by adding another file server machine. It is also easy to increase storage space by adding disks to existing
294       machines. Using workstations rather than more powerful mainframes makes it more economical to use multiple file server
295       machines rather than one. Multiple file server machines provide an increase in system availability and reliability if popular
296       files are available on more than one machine.</para>
297
298       <para>The advantage of using workstations as clients is that caching on the local disk speeds the delivery of files to
299       application programs. (For an explanation of caching, see <link linkend="HDRWQ16">Caching and Callbacks</link>.) Diskless
300       machines can access AFS if they are running NFS(R) and the NFS/AFS Translator, an optional component of the AFS
301       distribution.</para>
302     </sect2>
303
304     <sect2 id="HDRWQ11">
305       <title>Cells</title>
306
307       <indexterm>
308         <primary>cell</primary>
309       </indexterm>
310
311       <para>A <emphasis>cell</emphasis> is an independently administered site running AFS. In terms of hardware, it consists of a
312       collection of file server machines and client machines defined as belonging to the cell; a machine can only belong to one cell
313       at a time. Users also belong to a cell in the sense of having an account in it, but unlike machines can belong to (have an
314       account in) multiple cells. To say that a cell is administratively independent means that its administrators determine many
315       details of its configuration without having to consult administrators in other cells or a central authority. For example, a
316       cell administrator determines how many machines of different types to run, where to put files in the local tree, how to
317       associate volumes and directories, and how much space to allocate to each user.</para>
318
319       <para>The terms <emphasis>local cell</emphasis> and <emphasis>home cell</emphasis> are equivalent, and refer to the cell in
320       which a user has initially authenticated during a session, by logging onto a machine that belongs to that cell. All other
321       cells are referred to as <emphasis>foreign</emphasis> from the user's perspective. In other words, throughout a login session,
322       a user is accessing the filespace through a single Cache Manager--the one on the machine to which he or she initially logged
323       in--whose cell membership defines the local cell. All other cells are considered foreign during that login session, even if
324       the user authenticates in additional cells or uses the <emphasis role="bold">cd</emphasis> command to change directories into
325       their file trees.</para>
326
327       <indexterm>
328         <primary>local cell</primary>
329       </indexterm>
330
331       <indexterm>
332         <primary>cell</primary>
333
334         <secondary>local</secondary>
335       </indexterm>
336
337       <indexterm>
338         <primary>foreign cell</primary>
339       </indexterm>
340
341       <indexterm>
342         <primary>cell</primary>
343
344         <secondary>foreign</secondary>
345       </indexterm>
346
347       <para>It is possible to maintain more than one cell at a single geographical location. For instance, separate departments on a
348       university campus or in a corporation can choose to administer their own cells. It is also possible to have machines at
349       geographically distant sites belong to the same cell; only limits on the speed of network communication determine how
350       practical this is.</para>
351
352       <para>Despite their independence, AFS cells generally agree to make their local filespace visible to other AFS cells, so that
353       users in different cells can share files if they choose. If your cell is to participate in the "global" AFS namespace, it must
354       comply with a few basic conventions governing how the local filespace is configured and how the addresses of certain file
355       server machines are advertised to the outside world.</para>
356     </sect2>
357
358     <sect2 id="HDRWQ12">
359       <title>The Uniform Namespace and Transparent Access</title>
360
361       <indexterm>
362         <primary>transparent access as AFS feature</primary>
363       </indexterm>
364
365       <indexterm>
366         <primary>access</primary>
367
368         <secondary>transparent (AFS feature)</secondary>
369       </indexterm>
370
371       <para>One of the features that makes AFS easy to use is that it provides transparent access to the files in a cell's
372       filespace. Users do not have to know which file server machine stores a file in order to access it; they simply provide the
373       file's pathname, which AFS automatically translates into a machine location.</para>
374
375       <para>In addition to transparent access, AFS also creates a <emphasis>uniform namespace</emphasis>--a file's pathname is
376       identical regardless of which client machine the user is working on. The cell's file tree looks the same when viewed from any
377       client because the cell's file server machines store all the files centrally and present them in an identical manner to all
378       clients.</para>
379
380       <para>To enable the transparent access and the uniform namespace features, the system administrator must follow a few simple
381       conventions in configuring client machines and file trees. For details, see <link linkend="HDRWQ39">Making Other Cells Visible
382       in Your Cell</link>.</para>
383     </sect2>
384
385     <sect2 id="HDRWQ13">
386       <title>Volumes</title>
387
388       <indexterm>
389         <primary>volume</primary>
390
391         <secondary>definition</secondary>
392       </indexterm>
393
394       <para>A <emphasis>volume</emphasis> is a conceptual container for a set of related files that keeps them all together on one
395       file server machine partition. Volumes can vary in size, but are (by definition) smaller than a partition. Volumes are the
396       main administrative unit in AFS, and have several characteristics that make administrative tasks easier and help improve
397       overall system performance. <itemizedlist>
398           <listitem>
399             <para>The relatively small size of volumes makes them easy to move from one partition to another, or even between
400             machines.</para>
401           </listitem>
402
403           <listitem>
404             <para>You can maintain maximum system efficiency by moving volumes to keep the load balanced evenly among the different
405             machines. If a partition becomes full, the small size of individual volumes makes it easy to find enough room on other
406             machines for them.</para>
407
408             <indexterm>
409               <primary>volume</primary>
410
411               <secondary>in load balancing</secondary>
412             </indexterm>
413           </listitem>
414
415           <listitem>
416             <para>Each volume corresponds logically to a directory in the file tree and keeps together, on a single partition, all
417             the data that makes up the files in the directory. By maintaining (for example) a separate volume for each user's home
418             directory, you keep all of the user's files together, but separate from those of other users. This is an administrative
419             convenience that is impossible if the partition is the smallest unit of storage.</para>
420
421             <indexterm>
422               <primary>volume</primary>
423
424               <secondary>correspondence with directory</secondary>
425             </indexterm>
426
427             <indexterm>
428               <primary>directory</primary>
429
430               <secondary>correspondence with volume</secondary>
431             </indexterm>
432
433             <indexterm>
434               <primary>correspondence</primary>
435
436               <secondary>of volumes and directories</secondary>
437             </indexterm>
438           </listitem>
439
440           <listitem>
441             <para>The directory/volume correspondence also makes transparent file access possible, because it simplifies the process
442             of file location. All files in a directory reside together in one volume and in order to find a file, a file server
443             process need only know the name of the file's parent directory, information which is included in the file's pathname.
444             AFS knows how to translate the directory name into a volume name, and automatically tracks every volume's location, even
445             when a volume is moved from machine to machine. For more about the directory/volume correspondence, see <link
446             linkend="HDRWQ14">Mount Points</link>.</para>
447           </listitem>
448
449           <listitem>
450             <para>Volumes increase file availability through replication and backup.</para>
451
452             <indexterm>
453               <primary>volume</primary>
454
455               <secondary>as unit of</secondary>
456
457               <tertiary>replication</tertiary>
458             </indexterm>
459
460             <indexterm>
461               <primary>volume</primary>
462
463               <secondary>as unit of</secondary>
464
465               <tertiary>backup</tertiary>
466             </indexterm>
467           </listitem>
468
469           <listitem>
470             <para>Replication (placing copies of a volume on more than one file server machine) makes the contents more reliably
471             available; for details, see <link linkend="HDRWQ15">Replication</link>. Entire sets of volumes can be backed up to tape
472             and restored to the file system; see <link linkend="HDRWQ248">Configuring the AFS Backup System</link> and <link
473             linkend="HDRWQ283">Backing Up and Restoring AFS Data</link>. In AFS, backup also refers to recording the state of a
474             volume at a certain time and then storing it (either on tape or elsewhere in the file system) for recovery in the event
475             files in it are accidentally deleted or changed. See <link linkend="HDRWQ201">Creating Backup Volumes</link>.</para>
476           </listitem>
477
478           <listitem>
479             <para>Volumes are the unit of resource management. A space quota associated with each volume sets a limit on the maximum
480             volume size. See <link linkend="HDRWQ234">Setting and Displaying Volume Quota and Current Size</link>.</para>
481
482             <indexterm>
483               <primary>volume</primary>
484
485               <secondary>as unit of</secondary>
486
487               <tertiary>resource management</tertiary>
488             </indexterm>
489           </listitem>
490         </itemizedlist></para>
491     </sect2>
492
493     <sect2 id="HDRWQ14">
494       <title>Mount Points</title>
495
496       <indexterm>
497         <primary>mount point</primary>
498
499         <secondary>definition</secondary>
500       </indexterm>
501
502       <para>The previous section discussed how each volume corresponds logically to a directory in the file system: the volume keeps
503       together on one partition all the data in the files residing in the directory. The directory that corresponds to a volume is
504       called its <emphasis>root directory</emphasis>, and the mechanism that associates the directory and volume is called a
505       <emphasis>mount point</emphasis>. A mount point is similar to a symbolic link in the file tree that specifies which volume
506       contains the files kept in a directory. A mount point is not an actual symbolic link; its internal structure is
507       different.</para>
508
509       <note>
510         <para>You must not create a symbolic link to a file whose name begins with the number sign (#) or the percent sign (%),
511         because the Cache Manager interprets such a link as a mount point to a regular or read/write volume, respectively.</para>
512       </note>
513
514       <indexterm>
515         <primary>root directory</primary>
516       </indexterm>
517
518       <indexterm>
519         <primary>directory</primary>
520
521         <secondary>root</secondary>
522       </indexterm>
523
524       <indexterm>
525         <primary>volume</primary>
526
527         <secondary>root directory of</secondary>
528       </indexterm>
529
530       <indexterm>
531         <primary>volume</primary>
532
533         <secondary>mounting</secondary>
534       </indexterm>
535
536       <para>The use of mount points means that many of the elements in an AFS file tree that look and function just like standard
537       UNIX file system directories are actually mount points. In form, a mount point is a one-line file that names the volume
538       containing the data for files in the directory. When the Cache Manager (see <link linkend="HDRWQ28">The Cache Manager</link>)
539       encounters a mount point--for example, in the course of interpreting a pathname--it looks in the volume named in the mount
540       point. In the volume the Cache Manager finds an actual UNIX-style directory element--the volume's root directory--that lists
541       the files contained in the directory/volume. The next element in the pathname appears in that list.</para>
542
543       <para>A volume is said to be <emphasis>mounted</emphasis> at the point in the file tree where there is a mount point pointing
544       to the volume. A volume's contents are not visible or accessible unless it is mounted.</para>
545     </sect2>
546
547     <sect2 id="HDRWQ15">
548       <title>Replication</title>
549
550       <indexterm>
551         <primary>replication</primary>
552
553         <secondary>definition</secondary>
554       </indexterm>
555
556       <indexterm>
557         <primary>clone</primary>
558       </indexterm>
559
560       <para><emphasis>Replication</emphasis> refers to making a copy, or <emphasis>clone</emphasis>, of a source read/write volume
561       and then placing the copy on one or more additional file server machines in a cell. One benefit of replicating a volume is
562       that it increases the availability of the contents. If one file server machine housing the volume fails, users can still
563       access the volume on a different machine. No one machine need become overburdened with requests for a popular file, either,
564       because the file is available from several machines.</para>
565
566       <para>Replication is not necessarily appropriate for cells with limited disk space, nor are all types of volumes equally
567       suitable for replication (replication is most appropriate for volumes that contain popular files that do not change very
568       often). For more details, see <link linkend="HDRWQ50">When to Replicate Volumes</link>.</para>
569     </sect2>
570
571     <sect2 id="HDRWQ16">
572       <title>Caching and Callbacks</title>
573
574       <indexterm>
575         <primary>caching</primary>
576       </indexterm>
577
578       <para>Just as replication increases system availability, <emphasis>caching</emphasis> increases the speed and efficiency of
579       file access in AFS. Each AFS client machine dedicates a portion of its local disk or memory to a cache where it stores data
580       temporarily. Whenever an application program (such as a text editor) running on a client machine requests data from an AFS
581       file, the request passes through the Cache Manager. The Cache Manager is a portion of the client machine's kernel that
582       translates file requests from local application programs into cross-network requests to the <emphasis>File Server
583       process</emphasis> running on the file server machine storing the file. When the Cache Manager receives the requested data
584       from the File Server, it stores it in the cache and then passes it on to the application program.</para>
585
586       <para>Caching improves the speed of data delivery to application programs in the following ways:</para>
587
588       <itemizedlist>
589         <listitem>
590           <para>When the application program repeatedly asks for data from the same file, it is already on the local disk. The
591           application does not have to wait for the Cache Manager to request and receive the data from the File Server.</para>
592         </listitem>
593
594         <listitem>
595           <para>Caching data eliminates the need for repeated request and transfer of the same data, so network traffic is reduced.
596           Thus, initial requests and other traffic can get through more quickly.</para>
597
598           <indexterm>
599             <primary>AFS</primary>
600
601             <secondary>reducing traffic in</secondary>
602           </indexterm>
603
604           <indexterm>
605             <primary>network</primary>
606
607             <secondary>reducing traffic through caching</secondary>
608           </indexterm>
609
610           <indexterm>
611             <primary>slowed performance</primary>
612
613             <secondary>preventing in AFS</secondary>
614           </indexterm>
615         </listitem>
616       </itemizedlist>
617
618       <indexterm>
619         <primary>callback</primary>
620       </indexterm>
621
622       <indexterm>
623         <primary>consistency guarantees</primary>
624
625         <secondary>cached data</secondary>
626       </indexterm>
627
628       <para>While caching provides many advantages, it also creates the problem of maintaining consistency among the many cached
629       copies of a file and the source version of a file. This problem is solved using a mechanism referred to as a
630       <emphasis>callback</emphasis>.</para>
631
632       <para>A callback is a promise by a File Server to a Cache Manager to inform the latter when a change is made to any of the
633       data delivered by the File Server. Callbacks are used differently based on the type of file delivered by the File Server:
634       <itemizedlist>
635           <listitem>
636             <para>When a File Server delivers a writable copy of a file (from a read/write volume) to the Cache Manager, the File
637             Server sends along a callback with that file. If the source version of the file is changed by another user, the File
638             Server breaks the callback associated with the cached version of that file--indicating to the Cache Manager that it
639             needs to update the cached copy.</para>
640           </listitem>
641
642           <listitem>
643             <para>When a File Server delivers a file from a read-only volume to the Cache Manager, the File Server sends along a
644             callback associated with the entire volume (so it does not need to send any more callbacks when it delivers additional
645             files from the volume). Only a single callback is required per accessed read-only volume because files in a read-only
646             volume can change only when a new version of the complete volume is released. All callbacks associated with the old
647             version of the volume are broken at release time.</para>
648           </listitem>
649         </itemizedlist></para>
650
651       <para>The callback mechanism ensures that the Cache Manager always requests the most up-to-date version of a file. However, it
652       does not ensure that the user necessarily notices the most current version as soon as the Cache Manager has it. That depends
653       on how often the application program requests additional data from the File System or how often it checks with the Cache
654       Manager.</para>
655     </sect2>
656   </sect1>
657
658   <sect1 id="HDRWQ17">
659     <title>AFS Server Processes and the Cache Manager</title>
660
661     <indexterm>
662       <primary>AFS</primary>
663
664       <secondary>server processes used in</secondary>
665     </indexterm>
666
667     <indexterm>
668       <primary>server</primary>
669
670       <secondary>process</secondary>
671
672       <tertiary>list of AFS</tertiary>
673     </indexterm>
674
675     <para>As mentioned in <link linkend="HDRWQ10">Servers and Clients</link>, AFS file server machines run a number of processes,
676     each with a specialized function. One of the main responsibilities of a system administrator is to make sure that processes are
677     running correctly as much of the time as possible, using the administrative services that the server processes provide.</para>
678
679     <para>The following list briefly describes the function of each server process and the Cache Manager; the following sections
680     then discuss the important features in more detail.</para>
681
682     <para>The <emphasis>File Server</emphasis>, the most fundamental of the servers, delivers data files from the file server
683     machine to local workstations as requested, and stores the files again when the user saves any changes to the files.</para>
684
685     <para>The <emphasis>Basic OverSeer Server (BOS Server)</emphasis> ensures that the other server processes on its server machine
686     are running correctly as much of the time as possible, since a server is useful only if it is available. The BOS Server relieves
687     system administrators of much of the responsibility for overseeing system operations.</para>
688
689     <para>The third-party <emphasis>Kerberos Server</emphasis> replaces the old <emphasis>Authentication Server</emphasis> and helps ensure that communications on the network are secure. It verifies
690     user identities at login and provides the facilities through which participants in transactions prove their identities to one
691     another (mutually authenticate).</para>
692
693     <para>The Protection Server helps users control who has access to their files and directories. Users can grant access to several
694     other users at once by putting them all in a group entry in the Protection Database maintained by the Protection Server.</para>
695
696     <para>The <emphasis>Volume Server</emphasis> performs all types of volume manipulation. It helps the administrator move volumes
697     from one server machine to another to balance the workload among the various machines.</para>
698
699     <para>The <emphasis>Volume Location Server (VL Server)</emphasis> maintains the Volume Location Database (VLDB), in which it
700     records the location of volumes as they move from file server machine to file server machine. This service is the key to
701     transparent file access for users.</para>
702
703     <para>The <emphasis>Update Server</emphasis> distributes new versions of AFS server process software and configuration
704     information to all file server machines. It is crucial to stable system performance that all server machines run the same
705     software.</para>
706
707     <para>The <emphasis>Backup Server</emphasis> maintains the Backup Database, in which it stores information related to the Backup
708     System. It enables the administrator to back up data from volumes to tape. The data can then be restored from tape in the event
709     that it is lost from the file system.</para>
710
711     <para>The <emphasis>Salvager</emphasis> is not a server in the sense that others are. It runs only after the File Server or
712     Volume Server fails; it repairs any inconsistencies caused by the failure. The system administrator can invoke it directly if
713     necessary.</para>
714
715     <para>The <emphasis>Network Time Protocol Daemon (NTPD)</emphasis> is not an AFS server process per se, but plays a vital role
716     nonetheless. It synchronizes the internal clock on a file server machine with those on other machines. Synchronized clocks are
717     particularly important for correct functioning of the AFS distributed database technology (known as Ubik); see <link
718     linkend="HDRWQ103">Configuring the Cell for Proper Ubik Operation</link>. The NTPD is usually provided with the operating system.</para>
719
720     <para>The <emphasis>Cache Manager</emphasis> is the one component in this list that resides on AFS client rather than file
721     server machines. It not a process per se, but rather a part of the kernel on AFS client machines that communicates with AFS
722     server processes. Its main responsibilities are to retrieve files for application programs running on the client and to maintain
723     the files in the cache.</para>
724
725     <sect2 id="HDRWQ18">
726       <title>The File Server</title>
727
728       <indexterm>
729         <primary>File Server</primary>
730
731         <secondary>description</secondary>
732       </indexterm>
733
734       <para>The <emphasis>File Server</emphasis> is the most fundamental of the AFS server processes and runs on each file server
735       machine. It provides the same services across the network that the UNIX file system provides on the local disk: <itemizedlist>
736           <listitem>
737             <para>Delivering programs and data files to client workstations as requested and storing them again when the client
738             workstation finishes with them.</para>
739           </listitem>
740
741           <listitem>
742             <para>Maintaining the hierarchical directory structure that users create to organize their files.</para>
743           </listitem>
744
745           <listitem>
746             <para>Handling requests for copying, moving, creating, and deleting files and directories.</para>
747           </listitem>
748
749           <listitem>
750             <para>Keeping track of status information about each file and directory (including its size and latest modification
751             time).</para>
752           </listitem>
753
754           <listitem>
755             <para>Making sure that users are authorized to perform the actions they request on particular files or
756             directories.</para>
757           </listitem>
758
759           <listitem>
760             <para>Creating symbolic and hard links between files.</para>
761           </listitem>
762
763           <listitem>
764             <para>Granting advisory locks (corresponding to UNIX locks) on request.</para>
765           </listitem>
766         </itemizedlist></para>
767     </sect2>
768
769     <sect2 id="HDRWQ19">
770       <title>The Basic OverSeer Server</title>
771
772       <indexterm>
773         <primary>BOS Server</primary>
774
775         <secondary>description</secondary>
776       </indexterm>
777
778       <para>The <emphasis>Basic OverSeer Server (BOS Server)</emphasis> reduces the demands on system administrators by constantly
779       monitoring the processes running on its file server machine. It can restart failed processes automatically and provides a
780       convenient interface for administrative tasks.</para>
781
782       <para>The BOS Server runs on every file server machine. Its primary function is to minimize system outages. It also</para>
783
784       <itemizedlist>
785         <listitem>
786           <para>Constantly monitors the other server processes (on the local machine) to make sure they are running
787           correctly.</para>
788         </listitem>
789
790         <listitem>
791           <para>Automatically restarts failed processes, without contacting a human operator. When restarting multiple server
792           processes simultaneously, the BOS server takes interdependencies into account and initiates restarts in the correct
793           order.</para>
794
795           <indexterm>
796             <primary>system outages</primary>
797
798             <secondary>reducing</secondary>
799           </indexterm>
800
801           <indexterm>
802             <primary>outages</primary>
803
804             <secondary>BOS Server role in,</secondary>
805           </indexterm>
806         </listitem>
807
808         <listitem>
809           <para>Accepts requests from the system administrator. Common reasons to contact BOS are to verify the status of server
810           processes on file server machines, install and start new processes, stop processes either temporarily or permanently, and
811           restart dead processes manually.</para>
812         </listitem>
813
814         <listitem>
815           <para>Helps system administrators to manage system configuration information. The BOS server automates the process of
816           adding and changing <emphasis>server encryption keys</emphasis>, which are important in mutual authentication. The BOS
817           Server also provides a simple interface for modifying two files that contain information about privileged users and
818           certain special file server machines. For more details about these configuration files, see <link linkend="HDRWQ85">Common
819           Configuration Files in the /usr/afs/etc Directory</link>.</para>
820         </listitem>
821       </itemizedlist>
822     </sect2>
823
824     <sect2 id="HDRWQ20">
825       <title>The Kerberos Server</title>
826
827       <indexterm>
828         <primary>Kerberos Server</primary>
829
830         <secondary>description</secondary>
831       </indexterm>
832       <indexterm>
833         <primary>Authentication Server</primary>
834
835         <secondary>description</secondary>
836         <seealso>Kerberos Server</seealso>
837       </indexterm>
838       <indexterm>
839         <primary>Active Directory</primary>
840         <secondary>Kerberos Server</secondary>
841       </indexterm>
842       <indexterm>
843         <primary>MIT Kerberos</primary>
844         <secondary>Kerberos Server</secondary>
845       </indexterm>
846       <indexterm>
847         <primary>Heimdal</primary>
848         <secondary>Kerberos Server</secondary>
849       </indexterm>
850
851
852       
853       <para>The <emphasis>Kerberos Server</emphasis> performs two main functions related to network security: <itemizedlist>
854           <listitem>
855             <para>Verifying the identity of users as they log into the system by requiring that they provide a password. The
856             Kerberos Server grants the user a ticket, which is converted into a token to prove to AFS server processes that the user has authenticated. For more
857             on tokens, see <link linkend="HDRWQ76">Complex Mutual Authentication</link>.</para>
858           </listitem>
859
860           <listitem>
861             <para>Providing the means through which server and client processes prove their identities to each other (mutually
862             authenticate). This helps to create a secure environment in which to send cross-network messages.</para>
863           </listitem>
864         </itemizedlist></para>
865
866       <para>The Kerberos Server is a required service which is provided by
867       a third-party Kerberos server that supports version 5 of the
868       Kerberos protocol. Kerberos server software is included with some
869       operating systems or may be acquired separately. MIT Kerberos,
870       Heimdal, and Microsoft Active Directory are known to work with
871       OpenAFS as a Kerberos Server.  (Most Kerberos commands begin with
872       the letter
873       <emphasis role="bold">k</emphasis>). This technology was originally developed by the Massachusetts Institute of Technology's
874       Project Athena.</para>
875
876       <para>The Kerberos Server also maintains the <emphasis>Authentication Database</emphasis>, in which it stores user
877       passwords converted into encryption key form as well as the AFS server encryption key. To learn more about the procedures AFS
878       uses to verify user identity and during mutual authentication, see <link linkend="HDRWQ75">A More Detailed Look at Mutual
879       Authentication</link>.</para>
880
881       <note><para>The <emphasis>Authentication Server</emphasis> known as
882       kaserver which uses Kerberos 4 is obsolete and has been replaced by
883       the Kerberos Server. All references to the <emphasis>Kerberos
884       Server</emphasis> in this guide refer to a Kerberos 5
885       server.</para></note>
886       
887
888       <indexterm>
889         <primary>AFS</primary>
890
891         <secondary></secondary>
892
893         <see>AFS UID</see>
894       </indexterm>
895
896       <indexterm>
897         <primary>username</primary>
898
899         <secondary>use by Kerberos</secondary>
900       </indexterm>
901
902       <indexterm>
903         <primary>UNIX</primary>
904
905         <secondary>UID</secondary>
906
907         <tertiary>functional difference from AFS UID</tertiary>
908       </indexterm>
909
910       <indexterm>
911         <primary>Kerberos</primary>
912
913         <secondary>use of usernames</secondary>
914       </indexterm>
915     </sect2>
916
917     <sect2 id="HDRWQ21">
918       <title>The Protection Server</title>
919
920       <indexterm>
921         <primary>protection</primary>
922
923         <secondary>in AFS</secondary>
924       </indexterm>
925
926       <indexterm>
927         <primary>Protection Server</primary>
928
929         <secondary>description</secondary>
930       </indexterm>
931
932       <indexterm>
933         <primary>protection</primary>
934
935         <secondary>in UNIX</secondary>
936       </indexterm>
937
938       <para>The <emphasis>Protection Server</emphasis> is the key to AFS's refinement of the normal UNIX methods for protecting
939       files and directories from unauthorized use. The refinements include the following: <itemizedlist>
940           <listitem>
941             <para>Defining seven access permissions rather than the standard UNIX file system's three. In conjunction with the UNIX
942             mode bits associated with each file and directory element, AFS associates an <emphasis>access control list
943             (ACL)</emphasis> with each directory. The ACL specifies which users have which of the seven specific permissions for the
944             directory and all the files it contains. For a definition of AFS's seven access permissions and how users can set them
945             on access control lists, see <link linkend="HDRWQ562">Managing Access Control Lists</link>.</para>
946
947             <indexterm>
948               <primary>access</primary>
949
950               <secondary></secondary>
951
952               <see>ACL</see>
953             </indexterm>
954           </listitem>
955
956           <listitem>
957             <para>Enabling users to grant permissions to numerous individual users--a different combination to each individual if
958             desired. UNIX protection distinguishes only between three user or groups: the owner of the file, members of a single
959             specified group, and everyone who can access the local file system.</para>
960           </listitem>
961
962           <listitem>
963             <para>Enabling users to define their own groups of users, recorded in the <emphasis>Protection Database</emphasis>
964             maintained by the Protection Server. The groups then appear on directories' access control lists as though they were
965             individuals, which enables the granting of permissions to many users simultaneously.</para>
966           </listitem>
967
968           <listitem>
969             <para>Enabling system administrators to create groups containing client machine IP addresses to permit access when it
970             originates from the specified client machines. These types of groups are useful when it is necessary to adhere to
971             machine-based licensing restrictions.</para>
972           </listitem>
973         </itemizedlist></para>
974
975       <indexterm>
976         <primary>group</primary>
977
978         <secondary>definition</secondary>
979       </indexterm>
980
981       <indexterm>
982         <primary>Protection Database</primary>
983       </indexterm>
984
985       <para>The Protection Server's main duty is to help the File Server determine if a user is authorized to access a file in the
986       requested manner. The Protection Server creates a list of all the groups to which the user belongs. The File Server then
987       compares this list to the ACL associated with the file's parent directory. A user thus acquires access both as an individual
988       and as a member of any groups.</para>
989
990       <para>The Protection Server also maps usernames (the name typed at the login prompt) to <emphasis>AFS user ID</emphasis>
991       numbers (<emphasis>AFS UIDs</emphasis>). These UIDs are functionally equivalent to UNIX UIDs, but operate in the domain of AFS
992       rather than in the UNIX file system on a machine's local disk. This conversion service is essential because the tokens that
993       the Authentication Server grants to authenticated users are stamped with usernames (to comply with Kerberos standards). The
994       AFS server processes identify users by AFS UID, not by username. Before they can understand whom the token represents, they
995       need the Protection Server to translate the username into an AFS UID. For further discussion of tokens, see <link
996       linkend="HDRWQ75">A More Detailed Look at Mutual Authentication</link>.</para>
997     </sect2>
998
999     <sect2 id="HDRWQ22">
1000       <title>The Volume Server</title>
1001
1002       <indexterm>
1003         <primary>Volume Server</primary>
1004
1005         <secondary>description</secondary>
1006       </indexterm>
1007
1008       <para>The <emphasis>Volume Server</emphasis> provides the interface through which you create, delete, move, and replicate
1009       volumes, as well as prepare them for archiving to tape or other media (backing up). <link linkend="HDRWQ13">Volumes</link>
1010       explained the advantages gained by storing files in volumes. Creating and deleting volumes are necessary when adding and
1011       removing users from the system; volume moves are done for load balancing; and replication enables volume placement on multiple
1012       file server machines (for more on replication, see <link linkend="HDRWQ15">Replication</link>).</para>
1013     </sect2>
1014
1015     <sect2 id="HDRWQ23">
1016       <title>The Volume Location (VL) Server</title>
1017
1018       <indexterm>
1019         <primary>VL Server</primary>
1020
1021         <secondary>description</secondary>
1022       </indexterm>
1023
1024       <indexterm>
1025         <primary>VLDB</primary>
1026       </indexterm>
1027
1028       <para>The <emphasis>VL Server</emphasis> maintains a complete list of volume locations in the <emphasis>Volume Location
1029       Database (VLDB)</emphasis>. When the Cache Manager (see <link linkend="HDRWQ28">The Cache Manager</link>) begins to fill a
1030       file request from an application program, it first contacts the VL Server in order to learn which file server machine
1031       currently houses the volume containing the file. The Cache Manager then requests the file from the File Server process running
1032       on that file server machine.</para>
1033
1034       <para>The VLDB and VL Server make it possible for AFS to take advantage of the increased system availability gained by using
1035       multiple file server machines, because the Cache Manager knows where to find a particular file. Indeed, in a certain sense the
1036       VL Server is the keystone of the entire file system--when the information in the VLDB is inaccessible, the Cache Manager
1037       cannot retrieve files, even if the File Server processes are working properly. A list of the information stored in the VLDB
1038       about each volume is provided in <link linkend="HDRWQ180">Volume Information in the VLDB</link>.</para>
1039
1040       <indexterm>
1041         <primary>VL Server</primary>
1042
1043         <secondary>importance to transparent access</secondary>
1044       </indexterm>
1045     </sect2>
1046
1047     <sect2 id="HDRWQ24">
1048       <title>The Update Server</title>
1049
1050       <indexterm>
1051         <primary>Update Server</primary>
1052
1053         <secondary>description</secondary>
1054       </indexterm>
1055
1056       <para>The <emphasis>Update Server</emphasis> is an optional process that helps guarantee that all file server machines are running the same version of a
1057       server process. System performance can be inconsistent if some machines are running one version of the BOS Server (for
1058       example) and other machines were running another version.</para>
1059
1060       <para>To ensure that all machines run the same version of a process, install new software on a single file server machine of
1061       each system type, called the <emphasis>binary distribution machine</emphasis> for that type. The binary distribution machine
1062       runs the server portion of the Update Server, whereas all the other machines of that type run the client portion of the Update
1063       Server. The client portions check frequently with the <emphasis>server portion</emphasis> to see if they are running the right
1064       version of every process; if not, the <emphasis>client portion</emphasis> retrieves the right version from the binary
1065       distribution machine and installs it locally. The system administrator does not need to remember to install new software
1066       individually on all the file server machines: the Update Server does it automatically. For more on binary distribution
1067       machines, see <link linkend="HDRWQ93">Binary Distribution Machines</link>.</para>
1068
1069       <indexterm>
1070         <primary>Update Server</primary>
1071
1072         <secondary>server portion</secondary>
1073       </indexterm>
1074
1075       <indexterm>
1076         <primary>Update Server</primary>
1077
1078         <secondary>client portion</secondary>
1079       </indexterm>
1080
1081       <para>The Update Server also distributes configuration files that all file
1082       server machines need to store on their local disks (for a description of the contents and purpose of these files, see <link
1083       linkend="HDRWQ85">Common Configuration Files in the /usr/afs/etc Directory</link>). As with server process software, the need
1084       for consistent system performance demands that all the machines have the same version of these files.
1085       The system administrator needs to make changes to these files on one machine only, the cell's <emphasis>system
1086       control machine</emphasis>, which runs a server portion of the Update Server. All other machines in the cell run a client
1087       portion that accesses the correct versions of these configuration files from the system control machine. Cells running the
1088       international edition of AFS do not use a system control machine to distribute configuration files. For more information, see
1089       <link linkend="HDRWQ94">The System Control Machine</link>.</para>
1090     </sect2>
1091
1092     <sect2 id="HDRWQ25">
1093       <title>The Backup Server</title>
1094
1095       <indexterm>
1096         <primary>Backup System</primary>
1097
1098         <secondary>Backup Server described</secondary>
1099       </indexterm>
1100
1101       <indexterm>
1102         <primary>Backup Server</primary>
1103
1104         <secondary>description</secondary>
1105       </indexterm>
1106
1107       <para>The <emphasis>Backup Server</emphasis> maintains the information in the <emphasis>Backup Database</emphasis>. The Backup
1108       Server and the Backup Database enable administrators to back up data from AFS volumes to tape and restore it from tape to the
1109       file system if necessary. The server and database together are referred to as the Backup System.</para>
1110
1111       <para>Administrators initially configure the Backup System by defining sets of volumes to be dumped together and the schedule
1112       by which the sets are to be dumped. They also install the system's tape drives and define the drives' <emphasis>Tape
1113       Coordinators</emphasis>, which are the processes that control the tape drives.</para>
1114
1115       <para>Once the Backup System is configured, user and system data can be dumped from volumes to tape or disk. In the event that data is
1116       ever lost from the system (for example, if a system or disk failure causes data to be lost), administrators can restore the
1117       data from tape. If tapes are periodically archived, or saved, data can also be restored to its state at a specific time.
1118       Additionally, because Backup System data is difficult to reproduce, the Backup Database itself can be backed up to tape and
1119       restored if it ever becomes corrupted. For more information on configuring and using the Backup System, see <link
1120       linkend="HDRWQ248">Configuring the AFS Backup System</link> and <link linkend="HDRWQ283">Backing Up and Restoring AFS
1121       Data</link>.</para>
1122     </sect2>
1123
1124     <sect2 id="HDRWQ26">
1125       <title>The Salvager</title>
1126
1127       <indexterm>
1128         <primary>Salvager</primary>
1129
1130         <secondary>description</secondary>
1131       </indexterm>
1132
1133       <para>The <emphasis>Salvager</emphasis> differs from other AFS Servers in that it runs only at selected times. The BOS Server
1134       invokes the Salvager when the File Server, Volume Server, or both fail. The Salvager attempts to repair disk corruption that
1135       can result from a failure.</para>
1136
1137       <para>As a system administrator, you can also invoke the Salvager as necessary, even if the File Server or Volume Server has
1138       not failed. See <link linkend="HDRWQ232">Salvaging Volumes</link>.</para>
1139     </sect2>
1140
1141     <sect2 id="HDRWQ27">
1142       <title>The Network Time Protocol Daemon</title>
1143
1144       <indexterm>
1145         <primary>ntpd</primary>
1146
1147         <secondary>description</secondary>
1148       </indexterm>
1149
1150       <para>The <emphasis>Network Time Protocol Daemon (NTPD)</emphasis> is not an AFS server process per se, but plays an important
1151       role. It helps guarantee that all of the file server machines and client machines agree on the time. The NTPD on all file server machines learns the correct time from a parent NTPD source, which may be located inside or outside the cell.</para>
1152
1153       <para>Keeping clocks synchronized is particularly important to the correct operation of AFS's distributed database technology,
1154       which coordinates the copies of the Backup, Protection, and Volume Location Databases; see <link
1155       linkend="HDRWQ52">Replicating the OpenAFS Administrative Databases</link>. Client machines may also refer to these clocks for the
1156       correct time; therefore, it is less confusing if all file server machines have the same time. For more technical detail about
1157       the NTPD, see <ulink url="http://www.ntp.org/">The NTP web site</ulink> or the documentation for your operating system.</para>
1158
1159       <important><title>Clock Skew Impact</title>
1160       <para>Client machines that are authenticating to an OpenAFS cell
1161       with valid credentials may still fail when the clocks of the client
1162       machine, Kerberos server, and the fileserver machines are not in
1163       sync.</para></important>
1164
1165       <note><title>Legacy runntp</title>
1166       <para>It is no longer recommended to run the legacy NTPD process
1167       called <emphasis>runntp</emphasis> that is part of the OpenAFS
1168       suite. Running the NTPD software that comes with your operating
1169       system or from <ulink url="http://www.ntp.org/">www.ntp.org</ulink>
1170       is preferred.</para></note>
1171
1172     </sect2>
1173
1174     <sect2 id="HDRWQ28">
1175       <title>The Cache Manager</title>
1176
1177       <indexterm>
1178         <primary>Cache Manager</primary>
1179
1180         <secondary>functions of</secondary>
1181       </indexterm>
1182
1183       <para>As already mentioned in <link linkend="HDRWQ16">Caching and Callbacks</link>, the <emphasis>Cache Manager</emphasis> is
1184       the one component in this section that resides on client machines rather than on file server machines. It is not technically a
1185       stand-alone process, but rather a set of extensions or modifications in the client machine's kernel that enable communication
1186       with the server processes running on server machines. Its main duty is to translate file requests (made by application
1187       programs on client machines) into <emphasis>remote procedure calls (RPCs)</emphasis> to the File Server. (The Cache Manager
1188       first contacts the VL Server to find out which File Server currently houses the volume that contains a requested file, as
1189       mentioned in <link linkend="HDRWQ23">The Volume Location (VL) Server</link>). When the Cache Manager receives the requested
1190       file, it caches it before passing data on to the application program.</para>
1191
1192       <para>The Cache Manager also tracks the state of files in its cache compared to the version at the File Server by storing the
1193       callbacks sent by the File Server. When the File Server breaks a callback, indicating that a file or volume changed, the Cache
1194       Manager requests a copy of the new version before providing more data to application programs.</para>
1195     </sect2>
1196   </sect1>
1197 </chapter>