Notes on AFS

I used AFS (originally the Andrew File System) from 1993 until 2014, and helped to administer Stanford's fairly large AFS cell from 1998 to 2014. I no longer use AFS, but I still consider it a very useful distributed file system if you have problems solved well by distributed file systems.

For those not familiar with AFS, most commonly found these days in its free software implementation OpenAFS, it is a Kerberos-authenticated enterprise file system whose primary features include Kerberos-based directory ACLs and groups, a highly scalable infrastructure suitable for huge organizations with tens of thousands of clients (or more), client-invisible file migration between servers, and replication of critical data across multiple servers. It is widely tested, highly stable, and supports every major variation of Unix as well as Mac OS X and Windows.

Since I no longer use AFS, this documentation is no longer being updated, and may eventually drift out of date.

While I was at Stanford, I wrote the following white papers about how we ran Stanford's AFS cell:

AFS Reporting Database

We loaded AFS volume metainformation nightly into a SQL database to support nightly and ad hoc reporting. This paper explains the motivations, provides the database schema, outlines the process, and discusses some of the queries that we have found useful.

AFS Server Balancing

How to phrase AFS server balancing as a linear programming problem and use a linear programming optimizer to find a good balance. Discusses the possible approaches to server balancing and an algorithm for finding a reasonable solution.

Mathematics of AFS Balancing (PDF, TeX)

A paper giving the complete mathematical statement of the linear programming problem described in the above white paper. Of interest only if you find math easier to read or more precise. A more succinct (but less pretty) statement of the same mathematics can be found in the AMPL model.

I've written the following standards documents for AFS:

RFC 5864: DNS SRV Resource Records for AFS (HTML, text, XML, IETF)

This document specifies how to use DNS (Domain Name Service) SRV RRs (Resource Records) to locate services for the AFS distributed file system and how the priority and weight values of the SRV RR should be interpreted in the server ranking system used by AFS. It deprecates use of the AFSDB RR to locate AFS cell database servers and provides guidance for backward compatibility.

Here are slides from presentations I've given about AFS:

You may also want to look at the AFS-related software available from my software page.

Last modified and spun 2015-11-01