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

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