Project

General

Profile

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