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
    <bucketclass-name>
    指定存储桶类的名称。
    <backingstores>
    指定后备存储的名称。可以使用逗号分隔来传递多个后备储存。
    /path/to/json-file.json

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

    JSON 文件示例:

    [{ "rule_id": "rule-1", "destination_bucket": "first.bucket", "filter": {"prefix": "repl"}}]
    "prefix"

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

    例如:

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

    本例使用 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>"}}]

    此 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": ""}
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.