Project

General

Profile

Diff - integrity local import » History » Version 1

Jessica Mack, 06/23/2015 08:43 PM

1 1 Jessica Mack
h1. Diff - integrity local import
2 1 Jessica Mack
3 1 Jessica Mack
h3. Summary
4 1 Jessica Mack
5 1 Jessica Mack
For critical applications, it may be required to keep a backup on a fully independent
6 1 Jessica Mack
storage solution while keeping the advantage of ceph like diff import/export. When
7 1 Jessica Mack
re-applying an rbd-diff, there is no guarantee it has not been corrupted in the way,
8 1 Jessica Mack
either due to transport error, storage failure, neutrinos, whatever. There is also
9 1 Jessica Mack
currently no way to be sure the diff is being applied on the right image, especially
10 1 Jessica Mack
when dealing with renamed images  neither to locally rebuild an image from a collection
11 1 Jessica Mack
of incremental diffs.
12 1 Jessica Mack
13 1 Jessica Mack
h3. Owners
14 1 Jessica Mack
15 1 Jessica Mack
* Jean-Tiare Le Bigot (jean-tiare.le-bigot@ovh.net)
16 1 Jessica Mack
* Name (Affiliation)
17 1 Jessica Mack
* Name
18 1 Jessica Mack
19 1 Jessica Mack
h3. Interested Parties
20 1 Jessica Mack
21 1 Jessica Mack
* Danny Al-Gaaf (Deutsche Telekom AG)
22 1 Jessica Mack
* Loic Dachary <loic@dachary.org>
23 1 Jessica Mack
* Name
24 1 Jessica Mack
25 1 Jessica Mack
h3. Current Status
26 1 Jessica Mack
27 1 Jessica Mack
Diff format embeds "from" and "to" snapshots but not any source image id.
28 1 Jessica Mack
There is no checksumming inside the diff, if the file is somehow corrupted, there is no way to detect it.
29 1 Jessica Mack
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.
30 1 Jessica Mack
31 1 Jessica Mack
h3. Detailed Description
32 1 Jessica Mack
 
33 1 Jessica Mack
h3. Work items
34 1 Jessica Mack
35 1 Jessica Mack
h4. Coding tasks
36 1 Jessica Mack
37 1 Jessica Mack
# store original image "id" in diff
38 1 Jessica Mack
# store original image "id" from diff in destination image for check on later import
39 1 Jessica Mack
# append a crc32 at the end of each data chunk
40 1 Jessica Mack
# extend "rbd" command to support importing diff over to local file
41 1 Jessica Mack
42 1 Jessica Mack
h4. Build / release tasks
43 1 Jessica Mack
44 1 Jessica Mack
# Task 1
45 1 Jessica Mack
# Task 2
46 1 Jessica Mack
# Task 3
47 1 Jessica Mack
48 1 Jessica Mack
h4. Documentation tasks
49 1 Jessica Mack
50 1 Jessica Mack
# New rbd command
51 1 Jessica Mack
# New integrity checks
52 1 Jessica Mack
# Task 3
53 1 Jessica Mack
54 1 Jessica Mack
h4. Deprecation tasks
55 1 Jessica Mack
56 1 Jessica Mack
# Task 1
57 1 Jessica Mack
# Task 2
58 1 Jessica Mack
# Task 3