Difference between revisions of "Shrink Qcow2 Disk Files"

From Proxmox VE
Jump to navigation Jump to search
Line 1: Line 1:
 
[[Category:HOWTO]]
 
[[Category:HOWTO]]
 
Over time the *.qcow2 disk files can grow larger than the actual data stored within them. This can also happen faster if you defragment the drives within the XP VM itself. In order to shrink the *.qcow2 files, you'll need to zero out all free space of the drives within the XP VM first. Below are (very rough) notes on how to do this:
 
Over time the *.qcow2 disk files can grow larger than the actual data stored within them. This can also happen faster if you defragment the drives within the XP VM itself. In order to shrink the *.qcow2 files, you'll need to zero out all free space of the drives within the XP VM first. Below are (very rough) notes on how to do this:
 +
==Windows Guest Preparaton==
 
* Defragment your VM's Windows drives either by using the built in defragment program or a 3rd party one such as [http://www.piriform.com/defraggler Defraggler].
 
* Defragment your VM's Windows drives either by using the built in defragment program or a 3rd party one such as [http://www.piriform.com/defraggler Defraggler].
 
* Download and install the latest [http://eraser.heidi.ie/ Eraser] inside the XP VM.
 
* Download and install the latest [http://eraser.heidi.ie/ Eraser] inside the XP VM.
Line 8: Line 9:
 
** Run the job.
 
** Run the job.
 
** '''Note:''' I've had Eraser crash during this process. If this happens, it will leave a directory under the root of your drive with all sorts of random data in it. You'll want to delete this folder and start the process again. Keep running the process until it goes through without crashing. Hopefully the folks at Eraser are working on the stability of this new version.
 
** '''Note:''' I've had Eraser crash during this process. If this happens, it will leave a directory under the root of your drive with all sorts of random data in it. You'll want to delete this folder and start the process again. Keep running the process until it goes through without crashing. Hopefully the folks at Eraser are working on the stability of this new version.
 +
==Shrink the Disk File==
 
* Shut down the VM.
 
* Shut down the VM.
 
* Log into the Proxmox shell and go to the VM's disk storage directory.
 
* Log into the Proxmox shell and go to the VM's disk storage directory.
* Shrink the disk file:
+
* '''Note:''' These next two steps assume that '''source''' is your original disk and '''shrunk''' us the new shrunken disk. Change the file names to meet your needs.
** '''Note:''' These next two steps assume that '''source''' is your original disk and '''shrunk''' us the new shrunken disk. Change the file names to meet your needs.
 
 
<pre>
 
<pre>
 
qemu-img convert -c -O qcow2 source.qcow2 shrunk.qcow2
 
qemu-img convert -c -O qcow2 source.qcow2 shrunk.qcow2

Revision as of 20:09, 6 September 2012

Over time the *.qcow2 disk files can grow larger than the actual data stored within them. This can also happen faster if you defragment the drives within the XP VM itself. In order to shrink the *.qcow2 files, you'll need to zero out all free space of the drives within the XP VM first. Below are (very rough) notes on how to do this:

Windows Guest Preparaton

  • Defragment your VM's Windows drives either by using the built in defragment program or a 3rd party one such as Defraggler.
  • Download and install the latest Eraser inside the XP VM.
  • Load Eraser.
    • Edit main settings. Change default file erasure and unused space erasure methods to British HMG IS5 (Baseline) (1 pass). This will zero out space instead of using random data.
    • Create a new job under Erase Schedule and add the free space from the C:\ drive (and any other drive you want to shrink).
    • Run the job.
    • Note: I've had Eraser crash during this process. If this happens, it will leave a directory under the root of your drive with all sorts of random data in it. You'll want to delete this folder and start the process again. Keep running the process until it goes through without crashing. Hopefully the folks at Eraser are working on the stability of this new version.

Shrink the Disk File

  • Shut down the VM.
  • Log into the Proxmox shell and go to the VM's disk storage directory.
  • Note: These next two steps assume that source is your original disk and shrunk us the new shrunken disk. Change the file names to meet your needs.
qemu-img convert -c -O qcow2 source.qcow2 shrunk.qcow2
  • Backup the original disk file and move the shrunken disk into its place:
mv source.qcow2 source-bak.qcow2
mv shrunk.qcow2 source.qcow2
  • Boot your VM and verify all is working.
  • When you verify all is well, it should be safe to either delete the backup of the original disk, or move it to an offline backup storage.