Backup KVM Guest VM In OVA Or VMDK Format
Hi,
Is there a way to backup KVM Guest VM running CentOS Linux release 7.9.2009
(Core) OS in kvmguestosimage.ova or kvmguestosimage.vmdk format as I am trying to restore it in AWS by referring to https://aws.amazon.com/ec2/vm-import/ article as per the below supported file format.
[1] Open Virtualization Archive (OVA)
[2] Virtual Machine Disk (VMDK)
[3] Virtual Hard Disk (VHD/VHDX)
[4] raw
Also any method to take full and incremental backup of KVM Guest VM.
Any help will be highly appreciated. I look forward to hearing from you. Thanks in Advance.
Best Regards,
Kaushal
5 thoughts on - Backup KVM Guest VM In OVA Or VMDK Format
T24gMDEvMDkvMjAyMiAxODoxNCwgS2F1c2hhbCBTaHJpeWFuIHdyb3RlOg0KPiBIaSwNCj4g DQo+IElzIHRoZXJlIGEgd2F5IHRvIGJhY2t1cCBLVk0gR3Vlc3QgVk0gcnVubmluZyBDZW50
T1MgTGludXggcmVsZWFzZSA3LjkuMjAwOQ0KPiAoQ29yZSkgT1MgaW4ga3ZtZ3Vlc3Rvc2lt YWdlLm92YSBvciBrdm1ndWVzdG9zaW1hZ2Uudm1kayBmb3JtYXQgYXMgSSBhbQ0KPiB0cnlp bmcgdG8gcmVzdG9yZSBpdCBpbiBBV1MgYnkgcmVmZXJyaW5nIHRvDQo+IGh0dHBzOi8vYXdz LmFtYXpvbi5jb20vZWMyL3ZtLWltcG9ydC8gYXJ0aWNsZSBhcyBwZXIgdGhlIGJlbG93IHN1
cHBvcnRlZA0KPiBmaWxlIGZvcm1hdC4NCj4gDQo+IFsxXSBPcGVuIFZpcnR1YWxpemF0aW9u IEFyY2hpdmUgKE9WQSkNCj4gWzJdIFZpcnR1YWwgTWFjaGluZSBEaXNrIChWTURLKQ0KPiBb M10gVmlydHVhbCBIYXJkIERpc2sgKFZIRC9WSERYKQ0KPiBbNF0gcmF3DQo+IA0KPiBBbHNv IGFueSBtZXRob2QgdG8gdGFrZSBmdWxsIGFuZCBpbmNyZW1lbnRhbCBiYWNrdXAgb2YgS1ZN
IEd1ZXN0IFZNLg0KPiANCj4gQW55IGhlbHAgd2lsbCBiZSBoaWdobHkgYXBwcmVjaWF0ZWQu IEkgbG9vayBmb3J3YXJkIHRvIGhlYXJpbmcgZnJvbSB5b3UuDQo+IFRoYW5rcyBpbiBBZHZh bmNlLg0KPiANCj4gQmVzdCBSZWdhcmRzLA0KPiANCj4gS2F1c2hhbA0KDQpTdG9wIHRoZSB2
bQ0KcWVtdS1pbWcgY29udmVydCAtZiByYXcgb3JpZ2luLnFjb3cyIGRlc3QucmF3DQoNCllv dSBjYW4gdGhlbiBpbXBvcnQgYnV0IHdoaWxlIHdlIHVzZSB0aGlzIHRvIGNyZWF0ZSBvZmZp Y2lhbCBjZW50b3MgDQppbWFnZSwgZG9uJ3QgZm9yZ2V0IHRvIGVuc3VyZSB0aGF0IHlvdSBu b2RlIGlzIHJlYWR5IHRvIGJlIGltcG9ydGVkLCBzbyANCmNsb3VkLWluaXQsIGV0YywgZXRj DQoNCkl0J3MgdXN1YWxseSBlYXNpZXIvYmV0dGVyL2Zhc3RlciB0byBoYXZlIGF1dG9tYXRp b24gaW4gcGxhY2UgdG8gDQpjb25maWd1cmUgYW4gYXBwbGljYXRpb24gYW5kIHNvIHJlcGxh eSBpdCBvbiBhIG5ldyBub2RlLCBhbmQgdGhlbiANCnJlcGxpY2F0ZSBkYXRhDQoNCkkgZ3Vl c3Mgb25seSBvcHRpb24gd2h5IHlvdSdkIHdhbnQgdG8gbm90IGRvIHRoaXMgaXMgdGhhdCBp dCdzIGEgcnVubmluZyANCm1hY2hpbmUgdGhhdCB3YXMgY29uZmlndXJlZCAiYnkgaGFuZHMi IGJ5IHNvbWVvbmUgd2hvIGxlZnQgdGhlIGNvbXBhbnkgDQooYW5kIHNvIHdpdGhvdXQgYXV0
b21hdGlvbiBpbiBwbGFjZSkNCg0KLS0gDQpGYWJpYW4gQXJyb3Rpbg0KVGhlIENlbnRPUyBQ
cm9qZWN0IHwgaHR0cHM6Ly93d3cuY2VudG9zLm9yZw0KZ3BnIGtleTogMTdGM0I3QTEgfCB0
d2l0dGVyOiBAYXJyZmFiDQo
Thanks Fabian for the detailed email. I followed the below steps by referring to https://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html
.
# qemu-img -h | grep Supported Supported formats: blkdebug blklogwrites blkverify compress copy-before-write copy-on-read file ftp ftps gluster host_cdrom host_device http https iscsi iser luks nbd null-aio null-co nvme preallocate qcow2
quorum raw rbd SSH throttle vhdx vmdk vpc
# qemu-img –version qemu-img version 6.2.0 (qemu-kvm-6.2.0-12.module_el8.7.0+1140+ff0772f9)
Copyright (c) 2003-2021 Fabrice Bellard and the QEMU Project developers
#
*Step No. 1*
#qemu-img convert -O vmdk openapibox.img openapibox.vmdk -p
*Step No. 2*
#aws ec2 import-image –disk-containers Format=vmdk,UserBucket=”{S3Bucket
Hi,
I will appreciate it if someone can pitch in for my earlier post to this mailing list and need guidance in this regard. I look forward to hearing from you. Thanks in advance.
Best Regards,
Kaushal
Hi Kaushal,
st 14. 9. 2022 v 16:07 odesílatel Kaushal Shriyan
napsal:
I’m not 100% sure but I think that AWS only accepts the stream-optimized subformat, the command is:
$ qemu-img convert -O vmdk -o subformat=streamOptimized openapibox.img openapibox.vmdk
Our project (https://www.osbuild.org/) uses the raw format for disks, uploads it to S3, calls import-snapshot to import it as an EBS snapshot and finally calls register-image to create a new AMI. Basically:
$ qemu-img convert -O raw openapibox.img openapibox.raw
# upload into S3
$ aws ec2 import-snapshot …
# wait for the snapshot to be imported
$ aws ec2 register-image …
Docs:
– https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html
– https://docs.aws.amazon.com/cli/latest/reference/ec2/import-snapshot.html
–
https://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-import-snapshot.html
If you want to see this in practice, we have some Go code. As awscli is just a thin wrapper over the API, it should be pretty easy to translate our code into awscli calls:
https://github.com/osbuild/osbuild-composer/blob/bfd90cf191eece5c1331dcb43a85bcca02d8d7d4/internal/cloud/awscloud/awscloud.go#L211
Hope that helps,
Ondřej
Thanks Ondřej and appreciate it. I will try it out and keep you posted. Thanks in advance.
Best Regards,
Kaushal