Diff - integrity local import¶
Summary¶
For critical applications, it may be required to keep a backup on a fully independent
storage solution while keeping the advantage of ceph like diff import/export. When
re-applying an rbd-diff, there is no guarantee it has not been corrupted in the way,
either due to transport error, storage failure, neutrinos, whatever. There is also
currently no way to be sure the diff is being applied on the right image, especially
when dealing with renamed images neither to locally rebuild an image from a collection
of incremental diffs.
Owners¶
- Jean-Tiare Le Bigot (jean-tiare.le-bigot@ovh.net)
- Name (Affiliation)
- Name
Interested Parties¶
- Danny Al-Gaaf (Deutsche Telekom AG)
- Loic Dachary <loic@dachary.org>
- Name
Current Status¶
Diff format embeds "from" and "to" snapshots but not any source image id.
There is no checksumming inside the diff, if the file is somehow corrupted, there is no way to detect it.
It is possible to export a full image or a diff but there is currently no way to incrementally rebuild an image out of cluster.
Detailed Description¶
Work items¶
Coding tasks¶
- store original image "id" in diff
- store original image "id" from diff in destination image for check on later import
- append a crc32 at the end of each data chunk
- extend "rbd" command to support importing diff over to local file
Build / release tasks¶
- Task 1
- Task 2
- Task 3
Documentation tasks¶
- New rbd command
- New integrity checks
- Task 3
Deprecation tasks¶
- Task 1
- Task 2
- Task 3
Updated by Jessica Mack almost 9 years ago · 1 revisions