Files
my-docs/Storage/Minio/Admin/04-bucket-replication.md
2025-09-27 11:07:21 +03:30

91 lines
2.3 KiB
Markdown

# 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.