Warning Livedoc is no longer being updated and will be deprecated shortly. Please refer to https://documentation.tjhsst.edu.

OpenAFS/client

From Livedoc - The Documentation Repository
Jump to: navigation, search

Overview

The OpenAFS client consists of a kernel module, and a userspace program: afsd (also called the "Cache Manager"). One of the advantages of AFS over other networked file systems is the aggressive caching system in AFS employed by the client.

Kernel Module

Debian

In Debian, the kernel source module is called openafs-modules-source. Probably the best way to build it is with module-assistant. Just run

 # apt-get install module-assistant
 # m-a a-b openafs-modules

On modern debian/ubuntu/centos its probably installed by DKMS

See the DKMS manual

If that succeeds, then install the module with

 # dpkg -i /usr/src/openafs-modules-<tab-complete the rest>

Gentoo

The ebuild is named openafs-kernel. Make sure the /usr/src/linux symlink points to the sources of the kernel you are currently using, and emerge openafs-kernel.

afsd

After the kernel module is installed, then just install the OpenAFS client program like normal, and configure it.

The Cache Manager attempts to store every file accessed in its local cache, to speed things up. If a file in its cache becomes old, it is the server's responsibility to notify the client of this (to break the callback to the client). This is why in OpenAFS, reads are generally must faster than writes.

Configuration

The configuration file /etc/openafs/afs.conf is used by the Debian specific init scripts, and doesn't usually need to be touched. /etc/openafs/afs.client.conf is also Debian specific, but may need to be changed. Here's an explanation for the options here (all of them should be set to either true or false):

  • AFS_CLIENT; Specifies whether the OpenAFS client should start on boot. If this is set to false, you can start the client manually with "/etc/init.d/openafs-client force-start".
  • AFS_AFSDB; Specifies whether or not the client should use AFSDB records.
  • AFS_CRYPT; Specifies whether or not encryption should be on by default (encryption encrypts all data travelling between the servers and the client, at the cost of performance).
  • AFS_DYNROOT; Specifies whether or not the cell mount points in /afs/ should be dynamically populated according to the cells that are present in /etc/openafs/CellServDB.
  • AFS_FAKESTAT; Specifies whether or not the client fakes stat(2) on directories under certain conditions, so the client doesn't have to look it up every time, which can take time.

Cache

The OpenAFS cache is usually (in Debian) located in /var/cache/openafs/. This is specified, along with the size of the cache, in /etc/openafs/cacheinfo. It is important to note that an OpenAFS cache can only be run on top of an ext2 or ext3 filesystem on Linux. It will become corrupted if you try any other filesystem on it on Linux.