| |||||||||
The Andrew file system (AFS) is a distributed networked file system developed by Carnegie Mellon University as part of their Andrew Project. It is named for Andrew Carnegie and Andrew Mellon. Its primary use is in distributed computing.
AFS has several benefits over traditional networked file systems, particularly in the areas of security and scalability. It is not uncommon for enterprise AFS cells to exceed 50,000 clients. AFS uses Kerberos for authentication, and implements access control lists on directories for users and groups. AFS's client-level caching improves filesystem perfomance, and allows limited filesystem access in the event of a server crash or a network outage:
A significant feature of AFS is the volume, a tree of files and sub-directories. 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. As needed, AFS administrators can move that volume to another server and disk location without the need to notify users; indeed the operation can occur while files in that volume are being used.
Volumes can also be replicated to up to eleven read-only back-up 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, the client 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.
The main competitor of the Andrew File System is the more popular Network File System (NFS). NFS is more general use, while AFS is designed with performance, scalability, and security in mind.
A variant of AFS, the Distributed File System (DFS) was adopted by the Open Software Foundation in 1989 as part of their Distributed Computing Environment.
There are three major implementations, Transarc(IBM), OpenAFS and Arla. It is also the predecessor of the Coda file system.