14.5.15. Using blockcommit to Shorten a Backing Chain
This section demonstrates how to use
virsh blockcommit
to shorten a backing chain. For more background on backing chains, see Section 14.5.18, “Disk Image Management with Live Block Copy”.
blockcommit
copies data from one part of the chain down into a backing file, allowing you to pivot the rest of the chain in order to bypass the committed portions. For example, suppose this is the current state:
base ← snap1 ← snap2 ← active
.
Using
blockcommit
moves the contents of snap2 into snap1, allowing you to delete snap2 from the chain, making backups much quicker.
Procedure 14.2. virsh blockcommit
- Run the following command:
#
virsh blockcommit $dom $disk -base snap1 -top snap2 -wait -verbose
The contents of snap2 are moved into snap1, resulting in:base ← snap1 ← active
. Snap2 is no longer valid and can be deletedWarning
blockcommit
will corrupt any file that depends on the-base
option (other than files that depend on the-top
option, as those files now point to the base). To prevent this, do not commit changes into files shared by more than one guest. The-verbose
option allows the progress to be printed on the screen.