On Wed, Dec 13, 2023 at 12:48 AM Satoru Takeuchi <satoru.takeuchi@gmail.com> wrote:
Hi Ilya,
2023年12月12日(火) 21:23 Ilya Dryomov <idryomov@gmail.com>:
Not at the moment. Mykola has an old work-in-progress PR which extends "rbd import-diff" command to make this possible [1].
I didn't know this PR. Thank you very much.I'll evaluate this PR later.
Since you as a user expected "rbd merge-diff" to be able to this, I wonder if this functionality might be better placed under "rbd merge-diff"? That way the operations on files would be separated from the operations on RBD images.
Yes, I think so too.
For your backup system, couldn't you just merge the two oldest differentials with "rbd merge-diff" instead? Instead of advancing the full export, you would be advancing the first differential -- it would represent a diff between the initial export and the "2 weeks" backup over time.
Yes, it's possible. It's one of a workaround I thought. Then the backup data are as follows:
a. The full backup taken at least 14 days ago. b. The latest 14 days backup data
I think it would be: a. A full backup (taken potentially months ago, exact age doesn't really matter) b. Differential #1 - diff from the full backup to the 14 days old version c. Differential #2 - diff from the 14 days old to the 13 days old version d. Differential #3 - diff from the 13 days old to the 12 days old version ... Every day after a new differential is taken, (b) and (c) would be merged, keeping the number of differentials constant.
In this case, I concern the effect if (a) becomes too old. However, it might be a groundless fear.
I would suggest re-capturing the full backup from time to time, just as a precaution against something going wrong with a backup based on a too long series of (merged) differentials. It might be groundless concern, but then you can't be too careful when it comes to backups. Thanks, Ilya