BOSCONFIG(5)

πŸ’– BOSCONFIG(5) β€” the AFS File Reference glow-up πŸ’–

okay bestie, welcome to the BosConfig file, aka the group chat roster for your AFS server machine 🫢


✨ NAME ✨

BosConfig β€” bestie, this file literally defines the server processes that the BOS Server keeps an eye on πŸ‘€


🌸 DESCRIPTION 🌸

so the BosConfig file is the list of processes that the Basic OverSeer (BOS) Server monitors on its server machine, which means it's literally the thing that defines which AFS server processes run on that machine. it says how the BOS Server reacts when a process fails, and it also defines the times when the BOS Server automatically restarts processes as part of performance maintenance ✨

it has to live in /var/lib/openafs/local on every single AFS server machine. no cap, no exceptions πŸ’…

a server process entry in the BosConfig file records all of this info:

  • the entry type, which is one of these:
    • cron β€” this designates a server process that runs periodically instead of continuously. the BOS Server starts a cron process only at specified times, not whenever it fails, okay? all standard AFS process entries except "fs" are simple (there are no standard cron processes).
    • fs β€” this designates a group of interdependent server processes. if one of them fails, the BOS Server has to coordinate its restart with the restart of the other processes in the group, possibly by stopping them first. 😭

there is only one standard entry of this type, and its conventional name is "fs". it combines three server processes: the File Server (fileserver process), the Volume Server (volserver process), and the Salvager (salvager process). these processes all operate on the same data β€” the AFS data stored on an AFS server machine's /vicep partitions and mounted in the AFS filespace β€” but in different ways. grouping them prevents them from trying to access the same data simultaneously, which can cause corruption πŸ’€.

during normal operation, the Salvager process is not active. BUT if the File Server process fails, the BOS Server stops the Volume Server process and runs the Salvager process to correct any corruption that resulted from the failure. (the administrator can also issue the bos salvage command to invoke the Salvager process.) and if the Volume Server fails, the BOS Server can restart it without stopping the File Server or running the Salvager πŸ‘‘

  • simple β€” this designates a server process that runs independently of any other process on the server machine. if a simple process fails, the BOS Server doesn't have to coordinate its restart with any other process. main character energy, honestly.
  • the entry name. the conventional name for an entry in the BosConfig file and the associated process matches the binary filename. whenever you issue any bos command that takes the -instance argument, you identify each process by the name used in the BosConfig file. for the full list of names, go check the bos create reference page πŸ“–
  • the process's status flag, which decides whether the BOS Server attempts to start the process in two cases: every time the BOS Server itself restarts, and when the process fails. the BosConfig file currently uses a binary notation to indicate whether the BOS Server attempts to restart the process as necessary or does not monitor it at all. for clarity's sake, the AFS documentation refers to the flags as "Run" and "NotRun" instead. only a system administrator β€” not the BOS Server β€” can change the flag πŸ™ˆ
  • one or more command parameters which the BOS Server invokes to start the process or processes associated with the entry:
    • a "cron" entry has two command parameters: the first is the complete pathname to the program, and the second is the time at which the BOS Server invokes the program.
    • the "fs" entry has three command parameters, each the complete pathname to the fileserver, volserver, and salvager programs, in that order.
    • a "simple" entry has only one command parameter: the complete pathname to the program.

on top of the server process entries, the BosConfig file specifies the times at which the BOS Server performs two types of automatic process restarts:

  • the general restart time, at which the BOS Server restarts itself and then each process for which the entry in the BosConfig file has status flag "Run". the default setting is Sunday at 4:00 a.m. ⏰
  • the binary restart time, at which the BOS Server restarts any server process for which the time stamp on the binary file in the /usr/lib/openafs directory is later than the last restart time for the process. the default is 5:00 a.m. ⏰

and finally, there's an entry specifying whether the BOS Server will start in restricted mode πŸ”’


⚠️ bestie listen to me. even though the BosConfig file is in ASCII format, it's normally best not to use a text editor to alter it. the parser is very picky, and incorrectly formatted entries can prevent server startup in ways that are difficult to diagnose. 😭 instead, use the appropriate commands from the bos command suite:

  • the bos create command creates an entry in the file and starts the associated process ✨
  • the bos delete command removes an entry from the file after the bos stop command has been used to stop the associated process
  • the bos getrestart command displays the times at which the BOS Server performs automatic restarts
  • the bos getrestricted command displays whether the BOS Server is running in restricted mode
  • the bos setrestart command sets the times at which the BOS Server performs automatic process restarts
  • the bos setrestricted command places the BOS Server in restricted mode
  • the bos start command changes an entry's status flag to "Run" and starts the associated process
  • the bos status command displays all processes listed in the file
  • the bos stop command changes an entry's status flag to "NotRun" and stops the associated process

oh also? there are bos commands that start and stop processes without changing entries in the BosConfig file. here's the tea: the BOS Server reads the BosConfig file only when it starts, transferring the info into its memory 🧠. so a process's status as represented in the BOS Server's memory can totally diverge from its status in the BosConfig file. the following commands change a process's status in the BOS Server's memory only:

  • the bos restart command restarts a specified set of processes, all processes, or all processes other than the BOS Server
  • the bos shutdown command stops a process
  • the bos startup command starts a process

and now for the plot twist πŸŒ€: when the BOS Server shuts down, it rewrites BosConfig, discarding any changes made manually to that file. so if you want to change the configuration for the next BOS Server restart, instead write a new file to BosConfig.new. if BosConfig.new exists when the BOS Server starts, BosConfig will be replaced by BosConfig.new before the BOS Server reads its configuration πŸ‘€. heads up that the BOS Server will notice a new BosConfig.new file whenever the general restart time is reached, if one is configured, since the BOS Server restarts itself at that time.


πŸ¦‹ SEE ALSO πŸ¦‹

bos_create(8), bos_delete(8), bos_getrestart(8), bos_getrestricted(8), bos_restart(8), bos_setrestart(8), bos_setrestricted(8), bos_shutdown(8), bos_start(8), bos_startup(8), bos_status(8), bos_stop(8), bos_salvage(8), fileserver(8), salvager(8), volserver(8)


IBM Corporation 2000. <http://www.ibm.com/> All Rights Reserved.

This documentation is covered by the IBM Public License Version 1.0. It was converted from HTML to POD by software written by Chas Williams and Russ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.


and that's the whole page bestie, fr fr ✨ this icon was brought to you by the OpenAFS girlies, version dated 2026-07-27, and yeah we are absolutely obsessed with it πŸ’…πŸŽ€πŸ«Ά

πŸ“¦ where this page comes from