4.9. Managing Compute Storage¶
In Virtuozzo Hybrid Infrastructure, compute storage comprises volumes provisioned to virtual machines. The provisioned storage space can exceed available physical space. Rules for storing volumes can be set via storage policies.
The next subsections describe how to manage volumes and create storage policies for them.
4.9.1. Managing Compute Volumes¶
A volume in Virtuozzo Hybrid Infrastructure is a virtual disk drive that can be attached to a VM. The integrity of data in volumes is protected by the redundancy mode specified in the storage policy.
Additional virtual disks attached to VMs need to be initialized inside the guest OS by standard means before they can be used.
4.9.2. Creating, Editing, and Removing Volumes¶
To create a volume, do the following:
On the COMPUTE > Storage > VOLUMES tab, click Create volume.
In the Create volume window, specify a volume name and size in gigabytes, select a storage policy, and click Add.
To edit a volume, select it and click the pencil icon next to a parameter you need to change. Note the following restrictions:
- You cannot shrink volumes.
- To extend volumes that are in use, stop the VM first.
- You cannot change the volume redundancy type.
To remove a volume, click its ellipsis button then click Delete. To remove multiple volumes at once, select them and click Delete. To remove a volume that is in use, detach it first.
A volume is removed along with all its snapshots.
4.9.3. Cloning Volumes¶
You can clone volumes that are not attached to VMs or attached to stopped VMs. To clone a volume, do the following:
On the COMPUTE > Storage > VOLUMES tab, click a volume.
In volume details that opens, click Clone.
In the Clone volume window that opens, specify a volume name, size, and storage policy. Click Clone.
4.9.4. Attaching and Detaching Volumes¶
To add a writable virtual disk drive to a VM, attach a volume to it. To do this:
On the COMPUTE > Storage > VOLUMES tab, click the ellipsis button next to an unused volume and click Attach in the context menu.
In the Attach volume window, select the VM from the drop-down list and click Done.
To detach a volume, do the following:
- Click the ellipsis button next to the volume that is in use.
- If the VM is not running, click Detach. If the VM is running, you can only click Force detach to immediately detach the volume with a risk of data loss.
4.9.5. Creating Images from Volumes¶
To create multiple VMs with the same boot volume, you can create an image from an existing boot volume and deploy VMs from it. Make sure to install cloud-init in the volume before creating the image.
Do the following:
Power off the VM that the original volume is attached to.
Switch to the COMPUTE > Storage > VOLUMES tab, click volume’s ellipsis button and choose Create image.
In the Create image window, enter an image name and click Create.
The new image will appear on the IMAGES tab.
4.9.6. Managing Volume Snapshots¶
You can save the current state of a VM file system or user data by creating a snapshot of a volume. A snapshot of a boot volume may be useful, for example, before updating VM software. If anything goes wrong, you will be able to revert the VM to a working state at any time. A snapshot of a data volume can be used for backing up user data and testing purposes.
To create a snapshot of a volume, do the following:
On the COMPUTE > Storage > VOLUMES tab, click a volume.
In the volume panel that opens, switch to Snapshots and click Create snapshot.
To create a consistent snapshot of a running VM’s volume, make sure the guest tools are installed in the VM. QEMU guest agent included in the guest tools image automatically quiesces the filesystem during snapshotting. For the instructions on installing the guest tools, see Installing Guest Tools.
Once the snapshot is created, you can see and manage it on the Snapshots tab on the volume panel.
To see the full list of available actions, click the ellipsis button next to a snapshot. Actions include:
Create volume creates a new volume from the snapshot.
Create image creates a template image from the snapshot.
Revert to snapshot discards all changes that have been made to the volume since the snapshot was taken. This action is available only for VMs with the “Shut down” and “Shelved offloaded” statuses.
As each volume has only one snapshot branch, all snapshots created after the snapshot you are reverting to will be deleted. If you want to save a subsequent snapshot before reverting, create a volume or an image from it first.
Edit changes the snapshot name and description.
Reset resets the snapshot stuck in the “Error” state or one of transitional states to the “Available” state.
Delete removes the snapshot.
4.9.7. Managing Storage Policies¶
A storage policy is a group of parameters that define how to store VM volumes: how redundant they must be and on what storage tier they need to be located.
When you deploy the compute cluster, a default storage policy is created that enforces the best replication scheme allowed by the number of nodes in the storage cluster. The default policy cannot be deleted or renamed and is always applied to uploaded images and base volumes created from these images.
A base volume is created from a source image when you deploy a VM. It is not used directly by a VM, but all volumes that a VM actually uses (which are listed on the VOLUMES tab) are in fact deltas (differences) from the base volume. It is important to keep base volumes available as VM volumes depend on them. For that, you need the default storage policy to enforce multiple replicas.
If the storage cluster does not have enough nodes to enable multiple replicas (not recommended), you can adjust the default storage policy once you add more nodes to the storage cluster. It will be applied to images and base volumes that already exist in the compute cluster.
To apply custom redundancy schemes to VM volumes, you can create custom storage policies in addition to the default one. To create a custom storage policy, do the following:
On the COMPUTE > Storage > STORAGE POLICIES tab, click Create storage policy.
In the Create storage policy window, specify a name and select the following:
- In Tier, a tier to store volumes on.
- In Failure domain, a placement policy for data pieces or replicas.
- In Type, a data redundancy type and mode.
To edit the policy name, select the policy and click the pencil icon on its panel.
To remove a policy, select it and click Delete policy. A policy cannot be removed if it governs existing volumes.