Rgw - active-active architecture » History » Version 1
Jessica Mack, 06/09/2015 07:33 PM
1 | 1 | Jessica Mack | h1. Rgw - active-active architecture |
---|---|---|---|
2 | |||
3 | h3. Summary |
||
4 | |||
5 | Current multizone RGW setup is only master-slave. In a single region we can only have a single master zone, and all data will be replicated to other slave zones. We plan to make it possible to change that behavior and have all zones in a single region writable. Also, we'll probably rename Region to Zone-Group due to some confusion. |
||
6 | |||
7 | Requirements: |
||
8 | The ability to write data on any zone within a single region, have the data sync happen between all zones (in that region) |
||
9 | No change in metadata propagation |
||
10 | |||
11 | h3. Owners |
||
12 | |||
13 | * Yehuda Sadeh (Red Hat) |
||
14 | * Name (Affiliation) |
||
15 | * Name |
||
16 | |||
17 | h3. Interested Parties |
||
18 | |||
19 | * Name (Affiliation) |
||
20 | * Name (Affiliation) |
||
21 | * Name |
||
22 | |||
23 | h3. Current Status |
||
24 | |||
25 | One master region, zero or more slave regions. |
||
26 | For each region, one master zone, zero or more secondary zones. |
||
27 | Data sync only happen from master zone to secondary zones |
||
28 | Metadata updates happen on master region |
||
29 | |||
30 | h3. Detailed Description |
||
31 | |||
32 | still designate a master zone for metadata changes |
||
33 | all zones within a single region follow all other zones for data sync |
||
34 | all zones within a single region will allow write (unless configured otherwise) |
||
35 | sync agent per zone will follow all relevant zones |
||
36 | bucket index log will contain source zone, and source bucket index log id, for each operation |
||
37 | replica log will hold a list of buck index log states for each bucket instance, one per zone (instead of a single state for the master zone) |
||
38 | extend system user copy operation that is used by the sync agent to be able to set source bucket index log op id for each op |
||
39 | sync agent will set bucket index op id on each object sync operation |
||
40 | extend rgw copy operation to be able to do conditional copy that will check target object modification time (copy if older) |
||
41 | sync agent will use the new conditional copy option |
||
42 | |||
43 | h3. Work items |
||
44 | |||
45 | h3. Coding tasks |
||
46 | |||
47 | # Task 1 |
||
48 | # Task 2 |
||
49 | # Task 3 |
||
50 | |||
51 | h3. Build / release tasks |
||
52 | |||
53 | # Task 1 |
||
54 | # Task 2 |
||
55 | # Task 3 |
||
56 | |||
57 | h3. Documentation tasks |
||
58 | |||
59 | # Task 1 |
||
60 | # Task 2 |
||
61 | # Task 3 |
||
62 | |||
63 | h3. Deprecation tasks |
||
64 | |||
65 | # Task 1 |
||
66 | # Task 2 |
||
67 | # Task 3 |