文件

mc replicate update

版本變更 RELEASE.2022-12-24T15-21-38Z:mc replicate update 取代了 mc admin bucket remote update 命令。

版本變更 RELEASE.2022-11-07T23-47-39Z:mc replicate update 取代了 mc replicate edit 命令。

語法

mc replicate update 命令會修改現有的儲存貯體複寫規則

mc [GLOBALFLAGS] replicate update FLAGS [FLAGS] ARGUMENTS [ARGUMENTS]

以下命令會修改 myminio MinIO 部署上 mydata 儲存貯體現有的複寫規則

mc replicate update --id "c76um9h4b0t1ijr36mug"           \
   --replicate "delete,delete-marker,existing-objects"  \
   myminio/mydata

新的複寫組態會將所有版本化的刪除作業、刪除標記建立和現有物件同步到遠端 MinIO 部署。

此命令的語法如下

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
  • 方括號 [] 表示選用參數。

  • 同一行中的參數是互相依存的。

  • 使用管線 | 運算子分隔的參數是互斥的。

請將範例複製到文字編輯器,並在終端機/Shell 中執行命令之前視需要修改。

參數

別名
必要

要修改複寫規則的 MinIO 部署的別名和儲存貯體或儲存貯體前置詞的完整路徑。例如

mc replicate update --id "c75nrap4b0talo3ipthg" [FLAGS]
--id
必要

指定已設定複寫規則的唯一 ID。使用 mc replicate ls 命令來列出儲存貯體的複寫規則。

--bandwidth
選用

將頻寬速率限制為不超過指定的 KiB/s、MiB/s 或 GiB/s 速率。有效單位包括

  • B 代表位元組

  • K 代表千位元組

  • G 代表十億位元組

  • T 代表兆位元組

  • Ki 代表千位元二進位

  • Gi 代表十億位元二進位

  • Ti 代表兆位元二進位

例如,若要將頻寬速率限制為不超過 1 GiB/s,請使用以下命令

--limit-upload 1Gi

如果未指定,MinIO 不會限制頻寬速率。

--healthcheck-seconds
選用

檢查遠端儲存貯體健全狀況的間隔時間 (以秒為單位)。

如果未指定,MinIO 會使用 60 秒的間隔。

--limit-download
選用

將下載速率限制為不超過指定的 KiB/s、MiB/s 或 GiB/s 速率。有效單位包括

  • B 代表位元組

  • K 代表千位元組

  • G 代表十億位元組

  • T 代表兆位元組

  • Ki 代表千位元二進位

  • Gi 代表十億位元二進位

  • Ti 代表兆位元二進位

例如,若要將下載速率限制為不超過 1 GiB/s,請使用以下命令

--limit-download 1G

如果未指定,MinIO 會使用無限制的下載速率。

--limit-upload
選用

將上傳速率限制為不超過指定的 KiB/s、MiB/s 或 GiB/s 速率。有效單位包括

  • B 代表位元組

  • K 代表千位元組

  • G 代表十億位元組

  • T 代表兆位元組

  • Ki 代表千位元二進位

  • Gi 代表十億位元二進位

  • Ti 代表兆位元二進位

例如,若要將上傳速率限制為不超過 1 GiB/s,請使用以下命令

--limit-upload 1G

如果未指定,MinIO 會使用無限制的上傳速率。

--path
選用

啟用遠端儲存貯體的路徑樣式查閱支援。

有效值包括

  • on - 使用路徑查閱來尋找遠端儲存貯體

  • off - 使用資源定位器樣式 (例如網域或 IP 位址) 查閱來尋找遠端儲存貯體

  • auto - 要求 MinIO 識別要用來尋找遠端儲存貯體的正確查閱類型

如果未定義,MinIO 會使用 auto 值。

--priority
選用

指定複寫規則的整數優先順序。此值在來源儲存貯體上的所有其他規則中必須是唯一的。較高的值表示優先順序高於所有其他規則。

--proxy
選用

在儲存貯體之間定義主動-主動複寫時,請勿使用 Proxy。

有效值包括

  • enable - 在主動-主動複寫中啟用 Proxy。

  • disable - 在主動-主動複寫中停用 Proxy。

預設情況下,MinIO 預設為 enable

--remote-bucket
選用

指定遠端位置的認證、目的地部署和儲存貯體。值可以是別名和儲存貯體、基於位置 (IP 或 URL) 或基於路徑。

例如,基於 URL 的目標可能如下所示

--remote-bucket https://user:secret@myminio.cloudprovider.tld:9001/bucket

基於別名的目標可能如下所示

--remote-bucket minio-target/my-bucket
--replicate
選用

指定以下值的逗號分隔清單,以啟用延伸複寫功能

  • delete - 指示 MinIO 將DELETE 作業複寫到目的地儲存貯體。

  • delete-marker - 指示 MinIO 將刪除標記複寫到目的地儲存貯體。

  • replica-metadata-sync - 指示 MinIO 將已複寫物件上的僅限中繼資料變更同步回來源。此功能僅影響雙向主動-主動複寫組態。

    省略此值會指示 MinIO 停止將僅限中繼資料變更複寫回來源。

  • existing-objects - 指示 MinIO 將在設定或啟用複寫之前建立的物件複寫。MinIO 預設情況下不會將現有物件同步到遠端目標。

    如需詳細資訊,請參閱現有物件的複寫

--state
選用

啟用或停用複寫規則。指定下列其中一個值

  • "enable" - 啟用複寫規則。

  • "disable" - 停用複寫規則。

停用複寫時建立的物件在啟用規則後不會立即符合複寫資格。您必須明確啟用現有物件的複寫,方法是將 "existing-objects" 加入指定給 mc replicate update --replicate 的複寫功能清單。

如需詳細資訊,請參閱現有物件的複寫

--storage-class
選用

指定要應用於複製物件的 MinIO 儲存類別

--sync
選用

為此遠端目標啟用同步複製。

預設情況下,MinIO 使用非同步複製。

--tags
選用

指定一個或多個以 & 符號分隔的鍵值對標籤,MinIO 會使用這些標籤來篩選要複製的物件。例如:

mc replicate update --id "ID" --tags "TAG1=VALUE&TAG2=VALUE&TAG3=VALUE"

MinIO 會將複製規則應用於任何標籤集中包含指定複製標籤的物件。

全域標誌

此命令支援任何全域標誌

範例

修改現有的複製規則

使用 mc replicate update 來修改現有的複製規則。

mc replicate update ALIAS/PATH \
   --id ID                     \
   [--FLAGS]
  • ALIAS 替換為 MinIO 部署的別名

  • PATH 替換為規則存在的儲存桶或儲存桶前綴路徑。

  • ID 替換為要修改規則的唯一識別碼。 使用 mc replicate ls 來檢索儲存桶上的複製規則及其對應識別碼的清單。

注意

修改複製設定規則不會影響已複製的物件。例如,修改 --tags 篩選器不會導致刪除不符合篩選條件的複製物件。

更新現有複製規則的憑證

使用 mc replicate update 來修改現有的複製規則。

mc replicate update ALIAS/PATH \
   --id ID                     \
   --remote-bucket https://user:secret@minio.mycloud.tld:9001/mybucket
  • ALIAS 替換為 MinIO 部署的別名

  • PATH 替換為規則存在的儲存桶或儲存桶前綴路徑。

  • ID 替換為更新的憑證、路徑和儲存桶。

停用或啟用現有的複製規則

使用 mc replicate update--state 標誌來停用或啟用複製規則。

mc replicate update ALIAS/PATH \
   --id ID \
   --state "disable"|"enable"
  • ALIAS 替換為 MinIO 部署的別名

  • PATH 替換為規則存在的儲存桶或儲存桶前綴路徑。

  • ID 替換為要修改規則的唯一識別碼。 使用 mc replicate ls 來檢索儲存桶上的複製規則及其對應識別碼的清單。

  • --state 標誌指定 "disable""enable" 來停用或啟用複製規則。

注意

MinIO 需要啟用現有物件複製,以同步在停用複製規則後寫入或移除的物件。

對於沒有現有物件複製的規則,MinIO 只會同步在複製規則啟用時發出的寫入或刪除操作。

行為

所需權限

MinIO 強烈建議建立專門用於支援儲存桶複製操作的使用者。 有關向 MinIO 部署新增使用者和原則的更完整說明,請參閱 mc admin usermc admin policy

以下原則提供在部署上設定和啟用複製的權限。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "admin:SetBucketTarget",
                "admin:GetBucketTarget"
            ],
            "Effect": "Allow",
            "Sid": "EnableRemoteBucketConfiguration"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetReplicationConfiguration",
                "s3:ListBucket",
                "s3:ListBucketMultipartUploads",
                "s3:GetBucketLocation",
                "s3:GetBucketVersioning",
                "s3:GetObjectRetention",
                "s3:GetObjectLegalHold",
                "s3:PutReplicationConfiguration"
            ],
            "Resource": [
                "arn:aws:s3:::*"
            ],
            "Sid": "EnableReplicationRuleConfiguration"
        }
    ]
}
  • "EnableRemoteBucketConfiguration" 陳述式授予建立遠端目標以支援複製的權限。

  • "EnableReplicationRuleConfiguration" 陳述式授予在儲存桶上建立複製規則的權限。"arn:aws:s3:::*" 資源將複製權限應用於來源部署上的任何儲存桶。您可以根據需要將使用者原則限制為特定的儲存桶。

使用 mc admin policy create 將此原則新增到充當複製來源的每個部署。使用 mc admin user add 在部署上建立使用者,並使用 mc admin policy attach 將原則與該新使用者關聯。

以下原則提供啟用將複製資料同步部署的權限。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetReplicationConfiguration",
                "s3:ListBucket",
                "s3:ListBucketMultipartUploads",
                "s3:GetBucketLocation",
                "s3:GetBucketVersioning",
                "s3:GetBucketObjectLockConfiguration",
                "s3:GetEncryptionConfiguration"
            ],
            "Resource": [
                "arn:aws:s3:::*"
            ],
            "Sid": "EnableReplicationOnBucket"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetReplicationConfiguration",
                "s3:ReplicateTags",
                "s3:AbortMultipartUpload",
                "s3:GetObject",
                "s3:GetObjectVersion",
                "s3:GetObjectVersionTagging",
                "s3:PutObject",
                "s3:PutObjectRetention",
                "s3:PutBucketObjectLockConfiguration",
                "s3:PutObjectLegalHold",
                "s3:DeleteObject",
                "s3:ReplicateObject",
                "s3:ReplicateDelete"
            ],
            "Resource": [
                "arn:aws:s3:::*"
            ],
            "Sid": "EnableReplicatingDataIntoBucket"
        }
    ]
}
  • "EnableReplicationOnBucket" 陳述式授予遠端目標檢索儲存桶層級組態以支援 MinIO 部署中所有儲存桶的複製操作的權限。若要將原則限制為特定的儲存桶,請在 Resource 陣列中將這些儲存桶指定為元素,類似於 "arn:aws:s3:::bucketName"

  • "EnableReplicatingDataIntoBucket" 陳述式授予遠端目標將資料同步到 MinIO 部署中任何儲存桶的權限。若要將原則限制為特定的儲存桶,請在 Resource 陣列中將這些儲存桶指定為元素,類似於 "arn:aws:s3:::bucketName/*"

使用 mc admin policy create 將此原則新增到充當複製目標的每個部署。使用 mc admin user add 在部署上建立使用者,並使用 mc admin policy attach 將原則與該新使用者關聯。

S3 相容性

mc 命令列工具是為與 AWS S3 API 相容而建置的,並已使用 MinIO 和 AWS S3 測試,以確保其預期的功能和行為。

MinIO 不保證其他與 S3 相容的服務,因為它們的 S3 API 實作是未知的,因此不受支援。 雖然 mc 命令可能會按照文件所述運作,但任何此類使用均由您自行承擔風險。