Setup

This page describes how to set up AFS on a server. If you are looking for the client configuration, see:

Client Setup

TL;DR: use ansible for both clients and servers.

Packages

On Ubuntu, the following packages are needed for it to operate.

  • openafs-modules-dkms

  • openafs-krb5

  • openafs-fileserver

  • openafs-dbserver

  • openafs-client

Configuration

The QEMU configuration files for the OpenAFS servers have three disks attached to each server:

  • openafs<NUMBER> (attached as /dev/vda) which contains the root partition.

  • openafs<NUMBER>-vicepa (attached as /dev/vdb) which contains the vicepa partition and is mounted as /vicepa.

  • openafs<NUMBER>-vicepb (attached as /dev/vdc) which contains the vicepb partition and is mounted as /vicepb.

The disks themselves are stored in Ceph.

The configuration files CellServDB and UserList are copied to /etc/openafs/server, then the following commands are run:

  • Create the ptserver process:

  • Create the vlserver process:

  • Create the buserver process:

  • Create the dafs process:

  • Start the backup cron job:

Note: these commands should only be run once, when creating a new OpenAFS server.

Sample CellServDB

Sample UserList

Entries correspond to Kerberos principals of administrators who should be able to run bos and vos.

Automation

Like it says at the beginning, the ansible repo on GitLab is the ultimate source of authority for configuring OpenAFS. This document exists to provide a summary of the openafs-server play in case something happens to the repo.

Last updated