8.2. 设置存储桶类复制策略
可以设置一个复制策略,它自动应用到在特定存储桶类下创建的所有存储桶。您可以通过两种方式执行此操作:
8.2.1. 使用 MCG 命令行界面设置存储桶类复制策略 复制链接链接已复制到粘贴板!
要求多云对象网关(MCG)存储桶类的应用程序具有特定的复制策略,可以创建存储桶类
并在 JSON 文件中定义 replication-policy
参数。
可以为两种类型的存储桶类复制策略设置存储桶类复制策略:
- Placement
- 命名空间
流程
在 MCG 命令行界面中运行以下命令:
noobaa -n openshift-storage bucketclass create placement-bucketclass <bucketclass-name> --backingstores <backingstores> --replication-policy=/path/to/json-file.json
noobaa -n openshift-storage bucketclass create placement-bucketclass <bucketclass-name> --backingstores <backingstores> --replication-policy=/path/to/json-file.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow <bucketclass-name>
- 指定存储桶类的名称。
<backingstores>
- 指定后备存储的名称。可以使用逗号分隔来传递多个后备储存。
/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"}}]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow "prefix"
是可选的。它是要复制的对象键的前缀,甚至可以留空,例如
{"prefix": ""}
。例如:
noobaa -n openshift-storage bucketclass create placement-bucketclass bc --backingstores azure-blob-ns --replication-policy=/path/to/json-file.json
noobaa -n openshift-storage bucketclass create placement-bucketclass bc --backingstores azure-blob-ns --replication-policy=/path/to/json-file.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 本例使用 JSON 文件中定义的特定复制策略创建放置存储桶类。
8.2.2. 使用 YAML 设置存储桶类复制策略 复制链接链接已复制到粘贴板!
需要 Multicloud Object Gateway(MCG)存储桶类的应用程序具有特定的复制策略,可以使用 spec.replicationPolicy
字段创建存储桶类。
流程
应用以下 YAML:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此 YAML 是一个创建放置存储桶类的示例。每个上传到存储桶的对象存储桶声明(OBC)对象根据前缀进行过滤,并将其复制到
first.bucket
。<desired-app-label>
- 为 app 指定一个标签。
<desired-bucketclass-name>
- 指定存储桶类名称。
<desired-namespace>
- 指定创建存储桶类的命名空间。
<backingstore>
- 指定后备存储的名称。可以传递多个后备储存。
"rule_id"
-
指定规则的 ID 号,如
'{"rule_id": "rule-1"}
。 "destination_bucket"
-
指定目标存储桶的名称,例如
{"destination_bucket": "first.bucket"}
。 "prefix"
-
是可选的。它是要复制的对象键的前缀,甚至可以留空,例如
{"prefix": ""}
。
8.2.3. 启用存储桶复制删除 复制链接链接已复制到粘贴板!
在创建存储桶复制策略时,您可能需要启用删除,以便在从一个存储桶中删除数据时,也会从目标存储桶中删除数据。这样可确保在一个位置中删除数据时,其他位置具有相同的数据集。
此功能需要基于日志的复制,该复制目前只支持使用 AWS。有关设置 AWS 日志的更多信息,请参阅启用 Amazon S3 服务器访问日志记录。AWS 日志存储桶需要在与源 NamespaceStore AWS 存储桶相同的区域中创建。
先决条件
- 管理员对 OpenShift Web 控制台的访问权限。
流程
-
在 OpenShift Web 控制台中,进入到 Storage
Object Bucket Claims。 - 点 Create new Object bucket claim。
- 在 Replication policy 部分中,选中 Sync deletion 复选框。
- 输入包含 Event log Bucket 下的日志的存储桶名称。
- 在日志存储桶的 Prefix 下输入日志存储桶的位置的前缀。如果日志存储在存储桶的根目录中,您可以将 Prefix 留空。