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