14.5.15. Using blockcommit to Shorten a Backing Chain
This section demonstrates how to use
virsh blockcommitto shorten a backing chain. For more background on backing chains, see Section 14.5.18, “Disk Image Management with Live Block Copy”.
blockcommitcopies 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.
blockcommitmoves 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 -verboseThe contents of snap2 are moved into snap1, resulting in:
base ← snap1 ← active. Snap2 is no longer valid and can be deleted
blockcommitwill corrupt any file that depends on the
-baseoption (other than files that depend on the
-topoption, as those files now point to the base). To prevent this, do not commit changes into files shared by more than one guest. The
-verboseoption allows the progress to be printed on the screen.