2.3 KiB
2.3 KiB
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:
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:
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-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:
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:
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:
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.