In case of power failure disk images that were active and created in qcow2 format can become logically corrupt so that they actually appear as unused (full of zeroes).<br />
Data seems to be there, but at this moment i cannot find any reliable method to recover it. Should it be a raw image, a recovery path would be available, but a qcow2 image only presents zeroes once it gets corrupted. My understanding is that the blockmap of the image gets reset and the image is then assumed to be unused. <br />
My detailed setup :<br />
<br />
Kernel 2.6.32-358.18.1.el6.x86_64<br />
qemu-kvm-0.12.1.2-2.355.0.1.el6.centos.7.x86_64<br />
Used via libvirt libvirt-0.10.2-18.el6_4.14.x86_64<br />
The image was used from a NFS share (the nfs server did NOT crash and remained permanently active).<br />
<br />
qemu-img check finds no corruption; <br />
qemu-img convert will fully convert the image to raw at a raw image full of zeroes. However, there is data in the file, and the storage backend was not restarted, inactivated during the incident.<br />
I encountered this issue on two different machines, in both cases i was not able to recover the data.<br />
Image was qcow2, thin provisioned, created like this :<br />
qemu-img create -f qcow2 -o cluster_size=2M imagename.img<br />
<br />
While addressing the root cause in order to not have this issue repeat would be the ideal scenario, a temporary workaround to run on the affected qcow2 image to "patch" it and recover the data (eventually after a full fsck/recovery inside the guest) would also be good. Otherwise we are basically losing data on a large scale when using qcow2.
↧
0006733: qcow2 images can become corrupted if host crashes,leading to full data loss/unavailability
↧