8.2. 设置存储桶类复制策略


可以设置一个复制策略,它自动应用到在特定存储桶类下创建的所有存储桶。您可以通过两种方式执行此操作:

要求多云对象网关(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
    Copy to Clipboard Toggle word wrap
    <bucketclass-name>
    指定存储桶类的名称。
    <backingstores>
    指定后备存储的名称。可以使用逗号分隔来传递多个后备储存。
    /path/to/json-file.json

    是定义复制策略的 JSON 文件的路径。

    JSON 文件示例:

    [{ "rule_id": "rule-1", "destination_bucket": "first.bucket", "filter": {"prefix": "repl"}}]
    Copy to Clipboard Toggle word wrap
    "prefix"

    是可选的。它是要复制的对象键的前缀,甚至可以留空,例如 {"prefix": ""}

    例如:

    noobaa -n openshift-storage bucketclass create placement-bucketclass bc --backingstores azure-blob-ns --replication-policy=/path/to/json-file.json
    Copy to Clipboard Toggle word wrap

    本例使用 JSON 文件中定义的特定复制策略创建放置存储桶类。

8.2.2. 使用 YAML 设置存储桶类复制策略

需要 Multicloud Object Gateway(MCG)存储桶类的应用程序具有特定的复制策略,可以使用 spec.replicationPolicy 字段创建存储桶类。

流程

  1. 应用以下 YAML:

    apiVersion: noobaa.io/v1alpha1
    kind: BucketClass
    metadata:
      labels:
        app: <desired-app-label>
      name: <desired-bucketclass-name>
      namespace: <desired-namespace>
    spec:
      placementPolicy:
        tiers:
        - backingstores:
          - <backingstore>
          placement: Spread
      replicationPolicy: [{ "rule_id": "<rule id>", "destination_bucket": "first.bucket", "filter": {"prefix": "<object name prefix>"}}]
    Copy to Clipboard Toggle word wrap

    此 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 控制台的访问权限。

流程

  1. 在 OpenShift Web 控制台中,进入到 Storage Object Bucket Claims
  2. Create new Object bucket claim
  3. Replication policy 部分中,选中 Sync deletion 复选框。
  4. 输入包含 Event log Bucket 下的日志的存储桶名称。
  5. 在日志存储桶的 Prefix 下输入日志存储桶的位置的前缀。如果日志存储在存储桶的根目录中,您可以将 Prefix 留空。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat