第 8 章 多云对象网关存储桶复制
从一个多云对象网关(MCG)存储桶向另一个 MCG 存储桶的数据复制提供了更高的弹性和更好的协作选项。这些存储桶可以是由任何受支持的存储解决方案(AWS S3、Azure 等)支持的数据存储桶或命名空间存储桶。
复制策略由复制规则列表组成。每条规则定义目的地桶,并可基于对象密钥前缀指定过滤器。在第二个 bucket 上配置补充复制策略会导致双向复制。
先决条件
- 正在运行的 OpenShift Data Foundation 平台。
从客户门户网站下载 Multicloud Object Gateway (MCG)命令行界面二进制文件,并使其可执行。https://access.redhat.com/downloads/content/547/ver=4/rhel---9/4.16.0/x86_64/product-software
注意根据您的架构选择正确的产品变体。可用的平台包括 Linux (x86_64)、Windows 和 Mac OS。
要复制存储桶,请参阅将存储桶复制到另一个存储桶。
要设置存储桶类复制策略,请参阅设置存储桶类复制策略。
8.1. 将存储桶复制到其他存储桶 复制链接链接已复制到粘贴板!
您可以通过两种方式设置存储桶复制策略:
8.1.1. 使用 MCG 命令行界面将存储桶复制到另一个存储桶 复制链接链接已复制到粘贴板!
您可以在创建对象存储桶声明(OBC)时为 Multicloud Object Gateway (MCG)存储桶设置复制策略。您必须在 JSON 文件中定义复制策略参数。
流程
在 MCG 命令行界面中,运行以下命令来创建具有特定复制策略的 OBC:
noobaa obc create <bucket-claim-name> -n openshift-storage --replication-policy /path/to/json-file.json
noobaa obc create <bucket-claim-name> -n openshift-storage --replication-policy /path/to/json-file.json
<bucket-claim-name>- 指定存储桶声明的名称。
/path/to/json-file.json- 是定义复制策略的 JSON 文件的路径。
JSON 文件示例:
[{ "rule_id": "rule-1", "destination_bucket": "first.bucket", "filter": {"prefix": "repl"}}]
[{ "rule_id": "rule-1", "destination_bucket": "first.bucket", "filter": {"prefix": "repl"}}]
"prefix"-
是可选的。它是要复制的对象键的前缀,甚至可以留空,例如
{"prefix": ""}。
例如:
noobaa obc create my-bucket-claim -n openshift-storage --replication-policy /path/to/json-file.json
noobaa obc create my-bucket-claim -n openshift-storage --replication-policy /path/to/json-file.json
8.1.2. 使用 YAML 将存储桶复制到另一个存储桶 复制链接链接已复制到粘贴板!
您可以在创建对象存储桶声明(OBC)时为 Multicloud Object Gateway (MCG)存储桶设置复制策略,或者稍后编辑 YAML。您必须将策略作为与 JSON 兼容的字符串提供,该字符串遵循以下步骤中显示的格式。
流程
应用以下 YAML:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow <desired-bucket-claim>- 指定存储桶声明的名称。
<desired-namespace>- 指定命名空间。
<desired-bucket-name>- 指定存储桶名称的前缀。
"rule_id"-
指定规则的 ID 号,例如
{"rule_id": "rule-1"}。 "destination_bucket"-
指定目标存储桶的名称,例如
{"destination_bucket": "first.bucket"}。 "prefix"-
是可选的。它是要复制的对象键的前缀,甚至可以留空,例如
{"prefix": ""}。
附加信息
- 如需有关 OBC 的更多信息,请参阅 Object Bucket Claim。