Creating Read/write Volumes
| Chapter 5. Managing Volumes |

## Creating Read/write Volumes

A read/write volume is the most basic type of volume, and must exist before you can create read-only or backup versions of it. When you issue the vos create command to create a read/write volume, the VL Server creates a VLDB entry for it which records the name you specify, assigns a read/write volume ID number, and reserves the next two consecutive volume ID numbers for read-only and backup versions that possibly are to be created later. At the same time, the Volume Server creates a volume header at the site you designate, allocating space on disk to record the name of the volume's root directory. The name is filled in when you issue the fs mkmount command to mount the volume, and matches the mount point name. The following is also recorded in the volume header:

- An initial ACL associated with the volume's root directory. By default it grants all seven AFS access permissions to the system:administrators group. After you mount the volume, you can use the fs setacl command to add other entries and to remove or change the entry for the system:administrators group. See Setting ACL Entries.

- A space quota, which limits the amount of disk space the read/write version of the volume can use on the file server partition. The default is of 5000 kilobyte blocks, but you can use the -maxquota argument to the vos create command to set a different quota.

  To change the quota after creation, use the fs setquota command as described in Setting and Displaying Volume Quota and Current Size.

### To create (and mount) a read/write volume

1. Verify that you are listed in the /usr/afs/etc/UserList file. If necessary, issue the bos listusers command, which is fully described in To display the users in the UserList file.

          % bos listusers <machine name>

2. Verify that you have the a( administer), i( insert), and l( lookup) permissions on the ACL of the directory where you plan to mount the volume. If necessary, issue the fs listacl command, which is fully described in Displaying ACLs.

          % fs listacl [<dir/file path>]

   Members of the system:administrators group always implicitly have the a( administer) and by default also the l( lookup) permission on every ACL and can use the fs setacl command to grant other rights as necessary.

3. Select a site (disk partition on a file server machine) for the new volume. To verify that the site has enough free space to house the volume (now, or if it grows to use its entire quota), issue the vos partinfo command.

   ### Note

   The partition-related statistics in this command's output do not always agree with the corresponding values in the output of the standard UNIX df command. The statistics reported by this command can be up to five minutes old, because the Cache Manager polls the File Server for partition information at that frequency. Also, on some operating systems, the df command's report of partition size includes reserved space not included in this command's calculation, and so is likely to be about 10% larger.

          % vos partinfo <machine name> [<partition name>]

   where

   p

     Is the shortest acceptable abbreviation of partinfo.

   machine name

     Specifies the file server machine for which to display partition size and usage.

   partition name

     Names one partition for which to display partition size and usage. If you omit it, the output displays the size and space available for all partitions on the machine.

4. Select a volume name, taking note of the information in About Volume Names.

5. Issue the vos create command to create the volume.

          % vos create <machine name> <partition name> <volume name> \
               [-maxquota <initial quota (KB)>]

   where

   cr

     Is the shortest acceptable abbreviation of create.

   machine name

     Specifies the file server machine on which to place the volume.

   partition name

     Specifies the disk partition on which to place the volume.

   volume name

     Names the volume. It can be up to 22 alphanumeric and punctuation characters in length. Your cell possibly has naming conventions for volumes, such as beginning user volume names with the string user and using the period to separate parts of the name.

   -maxquota

     Sets the volume's quota, as a number of kilobyte blocks. If you omit this argument, the quota is set to 5000 kilobyte blocks.

6. (Optional) Issue the fs mkmount command to mount the volume in the filespace. For complete syntax, see To create a regular or read/write mount point.

          % fs mkmount <directory> <volume name>

7. (Optional) Issue the fs lsmount command to verify that the mount point refers to the correct volume. Complete instructions appear in To display a mount point.

          % fs lsmount <directory>

8. (Optional) Issue the fs setvol command with the -offlinemsg argument to record auxiliary information about the volume in its volume header. For example, you can record who owns the volume or where you have mounted it in the filespace. To display the information, use the fs examine command.

          % fs setvol <dir/file path> -offlinemsg  <offline message>

   where

   sv

     Is an acceptable alias for setvol(and setv the shortest acceptable abbreviation).

   dir/file path

     Names the mount point of the volume with which to associate the message. Partial pathnames are interpreted relative to the current working directory.

     Specify the read/write path to the mount point, to avoid the failure that results when you attempt to change a read-only volume. By convention, you indicate the read/write path by placing a period before the cell name at the pathname's second level (for example, /afs/.example.com). For further discussion of the concept of read/write and read-only paths through the filespace, see The Rules of Mount Point Traversal.

   -offlinemsg

     Specifies up to 128 characters of auxiliary information to record in the volume header.

About Volumes |  | About Clones and Cloning