HOME

TheInfoList



OR:

The Andrew File System (AFS) is a
distributed file system A clustered file system (CFS) is a file system which is shared by being simultaneously Mount (computing), mounted on multiple Server (computing), servers. There are several approaches to computer cluster, clustering, most of which do not emplo ...
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 Carnegie Mellon University (CMU) is a private research university in Pittsburgh, Pennsylvania, United States. The institution was established in 1900 by Andrew Carnegie as the Carnegie Technical Schools. In 1912, it became the Carnegie Institu ...
as part of the
Andrew Project The Andrew Project was a distributed computing environment developed at Carnegie Mellon University beginning in 1982. It was an ambitious project for its time and resulted in an unprecedentedly vast and accessible university computing infrastructu ...
. 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 History of the iron and steel industry in the United States, American steel industry in the late ...
and
Andrew Mellon Andrew William Mellon (; March 24, 1855 – August 26, 1937), known also as A. W. Mellon, was an American banker, businessman, industrialist, philanthropist, art collector, and politician. The son of Mellon family patriarch Thomas Mellon ...
. Its primary use is in
distributed computing Distributed computing is a field of computer science that studies distributed systems, defined as computer systems whose inter-communicating components are located on different networked computers. The components of a distributed system commu ...
.


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 bank and financial services company headquartered at 1585 Broadway in Midtown Manhattan, New York City. With offices in 42 countries and more than 80,000 employees, the firm's clients in ...
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 or facility). An ACL specifies which users or system processes are granted access to resources, as well as what operations are ...
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 In computing and telecommunications, downtime (also (system) outage or (system) drought colloquially) is a period when a system is unavailable. The unavailability is the proportion of a time-span that a system is unavailable or offline. This is u ...
. AFS uses the weak consistency 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 preventing reading of the file while it's being modified or delet ...
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 on a file system, rather than in a database. Each message is assigned a Computer file, file with a unique name, and each mail folder is a file system directory containing these fil ...
, 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 Research Unix, Fifth Edition Unix. All messages in an mbox mailbox are Concatenation, concatenated and store ...
. See AFS and buffered I/O Problems for handling shared databases. A significant feature of AFS is the
volume Volume is a measure of regions in 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) ...
, 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 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 Sun Microsystems, Inc., often known as Sun for short, was an American technology company that existed from 1982 to 2010 which developed and sold computers, computer components, software, and information technology services. Sun contributed sig ...
' 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, like ...
(NFS). Additionally, a variant of AFS, the DCE Distributed File System (DFS) was adopted by the
Open Software Foundation The Open Software Foundation, Inc. (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. ...
in 1989 as part of their
Distributed Computing Environment The Distributed Computing Environment (DCE) is a software system 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 from 1989), IBM, ...
. Finally AFS (version two) was the predecessor of the Coda file system.


Implementations

Besides the original, a few other implementations were developed. OpenAFS 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 International Business Machines Corporation (using the trademark IBM), nicknamed Big Blue, is an American Multinational corporation, multinational technology company headquartered in Armonk, New York, and present in over 175 countries. It is ...
) in 2000. Transarc software became deprecated and lost support. Arla was an independent implementation of AFS developed at the
Royal Institute of Technology KTH Royal Institute of Technology (), abbreviated KTH, is a public research university in Stockholm, Sweden. KTH conducts research and education in engineering and technology and is Sweden's largest technical university. Since 2018, KTH consist ...
in
Stockholm Stockholm (; ) is the Capital city, capital and List of urban areas in Sweden by population, most populous city of Sweden, as well as the List of urban areas in the Nordic countries, largest urban area in the Nordic countries. Approximately ...
in the late 1990s and early 2000s. A fourth implementation of an AFS client exists in the
Linux kernel The Linux kernel is a Free and open-source software, free and open source Unix-like kernel (operating system), kernel that is used in many computer systems worldwide. The kernel was created by Linus Torvalds in 1991 and was soon adopted as the k ...
source code In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer. Since a computer, at base, only ...
since at least version 2.6.10. Committed by
Red Hat Red Hat, Inc. (formerly Red Hat Software, Inc.) is an American software company that provides open source software products to enterprises and is a subsidiary of IBM. Founded in 1993, Red Hat has its corporate headquarters in Raleigh, North ...
, 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 In computing, the Global File System 2 (GFS2) is a shared-disk file system for Linux computer clusters. GFS2 allows all members of a cluster to have direct concurrent access to the same shared block storage, in contrast to distributed file sys ...


References


External links


OpenAFS

Arla


Further reading


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