@RS Few years ago I faced the same errors on all xva backups and after that switch to vdi backups.
I did not find the root of problem, but I know how to "repair" broken backup.
Check xva backup with command vhd-util check -n name_of_backup.xva
.
If you got something like Checksum : 0x0|0xffffffff (Bad!), the solution is:
- Create VM or get server with modern Ubuntu. You will need x3 space of your backup size.
- Copy broken backup
- Install xva-img https://github.com/eriklax/xva-img
apt-get install libssl-dev g++ cmake
add-apt-repository ppa:ubuntu-toolchain-r/test && apt-get update && apt-get install -y gcc-7
#To compile execute following commands in xva-img folder
cmake ./
make install
- Unpack backup
mkdir my-virtual-machine
tar -xf name_of_backup.xva.xva -C my-virtual-machine
chmod -R 755 my-virtual-machine
- Create RAW disk. Replace Ref\:1 with your digits
xva-img -p disk-export my-virtual-machine/Ref\:1/ disk.raw
- Install qemu-utils from standard repos
apt install qemu-utils
- Convert RAW to VHD
qemu-img convert -f raw -O vpc disk.raw resotred.vhd
- Copy VHD to xcp-ng SR
cp resotred.vhd /run/sr-mount/{sr-uuid}/
- Get UUID of your restored VHD. This command should be executed on xcp-ng server.
vhd-util read -p -n resotred.vhd
- Rename vhd
- Rescan SR, rename VHD with empty name