搜索

第 8 章 多云对象网关存储桶复制

download PDF

从一个多云对象网关(MCG)存储桶向另一个 MCG 存储桶的数据复制提供了更高的弹性和更好的协作选项。这些存储桶可以是由任何受支持的存储解决方案(AWS S3、Azure 等)支持的数据存储桶或命名空间存储桶。

复制策略由复制规则列表组成。每条规则定义目的地桶,并可基于对象密钥前缀指定过滤器。在第二个 bucket 上配置补充复制策略会导致双向复制。

先决条件

  • 正在运行的 OpenShift Data Foundation 平台。
  • 访问多云对象网关,请参阅第使用应用程序访问多云对象网关。
  • 下载 Multicloud 对象网关 (MCG) 命令行界面:

    # subscription-manager repos --enable=rh-odf-4-for-rhel-8-x86_64-rpms
    # yum install mcg
    重要

    指定使用订阅管理器启用存储库的适当架构。例如,对于 IBM Power,使用以下命令:

    # subscription-manager repos --enable=rh-odf-4-for-rhel-8-ppc64le-rpms
  • 另外,您还可以从位于 https://access.redhat.com/downloads/content/547/ver=4/rhel---8/4/x86_64/packages 的 OpenShift Data Foundation RPM 安装 mcg 软件包

    重要

    根据您的架构选择正确的产品变体。

    注意

    某些特定的 MCG 功能仅在某些 MCG 版本中可用,必须使用适当的 MCG CLI 工具版本来充分利用 MCG 的功能。

要复制存储桶,请参阅将存储桶复制到另一个存储桶

要设置存储桶类复制策略,请参阅设置存储桶类复制策略

8.1. 将存储桶复制到其他存储桶

您可以通过两种方式设置存储桶复制策略:

8.1.1. 使用 MCG 命令行界面将存储桶复制到另一个存储桶

在创建对象存储桶声明(OBC)时,您可以为多云对象网关(MCG)数据存储桶设置复制策略。您必须在 JSON 文件中定义复制策略参数。

流程

在 MCG 命令行界面中,运行以下命令来创建具有特定复制策略的 OBC:

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"}}]
"prefix"
是可选的。它是要复制的对象键的前缀,甚至可以留空,例如 {"prefix": ""}

例如:

noobaa obc create my-bucket-claim -n openshift-storage --replication-policy /path/to/json-file.json

8.1.2. 使用 YAML 将存储桶复制到另一个存储桶

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

流程

  • 应用以下 YAML:

    apiVersion: objectbucket.io/v1alpha1
    kind: ObjectBucketClaim
    metadata:
      name: <desired-bucket-claim>
      namespace: <desired-namespace>
    spec:
      generateBucketName: <desired-bucket-name>
      storageClassName: openshift-storage.noobaa.io
      additionalConfig:
        replicationPolicy: {"rules": [{ "rule_id": "", "destination_bucket": "", "filter": {"prefix": ""}}]}
    <desired-bucket-claim>
    指定存储桶声明的名称。
    <desired-namespace>
    指定命名空间。
    <desired-bucket-name>
    指定存储桶名称的前缀。
    "rule_id"
    指定规则的 ID 号,例如 {"rule_id": "rule-1"}
    "destination_bucket"
    指定目标存储桶的名称,例如 {"destination_bucket": "first.bucket"}
    "prefix"
    是可选的。它是要复制的对象键的前缀,甚至可以留空,例如 {"prefix": ""}

附加信息

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.