[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Avoid copying unallocated clusters during full backup
From: |
Vladimir Sementsov-Ogievskiy |
Subject: |
Re: Avoid copying unallocated clusters during full backup |
Date: |
Mon, 20 Apr 2020 13:56:13 +0300 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1 |
Hi all!
Yes, I have big work-in-progress around backup, and I'm posting it part-by-part,
current chunk is "[PATCH v2 0/6] block-copy: use aio-task-pool", at
https://lists.gnu.org/archive/html/qemu-devel/2020-03/msg07671.html
The final target is backup job, which does only one block_copy() call.
It already works this way in Virtuozzo-8.0, and there is old outdated series,
which may give an idea of the full picture:
[RFC 00/24] backup performance: block_status + async
https://lists.gnu.org/archive/html/qemu-devel/2019-11/msg02335.html
After it, next steps are to reuse block_copu() for other jobs and qemu-img
convert.
===
About skipping zeroes for FULL-mode.
1. Honestly, we have this skipping hardcoded in our downstream for a long time,
I'll attache the patch from vz-8.0.
To upstream it, we still lack one thing: knowledge, is target is already zeroed.
(for downstream, we just sure, that in all our scenarios backup target is a new
qcow2 image, all-zeros of course).
I think, we already have an unspoken agreement, that a kind of target-is-zero
option is appropriate way to achieve it, and qemu-img already has it..
On the other hand, I think, the best way of being sure in target-is-zero is just
to zero it. But to do it effectively for our most interesting scenarios (qcow2,
NBD),
we need the following steps:
1. 64bit commands in NBD
2. 64bit write-zeroes in Qemu generic block-layer
3. support 64bit write-zeroes in qcow2 and nbd driver in Qemu
For 1,2 I have sent series..
===
Hmm. So, what to do now?
1. You can use downstream patch, like we in Virtuozzo, if it is appropriate for
you.
2. Implement feature upstream. Most simple way is to add a skip-zeroes
option for backup job, and than, in case of the option enabled, do something
like
in my patch (or just port it). Do you want to make patches? If not, I can
handle it myself.
--
Best regards,
Vladimir
0001-backup-skip-copying-unallocated-for-full-mode.patch
Description: Text Data
- Avoid copying unallocated clusters during full backup, Leo Luan, 2020/04/17
- Re: Avoid copying unallocated clusters during full backup, John Snow, 2020/04/17
- Re: Avoid copying unallocated clusters during full backup, Eric Blake, 2020/04/17
- Re: Avoid copying unallocated clusters during full backup, Leo Luan, 2020/04/17
- Re: Avoid copying unallocated clusters during full backup, John Snow, 2020/04/17
- Re: Avoid copying unallocated clusters during full backup, Leo Luan, 2020/04/17
- Re: Avoid copying unallocated clusters during full backup,
Vladimir Sementsov-Ogievskiy <=
- RE: Avoid copying unallocated clusters during full backup, Bryan S Rosenburg, 2020/04/20
- Re: Avoid copying unallocated clusters during full backup, Vladimir Sementsov-Ogievskiy, 2020/04/20
- RE: Avoid copying unallocated clusters during full backup, Bryan S Rosenburg, 2020/04/21
Re: Avoid copying unallocated clusters during full backup, Leo Luan, 2020/04/17