Difference between revisions of "Volumes"
(→Once You Have Attached The Volume: Added Windows instructions) |
|||
(12 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
+ | A Volume is a collection of data but typically has the functionality of a formatted hard drive and can host a file system. It can be the root partition of a virtual machine (VM) that can be booted, or could act like an extra disk that can be mounted by a VM. Volumes are charged for according to their size and for how long they are stored. | ||
__TOC__ | __TOC__ | ||
Line 36: | Line 37: | ||
Snapshots can be created from the <tt>Actions</tt> dropdown menu. Note that if you are creating a snapshot of a root volume for an instance, ''it should not be running''. You should first '''stop''' the instance, and then take the snapshot. | Snapshots can be created from the <tt>Actions</tt> dropdown menu. Note that if you are creating a snapshot of a root volume for an instance, ''it should not be running''. You should first '''stop''' the instance, and then take the snapshot. | ||
+ | |||
+ | Snapshots of volumes can be shared with users on a different project (or even with yourself, if you are a member of multiple projects). Simply follow the [https://ask.openstack.org/en/question/55055/how-to-share-a-snapshot-of-a-volume-with-another-user-that-is-in-different-projecttenant/ procedure for sharing found on the OpenStack forum]. If the snapshot is of an instance, it may be easier to perform the necessary steps from the command line, as found on CAC's [[Images]] page. | ||
+ | |||
+ | == Add Storage Capacity == | ||
+ | |||
+ | You can add more storage capacity to your instance by: | ||
+ | |||
+ | * [[#Create | Create a new volume]], [[#Attach | attach it to the intance]], [[Red_Cloud_Linux_Instances#Initialize_and_Mount_a_Volume | format, and mount the file system]], or | ||
+ | |||
+ | * [[#Extend_an_Existing_Volume | Increase the size of an existing volume]]. | ||
+ | |||
+ | === Extend an Existing Volume === | ||
+ | |||
+ | You can increase the size of an existing volume (but not making it smaller) when the volume is in the '''detached''' state. | ||
+ | |||
+ | # Detach the volume if it is attached to an instance. | ||
+ | #* From inside the instance, unmount the file system to make sure all cached changes are flushed back to disk: <code>umount /mount_point</code>, where <code>/mount_point</code> is the absolute path on which the file system is mounted. | ||
+ | #* Under [https://redcloud.cac.cornell.edu/dashboard/project/volumes/ Project->Volumes->Volumes on the Red Cloud web console], select the volume you want to detach. | ||
+ | #* (Optional but recommended)Click on the "Edit Volume" button in the upper right corner to rename the volume so it is easier to be identified in the subsequent steps. | ||
+ | #* Under the pull down menu in the upper right corner, select "Manage Attachments." | ||
+ | #*:[[File:Screen Shot 2020-11-17 at 9.29.02 AM.png|frameless|800 px|center]] | ||
+ | #* Click on the "Detach Volume" button on the next screen and confirm. | ||
+ | # When the volume is in the '''detached''' state and back on the [https://redcloud.cac.cornell.edu/dashboard/project/volumes/ Volumes] screen, select the volume again. Under the pull down menu in the upper right corner, select "Extend Volume." | ||
+ | #:[[File:Select Extend Volume.png|frameless|800px|center]] | ||
+ | # On the next screen specify the new size for the volume and click on the "Extend Volume" button. | ||
+ | # Re-attach the volume to your instance. | ||
+ | # From inside the instance, extend the file system on the extended volume: | ||
+ | #* If the file system is <code>ext3</code> or <code>ext4</code>, | ||
+ | #** Run the <code>resize2fs device_name</code> command, where device_name is the device name of the newly extended volume, e.g. <code>/dev/vdb</code>. | ||
+ | #** Re-mount the file system. | ||
+ | #* If the file system is <code>xfs</code>, | ||
+ | #** First re-mount the file system. | ||
+ | #** Run the <code>xfs_growfs /mount_point</code> command, where <code>/mount_point</code> is the absolute path name on which the file system is mounted. | ||
+ | # Use the <code>df -h</code> command to verify the new size of the file system. |
Revision as of 12:00, 17 November 2020
A Volume is a collection of data but typically has the functionality of a formatted hard drive and can host a file system. It can be the root partition of a virtual machine (VM) that can be booted, or could act like an extra disk that can be mounted by a VM. Volumes are charged for according to their size and for how long they are stored.
Create and Attach a Volume
Volume creation is useful or attaching a data volume or a volume with users' home directories to an instance, as it is often good to separate the concerns of an operating system and user data. This makes it relatively easy to switch operating systems and maintain the same data, and to archive the more important parts of the project (the data) if needed.
Create
- Go to the "Volumes" tab in the OpenStack Web Interface
- Click the "Create Volume" button
- Enter a name and size
- Click "Create Volume"
Attach
- Go to the "Volumes" tab in the OpenStack Web Interface
- On the Actions dropdown menu for the volume you want to attach, select "Manage Attachments"
- Select the instance you wish to attach to and click "Attach Volume"
- Note that the device name specified is usually not important and not always adhered to
Once You Have Attached The Volume
- For Linux:
- Login to your instance
- Run
lsblk
to see which/dev/vdX
is the likely candidate (for some character 'X') - Follow the instructions for initializing and mounting your volume (replace
vdb
with thevdX
discovered in the previous step)
- For Windows:
- Login to your instance
- Follow the instructions for initializing and mounting your volume
- For Linux:
Snapshots
Snapshots of volumes (and of instances, in which case the volume is implicitly the root volume of the instance) create a state save of the existing volume, so you can easily get back to a certain state in the future. This is most useful for OS volumes to create safe checkpoints of working operating system configuration states. It may be less useful for larger data volumes; a more efficient solution might be to use ZFS snapshots on Linux instances.
Snapshots can be created from the Actions dropdown menu. Note that if you are creating a snapshot of a root volume for an instance, it should not be running. You should first stop the instance, and then take the snapshot.
Snapshots of volumes can be shared with users on a different project (or even with yourself, if you are a member of multiple projects). Simply follow the procedure for sharing found on the OpenStack forum. If the snapshot is of an instance, it may be easier to perform the necessary steps from the command line, as found on CAC's Images page.
Add Storage Capacity
You can add more storage capacity to your instance by:
Extend an Existing Volume
You can increase the size of an existing volume (but not making it smaller) when the volume is in the detached state.
- Detach the volume if it is attached to an instance.
- From inside the instance, unmount the file system to make sure all cached changes are flushed back to disk:
umount /mount_point
, where/mount_point
is the absolute path on which the file system is mounted. - Under Project->Volumes->Volumes on the Red Cloud web console, select the volume you want to detach.
- (Optional but recommended)Click on the "Edit Volume" button in the upper right corner to rename the volume so it is easier to be identified in the subsequent steps.
- Under the pull down menu in the upper right corner, select "Manage Attachments."
- Click on the "Detach Volume" button on the next screen and confirm.
- From inside the instance, unmount the file system to make sure all cached changes are flushed back to disk:
- When the volume is in the detached state and back on the Volumes screen, select the volume again. Under the pull down menu in the upper right corner, select "Extend Volume."
- On the next screen specify the new size for the volume and click on the "Extend Volume" button.
- Re-attach the volume to your instance.
- From inside the instance, extend the file system on the extended volume:
- If the file system is
ext3
orext4
,- Run the
resize2fs device_name
command, where device_name is the device name of the newly extended volume, e.g./dev/vdb
. - Re-mount the file system.
- Run the
- If the file system is
xfs
,- First re-mount the file system.
- Run the
xfs_growfs /mount_point
command, where/mount_point
is the absolute path name on which the file system is mounted.
- If the file system is
- Use the
df -h
command to verify the new size of the file system.