On Tue, Dec 12, 2023 at 1:03 AM Satoru Takeuchi <satoru.takeuchi@gmail.com> wrote:
Hi,
I'm developing RBD images' backup system. In my case, a backup data must be stored at least two weeks. To meet this requirement, I'd like to take backups as follows:
1. Take a full backup by rbd export first. 2. Take a differencial backups everyday. 3. Merge the full backup and the oldest (taken two weeks ago) diff.
As a result of evaluation, I confirmed there is no problem in step 1 and 2. However, I found that step 3 couldn't be accomplished by `rbd merge-diff <full backup> <diff>` because `rbd merge-diff` only accepts a diff as a first parameter. Is there any way to merge a full backup and a diff?
Hi Satoru, Not at the moment. Mykola has an old work-in-progress PR which extends "rbd import-diff" command to make this possible [1]. 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. 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. [1] https://github.com/ceph/ceph/pull/41375 Thanks, Ilya