AIStor logo

Replication

Replication, and specifically active-active, multisite replication is a key requirement for mission-critical production environments. MinIO is the only vendor that offers it today and does so with bucket level granularity.

Replication
Active-Active Replication

MinIO supports both synchronous and near-synchronous replication depending on the architectural choice and rate of change with the data. In each of these scenarios, it is imperative that the replication be as close to strictly consistent as possible (taking into account bandwidth considerations and the rate of change).

MinIO's approach to data replication creates active-active storage systems that can be used on:

MinIO’s data replication is designed for resilience at scale.
Key features include:

Multi-Site, Active-Active Replication for Object Storage

What to Consider When Implementing MinIO’s Active-Active Replication

At the most basic level any design needs to account for infrastructure, bandwidth, latency, resilience and scale. Let’s examine them in order:

MinIO supports very large deployments in each data center, both for source and target, and the considerations outlined above will dictate scale.

active-active data center design
Multi-Site, Active-Active Replication for Object Storage

FAQ

What happens when the replication target goes down?

If the target goes down, the source will cache the changes and will start syncing once the replication target comes back up. There may be some delay to reach full sync depending on the length of time, number of changes, bandwidth and latency.

What are the parameters on immutability?

Immutability is supported. Key concepts can be found in this post. In the active-active replication mode, immutability is only guaranteed if the objects are versioned. Versioning cannot be disabled on the source. If versioning is suspended on the target, MinIO will start to fail replication.

What are the other implications if versioning is suspended or there is a mismatch?

In these cases, replication could fail. For example, if you attempt to disable versioning on the source bucket, an error is returned. You must remove the replication configuration before you can disable versioning on the source bucket. Additionally, if you disable versioning on the destination bucket, replication fails.

How is object locking handled if it is not enabled on both sides?

Object locking must be enabled on both the source and the target. There is a corner case, where, after bucket replication has been set, the target bucket can be deleted and recreated with object lock not enabled, replication can fail. There is a potential for inconsistency if object locking settings are not configured on both ends. MinIO will silently fail in this case.

Multi-Site, Active-Active Replication for Object Storage

Learn more

You are using Internet Explorer version 11 or lower. Due to security issues and lack of support for web standards, it is highly recommended that you upgrade to a modern browser.