Virsh vol-clone: Difference between revisions
Jump to navigation
Jump to search
Line 21: | Line 21: | ||
==Cloning a Raw Volume== | ==Cloning a Raw Volume== | ||
{{Error|Do I need to shut down the guest using the source volume, or umount the source volume before cloning? For the time being, until I document the requirements, I will umount}} | |||
virsh vol-clone --pool main-storage-pool test-volume test-volume.raw | virsh vol-clone --pool main-storage-pool test-volume test-volume.raw |
Revision as of 00:47, 18 October 2017
External
- https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Virtualization_Deployment_and_Administration_Guide/sect-Storage_Volumes-Cloning_volumes.html
- https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Virtualization_Deployment_and_Administration_Guide/sect-Managing_guest_virtual_machines_with_virsh-Storage_Volume_Commands.html#sect-Creating_storage_volumes-Cloning_a_storage_volume
Internal
Overview
The operation clones the source volume within the same storage pool, It allocates space for the target volume and copies the content across. Various optimizations are applied depending on the source volume format.
virsh vol-clone --pool <storage-pool-name> <source-volume-name> <new-volume-name>
The virsh man page does not explicitly require it, but it is probably better to make sure the source volume is not in use while cloning.
For qcow2 volumes for qcow2 images which don't support full allocation, --prealloc-metadata can be used. --prealloc-metadata preallocates metadata and creates a sparse image file with metadata, resulting in higher performance compared to images with no preallocation and only slightly higher initial disk space usage.
Examples
Cloning a Raw Volume
Do I need to shut down the guest using the source volume, or umount the source volume before cloning? For the time being, until I document the requirements, I will umount
virsh vol-clone --pool main-storage-pool test-volume test-volume.raw virsh vol-list --pool main-storage-pool
Cloning a qcow2 Volume
virsh vol-clone --pool storage-pool-name --prealloc-metadata source-volume target-volume
Example:
virsh vol-clone --pool main-storage-pool --prealloc-metadata template.qcow2 node1.qcow2 Vol node1.qcow2 cloned from template.qcow2 virsh vol-list --pool main-storage-pool