Andrew File System
   HOME

TheInfoList



OR:

The Andrew File System (AFS) is a
distributed file system A clustered file system is a file system which is shared by being simultaneously mounted on multiple servers. There are several approaches to clustering, most of which do not employ a clustered file system (only direct attached storage fo ...
which uses a set of trusted servers to present a homogeneous, location-transparent file name space to all the client workstations. It was developed by Carnegie Mellon University as part of the
Andrew Project The Andrew Project was a distributed computing environment developed at Carnegie Mellon University (CMU) beginning in 1982. It was an ambitious project for its time and resulted in an unprecedentedly vast and accessible university computing infras ...
. Originally named "Vice", "Andrew" refers to
Andrew Carnegie Andrew Carnegie (, ; November 25, 1835August 11, 1919) was a Scottish-American industrialist and philanthropist. Carnegie led the expansion of the American steel industry in the late 19th century and became one of the richest Americans i ...
and
Andrew Mellon Andrew William Mellon (; March 24, 1855 – August 26, 1937), sometimes A. W. Mellon, was an American banker, businessman, industrialist, philanthropist, art collector, and politician. From the wealthy Mellon family of Pittsburgh, Pennsylv ...
. Its primary use is in
distributed computing A distributed system is a system whose components are located on different networked computers, which communicate and coordinate their actions by passing messages to one another from any system. Distributed computing is a field of computer sci ...
.


Features

AFS has several benefits over traditional networked file systems, particularly in the areas of security and scalability. One enterprise AFS deployment at
Morgan Stanley Morgan Stanley is an American multinational investment management and financial services company headquartered at 1585 Broadway in Midtown Manhattan, New York City. With offices in more than 41 countries and more than 75,000 employees, the fir ...
exceeds 25,000 clients. AFS uses Kerberos for authentication, and implements
access control list In computer security, an access-control list (ACL) is a list of permissions associated with a system resource (object). An ACL specifies which users or system processes are granted access to objects, as well as what operations are allowed on gi ...
s on directories for users and groups. Each client caches files on the local filesystem for increased speed on subsequent requests for the same file. This also allows limited filesystem access in the event of a server crash or a
network outage The term downtime is used to refer to periods when a system is unavailable. The unavailability is the proportion of a time-span that a system is unavailable or offline. This is usually a result of the system failing to function because of an un ...
. AFS uses the
Weak Consistency The name weak consistency can be used in two senses. In the first sense, strict and more popular, weak consistency is one of the consistency models used in the domain of concurrent programming (e.g. in distributed shared memory, distributed transa ...
model. Read and write operations on an open file are directed only to the locally cached copy. When a modified file is closed, the changed portions are copied back to the file server. Cache consistency is maintained by callback mechanism. When a file is cached, the server makes a note of this and promises to inform the client if the file is updated by someone else. Callbacks are discarded and must be re-established after any client, server, or network failure, including a timeout. Re-establishing a callback involves a status check and does not require re-reading the file itself. A consequence of the
file locking File locking is a mechanism that restricts access to a computer file, or to a region of a file, by allowing only one user or process to modify or delete it at a specific time and to prevent reading of the file while it's being modified or deleted ...
strategy is that AFS does not support large shared databases or record updating within files shared between client systems. This was a deliberate design decision based on the perceived needs of the university computing environment. For example, in the original email system for the Andrew Project, the Andrew Message System, a single file per message is used, like
maildir The Maildir e-mail format is a common way of storing email messages in which each message is stored in a separate file with a unique name, and each mail folder is a file system directory. The local file system handles file locking as messages are ...
, rather than a single file per mailbox, like
mbox Mbox is a generic term for a family of related file formats used for holding collections of email messages. It was first implemented in Fifth Edition Unix. All messages in an mbox mailbox are concatenated and stored as plain text in a single f ...
. See AFS and buffered I/O Problems for handling shared databases. A significant feature of AFS is the
volume Volume is a measure of occupied three-dimensional space. It is often quantified numerically using SI derived units (such as the cubic metre and litre) or by various imperial or US customary units (such as the gallon, quart, cubic inch). Th ...
, a tree of files, sub-directories and AFS mountpoints (links to other AFS volumes). Volumes are created by administrators and linked at a specific named path in an AFS cell. Once created, users of the filesystem may create directories and files as usual without concern for the physical location of the volume. A volume may have a
quota Quota may refer to: Economics * Import quota, a trade restriction on the quantity of goods imported into a country * Market Sharing Quota, an economic system used in Canadian agriculture * Milk quota, a quota on milk production in Europe * Indi ...
assigned to it in order to limit the amount of space consumed. As needed, AFS administrators can move that volume to another server and disk location without the need to notify users; the operation can even occur while files in that volume are being used. AFS volumes can be replicated to read-only cloned copies. When accessing files in a read-only volume, a client system will retrieve data from a particular read-only copy. If at some point, that copy becomes unavailable, clients will look for any of the remaining copies. Again, users of that data are unaware of the location of the read-only copy; administrators can create and relocate such copies as needed. The AFS command suite guarantees that all read-only volumes contain exact copies of the original read-write volume at the time the read-only copy was created. The file name space on an Andrew workstation is partitioned into a ''shared'' and ''local'' name space. The shared name space (usually mounted as /afs on the Unix filesystem) is identical on all workstations. The local name space is unique to each workstation. It only contains temporary files needed for workstation initialization and symbolic links to files in the shared name space. The Andrew File System heavily influenced Version 4 of Sun Microsystems' popular
Network File System Network File System (NFS) is a distributed file system protocol originally developed by Sun Microsystems (Sun) in 1984, allowing a user on a client computer to access files over a computer network much like local storage is accessed. NFS, lik ...
(NFS). Additionally, a variant of AFS, the
DCE Distributed File System {{Distinguish, Distributed File System (Microsoft) The DCE Distributed File System (DCE/DFS)
(DFS) was adopted by the
Open Software Foundation The Open Software Foundation (OSF) was a not-for-profit industry consortium for creating an open standard for an implementation of the operating system Unix. It was formed in 1988 and merged with X/Open in 1996, to become The Open Group. Despit ...
in 1989 as part of their
Distributed Computing Environment In computing, the Distributed Computing Environment (DCE) software system was developed in the early 1990s from the work of the Open Software Foundation (OSF), a consortium (founded in 1988) that included Apollo Computer (part of Hewlett-Packard fr ...
. Finally AFS (version two) was the predecessor of the Coda file system.


Implementations

Besides the original, a few other implementations were developed.
OpenAFS OpenAFS is an open-source implementation of the Andrew distributed file system (AFS). AFS was originally developed at Carnegie Mellon University, and developed as a commercial product by the Transarc Corporation, which was subsequently acquired b ...
was built from source released by
Transarc Transarc Corporation was a private Pittsburgh-based software company founded in 1989 by Jeffrey Eppinger, Michael L. Kazar, Alfred Spector, and Dean Thompson of Carnegie Mellon University. Transarc commercialized the Andrew File System (AFS), ...
( IBM) in 2000. Transarc software became deprecated and lost support. Arla was an independent implementation of AFS developed at the Royal Institute of Technology in Stockholm in the late 1990s and early 2000s. A fourth implementation of an AFS client exists in the Linux kernel
source code In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the w ...
since at least version 2.6.10. Committed by Red Hat, this is a fairly simple implementation still incomplete .


Available permissions

The following Access Control List (ACL) permissions can be granted: ;Lookup (l) :allows a user to list the contents of the AFS directory, examine the ACL associated with the directory and access subdirectories. ;Insert (i) :allows a user to add new files or subdirectories to the directory. ;Delete (d) :allows a user to remove files and subdirectories from the directory. ;Administer (a) :allows a user to change the ACL for the directory. Users always have this right on their home directory, even if they accidentally remove themselves from the ACL. Permissions that affect files and subdirectories include: ;Read (r) :allows a user to look at the contents of files in a directory and list files in subdirectories. Files that are to be granted read access to any user, including the owner, need to have the standard UNIX "owner read" permission set. ;Write (w) :allows a user to modify files in a directory. Files that are to be granted write access to any user, including the owner, need to have the standard UNIX "owner write" permission set. ;Lock (k) :allows the processor to run programs that need to " flock" files in the directory. Additionally, AFS includes Application ACLs (A)-(H) which have no effect on access to files.


See also

* Global filesystem


References


External links


OpenAFS

Arla


Further reading


The Andrew File System (2014), Arpaci-Dusseau, Remzi H.; Arpaci-Dusseau, Andrea C.; Arpaci-Dusseau Books
{{File systems Network file systems Carnegie Mellon University software IBM file systems Distributed file systems supported by the Linux kernel