VOS(1)
β¨ VOS(1) β the vos command suite, explained by your fav Unix bestie β¨
okay so. welcome to the vos era π
this is the AFS Command Reference page that kicks off the whole vos family, and honestly? it's giving administrator main character energy. grab a strawberry π and let's get into it.
πΈ NAME πΈ
vos β the intro page for the vos command suite. think of it as the group chat's pinned message: every sibling page hangs off this one π«Ά
π DESCRIPTION π
so the commands in the vos suite are the administrative interface to the Volume Server and the Volume Location (VL) Server. system admins roll up with vos commands to create, move, delete, replicate, back up and examine volumes, plus a whole bunch of other operations. and the way the VL Server just... auto-magically π records changes in volume status and location that come out of vos commands into the Volume Location Database (VLDB)? obsessed. no cap.
most vos commands do idempotent operations, which is a fancy way of saying: if the operation gets interrupted by a network outage, a server machine dying, or a process going poof π, then a later attempt at that same operation picks up from where it got interrupted instead of starting all over from the beginning. before running a command, the Volume and VL Servers check the current state of the volumes and VLDB records that the command is about to touch. if they're already in the desired end state (or in a consistent intermediate state), there's literally no need to redo the internal steps that got them there. slay. β¨
β οΈ but bestie β idempotency does NOT apply if the person issuing the command explicitly interrupts it with Ctrl+C or some other interrupt signal. in that case the volume is left locked and the administrator must use the vos unlock command to unlock it before they can keep going. noted. periodt.
it's super important that the VLDB accurately shows the status of the volumes on file server machines at all times, fr fr. vldb.DB0(5) and afs_volume_header(5) describe the info recorded in the VLDB and in volume headers, respectively. if a vos command changes volume status, it automatically records that change in the matching VLDB entry. and the most common cause of VLDB-vs-volume-status discrepancies on file server machines? interrupted operations π to fix that consistency, use the vos syncserv and vos syncvldb commands.
and there are several categories of commands in the vos suite:
- commands to create, move, and rename volumes:
vos backup,vos backupsys,vos changeloc,vos create,vos move, andvos rename. - commands to remove VLDB volume records or volumes or both:
vos delentry,vos remove, andvos zap. - commands to edit or display VLDB server entries:
vos changeaddr,vos listaddrsvos setaddrs, andvos remaddrs. - commands to create, size, and restore dump files:
vos dump,vos restore, andvos size. - commands to administer replicated volumes:
vos addsite,vos release, andvos remsite. - commands to display VLDB records, volume headers, or both:
vos examine,vos listvldb, andvos listvol. - commands to display info about partitions that house volumes:
vos listpartandvos partinfo. - commands to restore consistency between the VLDB and volume headers:
vos syncservandvos syncvldb. - commands to lock and unlock VLDB entries:
vos lock,vos unlock, andvos unlockvldb. - a command to report Volume Server status:
vos status. - a command to end Volume Server transactions:
vos endtrans. - a command to change volume fields:
vos setfields. - commands to obtain help:
vos aproposandvos help.
π¨ CAUTIONS π¨ (read this part, bestie, for real)
right now the maximum quota for a volume is 2 terabytes (2^41 bytes). and ngl, this only affects the volume's quota β a volume can grow way, way bigger if the volume quota is disabled. but π volumes over 2 terabytes in size may be impractical to move, and may have their size incorrectly reported by some tools, such as fs_listquota(1).
β¨ OPTIONS β¨
these arguments and flags show up on lots of commands across the vos suite. every command's own reference page lists them too, but here they're described in greater detail π
-cell<cell name> β names the cell to run the command in. you can totally abbreviate the cell name to the shortest form that still distinguishes it from the other entries in the/etc/openafs/CellServDBfile on the local machine. if you skip the-cellargument, the command interpreter figures out the local cell's name by reading these, in order:- the value of the
AFSCELLenvironment variable. - the local
/etc/openafs/ThisCellfile. - the local
/etc/openafs/server/ThisCellfile.
- the value of the
π do NOT combine-celland-localauth. a command with the-localauthflag always runs in the local cell (as defined in the server machine's local/etc/openafs/server/ThisCellfile), whereas a command with the-cellargument runs in the specified foreign cell.
-config<config directory> β where to look for configuration info, including the CellServDB. this is mainly here for testing purposes. if-configand-localauthare both omitted, the command interpreter searches for config info in this order:- the
/etc/openafsdirectory. - the
/etc/openafs/serverdirectory.
- the
-helpβ prints a command's online help message to the standard output stream. π«Ά do not combine this flag with any of the command's other options; when it's there, the command interpreter ignores all other options and only prints the help message. iconic behavior tbh.-localauthβ constructs a server ticket using the server encryption key with the highest key version number in the local/etc/openafs/server/KeyFilefile. thevoscommand interpreter presents that ticket β which never expires, bestie, never β¨ β to the Volume Server and VL Server during mutual authentication.
use this flag only when running a command on a server machine; client machines don't usually have a /etc/openafs/server/KeyFile file. whoever issues a command with this flag must be logged on to the server machine as the local superuser "root". this flag is useful for commands invoked by an unattended application program, like a process controlled by the UNIX cron utility or by a cron entry in the machine's /etc/openafs/BosConfig file. it's also useful if an administrator can't authenticate to AFS but is logged in as the local superuser root.
π do not combine-celland-localauth. a command with-localauthalways runs in the local cell (per the server machine's local/etc/openafs/server/ThisCellfile), whereas a command with the-cellargument runs in the specified foreign cell. and also β do not combine-localauthand-noauth.
-noauthβ sets up an unauthenticated connection to the Volume Server and VL Server, where the servers treat the issuer as the unprivileged user"anonymous". it's useful only when authorization checking is disabled on the server machine (like during installation of a file server machine, or when thebos setauthcommand has been used in other unusual circumstances). in normal circumstances the servers allow only privileged users to issue commands that change the status of a volume or VLDB record, and refuses to perform such an action even if the-noauthflag is provided. do not combine-noauthand-localauth.-partition<partition name> β identifies the AFS server partition on a file server machine that houses, or is going to house, the volumes of interest, or that you want info about. thevoscommand interpreter accepts any of these four name formats:
/vicepa = vicepa = a = 0
/vicepb = vicepb = b = 1
after /vicepz (whose index is 25) comes:
/vicepaa = vicepaa = aa = 26
/vicepab = vicepab = ab = 27
and so on through:
/vicepiv = vicepiv = iv = 255
the -frompartition and -topartition arguments to the vos move command also accept this notation. π¦
-server<machine name> β identifies the file server machine that houses, or is going to house, the volumes or AFS server partitions of interest. hand over the machine's IP address in dotted decimal format, its fully qualified host name (for example,"fs1.example.com"), or the shortest abbreviated form of its host name that distinguishes it from other machines. whether an abbreviated form works depends on a name resolution service (like the Domain Name Service, or a local host table) being available when you issue the command. π
the -fromserver and -toserver arguments to the vos move command also accept these name formats.
-noresolveβ shows all servers as IP addresses instead of the DNS name. this is very useful when the server address is registered as127.0.0.1or when you're dealing with multi-homed servers. the-noresolveoption is available in OpenAFS versions1.4.8or later and1.5.35or later. π§-verboseβ produces a detailed trace of the command's execution on the standard output stream. if you omit this argument, only warnings and error messages show up. (basically: turn it on if you want the whole lore π)
π PRIVILEGE REQUIRED π
to issue most vos commands, the issuer must be listed in the /etc/openafs/server/UserList file on each server machine that houses or is to house an affected volume, and on each database server machine. you get the most predictable performance results if all database server and file server machines in the cell share a common UserList file. alternatively, if the -localauth flag is included, the issuer must be logged on to a server machine as the local superuser "root".
and for a vos command that only displays info? no privilege required, bestie. free real estate. π
π SEE ALSO π
vos_addsite(1), vos_apropos(1), vos_backup(1), vos_backupsys(1), vos_changeaddr(1), vos_convertROtoRW(1), vos_clone(1), vos_copy(1), vos_create(1), vos_delentry(1), vos_dump(1), vos_endtrans(1), vos_examine(1), vos_help(1), vos_listaddrs(1), vos_listpart(1), vos_listvldb(1), vos_listvol(1), vos_lock(1), vos_move(1), vos_partinfo(1), vos_release(1), vos_remove(1), vos_remsite(1), vos_rename(1), vos_restore(1), vos_setfields(1), vos_shadow(1), vos_size(1), vos_status(1), vos_syncserv(1), vos_syncvldb(1), vos_unlock(1), vos_unlockvldb(1), vos_zap(1), CellServDB(5), UserList(5)
π COPYRIGHT π
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. credit where credit is due, always π«Ά
and that's the page, bestie!! π this was OpenAFS, dated 2026-07-27 β go forth and manage those volumes, you absolute icon πβ¨
π¦ where this page comes from
- ubuntu stonking: openafs-client 1.8.16.1-1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms