VOS_MOVE(1)

πŸ’– VOS_MOVE(1) β€” AFS Command Reference πŸ’–

okay bestie, sit down, we're doing vos move today and it's genuinely one of the more dramatic commands in the AFS lineup. it moves a read/write volume from one site to another. it's giving relocation era. it's giving main character packing up her whole life and driving to a new city. ✨


🌸 NAME 🌸

vos_move β€” moves a read/write volume to another site 🧳


✨ SYNOPSIS ✨

vos move -id <volume name or ID>
    -fromserver <machine name on source>
    -frompartition <partition name on source>
    -toserver <machine name on destination>
    -topartition <partition name on destination>
    [-live] [-cell <cell name>] [-noauth] [-localauth]
    [-verbose] [-encrypt] [-noresolve]
    [-config <config directory>]
    [-help]

vos m -i <volume name or ID>
    -froms <machine name on source>
    -fromp <partition name on source>
    -tos <machine name on destination>
    -top <partition name on destination>
    [-li] [-c <cell name>] [-noa]
    [-lo] [-v] [-e] [-nor]
    [-co <config directory>]
    [-h]

like yes, there are two whole versions in the synopsis, the long one and the ✨abbreviated✨ one. AFS said "why choose" and gave you both. iconic behaviour honestly. πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

so the way that vos move works is: it takes the read/write volume you point at, lifts it out of its current site β€” which you specify with the -fromserver and -frompartition arguments β€” and drops it into the destination site β€” which you specify with the -toserver and -topartition arguments. very "where are you taking me" meme, but for data. 🫢

and here's a lil side quest it does automatically: it removes the backup copy from the current site, if one exists. no extra steps, it just handles it. but if you want a new backup volume at the destination site, that's on you β€” go run the vos backup command. πŸŽ€

heads up: this command works on read/write volumes only. that's the whole vibe. no other volume types allowed in the club.

so if you need to move a read-only volume? you don't use this command. instead you:

  • use the vos addsite and vos release commands to define a new read-only site and release the volume contents to it, and then
  • use the vos remove command to remove the previous read-only volume's definition from the Volume Location Database (VLDB) and data from the partition.

and if you need to move a backup volume? you use this command to move its read/write source, and then issue the vos backup command. chain reaction, babes. 🌈

before it even executes, the vos command interpreter runs a check that the destination partition has enough space to house the volume being moved. if there's not enough space, the move is simply not attempted and you get this message:

vos: no space on target partition <dest_part> to move volume <volume>

like it just βœ‹ stops. no move. no space. no vibes. 😭


πŸ’€ CAUTIONS πŸ’€

okay this is the part where i hold your hand and say bestie please. Unless there is a compelling reason, do not interrupt a vos move command in progress. interrupting a move can result in one or more of the following inconsistent states, and none of them are cute:

  • There are two versions of the volume, one at the source site and one at the destination site. (If this happens, retain the version identified by the VLDB and use the vos zap command to remove the other version.) πŸ’€
  • The backup version of the volume is stranded at the old site. (If this happens, use the vos zap command to remove it.) πŸ™ˆ
  • The volume is off-line. (If this happens, run the bos salvage command to bring it back on line.) 😭

If the Ctrl-C interrupt signal is pressed while a vos move operation is executing, the following message warns of the consequences and requests confirmation of the kill signal:

SIGINT handler: vos move operation in progress
WARNING: may leave AFS storage and metadata in indeterminate state
enter second control-c to exit

To confirm termination of the operation, press Ctrl-C a second time; press any other key to continue the operation. so it's literally asking you "are you SURE sure" and you get one free escape hatch. use it wisely. πŸ™

Currently, the maximum quota for a volume is 2 terabytes (2^41 bytes). Note that this only affects the volume's quota; a volume may grow much larger if the volume quota is disabled. However, 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). so like, big volume girlies, tread carefully. πŸ“


πŸ‘‘ OPTIONS πŸ‘‘

  • -id <volume name or ID> β€” Specifies either the complete name or volume ID number of a read/write volume. that's your target bestie, name it or number it. 🎯
  • -fromserver <server name> β€” Identifies the file server machine where the volume currently resides. Provide the machine's IP address or its host name (either fully qualified or using an unambiguous abbreviation). For details, see vos(1). πŸ“
  • -frompartition <partition name> β€” Names the partition where the volume currently resides. Provide the full partition name (for, example, /vicepa) or one of the abbreviated forms described in vos(1). 🌸
  • -toserver <server name> β€” Identifies the file server machine to which to move the volume. Provide the machine's IP address or its host name (either fully qualified or using an unambiguous abbreviation). For details, see vos(1). ✈️
  • -topartition <partition name> β€” Names the partition to which to move the volume. Provide the full partition name (for, example, /vicepa) or one of the abbreviated forms described in vos(1). 🏑
  • -live β€” Avoids making a temporary copy of the volume during the move. This is useful if the partition is full, but the administrator needs to move volumes to a another partition or server to free up disk space. The caveat is that the volume is locked during the entire operation instead of the short time that is needed to make the temporary clone. so like, trade-off city: no temp copy, but the volume is held hostage the WHOLE time. πŸ”’
  • -cell <cell name> β€” Names the cell in which to run the command. Do not combine this argument with the -localauth flag. For more details, see vos(1). 🌐
  • -noauth β€” Assigns the unprivileged identity "anonymous" to the issuer. Do not combine this flag with the -localauth flag. For more details, see 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 -noauth flag. For more details, see vos(1). πŸ—οΈ
  • -verbose β€” Produces on the standard output stream a detailed trace of the command's execution. If this argument is omitted, only warnings and error messages appear. love a detailed trace, it's the commentary track of commands. πŸŽ™οΈ
  • -encrypt β€” Encrypts the command so that 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 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 allows the use of alternative configuration locations for testing purposes. πŸ§ͺ
  • -help β€” Prints the online help for this command. All other valid options are ignored. the "help me bestie" flag, and yes it really does ignore everything else. πŸ’…

🌟 EXAMPLES 🌟

The following example moves the volume "user.smith" from the /vicepb partition on the file server machine "fs3.example.com" to the /vicepg partition on the file server machine "fs7.example.com".

% vos move -id user.smith -fromserver fs3.example.com -frompartition b \
    -toserver fs7.example.com -topartition g

note the lil backslash line continuation β€” she's a long one, and she's worth it. πŸ¦‹


πŸ”₯ PRIVILEGE REQUIRED πŸ”₯

The issuer must be listed in the /etc/openafs/server/UserList file on the machines specified with the -toserver and -fromserver arguments and on each database server machine. If the -localauth flag is included, the issuer must instead be logged on to a server machine as the local superuser "root".

so like, you gotta be on the list. no list, no move. and if you're doing the -localauth route, you'd better literally be "root" on a server machine. πŸ‘‘


🌈 SEE ALSO 🌈

vos(1), vos_addsite(1), vos_backup(1), vos_copy(1), vos_release(1), vos_listvol(1), vos_remove(1)

the whole friend group, go read them too. 🫢


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 lil masterpiece came to you courtesy of OpenAFS, dated 2026-07-27, and it lives in section VOS_MOVE(1) of the manual. now go move that volume responsibly and don't you dare hit Ctrl-C twice. mwah. πŸ’–βœ¨

πŸ“¦ where this page comes from