- Dec 24 2022 mc release moves `mc admin bucket remote` commands to mc replicate - Updates `mc replicate add | update | ls | rm | status` commands - Adds pointers from `mc admin bucket remote` command to relevant new pages Closes #681 Partially addresses #691 - Corrects minor formatting error in glossary to address build errors
14 KiB
mc replicate update
minio
Table of Contents
mc replicate edit
mc replicate update
RELEASE.2022-12-24T15-21-38Z
mc replicate update
replaces the
mc admin bucket remote update
command.
RELEASE.2022-11-07T23-47-39Z
mc replicate update
replaces the
mc replicate edit
command.
Syntax
The mc replicate update
command modifies an existing bucket replication rule <minio-bucket-replication-serverside>
.
mc [GLOBALFLAGS] replicate update FLAGS [FLAGS] ARGUMENTS [ARGUMENTS]
EXAMPLE
The following command modifies an existing replication rule for the
mydata
bucket on the myminio
MinIO
deployment:
mc replicate update --id "c76um9h4b0t1ijr36mug" \
--replicate "delete,delete-marker,existing-objects" \
myminio/mydata
The new replication configuration synchronizes all versioned delete operations, delete marker creation, and existing objects to the remote MinIO deployment.
SYNTAX
The command has the following syntax:
mc [GLOBALFLAGS] replicate update \
--remote-bucket string \
[--bandwidth "string"] \
[--healthcheck-seconds integer] \
[--id "string"] \
[--limit-upload "string"] \
[--limit-download "string"] \
[--path "string"] \
[--priority int] \
[--proxy]
[--replicate "string"] \
[--state string]
[--storage-class "string"] \
[--sync string] \
[--tags "string"] \
ALIAS
Parameters
ALIAS
The alias <alias>
of the MinIO deployment and full
path to the bucket or bucket prefix on which to modify the replication
rule. For example:
mc replicate update --id "c75nrap4b0talo3ipthg" [FLAGS]
--id
Specify the unique ID for a configured replication rule. Use the
mc replicate ls
command
to list the replication rules for a bucket.
--bandwidth
Limit bandwidth rates to no more than the specified rate in KiB/s, MiB/s, or GiB/s. Valid units include:
B
for bytesK
for kilobytesG
for gigabytesT
for terabytesKi
for kibibytesGi
for gibibytesTi
for tebibytes
For example, to limit bandwidth rates to no more than 1 GiB/s, use the following:
--limit-upload 1Gi
If not specified, MinIO does not limit the bandwidth rate.
--healthcheck-seconds
The length of time in seconds between checks on the health of the remote bucket.
If not specified, MinIO uses an interval of 60 seconds.
--limit-download
Limit download rates to no more than a specified rate in KiB/s, MiB/s, or GiB/s. Valid units include:
B
for bytesK
for kilobytesG
for gigabytesT
for terabytesKi
for kibibytesGi
for gibibytesTi
for tebibytes
For example, to limit download rates to no more than 1 GiB/s, use the following:
--limit-download 1G
If not specified, MinIO uses an unlimited download rate.
--limit-upload
Limit upload rates to no more than the specified rate in KiB/s, MiB/s, or GiB/s. Valid units include:
B
for bytesK
for kilobytesG
for gigabytesT
for terabytesKi
for kibibytesGi
for gibibytesTi
for tebibytes
For example, to limit upload rates to no more than 1 GiB/s, use the following:
--limit-upload 1G
If not specified, MinIO uses an unlimited upload rate.
--path
Enable path-style lookup support for the remote bucket.
Valid values include:
on
- use a path lookup to find the remote bucketoff
- use a resource locator style (such as a domain or IP address) lookup to find the remote bucketauto
- ask MinIO to identify the correct type of lookup to use to find the remote bucket
When not defined, MinIO uses the auto
value.
--priority
Specify the integer priority of the replication rule. The value must be unique among all other rules on the source bucket. Higher values imply a higher priority than all other rules.
--proxy
When defining active-active replication between buckets, do not proxy.
Valid values include:
enable
- Enable proxying in active-active replication.disable
- Disable proxying in active-active replication.
By default, MinIO defaults to enable
.
--remote-bucket
Specify the credentials, destination deployment, and bucket of the remote location. Value may be either location based (IP or URL) or path based.
For example, a URL based target might look like the following:
https://user:secret@myminio.cloudprovider.tld:9090/bucket
--replicate
Specify a comma-separated list of the following values to enable extended replication features:
delete
- Directs MinIO to replicate DELETE operations to the destination bucket.delete-marker
- Directs MinIO to replicate delete markers to the destination bucket.replica-metadata-sync
- Directs MinIO to synchronize metadata-only changes on a replicated object back to the source. This feature only effectstwo-way active-active <minio-bucket-replication-serverside-twoway>
replication configurations.Omitting this value directs MinIO to stop replicating metadata-only changes back to the source.
existing-objects
- Directs MinIO to replicate objects created prior to configuring or enabling replication. MinIO by default does not synchronize existing objects to the remote target.See
minio-replication-behavior-existing-objects
for more information.
--state
Enables or disables the replication rule. Specify one of the following values:
"enable"
- Enables the replication rule."disable"
- Disables the replication rule.
Objects created while replication is disabled are not immediately
eligible for replication after enabling the rule. You must explicitly
enable replication of existing objects by including
"existing-objects"
to the list of replication features
specified to mc replicate update --replicate
.
See minio-replication-behavior-existing-objects
for more
information.
--storage-class
Specify the MinIO storage class <minio-ec-storage-class>
to apply
to replicated objects.
--sync
Enable synchronous replication for this remote target.
By default, MinIO uses asynchronous replication.
--tags
Specify one or more ampersand &
separated key-value
pair tags which MinIO uses for filtering objects to replicate. For
example:
mc replicate update --id "ID" --tags "TAG1=VALUE&TAG2=VALUE&TAG3=VALUE"
MinIO applies the replication rule to any object whose tag set contains the specified replication tags.
Global Flags
Examples
Modify an Existing Replication Rule
Use mc replicate update
to modify an existing replication
rule.
mc replicate update ALIAS/PATH \
--id ID \
[--FLAGS]
- Replace
ALIAS <mc replicate update ALIAS>
with thealias <mc alias>
of the MinIO deployment. - Replace
PATH <mc replicate update ALIAS>
with the path to the bucket or bucket prefix on which the rule exists. - Replace
ID <mc replicate update --id>
with the unique identifier for the rule to modify. Usemc replicate ls
to retrieve the list of replication rules on the bucket and their corresponding identifiers.
Note
Modifying a replication configuration rule does not affect already
replicated objects. For example, modifying the ~mc replicate update --tags
filter does not result
in the removal of replicated objects which do not meet the filter.
Update the Credentials for an Existing Replication Rule
Use mc replicate update
to modify an existing replication
rule.
mc replicate update ALIAS/PATH \
--id ID \
--remote-bucket https://user:secret@minio.mycloud.tld:9090/mybucket
- Replace
ALIAS <mc replicate update ALIAS>
with thealias <mc alias>
of the MinIO deployment. - Replace
PATH <mc replicate update ALIAS>
with the path to the bucket or bucket prefix on which the rule exists. - Replace
ID <mc replicate update --remote-bucket>
with the updated credentials, path, and bucket.
Disable or Enable an Existing Replication Rule
Use mc replicate update
with the ~mc replicate update --state
flag to disable or
enable a replication rule.
mc replicate update ALIAS/PATH \
--id ID \
--state "disabled"|"enabled"
- Replace
ALIAS <mc replicate update ALIAS>
with thealias <mc alias>
of the MinIO deployment. - Replace
PATH <mc replicate update ALIAS>
with the path to the bucket or bucket prefix on which the rule exists. - Replace
ID <mc replicate update --id>
with the unique identifier for the rule to modify. Usemc replicate ls
to retrieve the list of replication rules on the bucket and their corresponding identifiers. - Specify either
"disabled"
or"enabled"
to the~mc replicate update --state
flag to disable or enable the replication rule.
Note
MinIO requires enabling existing object replication <minio-replication-behavior-existing-objects>
to synchronize objects written or removed after disabling a replication
rule.
For rules without existing object replication, MinIO synchronizes only those write or delete operations issued while the replication rule is enabled.
Behavior
Required Permissions
MinIO strongly recommends creating users specifically for supporting
bucket replication operations. See mc admin user
and mc admin policy
for more complete documentation on
adding users and policies to a MinIO deployment.
Replication Admin
The following policy provides permissions for configuring and enabling replication on a deployment.
/extra/examples/ReplicationAdminPolicy.json
- The
"EnableRemoteBucketConfiguration"
statement grants permission for creating a remote target for supporting replication. - The
"EnableReplicationRuleConfiguration"
statement grants permission for creating replication rules on a bucket. The"arn:aws:s3:::*
resource applies the replication permissions to any bucket on the source deployment. You can restrict the user policy to specific buckets as-needed.
Use the mc admin policy add
to add this policy to each
deployment acting as a replication source. Use mc admin user add
to
create a user on the deployment and mc admin policy set
to associate the policy to that
new user.
Replication Remote User
The following policy provides permissions for enabling synchronization of replicated data into the deployment.
/extra/examples/ReplicationRemoteUserPolicy.json
- The
"EnableReplicationOnBucket"
statement grants permission for a remote target to retrieve bucket-level configuration for supporting replication operations on all buckets in the MinIO deployment. To restrict the policy to specific buckets, specify those buckets as an element in theResource
array similar to"arn:aws:s3:::bucketName"
. - The
"EnableReplicatingDataIntoBucket"
statement grants permission for a remote target to synchronize data into any bucket in the MinIO deployment. To restrict the policy to specific buckets, specify those buckets as an element in theResource
array similar to"arn:aws:s3:::bucketName/*"
.
Use the mc admin policy add
to add this policy to each
deployment acting as a replication target. Use mc admin user add
to
create a user on the deployment and mc admin policy set
to associate the policy to that
new user.