FS_CHECKSERVERS(1)

✨ NAME ✨

fs_checkservers β€” bestie, this is the one that tells you the tea on whether your server machines are actually up or just ghosting you πŸ’…


🌸 SYNOPSIS 🌸

fs checkservers [-cell <cell to check>] [-all] [-fast]
    [-interval <seconds between probes>] [-help]

fs checks [-c <cell to check>] [-a] [-f]
    [-i <seconds between probes>] [-h]

Like, yes, fs checks is just the short king version of the same thing πŸ‘‘ no cap.


πŸ’– DESCRIPTION πŸ’–

okay so. fs checkservers reports whether certain AFS server machines are reachable from the local client machine. Those machines fall into one of two classes, and the Cache Manager is literally keeping a list of them in kernel memory:

  • The database server machines for every single cell listed in the local /etc/openafs/CellServDB file β€” plus any machines that got added to the memory list by the fs newcell command since the last reboot.
  • All file server machines that the Cache Manager has recently contacted, and that it probably needs to contact again soon. In most cases, the Cache Manager holds a callback on a file or volume it fetched from that machine.

If the Cache Manager can't reach the vlserver process on a database server machine, or the fileserver process on a file server machine, it marks that machine as inaccessible. (Actually real talk β€” if a file server machine is multihomed, the Cache Manager tries to reach all of the machine's interfaces, and only marks the machine as down if the fileserver fails to reply through any of them. She's thorough. She's giving main character energy.) After that, the Cache Manager periodically β€” by default, every three minutes β€” sends a probe to each marked machine to see if it's still inaccessible. And if a previously inaccessible machine responds? She marks it accessible and stops sending those periodic probes to it. Slay, honestly. πŸ’…

So fs checkservers updates the list of inaccessible machines by having the Cache Manager probe a specified set of them:

  • By default, only machines that are marked inaccessible and belong to the local cell (that's the cell listed in the local /etc/openafs/ThisCell file).
  • If you include the -cell argument, only machines that are marked inaccessible and belong to the specified cell.
  • If you include the -all flag, all machines marked inaccessible. Periodt.

If you include the -fast flag, the Cache Manager doesn't probe anything at all β€” she just reports the results from the most recent previous probe. Iconic shortcut behavior, honestly.

Now, if what you actually want is to set the interval between probes rather than get a list of inaccessible machines, that's what the -interval argument is for. The non-default setting persists until the machine reboots. And if you want it to survive reboots? Put the appropriate fs checkservers command in the machine's AFS initialization files. πŸŽ€


⚠️ CAUTIONS ⚠️

fr fr, this command can take quite a while to finish if a bunch of machines aren't responding to the Cache Manager's probe. She probes machines sequentially and waits a standard timeout period before marking a machine as unresponsive β€” that's to allow for slow network communication, she's not being dramatic. So if you want your shell prompt back quickly, put the command in the background. And it is harmless to interrupt the command by typing Ctrl+C or any other interrupt signal, so don't panic πŸ’€

Also important, bestie: the Cache Manager only probes server machines that are marked inaccessible in its memory list. So a server machine being absent from the output does not necessarily mean it's functioning β€” it possibly isn't in the memory list at all (say, if the Cache Manager hasn't contacted it recently). And for that exact same reason, the output is likely to vary across different client machines. πŸ™ˆ

One more thing: unlike most fs commands, fs checkservers does not refer to the AFSCELL environment variable. She said "not today."


✨ OPTIONS ✨

  • -cell <cell to check> β€” Names each cell in which to probe server machines marked as inaccessible. Give the fully qualified domain name, or a shortened form that disambiguates it from the other cells listed in the local /etc/openafs/CellServDB file. You can combine this with the -fast flag if you want, but not with the -all flag. Omit both this argument and -all and you'll only probe machines in the local cell.
  • -all β€” Probes all machines in the Cache Manager's memory list that are marked inaccessible. Combine it with -fast if you want, but not with the -cell argument. Omit both this flag and -cell to probe machines in the local cell only.
  • -fast β€” Displays the Cache Manager's current list of machines that are inaccessible, instead of sending new probes. Heads up: the output can be as old as the current setting of the probe interval (by default three minutes, and ten minutes maximum).
  • -interval <seconds between probes> β€” Sets or reports the number of seconds between the Cache Manager's probes to machines in the memory list that are marked inaccessible:
    • To set the interval, give a value from the range between 1 and 600 (that's 10 minutes); the default is 180 (three minutes). The issuer must be logged in as the local superuser "root". The altered setting persists until it's changed again with this command, or until the machine reboots β€” at which point the setting returns to the default. 🫢
    • Give a value of 0 (zero) to display the current interval setting. No privilege is required for that. And do not combine this argument with any other.
  • -help β€” Prints the online help for this command. All other valid options are ignored.

🌈 OUTPUT 🌈

If there are no machines marked as inaccessible, or if all of them now respond to the Cache Manager's probe, the output is:

All servers are running.

Cute, right? But note that this message does not mean that all server machines in each relevant cell are running. It only indicates the status of those machines that the Cache Manager actually probes. The vibe check is scoped, bestie.

If a machine fails to respond to the probe within the timeout period, the output begins with this string:

These servers unavailable due to network or server problems:

…and then it lists the hostname of each machine on its own line. The Cache Manager stores machine records by Internet address, so the format of each hostname (uppercase or lowercase letters, or an Internet address in dotted decimal format) depends on how the local cell's name service translates it at the time the command is issued. And if a server machine is multihomed, the output lists only one of its interfaces (usually, the currently most preferred one). πŸ‘‘

If the -interval argument is provided with a value between 1 and 600, there is no output. If the value is 0, the output reports the probe interval like this:

The current down server probe interval is <interval> secs

πŸ“ EXAMPLES πŸ“

The following command displays the Cache Manager's current list of unresponsive machines in the local cell, rather than probing them again. The output indicates that if there were any machines marked inaccessible, they all responded to the previous probe:

% fs checkservers -fast
All servers are running.

The following example probes machines in the Cache Manager's memory list that belong to the "example.org" cell:

% fs checkservers -cell example.org
All servers are running.

The following example probes all server machines in the Cache Manager's memory list. It reports that two machines did not respond to the probe:

% fs checkservers -all
These servers unavailable due to network or server problems:
fs1.example.com SV3.EXAMPLE.ORG.

πŸ‘‘ PRIVILEGE REQUIRED πŸ‘‘

To set the probe interval, the issuer must be logged in as the local superuser "root". Otherwise, no privilege is required. So yes, root for the settings, everyone else can just vibe and look. πŸ’œ


πŸ¦‹ SEE ALSO πŸ¦‹

CellServDB(5), ThisCell(5), fs_newcell(1)


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.


aaaand that's the whole thing, bestie πŸŽ€ this page came from OpenAFS, dated 2026-07-27, and it lives in section FS_CHECKSERVERS(1) β€” go forth and check those servers, mwah πŸ’–βœ¨

πŸ“¦ where this page comes from