Backup KVM Guest VM In OVA Or VMDK Format

Home » CentOS » Backup KVM Guest VM In OVA Or VMDK Format
CentOS 5 Comments

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