VOS_EXAMINE(1)
β¨ NAME β¨
okay so, VOS_EXAMINE(1) β it's the vos examine command from the AFS command reference, and what it does is show you the volume header and the VLDB entry info for a volume. like, the whole ~situation~ on that volume. π
π SYNOPSIS π
vos examine -id <volume name or ID> [-extended]
[-format] [-cell <cell name>]
[-noauth] [-localauth] [-verbose]
[-encrypt] [-noresolve]
[-config <config directory>]
[-help]
vos e -i <volume name or ID> [-ex] [-f]
[-c <cell name>]
[-noa] [-l] [-v] [-e] [-nor]
[-co <config directory>]
[-h]
vos volinfo -id <volume name or ID> [-extended]
[-format] [-cell <cell name>]
[-noauth] [-localauth] [-verbose]
[-encrypt] [-noresolve]
[-config <config directory>]
[-help]
vos v -i <volume name or ID> [-ex] [-f]
[-c <cell name>]
[-noa] [-l] [-v] [-e] [-nor]
[-co <config directory>]
[-h]
π DESCRIPTION π
The vos examine command takes the volume you named with -id and it formats and displays two things about it: the info from the Volume Location Database (VLDB) entry, and the volume header. both. in one go. icon behavior honestly. π«Ά
Now if you only want the volume header and not the VLDB tea, you go hit up vos listvol instead. And if you only want the VLDB info with no header, that's vos listvldb. we love options. β¨
β οΈ CAUTIONS β οΈ
listen bestie, rn the max quota for a volume is 2 terabytes (2^41 bytes). and here's the thing β that cap only affects the volume's quota. if the volume quota is disabled, your volume can grow way way bigger than that. no cap.
but π¨ volumes over 2 terabytes in size may be impractical to move, and some tools β like fs_listquota(1) β may report their size incorrectly. so like... proceed with caution, queen. π
π OPTIONS π
-id<volume name or ID>β you give it either the complete name or the volume ID number of the volume. and it can be a read/write, a read-only, or a backup volume. all three are valid, slay. π-extendedβ spills the stats about read and write operations on files and directories inside the volume. more numbers, more lore. β¨-formatβ shows you everything in a format that a machine can parse. for when you're feeding it to a script, not a human. π¦-cell<cell name>β names the cell to run the command in. do not combine this with the-localauthflag. for the deets, checkvos(1).-noauthβ hands the issuer the unprivileged identity"anonymous". do not combine this with-localauth. more info invos(1).-localauthβ builds a server ticket using a key from the local/etc/openafs/server/KeyFilefile. then thevoscommand interpreter shows it to the Volume Server and the Volume Location Server during mutual authentication. do not combine this with the-cellargument or the-noauthflag. more info invos(1).-verboseβ prints a detailed trace of the command's execution to the standard output stream. if you skip it, only warnings and error messages show up. it's giving "quiet luxury" vs "live tweeting". π-encryptβ encrypts the command so the operation's results aren't transmitted across the network in clear text. this option is available in OpenAFS versions1.4.11or later and1.5.60or later. π-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.1, or when you're dealing with multi-homed servers. available in OpenAFS versions1.4.8or later and1.5.35or later. πΈ-config<configuration directory>β sets where the configuration directory lives. this defaults to/etc/openafs, except if you specified-localauth, in which case the default is/etc/openafs/server. this option lets you use alternative config locations for testing purposes. π§-helpβ prints the online help for this command. and every other valid option? ignored. bye. all other options are ignored. π
π₯ OUTPUT π₯
so here's the layout: the first seven lines</> of output are from the volume header, and everything after that comes from the VLDB. got it? got it. let's go line by line.
each item in the list below maps to a line of output that came from the volume header. π
- Basic info about the volume you asked about (all on a single line):
- Name
- Volume ID number
- Type β the flag is
"RW"for read/write,"RO"for read-only,"BK"for backup - Size in kilobytes (so
1024equals a megabyte) - Number of files in the volume β but only if you passed the
-extendedflag - Status on the file server machine, which is one of these:
On-lineβ the volume is completely accessible to Cache Managers. we're so back. β¨Off-lineβ the volume is not accessible to Cache Managers, but it doesn't seem to be corrupted. this status shows up while a volume is being dumped, for example.Off-line**needs salvage**β the volume is not accessible to Cache Managers because it seems to be corrupted. runbos salvageor thesalvagercommand to repair the corruption. π
- The file server machine and partition that house the volume β as determined by the command interpreter as the command runs, not derived from the VLDB or the volume header. sneaky but true.
- The volume ID numbers tied to the various versions of the volume: read/write (
"RWrite"), read-only ("ROnly"), backup ("Backup"), and ReleaseClone ("RClone"). one of them matches the volume ID number on the first line of the volume's output. if the value in the"RWrite","ROnly", or"Backup"field is0(zero), there's no volume of that type. and if there's currently no ReleaseClone, the"RClone"field doesn't appear at all. - The max space quota given to the read/write copy of the volume, expressed in kilobyte blocks, in the
"MaxQuota"field. - The date and time the volume was created, in the
"Creation"field. if the volume has been restored with thebackup diskrestore,backup volrestore, orvos restorecommand, this is the restore time. for a read-only volume, this is the last release time. - The date and time this copy of the volume was created, in the
"Copy"field. this is the time the volume was created on this server and partition. for read-only volumes, it is not updated by a release (unlike the Creation date). and the copy date is not stored in volume dumps. π - The date and time when the volume's contents last changed, in the
"Last Update"field. for read-only and backup volumes, it matches the timestamp in the"Creation"field. - The number of times the volume has been accessed for a fetch or store operation since the later of these two times:
12:00 a.m.on the day the command is issued- the last time the volume changed location
when you include the -extended flag, two tables show up next:
- the table labeled
"Raw Read/Write Stats"β has info on the number of reads (fetches) and writes (stores) made on the specified volume. - the table labeled
"Writes Affecting Authorship"β has info on writes made to files and directories in the specified volume.
now, if this message shows up instead of all that info above, it means a volume isn't accessible to Cache Managers or to the vos command interpreter β for example, because a clone is being created:
**** Volume <volume_ID> is busy ****
and if this message shows up instead of the info, it means the File Server can't attach the volume, maybe because it's seriously corrupted:
**** Could not attach volume <volume_ID> ****
for that second one, theFileLogandVolserLoglog files in the/var/log/openafsdirectory on the file server machine might have more clues β use thebos getlogcommand to display them. π
after a blank line, the info from the VLDB entry appears. each item in this list corresponds to a separate line in the output:
- The base (read/write) volume name. the read-only and backup versions have the same name with a
".readonly"and".backup"extension respectively. π - The volume ID numbers allocated to the versions of the volume that actually exist, in fields labeled
"RWrite"for the read/write,"ROnly"for the read-only,"Backup"for the backup, and"RClone"for the ReleaseClone. (if a field doesn't appear, that version of the volume doesn't exist.) the appearance of the"RClone"field normally means a release operation did not complete successfully β and the"Old release"and"New release"flags often also show up on one or more of the site definition lines described just below. π« - The number of sites that house a read/write or read-only copy of the volume, following the string
"number of sites ->". - A line for each site that houses a read/write or read-only copy of the volume, specifying the file server machine, partition, and type of volume (
"RW"for read/write or"RO"for read-only). if a backup version exists, it's understood to share the read/write site. several flags can appear with a site definition:Not releasedβ means thevos releasecommand hasn't been issued since thevos addsitecommand was used to define the read-only site.Old releaseβ means avos releasecommand did not complete successfully, leaving the previous, obsolete version of the volume at this site.New releaseβ means avos releasecommand did not complete successfully, but that this site did receive the correct new version of the volume. partial win. π«Ά
- If the VLDB entry is locked, you get the string
"Volume is currently LOCKED", plus (in OpenAFS1.5.75and later) one or more of these strings:Volume is locked for a move operationβ means the volume was locked because of avos moveor avos convertROtoRWcommand.Volume is locked for a release operationβ means the volume was locked because of avos releasecommand.Volume is locked for a backup operationβ means the volume was locked because of avos backupcommand.Volume is locked for a delete/misc operationβ means the volume was locked because of avos delentry,vos addsite,vos remsite,vos changeloc,vos syncvldb,vos syncserv,vos rename, orvos lockcommand.Volume is locked for a dump/restore operationβ means the volume was locked because of avos dumporvos restorecommand.
for a deeper discussion of the "New release" and "Old release" flags, go see vos_release(1). π
π§ EXAMPLES β¨
Ok bestie, this is the part where it all clicks π‘ β two real-ish runs of vos examine, so you can see what the output actually looks like when it's not just vibes and theory.
π Example numero uno: the usr volume with backup sites
So picture this: the Example Corporation has a volume called usr, and it's got two read-only replication sites. It's mounted at the /afs/example.com/usr directory. And just for the drama of it all, the example shows the volume as locked π (yes, locked locked, as in the LOCKED line at the bottom).
% vos examine usr
usr 536870981 RW 3459 K On-line
fs2.example.com /vicepb
RWrite 5360870981 ROnly 536870982 Backup 536870983
MaxQuota 40000 K
Creation Mon Jun 12 15:22:06 1989
Copy Mon Jun 12 15:22:06 1989
Last Update Fri Jun 16 09:34:35 1989
5719 accesses in the past day (i.e., vnode references)
RWrite: 5360870981 ROnly: 536870982 Backup: 536870983
number of sites -> 3
server fs1.example.com partition /vicepa RO Site
server fs3.example.com partition /vicepa RO Site
server fs2.example.com partition /vicepb RW Site
Volume is currently LOCKED
Look at that. Three sites. Two RO, one RW. The volume ID, the RWrite/ROnly/Backup numbers, the quota, the timestamps, the access count β all just sitting there being gorgeous π
. And that last line? Volume is currently LOCKED β noted, respected, slightly intimidating.
πΈ Example dos: user.terry with the -extended flag
Now this one's a different flavour. This volume is named user.terry, and we're running with -extended because we want the full stat dump. Plot twist: this volume has no read-only replication sites. Zero. Nada. Just the one site.
% vos examine -id user.terry -extended
user.terry 354287190 RW 2302 K used 119 files On-line
fs4.example.com /vicepc
RWrite 354287190 ROnly 0 Backup 354287192
MaxQuota 5000 K
Creation Wed Nov 25 17:38:57 1992
Copy Wed Nov 25 17:38:57 1992
Last Update Tue Dec 15 10:46:20 1992
598 accesses in the past day (i.e., vnode references)
Raw Read/Write Stats
|-------------------------------------------|
| Same Network | Diff Network |
|----------|----------|----------|----------|
| Total | Auth | Total | Auth |
|----------|----------|----------|----------|
Reads | 55 | 55 | 38 | 38 |
Writes | 95 | 95 | 0 | 0 |
|-------------------------------------------|
Writes Affecting Authorship
|-------------------------------------------|
| File Authorship | Directory Authorship|
|----------|----------|----------|----------|
| Same | Diff | Same | Diff |
|----------|----------|----------|----------|
0-60 sec | 38 | 0 | 21 | 1 |
1-10 min | 2 | 0 | 7 | 0 |
10min-1hr | 0 | 0 | 1 | 0 |
1hr-1day | 1 | 0 | 5 | 1 |
1day-1wk | 0 | 0 | 0 | 0 |
> 1wk | 0 | 0 | 0 | 0 |
|-------------------------------------------|
RWrite: 354287190 Backup: 354287192
number of sites -> 1
server fs4.example.com partition /vicepc RW Site
Notice how this output hits different from the first one β the extended stats show up with the Raw Read/Write Stats table and the Writes Affecting Authorship table, breaking it all down by same vs. diff network, total vs. auth, and by time buckets (0-60 sec, 1-10 min, 10min-1hr, 1hr-1day, 1day-1wk, > 1wk) for both file and directory authorship. And down at the bottom: number of sites -> 1, because there's literally just the one RW site. Also peep the volume ID 354287190, ROnly 0 (no RO, as promised), MaxQuota 5000 K, and used 119 files up top. It's giving full transparency πβ¨
Ngl, if you're ever staring at a weird volume and it's not behaving, run this thing with -extended and you'll know everything. It's the group chat screenshot of volume diagnostics fr fr.
π PRIVILEGE REQUIRED π
None.
Yep, that's it. No special powers needed, bestie β you don't need to be an admin, you don't need to bribe anyone, you don't need a secret handshake. vos examine is just... available to you. Go look at your volumes. You've earned it π
π SEE ALSO π«
Go read these too, they're all part of the same little family:
backup_diskrestore(8)backup_volrestore(8)bos_getlog(8)bos_salvage(8)salvager(8)vos(1)vos_listvol(1)vos_listvldb(1)vos_release(1)vos_restore(1)
Β©οΈ 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.
And that's a wrap, bestie π«Ά this page came straight out of the OpenAFS collection, dated 2026-07-27 β and the lovely humans at OpenAFS are the ones who wrote it. Go forth, examine some volumes, and stay iconic ππ
π¦ 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