Andrew File System
The Andrew File System (AFS) is a
Features
AFS
AFS uses the
A consequence of the file locking 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, rather than a single file per mailbox, like mbox. See AFS and buffered I/O Problems for handling shared databases.
A significant feature of AFS is the volume, 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
Implementations
Besides the original, a few other implementations were developed.
] Arla was an independent implementation of AFS developed at theA fourth implementation of an AFS client exists in the Linux kernel source code since at least version 2.6.10.[9] Committed by Red Hat, this is a fairly simple implementation still incomplete as of January 2013[update].[10][needs update]
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
- ^ What is Andrew Archived September 9, 2011, at the Wayback Machine - part of CMU's official site chronicling the history of the Andrew Project.
- ^ Garfinkel, Simson L. (May–June 1989). "Ripples Across the Academic Market" (PDF). Technology Review. pp. 9–13. Retrieved 25 January 2016.
- S2CID 52848606.
- ^ Moore, Phillip (2004). "When Your Business Depends On It — The Evolution of a Global File System for a Global Enterprise" (PDF).
- OL 25423189M
- ^ Opening Up AFS
- CiteSeerX 10.1.1.16.1360.
- CiteSeerX 10.1.1.512.9570.
- ^ Linux kernel AFS documentation for 2.6.10
- ^ "LXR linux/Documentation/filesystems/afs.txt". linux.no. 1 August 2012. Archived from the original on 1 August 2012. Retrieved 23 April 2018.