How to fix corrupted ploop

From vpsget wiki
Revision as of 17:22, 5 December 2020 by Ndi (talk | contribs)
Jump to: navigation, search

Stop the container/ check container status where ploop problem exists

[if you are working in your own environment with "backup files" that looking like like "root.hdd" - ploop file and "DiskDescriptor.xml" you should not stop any containers]

NOTE: your kernel may not support ploop - in this case you may refer to the man pages: is it possible to add or compile kernel module for your *nix build //or google it /whatever.

Refer to the link provided at the end of this article for alternate method of adding kernel support into your Linux build.

Mount the container’s ploop image. Check fdisk:

cd  /vz/private/CTID
fdisk -l root.hdd/root.hdd 

Mount:

ploop mount root.hdd/DiskDescriptor.xml       
Opening delta /vz/private/16311/root.hdd/root.hdd
Adding delta dev=/dev/ploop28980 img=/vz/private/16311/root.hdd/root.hdd (rw)
#note the dev=/dev/ploop2890

NOTE: if you get error like:

 Error in ploop_check (check.c:549): Fatal errors were found, image /vz/private/111/root.hdd/root.hdd is not repaired
 Error in check_deltas (check.c:638): /vz/private/1111/root.hdd/root.hdd : irrecoverable errors (rw)

Then try to use ploop check:

ploop check -Fc root.hdd/root.hdd 
#
Reopen rw root.hdd/root.hdd
Data cluster 20063 beyond EOF, vsec=980... 
Fixed
Error in ploop_check (check.c:574): Dirty flag is set

You may see more options just type ploop check --help.


As from previous mount ploop output we can see how it's mounted: "dev=/dev/ploop2890"

Try e2fsck

e2fsck  /dev/ploop28980   

If fail try with another superblock:

mke2fs /dev/ploop28980    # note the block here and use one of them
e2fsck -b 32768  /dev/ploop28980

Maybe mount/remount and give a check w/o specifying superblock

e2fsck  /dev/ploop28980


___________________ if still issues you may try to mount ploop into folder and copy data


Optional. Better remount ploop for any case.

ploop umount -d /dev/ploop1234
ploop mount root.hdd/DiskDescriptor.xml   

Now use "mount" to Mount into some dir

mkdir /mnt/ploop-restore1
mount -r -o noload /dev/ploop30196 /mnt/ploop-restore1



  • Tool for mounting OpenVZ ploop images without support from kernel side:*

This link may be helpfull if you do not have ploop kernel support (we did not tested it!):

https://github.com/FastVPSEestiOu/ploop_userspace/

""