bucket replication minio
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
# MinIO Bucket Replication Guide
|
||||
|
||||
MinIO bucket replication allows you to synchronize objects across multiple MinIO servers. **Replication requires versioning** to be enabled on all participating buckets.
|
||||
|
||||
---
|
||||
|
||||
## 1. One-Way Bucket Replication
|
||||
|
||||
**Scenario:** `ms-sv1` → `ms-sv2`
|
||||
|
||||
**Command:**
|
||||
|
||||
```bash
|
||||
mc replicate add ms-sv-1/BUCKET \
|
||||
--remote-bucket 'https://USER:PASSWORD@ms-sv-2/BUCKET' \
|
||||
--replicate "delete,delete-marker,existing-objects"
|
||||
```
|
||||
|
||||
This sets up replication from `ms-sv1` to `ms-sv2`. Changes on `ms-sv1` will be mirrored to `ms-sv2`.
|
||||
|
||||
---
|
||||
|
||||
## 2. Two-Way Bucket Replication
|
||||
|
||||
**Scenario:** `ms-sv1` ↔ `ms-sv2`
|
||||
|
||||
**Commands:**
|
||||
|
||||
```bash
|
||||
mc replicate add ms-sv-1/BUCKET \
|
||||
--remote-bucket 'https://USER:PASSWORD@ms-sv-2/BUCKET' \
|
||||
--replicate "delete,delete-marker,existing-objects"
|
||||
```
|
||||
|
||||
```bash
|
||||
mc replicate add ms-sv-2/BUCKET \
|
||||
--remote-bucket 'https://USER:PASSWORD@ms-sv-1/BUCKET' \
|
||||
--replicate "delete,delete-marker,existing-objects"
|
||||
```
|
||||
|
||||
This ensures bidirectional synchronization between `ms-sv1` and `ms-sv2`.
|
||||
|
||||
---
|
||||
|
||||
## 3. Multi-Node Replication
|
||||
|
||||
**Scenario:** `ms-sv1`, `ms-sv2`, `ms-sv3`
|
||||
|
||||
Set up replication rules for each pair of servers:
|
||||
|
||||
**ms-sv1 rules:**
|
||||
|
||||
```bash
|
||||
mc replicate add ms-sv-1/BUCKET \
|
||||
--remote-bucket 'https://USER:PASSWORD@ms-sv-2/BUCKET' \
|
||||
--replicate "delete,delete-marker,existing-objects"
|
||||
|
||||
mc replicate add ms-sv-1/BUCKET \
|
||||
--remote-bucket 'https://USER:PASSWORD@ms-sv-3/BUCKET' \
|
||||
--replicate "delete,delete-marker,existing-objects"
|
||||
```
|
||||
|
||||
**ms-sv2 rules:**
|
||||
|
||||
```bash
|
||||
mc replicate add ms-sv-2/BUCKET \
|
||||
--remote-bucket 'https://USER:PASSWORD@ms-sv-1/BUCKET' \
|
||||
--replicate "delete,delete-marker,existing-objects"
|
||||
|
||||
mc replicate add ms-sv-2/BUCKET \
|
||||
--remote-bucket 'https://USER:PASSWORD@ms-sv-3/BUCKET' \
|
||||
--replicate "delete,delete-marker,existing-objects"
|
||||
```
|
||||
|
||||
**ms-sv3 rules:**
|
||||
|
||||
```bash
|
||||
mc replicate add ms-sv-3/BUCKET \
|
||||
--remote-bucket 'https://USER:PASSWORD@ms-sv-1/BUCKET' \
|
||||
--replicate "delete,delete-marker,existing-objects"
|
||||
|
||||
mc replicate add ms-sv-3/BUCKET \
|
||||
--remote-bucket 'https://USER:PASSWORD@ms-sv-2/BUCKET' \
|
||||
--replicate "delete,delete-marker,existing-objects"
|
||||
```
|
||||
|
||||
**Notes:**
|
||||
|
||||
* Each MinIO deployment has a replication rule for every other node.
|
||||
* This setup ensures that any change in one bucket is synchronized across all nodes.
|
||||
|
||||
Reference in New Issue
Block a user