文档

启用服务端单向存储桶复制

本页面中的过程会创建一条新的存储桶复制规则,用于将对象从一个 MinIO 存储桶单向复制到另一个 MinIO 存储桶。 这些存储桶既可以位于同一个 MinIO 部署中,也可以位于不同的 MinIO 部署中。

主动-被动复制会将数据从源 MinIO 部署同步到远程 MinIO 部署。

Note

如需在任意兼容 S3 的服务之间配置复制(不一定是 MinIO),请使用 mc mirror

要求

复制要求所有参与的集群满足 以下要求。 本过程假定你已经审阅并验证了这些要求。

如需更多详细信息,请参见 存储桶复制要求 页面。

注意事项

点击展开以下任一项:

现有对象的复制

MinIO 支持自动复制存储桶中的现有对象。

MinIO 要求使用 mc replicate add --replicatemc replicate update --replicate 显式启用现有对象复制,并包含 existing-objects 复制功能标志。 本过程包含启用现有对象复制所需的标志。

删除操作的复制

MinIO 支持将 S3 DELETE 操作复制到目标存储桶。 具体来说,MinIO 可以复制版本控制的 Delete Markers,以及删除特定版本对象的操作:

  • 对于对象的删除操作,MinIO 复制也会在目标存储桶上创建删除标记。

  • 对于对象某个版本的删除操作,MinIO 复制也会在目标存储桶上删除这些版本。

MinIO 要求使用 mc replicate add --replicatemc replicate update --replicate 显式启用删除操作复制。 本过程包含启用删除操作和删除标记复制所需的标志。

MinIO 不会 复制因应用 生命周期管理过期规则 而产生的删除操作。

更完整的文档请参见 删除操作的复制对象删除

多站点复制

MinIO 支持为每个存储桶或存储桶前缀配置多个远程目标。 例如,你可以将一个存储桶配置为把数据复制到两个或更多远程 MinIO 部署,其中一个部署是 1:1 副本(复制包括删除在内的所有操作),另一个部署则是完整的历史记录(仅复制非破坏性的写入操作)。

本过程说明了到单个远程 MinIO 部署的单向复制。 你可以重复本教程,将单个存储桶复制到多个远程目标。

过程

使用命令行 mc 配置单向存储桶复制

本过程使用 别名 SOURCEREMOTE 来引用每个配置了复制的 MinIO 部署。 请将这些值替换为你的目标 MinIO 部署对应的别名。

本过程假定每个别名都对应一个具有 必要复制权限 的用户。

Changed in version RELEASE.2022-12-24T15-21-38Z: mc replicate add 会自动创建所需的复制目标,因此不再需要使用已弃用的 mc admin remote bucket add 命令。 本过程仅说明该版本起的操作流程。

1) 创建新的存储桶复制规则

使用 mc replicate add 命令,为每个 MinIO 部署添加新的复制规则。

mc replicate add ALIAS/BUCKET \
   --remote-bucket 'https://USER:PASSWORD@HOSTNAME:PORT/BUCKET' \
   --replicate "delete,delete-marker,existing-objects"
  • ALIAS 替换为源 MinIO 部署的 别名。 该名称 必须 与上一步创建远端目标时指定的存储桶名称一致。

  • BUCKET 替换为源部署上要作为复制源的存储桶名称。

  • 使用 --remote-bucket 指定 ALIAS/BUCKET 要复制到的远端 MinIO 部署和存储桶。

    USER:PASSWORD 必须对应远端部署上具有 所需复制权限 的用户。

    HOSTNAME:PORT 必须能解析到远端部署上可访问的 MinIO 实例。 BUCKET 必须已存在,并满足其他所有 复制要求

  • --replicate "delete,delete-marker,existing-objects" 标志会启用以下复制功能:

    有关更完整的文档,请参阅 mc replicate add --replicate。 省略任意字段即可禁用对应组件的复制。

可按需为 mc replicate add 指定其他受支持的可选参数。

2) 验证复制配置

在其中一个部署上,使用 mc cp 将新对象复制到已启用复制的存储桶中。

mc cp ~/foo.txt ALIAS/BUCKET

使用 mc ls 验证目标存储桶中存在该对象:

mc ls ALIAS/BUCKET

See also