VOS_RESTORE(1)

πŸ’– VOS_RESTORE πŸ’– (NAME)

okay bestie, welcome to vos_restore from the AFS Command Reference β€” the manual page for VOS_RESTORE(1). and what does it do? it converts an ASCII dump file into an AFS volume. that's the whole vibe. πŸ’…


✨ SYNOPSIS ✨

like, here's the shape of it, literally:

vos restore -server <machine name>
    -partition <partition name>
    -name <name of volume to be restored>
    [-file <dump file>]
    [-id <volume ID>]
    [-overwrite (abort | full | incremental)]
    [-offline] [-readonly]
    [-creation (dump | keep | new)]
    [-lastupdate (dump | keep | new)]
    [-nodelete] [-cell <cell name>]
    [-noauth] [-localauth]
    [-verbose] [-encrypt] [-noresolve]
    [-config <config directory>]
    [-help]

vos res -s <machine name>
    -p <partition name>
    -na <name of volume to be restored>
    [-f <dump file>]
    [-i <volume ID>]
    [-ov (a | f | i)]
    [-of] [-r]
    [-cr (d | k | n)]
    [-la (d | k | n)]
    [-nod] [-c <cell name>]
    [-noa] [-lo] [-v] [-e] [-nor]
    [-co <config directory>]
    [-h]

yes you can shorten everything, no we are not doing that in a group chat, use the long flags so we all know what's happening 🫢


πŸ¦‹ DESCRIPTION πŸ¦‹

so vos restore takes a volume dump file β€” one that you made earlier with the vos dump command β€” and flips it from ASCII into the volume format that actually fits the machine type you named in the -server argument. then it restores it as a read/write volume onto the partition you named in the -partition argument on that machine. the Volume Server hands it the name you gave with -name, and it resets the volume's creation timestamp to the moment the restore operation begins. (that creation timestamp lives in the volume header, and it's the thing you see in the "Creation" field when you run vos examine or vos listvol.) ⭐

wanna name the dump file? use -file. wanna skip that? then just leave it out and hand the file over through the standard input stream β€” presumably through a pipe. and the pipe can be a named pipe, which is what lets you interoperate with third-party backup utilities. iconic. πŸŽ€

now, per the list below, this command can either make a whole brand-new volume or overwrite one that already exists. and in all cases, the full dump of the volume has to be restored before any incremental dumps. if you've got multiple incremental dump files, they must be restored in the order they were created. periodt.

  • to create a brand-new read/write volume: use -name to specify a volume name that doesn't already exist in the Volume Location Database (VLDB), and use -server and -partition to specify the new volume's site. best practice bestie: omit the -id argument so the Volume Location (VL) Server just allocates a volume ID automatically for you. and do not include -overwrite, because there is nothing to overwrite. there's no existing volume. don't do it. πŸ™ˆ
  • to overwrite an existing volume and keep it at its current site: specify its name and site with -name, -server, and -partition. the volume keeps its current volume ID number unless you provide the -id argument. then give -overwrite the value "f" or "i" to say whether the dump file is full or incremental, respectively.
  • to overwrite an existing volume and move it to a new site: specify its name and the new site with -name, -server, and -partition. it keeps its current volume ID number unless you provide -id. the volume gets removed from its original site. and you specify "f" for -overwrite to indicate that the dump file is a full dump β€” because it is not possible to restore an incremental dump and move the volume at the same time. pick one, babe. πŸ’€

if the volume named by -name already exists and you left out -overwrite, the command interpreter hits you with this prompt:

Do you want to do a full/incremental restore or abort? [fia](a):

and you answer with one of these:

  • "f" if you're restoring a full dump file
  • "i" if you're restoring an incremental dump file
  • "a", or just hit Return, to cancel the whole restore operation

🌸 CAUTIONS 🌸

real talk: if you omit the -file argument, you must provide all the other necessary arguments, because the standard input stream is not available for answering the command interpreter's prompts for missing info. specifically, you have to provide -overwrite if you're overwriting an existing volume. no prompts for you. 😭

πŸŽ€ OPTIONS πŸŽ€

  • -server <server name> β€” tells it which file server machine to restore the volume onto. give the machine's IP address or its host name (fully qualified, or an unambiguous abbreviation is fine too). details live in vos(1).
  • -partition <partition name> β€” tells it which partition on the machine from -server to restore onto. give the partition's complete name with the leading slash (like /vicepa) or use one of the three acceptable abbreviated forms. details also in vos(1).
  • -name <name of volume> β€” the name to restore the volume under. it can be up to 22 characters long, but it cannot end with a .readonly or .backup extension. if the volume already exists, it gets overwritten, subject to whatever -overwrite says.
  • -file <dump file> β€” names the dump file to restore. incomplete pathnames get interpreted relative to the current working directory. omit this one to hand the dump file over via the standard input stream.
  • -id <volume ID> β€” the volume ID number to assign to the restored volume.
  • -overwrite (a | f | i) β€” says which type of dump file you're restoring when you're overwriting an existing volume. give one of these:
    • "a" to terminate the restore operation.
    • "f" if you're restoring a full dump file.
    • "i" if you're restoring an incremental dump file. this value is not acceptable if the -server and -partition arguments don't indicate the volume's current site.

this argument is mandatory if the -file argument is not provided. no cap.

  • -offline β€” leaves the new volume flagged as off-line in the volume database.
  • -readonly β€” flags the new volume as read-only in the volume database.
  • -creation <dump | keep | new> β€” set the creation date of the new volume to the timestamp from the dumped volume (dump), from the target volume, if there is one (keep), or generate a new one using the current time (new).
  • -lastupdate <dump | keep | new> β€” set the last updated date of the new volume to the timestamp from the dumped volume (dump), from the target volume, if there is one (keep), or generate a new one using the current time (new).
  • -nodelete β€” heads up, this option is available in OpenAFS clients 1.4.7 or later and 1.5.31 or later. and it can be used with OpenAFS server versions 1.4.1 or later and 1.5.0 or later. πŸ¦‹
  • -cell <cell name> β€” names the cell in which to run the command. do not combine this argument with the -localauth flag. more details in vos(1).
  • -noauth β€” assigns the unprivileged identity "anonymous" to the issuer. do not combine this flag with the -localauth flag. more details in vos(1).
  • -localauth β€” constructs a server ticket using a key from the local /etc/openafs/server/KeyFile file. the vos command interpreter presents it to the Volume Server and Volume Location Server during mutual authentication. do not combine this flag with the -cell argument or the -noauth flag. more details in vos(1).
  • -verbose β€” produces a detailed trace of the command's execution on the standard output stream. if you omit this one, only warnings and error messages show up.
  • -encrypt β€” encrypts the command so the operation's results are not transmitted across the network in clear text. this option is available in OpenAFS versions 1.4.11 or later and 1.5.60 or later. πŸ”₯
  • -noresolve β€” shows all servers as IP addresses instead of the DNS name. this is very useful when the server address is registered as 127.0.0.1, or when you're dealing with multi-homed servers. this option is available in OpenAFS versions 1.4.8 or later and 1.5.35 or later.
  • -config <configuration directory> β€” set the location of the configuration directory to be used. this defaults to /etc/openafs β€” except if -localauth is specified, in which case the default is /etc/openafs/server. this option lets you use alternative configuration locations for testing purposes.
  • -help β€” prints the online help for this command. all other valid options are ignored. she said what she said. πŸ’…

πŸ”₯ EXAMPLES πŸ”₯

this command restores the contents of the dump file /afs/example.com/common/dumps/terry.dump onto the /vicepc partition on the file server machine "fs3.example.com". the restored volume is named "user.terry".

% cd /afs/example.com/common/dumps
% vos restore -file terry.dump -server fs3.example.com -partition c \
    -name user.terry

look at her go. ate. ✨


πŸ‘‘ PRIVILEGE REQUIRED πŸ‘‘

the issuer must be listed in the /etc/openafs/server/UserList file on the machine specified with the -server argument and on each database server machine. and if the -localauth flag is included, the issuer must instead be logged on to a server machine as the local superuser "root". main character energy only. 🫢


🌈 SEE ALSO 🌈

restorevol(1), vos(1), vos_dump(1), vos_examine(1), vos_listvol(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.


and that's the whole page, bestie πŸ’– this was OpenAFS, dated 2026-07-27 β€” go forth and restore your volumes, you got this πŸŒΈπŸ¦‹βœ¨

πŸ“¦ where this page comes from