搜索

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

download PDF

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

8.2.1. 使用 MCG 命令行界面设置存储桶类复制策略

您可以在创建存储桶类时为多云对象网关(MCG)数据存储桶设置复制策略。您必须在 JSON 文件中定义 replication-policy 参数。您可以为 Placement 和 Namespace bucket 类设置存储桶类复制策略。

您可以为 Placement 和 Namespace bucket 类设置存储桶类复制策略。

流程

  • 在 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 设置存储桶类复制策略

您可以在创建存储桶类时为多云对象网关(MCG)数据存储桶设置复制策略,也可以在以后编辑其 YAML。您必须将策略作为 JSON 兼容字符串提供,以遵循以下流程中显示的格式。

流程

  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.