5.4. 建立二级 zone


zone group 中的 zone 复制所有数据,以确保每个区具有相同的数据。在创建二级 zone 时,在标识为服务二级 zone 的主机上执行所有 radosgw-admin zone 操作。

注意

要添加其他区域,其步骤与添加二级 zone 相同。使用不同的区名称。

重要
  • 在 master zone group 的 master zone 中的主机上运行元数据操作,如用户创建和配额。master zone 和 second zone 可以从 RESTful API 接收 bucket 操作,但 second zone 会将 bucket 操作重定向到 master zone。如果 master zone 为 down,则存储桶操作将失败。如果使用 radosgw-admin CLI 创建存储桶,您必须在 master zone group 的 master zone 中的主机上运行它,以便存储桶将与其他 zone group 和 zone 同步。
  • 不支持为特定用户创建存储桶,即使您在 second zone 中创建具有 --yes-i-really-mean-it 的用户。

先决条件

  • 至少两个正在运行的 Red Hat Ceph Storage 集群。
  • 至少两个 Ceph 对象网关实例,每个实例对应一个 Red Hat Ceph Storage 集群。
  • 所有节点的根级别访问权限。
  • 节点或容器添加到存储集群中。
  • 部署所有 Ceph 管理器、监控器和 OSD 守护进程。

流程

  1. 登录 cephadm shell:

    示例

    [root@host04 ~]# cephadm shell

  2. 从主机拉取主要域配置:

    语法

    radosgw-admin realm pull --url=URL_TO_PRIMARY_ZONE_GATEWAY --access-key=ACCESS_KEY --secret-key=SECRET_KEY

    示例

    [ceph: root@host04 /]# radosgw-admin realm pull --url=http://10.74.249.26:80 --access-key=LIPEYZJLTWXRKXS9LPJC --secret-key=IsAje0AVDNXNw48LjMAimpCpI7VaxJYSnfD0FFKQ

  3. 从主机拉取主要 period 配置:

    语法

    radosgw-admin period pull --url=URL_TO_PRIMARY_ZONE_GATEWAY --access-key=ACCESS_KEY --secret-key=SECRET_KEY

    示例

    [ceph: root@host04 /]# radosgw-admin period pull --url=http://10.74.249.26:80 --access-key=LIPEYZJLTWXRKXS9LPJC --secret-key=IsAje0AVDNXNw48LjMAimpCpI7VaxJYSnfD0FFKQ

  4. 配置 second zone:

    注意

    所有区域默认在主动配置中运行;即,网关客户端可能会将数据写入任何区域,并且区域会将数据复制到 zone group 中所有其他 zone。如果 second zone 不应该接受写操作,请指定 '--read-only 标志,以在 master 区域和 second 区域之间创建主动 - 被动配置。另外,提供生成的系统用户的 access_keysecret_key 存储在 master zone group 的 master zone 中。

    语法

    radosgw-admin zone create --rgw-zonegroup=_ZONE_GROUP_NAME_ \
                 --rgw-zone=_SECONDARY_ZONE_NAME_ --endpoints=http://_RGW_SECONDARY_HOSTNAME_:_RGW_PRIMARY_PORT_NUMBER_1_ \
                 --access-key=_SYSTEM_ACCESS_KEY_ --secret=_SYSTEM_SECRET_KEY_ \
                 [--read-only]

    示例

    [ceph: root@host04 /]# radosgw-admin zone create --rgw-zonegroup=us --rgw-zone=us-east-2 --endpoints=http://rgw2:80 --access-key=LIPEYZJLTWXRKXS9LPJC --secret-key=IsAje0AVDNXNw48LjMAimpCpI7VaxJYSnfD0FFKQ

  5. 可选:删除默认区:

    重要

    如果您使用默认 zone 和 zone group 存储数据,则不要删除默认区域及其池。

    示例

    [ceph: root@host04 /]# radosgw-admin zone rm --rgw-zone=default
    [ceph: root@host04 /]# ceph osd pool rm default.rgw.log default.rgw.log --yes-i-really-really-mean-it
    [ceph: root@host04 /]# ceph osd pool rm default.rgw.meta default.rgw.meta --yes-i-really-really-mean-it
    [ceph: root@host04 /]# ceph osd pool rm default.rgw.control default.rgw.control --yes-i-really-really-mean-it
    [ceph: root@host04 /]# ceph osd pool rm default.rgw.data.root default.rgw.data.root --yes-i-really-really-mean-it
    [ceph: root@host04 /]# ceph osd pool rm default.rgw.gc default.rgw.gc --yes-i-really-really-mean-it

  6. 更新 Ceph 配置数据库:

    语法

    ceph config set client.rgw.SERVICE_NAME rgw_realm REALM_NAME
    ceph config set client.rgw.SERVICE_NAME rgw_zonegroup ZONE_GROUP_NAME
    ceph config set client.rgw.SERVICE_NAME rgw_zone SECONDARY_ZONE_NAME

    示例

    [ceph: root@host04 /]# ceph config set client.rgw.rgwsvcid.mons-1.jwgwwp rgw_realm test_realm
    [ceph: root@host04 /]# ceph config set client.rgw.rgwsvcid.mons-1.jwgwwp rgw_zonegroup us
    [ceph: root@host04 /]# ceph config set client.rgw.rgwsvcid.mons-1.jwgwwp rgw_zone us-east-2

  7. 提交更改:

    语法

    radosgw-admin period update --commit

    示例

    [ceph: root@host04 /]# radosgw-admin period update --commit

  8. cephadm shell 外部,获取存储集群的 FSID 及进程:

    示例

    [root@host04 ~]#  systemctl list-units | grep ceph

  9. 启动 Ceph 对象网关守护进程:

    语法

    systemctl start ceph-FSID@DAEMON_NAME
    systemctl enable ceph-FSID@DAEMON_NAME

    示例

    [root@host04 ~]# systemctl start ceph-62a081a6-88aa-11eb-a367-001a4a000672@rgw.test_realm.us-east-2.host04.ahdtsw.service
    [root@host04 ~]# systemctl enable ceph-62a081a6-88aa-11eb-a367-001a4a000672@rgw.test_realm.us-east-2.host04.ahdtsw.service

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.