On Tue, May 19, 2020 at 1:52 PM FMGarcia <francisco.gar...@wbsgo.com> wrote:

> Hello Nir,
>
> Sorry for the wait, I was involved with other issues.
>
>
> Right now I don't have much time to implement this issue. However, I could
> deploy a Centos8.1 and I'm able to test it. In a few days I could deploy it.
>
> Is there a tutorial for testing these compilations? (Necessary
> dependencies, scripts to remove all traces of the previous installed
> version, etc.)
>
> I understand that the changes you have made these days at
> https://gerrit.ovirt.org/#/c/108991/ are almost final, right? Could you
> test them already? Or do I wait a little?
>

Yes, the fix has been merged to master and ready for test :) It should
resolve: https://bugzilla.redhat.com/1707707
If you're planning to upgrade to oVirt 4.4, it should be available in a
future release candidate.
Or is it crucial for you to have it in a 4.3.z build?


>
>
>
> Despite the fact that you have implemented some very complete scripts
> (backup-disk and upload-disk). In the short term, I'm still interested in
> the snapshot-based model. Since in my Java code, I support full,
> incremental and differential backups with the limitation that the storage
> domain cannot be a block domain, in NFS(for example) it works very well!.
> However, in the vms that have some disk stored in a block domain, I can
> only make a backup by means of a snapshot clone. Until this is resolved :)
> hehe.
>
>
> BTW, thanks for your '*backup_disk.py demo*', it looks so good!. If I
> have some time I will try to test it in my environment. :)
>
>
> Best regards,
>
> Fran
>
>
> On 5/14/20 5:39 PM, Nir Soffer wrote:
>
> On Wed, May 13, 2020 at 12:19 PM FMGarcia <francisco.gar...@wbsgo.com> 
> <francisco.gar...@wbsgo.com> wrote:
>
> Hi Fran, I'm moving the discussion to devel mailing list where it belongs.
>
>
> In https://gerrit.ovirt.org/#/c/107082/ we have "several problems" to decide 
> this patch:
>
> At the base (current version in github), the synergy 
> ('download_disk_snapshot.py' and 'upload_disk_snapshot.py') does not working:
>
> 'Download_disk_snapshot.py' only download volumes of a disk.
> 'Upload_disk_snapshot.py' requires: virtual machine configuration ('.ovf'), a 
> only disk to upload in path './disks/xxxx', and manual action to attach disk 
> to the vm.
>
> Then, I think that if you want a synergy with both scripts, we should change 
> 'download_disk_snapshot.py' before that 'upload_disk_snapshot.py'. If not, 
> you should edit 'upload_disk_snapshot.py' to add a variable 'vm_id'(as 
> variable sd_name in this script) to attach the uploaded disk.
>
> I agree. It would be nice if we can do:
>
> $ mkdir -p backups/vm-id
> $ download_disk_snapshots.py --backup-dir backups/vm-id ...
> $ upload_disk_snapshots.py --backup-dir backups/vm-id ...
>
> download_disk_snapshots.py will download vm ovf and all disks.
> upload_disk_snaphsots.py
> would take the output of download_disk_snapshots.py and create a new vm.
>
>
> I suppose that the best thing is to discard the gerrit, and to propose first 
> what you want with 'download_disk_snapshot.py' and 'upload_disk_snapshot.py' 
> and then act accordingly (several patch). Do you agree?
>
> This is a bigger change that can take more time. I think we better fix
> the issues in the current
> scripts - the first one is the missing attach disk that you fix in your patch.
>
> Since you posted this fix with a lot of other unrelated fixes (some
> wrong or unneeded),
> we cannot merge it. This is another reason to post minimal patches
> that do one fix.
>
>
> I'm only truly interested in opened bug with block domain and volumes of > 
> 1GB: https://bugzilla.redhat.com/show_bug.cgi?id=1707707. I make these 
> changes to help a little since you would help me by solving the bug. I don't 
> code in Python, I code in Java, using Java-sdk and the bug is a major 
> limitation in my software, so I want resolve this bug (1 year old). =( I hope 
> you understand. :)
>
> Sure, I understand.
>
> If you don't time to work on this, some other developer can take over
> this patch.
>
> The bug should be fixed by:https://gerrit.ovirt.org/c/108991/
>
> It would be nice if you can test this. I started a build 
> here:https://jenkins.ovirt.org/job/ovirt-engine_standard-check-patch/5867/
>
> When the build is ready, you will be able to install engine from this
> build by adidng
> a yum repo with the 
> baseurl:https://jenkins.ovirt.org/job/ovirt-engine_standard-check-patch/5867/artifact/build-artifacts.el8.x86_64/
>
> Note that this requires CentOS 8.1. If you want to test on CentOS 7,
> you need to wait until
> the fix will be backported to 4.3, or since you like Java, maybe port
> it yourself?
>
> Note also that we have a much more advanced backup and restore 
> options:https://github.com/oVirt/ovirt-engine-sdk/blob/master/sdk/examples/backup_vm.py
>
> Here is example run I did yesterday:
>
> I started with full backup of a running vm:
>
> $ ./backup_vm.py full --engine-url https://engine3/ --username
> admin@internal --password-file
> /home/nsoffer/.config/ovirt/engine3/password --cafile
> /home/nsoffer/Downloads/certs/engine3.pem --backup-dir
> /home/nsoffer/tmp/backups/test-nfs
> b5732b5c-37ee-4c66-b77e-bda5d37a10fe
> [   0.0 ] Starting full backup for VM b5732b5c-37ee-4c66-b77e-bda5d37a10fe
> [   1.5 ] Waiting until backup f73541c6-88d1-4dac-a551-da922cdb3f55 is ready
> [   4.6 ] Created checkpoint '4754dc34-da4b-4e62-84ea-164c413b003c'
> (to use in --from-checkpoint-uuid for the next incremental backup)
> [   4.6 ] Creating image transfer for disk 
> 566e6aa6-575b-4f83-88c9-e5e5b54d9649
> [   5.9 ] Waiting until transfer 98e5aabc-fedb-4d2c-81c5-eed1a8b07790
> will be ready
> [   5.9 ] Image transfer 98e5aabc-fedb-4d2c-81c5-eed1a8b07790 is ready
> [   5.9 ] Transfer 
> url:https://host4:54322/images/13a0a396-5070-4b0f-a5cd-e2506c5abf0f
> Formatting 
> '/home/nsoffer/tmp/backups/test-nfs/566e6aa6-575b-4f83-88c9-e5e5b54d9649.202005132336.full.qcow2',
> fmt=qcow2 size=6442450944 cluster_size=65536 lazy_refcounts=off
> refcount_bits=16
> [ 100.00% ] 6.00 GiB, 18.34 seconds, 334.95 MiB/s
> [  24.3 ] Finalizing transfer 98e5aabc-fedb-4d2c-81c5-eed1a8b07790
> [  24.5 ] Full backup completed successfully
>
> This downloads all vms disks to ~/tmp/backups/test-nfs/, creating
> 566e6aa6-575b-4f83-88c9-e5e5b54d9649.202005132336.full.qcow2
>
> This file includes entire disk content at the time the backup was
> stated. This includes
> data from all snapshots.
>
> Then I run incremental backup of the same vm, recoding the data changes since
> the full backup:
>
> $ ./backup_vm.py incremental --engine-url https://engine3/ --username
> admin@internal --password-file
> /home/nsoffer/.config/ovirt/engine3/password --cafile
> /home/nsoffer/Downloads/certs/engine3.pem --backup-dir
> /home/nsoffer/tmp/backups/test-nfs --from-checkpoint-uuid
> 4754dc34-da4b-4e62-84ea-164c413b003c
> b5732b5c-37ee-4c66-b77e-bda5d37a10fe
> [   0.0 ] Starting incremental backup for VM
> b5732b5c-37ee-4c66-b77e-bda5d37a10fe
> [   1.3 ] Waiting until backup 01a88749-06eb-431a-81f2-b03db24b878e is ready
> [   2.3 ] Created checkpoint '6f80d3c5-5b81-42ae-9700-2ccab37ad93b'
> (to use in --from-checkpoint-uuid for the next incremental backup)
> [   2.3 ] Creating image transfer for disk 
> 566e6aa6-575b-4f83-88c9-e5e5b54d9649
> [   3.4 ] Waiting until transfer 16c90052-9411-46f6-8dc6-b2f260206708
> will be ready
> [   3.4 ] Image transfer 16c90052-9411-46f6-8dc6-b2f260206708 is ready
> [   3.4 ] Transfer 
> url:https://host4:54322/images/b9a44902-46f1-43b3-a9ad-9d72735c53ad
> Formatting 
> '/home/nsoffer/tmp/backups/test-nfs/566e6aa6-575b-4f83-88c9-e5e5b54d9649.202005132347.incremental.qcow2',
> fmt=qcow2 size=6442450944 cluster_size=65536 lazy_refcounts=off
> refcount_bits=16
> [ 100.00% ] 6.00 GiB, 0.63 seconds, 9.52 GiB/s
> [   4.0 ] Finalizing transfer 16c90052-9411-46f6-8dc6-b2f260206708
> [   4.1 ] Incremental backup completed successfully
>
> This backup is tiny since the only thing changed was new directory created
> on the vm, and some system logs modified since the full backup.
>
> Then I rebased the incremental backup on top of the full backup:
>
> cd home/nsoffer/tmp/backups/test-nfs
> qemu-img rebase -u -b
> 566e6aa6-575b-4f83-88c9-e5e5b54d9649.202005132336.full.qcow2 -F qcow2
> 566e6aa6-575b-4f83-88c9-e5e5b54d9649.202005132347.incremental.qcow2
>
> This images are now a valid qcow2 chain that can be uploaded using
> upload_disk.py:
>
> $ python3 upload_disk.py --engine-url https://engine3/ --username
> admin@internal --password /home/nsoffer/.config/ovirt/engine3/password
> --cafile /home/nsoffer/Downloads/certs/engine3.pem --disk-format qcow2
> --disk-sparse --sd-name iscsi2-1
> /home/nsoffer/tmp/backups/test-nfs/566e6aa6-575b-4f83-88c9-e5e5b54d9649.202005132347.incremental.qcow2
> Checking image...
> Image format: qcow2
> Disk format: cow
> Disk content type: data
> Disk provisioned size: 6442450944
> Disk initial size: 2755264512
> Disk name: 566e6aa6-575b-4f83-88c9-e5e5b54d9649.202005132347.incremental.qcow2
> Connecting...
> Creating disk...
> Disk id: a9785777-8aac-4515-a47a-2f5126e3af73
> Creating image transfer...
> Transfer ID: 6e0384b6-730b-4416-a954-bf45e627d5cf
> Transfer host: host4
> Uploading image...
> [ 100.00% ] 6.00 GiB, 20.50 seconds, 299.70 MiB/s
> Finalizing image transfer...
> Upload completed successfully
>
> The result is a single qcow2 disk on the domain iscs2-1.
>
> I created a new vm from this disk.
>
> This backup script is not complete yet, we don't download the VM OVF
> in each backup, and we don't
> create the VM from the OVF. These features should be added later.
>
> You may want to start testing and intergating this code instead of the
> snapshot based download.
>
> See 
> https://www.ovirt.org/develop/release-management/features/storage/incremental-backup.html
>
> Nir
>
>
>
_______________________________________________
Devel mailing list -- devel@ovirt.org
To unsubscribe send an email to devel-le...@ovirt.org
Privacy Statement: https://www.ovirt.org/privacy-policy.html
oVirt Code of Conduct: 
https://www.ovirt.org/community/about/community-guidelines/
List Archives: 
https://lists.ovirt.org/archives/list/devel@ovirt.org/message/VCYPPV74POO2DBCCZKJFQ5ZEHX5AWKIP/

Reply via email to