On Fri, Sep 2, 2022 at 5:41 PM Fabian Arrotin <arrfab at centos.org> wrote:> On 01/09/2022 18:14, Kaushal Shriyan wrote: > > 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 > > Stop the vm > qemu-img convert -f raw origin.qcow2 dest.raw > > You can then import but while we use this to create official centos > image, don't forget to ensure that you node is ready to be imported, so > cloud-init, etc, etc > > It's usually easier/better/faster to have automation in place to > configure an application and so replay it on a new node, and then > replicate data > > I guess only option why you'd want to not do this is that it's a running > machine that was configured "by hands" by someone who left the company > (and so without automation in place) > > -- > Fabian Arrotin > The CentOS Project | https://www.centos.org > gpg key: 17F3B7A1 | twitter: @arrfab > _______________________________________________ > CentOS mailing list > CentOS at centos.org > https://lists.centos.org/mailman/listinfo/centosThanks 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=daclabservers,S3Key=openapidbox.vmdk}" { "ImportTaskId": "import-ami-0232f452194f6efe0", "Progress": "1", "SnapshotDetails": [ { "DiskImageSize": 0.0, "Format": "VMDK", "UserBucket": { "S3Bucket": "daclabservers", "S3Key": "openapibox.vmdk" } } ], "Status": "active", "StatusMessage": "pending" } *Step No. 3* #aws ec2 describe-import-image-tasks --import-task-ids import-ami-0232f452194f6efe0 { "ImportImageTasks": [ { "ImportTaskId": "import-ami-0232f452194f6efe0", "SnapshotDetails": [ { "DiskImageSize": 0.0, "Status": "completed" } ], "Status": "deleted", "StatusMessage": "ClientError: Disk validation failed [Unsupported VMDK File Format]", "Tags": [] } ] } Please guide me. Am I missing anything? Thanks in advance. Best Regards, Kaushal
On Wed, Sep 14, 2022 at 7:37 PM Kaushal Shriyan <kaushalshriyan at gmail.com> wrote:> > On Fri, Sep 2, 2022 at 5:41 PM Fabian Arrotin <arrfab at centos.org> wrote: > >> On 01/09/2022 18:14, Kaushal Shriyan wrote: >> > 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 >> >> Stop the vm >> qemu-img convert -f raw origin.qcow2 dest.raw >> >> You can then import but while we use this to create official centos >> image, don't forget to ensure that you node is ready to be imported, so >> cloud-init, etc, etc >> >> It's usually easier/better/faster to have automation in place to >> configure an application and so replay it on a new node, and then >> replicate data >> >> I guess only option why you'd want to not do this is that it's a running >> machine that was configured "by hands" by someone who left the company >> (and so without automation in place) >> >> -- >> Fabian Arrotin >> The CentOS Project | https://www.centos.org >> gpg key: 17F3B7A1 | twitter: @arrfab >> _______________________________________________ >> CentOS mailing list >> CentOS at centos.org >> https://lists.centos.org/mailman/listinfo/centos > > > 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=daclabservers,S3Key=openapidbox.vmdk}" > { > "ImportTaskId": "import-ami-0232f452194f6efe0", > "Progress": "1", > "SnapshotDetails": [ > { > "DiskImageSize": 0.0, > "Format": "VMDK", > "UserBucket": { > "S3Bucket": "daclabservers", > "S3Key": "openapibox.vmdk" > } > } > ], > "Status": "active", > "StatusMessage": "pending" > } > > *Step No. 3* > #aws ec2 describe-import-image-tasks --import-task-ids > import-ami-0232f452194f6efe0 > { > "ImportImageTasks": [ > { > "ImportTaskId": "import-ami-0232f452194f6efe0", > "SnapshotDetails": [ > { > "DiskImageSize": 0.0, > "Status": "completed" > } > ], > "Status": "deleted", > "StatusMessage": "ClientError: Disk validation failed > [Unsupported VMDK File Format]", > "Tags": [] > } > ] > } > > Please guide me. Am I missing anything? Thanks in advance. > > Best Regards, > > Kaushal >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 <kaushalshriyan at gmail.com> napsal:> On Fri, Sep 2, 2022 at 5:41 PM Fabian Arrotin <arrfab at centos.org> wrote: > > > On 01/09/2022 18:14, Kaushal Shriyan wrote: > > > 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 > > > > Stop the vm > > qemu-img convert -f raw origin.qcow2 dest.raw > > > > You can then import but while we use this to create official centos > > image, don't forget to ensure that you node is ready to be imported, so > > cloud-init, etc, etc > > > > It's usually easier/better/faster to have automation in place to > > configure an application and so replay it on a new node, and then > > replicate data > > > > I guess only option why you'd want to not do this is that it's a running > > machine that was configured "by hands" by someone who left the company > > (and so without automation in place) > > > > -- > > Fabian Arrotin > > The CentOS Project | https://www.centos.org > > gpg key: 17F3B7A1 | twitter: @arrfab > > _______________________________________________ > > CentOS mailing list > > CentOS at centos.org > > https://lists.centos.org/mailman/listinfo/centos > > > 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 >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> > *Step No. 2* > #aws ec2 import-image --disk-containers > Format=vmdk,UserBucket="{S3Bucket=daclabservers,S3Key=openapidbox.vmdk}" > { > "ImportTaskId": "import-ami-0232f452194f6efe0", > "Progress": "1", > "SnapshotDetails": [ > { > "DiskImageSize": 0.0, > "Format": "VMDK", > "UserBucket": { > "S3Bucket": "daclabservers", > "S3Key": "openapibox.vmdk" > } > } > ], > "Status": "active", > "StatusMessage": "pending" > } >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> > *Step No. 3* > #aws ec2 describe-import-image-tasks --import-task-ids > import-ami-0232f452194f6efe0 > { > "ImportImageTasks": [ > { > "ImportTaskId": "import-ami-0232f452194f6efe0", > "SnapshotDetails": [ > { > "DiskImageSize": 0.0, > "Status": "completed" > } > ], > "Status": "deleted", > "StatusMessage": "ClientError: Disk validation failed > [Unsupported VMDK File Format]", > "Tags": [] > } > ] > } > > Please guide me. Am I missing anything? Thanks in advance. > > Best Regards, > > Kaushal > _______________________________________________ > CentOS mailing list > CentOS at centos.org > https://lists.centos.org/mailman/listinfo/centos > >