5.13. 在同一存储集群中配置多个域
本节讨论如何在同一存储集群中配置多个域。这是用于多站点的更高级用例。在同一存储集群中配置多个域,您可以使用本地域来处理本地 Ceph 对象网关客户端流量,以及用于要复制到次要站点的数据的复制域。
红帽建议每个域具有自己的 Ceph 对象网关。
先决条件
- 存储集群中每个数据中心的访问密钥和密钥。
- 在存储集群中运行红帽 Ceph 存储数据中心的两个.
- 对所有节点的 root 级别或 sudo 访问权限。
- 每个数据中心都有自己的本地域。它们共享两个站点上复制的域。
- 在 Ceph 对象网关节点上,执行《 红帽 Ceph 存储安装 指南》中的安装红帽 Ceph 存储 要求 中列出的任务。
- 对于每个 Ceph 对象网关节点,执行《 红帽 Ceph 存储 安装指南》的"安装 Ceph 对象网关 "一节中的第 1-7 步。
流程
在存储集群的第一个数据中心上创建一个本地域:
语法
radosgw-admin realm create --rgw-realm=REALM_NAME --default
radosgw-admin realm create --rgw-realm=REALM_NAME --default
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
radosgw-admin realm create --rgw-realm=ldc1 --default
[root@rgw1 ~]# radosgw-admin realm create --rgw-realm=ldc1 --default
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在第一个数据中心上创建一个本地 master zonegroup:
语法
radosgw-admin zonegroup create --rgw-zonegroup=ZONE_GROUP_NAME --endpoints=http://RGW_NODE_NAME:80 --rgw-realm=REALM_NAME --master --default
radosgw-admin zonegroup create --rgw-zonegroup=ZONE_GROUP_NAME --endpoints=http://RGW_NODE_NAME:80 --rgw-realm=REALM_NAME --master --default
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
radosgw-admin zonegroup create --rgw-zonegroup=ldc1zg --endpoints=http://rgw1:80 --rgw-realm=ldc1 --master --default
[root@rgw1 ~]# radosgw-admin zonegroup create --rgw-zonegroup=ldc1zg --endpoints=http://rgw1:80 --rgw-realm=ldc1 --master --default
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在第一个数据中心创建一个本地区:
语法
radosgw-admin zone create --rgw-zonegroup=ZONE_GROUP_NAME --rgw-zone=ZONE_NAME --master --default --endpoints=HTTP_FQDN[,HTTP_FQDN]
radosgw-admin zone create --rgw-zonegroup=ZONE_GROUP_NAME --rgw-zone=ZONE_NAME --master --default --endpoints=HTTP_FQDN[,HTTP_FQDN]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
radosgw-admin zone create --rgw-zonegroup=ldc1zg --rgw-zone=ldc1z --master --default --endpoints=http://rgw.example.com
[root@rgw1 ~]# radosgw-admin zone create --rgw-zonegroup=ldc1zg --rgw-zone=ldc1z --master --default --endpoints=http://rgw.example.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 提交周期:
示例
radosgw-admin period update --commit
[root@rgw1 ~]# radosgw-admin period update --commit
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
rgw_realm、rgw_
zonegroup 和
名称更新rgw_zone
ceph.conf
:语法
rgw_realm = REALM_NAME rgw_zonegroup = ZONE_GROUP_NAME rgw_zone = ZONE_NAME
rgw_realm = REALM_NAME rgw_zonegroup = ZONE_GROUP_NAME rgw_zone = ZONE_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
rgw_realm = ldc1 rgw_zonegroup = ldc1zg rgw_zone = ldc1z
rgw_realm = ldc1 rgw_zonegroup = ldc1zg rgw_zone = ldc1z
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重启 RGW 守护进程:
语法
systemctl restart ceph-radosgw@rgw.$(hostname -s).rgw0.service
systemctl restart ceph-radosgw@rgw.$(hostname -s).rgw0.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在存储集群中的第二个数据中心上创建一个本地域:
语法
radosgw-admin realm create --rgw-realm=REALM_NAME --default
radosgw-admin realm create --rgw-realm=REALM_NAME --default
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
radosgw-admin realm create --rgw-realm=ldc2 --default
[root@rgw2 ~]# radosgw-admin realm create --rgw-realm=ldc2 --default
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在第二个数据中心上创建一个本地 master zonegroup:
语法
radosgw-admin zonegroup create --rgw-zonegroup=ZONE_GROUP_NAME --endpoints=http://RGW_NODE_NAME:80 --rgw-realm=REALM_NAME --master --default
radosgw-admin zonegroup create --rgw-zonegroup=ZONE_GROUP_NAME --endpoints=http://RGW_NODE_NAME:80 --rgw-realm=REALM_NAME --master --default
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
radosgw-admin zonegroup create --rgw-zonegroup=ldc2zg --endpoints=http://rgw2:80 --rgw-realm=ldc2 --master --default
[root@rgw2 ~]# radosgw-admin zonegroup create --rgw-zonegroup=ldc2zg --endpoints=http://rgw2:80 --rgw-realm=ldc2 --master --default
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在第二个数据中心创建一个本地区:
语法
radosgw-admin zone create --rgw-zonegroup=ZONE_GROUP_NAME --rgw-zone=ZONE_NAME --master --default --endpoints=HTTP_FQDN[, HTTP_FQDN]
radosgw-admin zone create --rgw-zonegroup=ZONE_GROUP_NAME --rgw-zone=ZONE_NAME --master --default --endpoints=HTTP_FQDN[, HTTP_FQDN]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
radosgw-admin zone create --rgw-zonegroup=ldc2zg --rgw-zone=ldc2z --master --default --endpoints=http://rgw.example.com
[root@rgw2 ~]# radosgw-admin zone create --rgw-zonegroup=ldc2zg --rgw-zone=ldc2z --master --default --endpoints=http://rgw.example.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 提交周期:
示例
radosgw-admin period update --commit
[root@rgw2 ~]# radosgw-admin period update --commit
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
rgw_realm、rgw_
zonegroup 和
名称更新rgw_zone
ceph.conf
:语法
rgw_realm = REALM_NAME rgw_zonegroup = ZONE_GROUP_NAME rgw_zone = ZONE_NAME
rgw_realm = REALM_NAME rgw_zonegroup = ZONE_GROUP_NAME rgw_zone = ZONE_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
rgw_realm = ldc2 rgw_zonegroup = ldc2zg rgw_zone = ldc2z
rgw_realm = ldc2 rgw_zonegroup = ldc2zg rgw_zone = ldc2z
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重启 RGW 守护进程:
语法
systemctl restart ceph-radosgw@rgw.$(hostname -s).rgw0.service
systemctl restart ceph-radosgw@rgw.$(hostname -s).rgw0.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在存储集群的第一个数据中心上创建一个复制的域:
语法
radosgw-admin realm create --rgw-realm=REPLICATED_REALM_1 --default
radosgw-admin realm create --rgw-realm=REPLICATED_REALM_1 --default
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[user@rgw1 ~] radosgw-admin realm create --rgw-realm=rdc1 --default
[user@rgw1 ~] radosgw-admin realm create --rgw-realm=rdc1 --default
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
--default
标志在主站点上进行复制的域默认。为第一个数据中心创建一个 master zonegroup:
语法
radosgw-admin zonegroup create --rgw-zonegroup=RGW_ZONE_GROUP --endpoints=http://_RGW_NODE_NAME:80 --rgw-realm=_RGW_REALM_NAME --master --default
radosgw-admin zonegroup create --rgw-zonegroup=RGW_ZONE_GROUP --endpoints=http://_RGW_NODE_NAME:80 --rgw-realm=_RGW_REALM_NAME --master --default
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
radosgw-admin zonegroup create --rgw-zonegroup=rdc1zg --endpoints=http://rgw1:80 --rgw-realm=rdc1 --master --default
[root@rgw1 ~]# radosgw-admin zonegroup create --rgw-zonegroup=rdc1zg --endpoints=http://rgw1:80 --rgw-realm=rdc1 --master --default
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在第一个数据中心上创建一个 master zone:
语法
radosgw-admin zone create --rgw-zonegroup=RGW_ZONE_GROUP --rgw-zone=_MASTER_RGW_NODE_NAME --master --default --endpoints=HTTP_FQDN[,HTTP_FQDN]
radosgw-admin zone create --rgw-zonegroup=RGW_ZONE_GROUP --rgw-zone=_MASTER_RGW_NODE_NAME --master --default --endpoints=HTTP_FQDN[,HTTP_FQDN]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
radosgw-admin zone create --rgw-zonegroup=rdc1zg --rgw-zone=rdc1z --master --default --endpoints=http://rgw.example.com
[root@rgw1 ~]# radosgw-admin zone create --rgw-zonegroup=rdc1zg --rgw-zone=rdc1z --master --default --endpoints=http://rgw.example.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建复制/同步化用户,并将系统用户添加到 master 区以进行多站点:
语法
radosgw-admin user create --uid="r_REPLICATION_SYNCHRONIZATION_USER_" --display-name="Replication-Synchronization User" --system radosgw-admin zone modify --rgw-zone=RGW_ZONE --access-key=ACCESS_KEY --secret=SECRET_KEY
radosgw-admin user create --uid="r_REPLICATION_SYNCHRONIZATION_USER_" --display-name="Replication-Synchronization User" --system radosgw-admin zone modify --rgw-zone=RGW_ZONE --access-key=ACCESS_KEY --secret=SECRET_KEY
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
radosgw-admin zone modify --rgw-zone=rdc1zg --access-key=3QV0D6ZMMCJZMSCXJ2QJ --secret=VpvQWcsfI9OPzUCpR4kynDLAbqa1OIKqRB6WEnH8
[root@rgw1 ~]# radosgw-admin zone modify --rgw-zone=rdc1zg --access-key=3QV0D6ZMMCJZMSCXJ2QJ --secret=VpvQWcsfI9OPzUCpR4kynDLAbqa1OIKqRB6WEnH8
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 提交周期:
语法
radosgw-admin period update --commit
radosgw-admin period update --commit
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用第一个数据中心的
rgw_realm、rg
w_zonegroup
和rgw_zone
名称更新ceph.conf
:语法
rgw_realm = REALM_NAME rgw_zonegroup = ZONE_GROUP_NAME rgw_zone = ZONE_NAME
rgw_realm = REALM_NAME rgw_zonegroup = ZONE_GROUP_NAME rgw_zone = ZONE_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
rgw_realm = rdc1 rgw_zonegroup = rdc1zg rgw_zone = rdc1z
rgw_realm = rdc1 rgw_zonegroup = rdc1zg rgw_zone = rdc1z
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重启 RGW 守护进程:
语法
systemctl restart ceph-radosgw@rgw.$(hostname -s).rgw0.service
systemctl restart ceph-radosgw@rgw.$(hostname -s).rgw0.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在第二个数据中心上拉取复制域:
语法
radosgw-admin realm pull --url=https://tower-osd1.cephtips.com --access-key=ACCESS_KEY --secret-key=SECRET_KEY
radosgw-admin realm pull --url=https://tower-osd1.cephtips.com --access-key=ACCESS_KEY --secret-key=SECRET_KEY
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
radosgw-admin realm pull --url=https://tower-osd1.cephtips.com --access-key=3QV0D6ZMMCJZMSCXJ2QJ --secret-key=VpvQWcsfI9OPzUCpR4kynDLAbqa1OIKqRB6WEnH8
radosgw-admin realm pull --url=https://tower-osd1.cephtips.com --access-key=3QV0D6ZMMCJZMSCXJ2QJ --secret-key=VpvQWcsfI9OPzUCpR4kynDLAbqa1OIKqRB6WEnH8
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 从第一个数据中心拉取 period:
语法
radosgw-admin period pull --url=https://tower-osd1.cephtips.com --access-key=ACCESS_KEY --secret-key=SECRET_KEY
radosgw-admin period pull --url=https://tower-osd1.cephtips.com --access-key=ACCESS_KEY --secret-key=SECRET_KEY
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
radosgw-admin period pull --url=https://tower-osd1.cephtips.com --access-key=3QV0D6ZMMCJZMSCXJ2QJ --secret-key=VpvQWcsfI9OPzUCpR4kynDLAbqa1OIKqRB6WEnH8
radosgw-admin period pull --url=https://tower-osd1.cephtips.com --access-key=3QV0D6ZMMCJZMSCXJ2QJ --secret-key=VpvQWcsfI9OPzUCpR4kynDLAbqa1OIKqRB6WEnH8
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在第二个数据中心中创建 second zone:
语法
radosgw-admin zone create --rgw-zone=RGW_ZONE --rgw-zonegroup=RGW_ZONE_GROUP --endpoints=https://tower-osd4.cephtips.com --access-key=_ACCESS_KEY --secret-key=SECRET_KEY
radosgw-admin zone create --rgw-zone=RGW_ZONE --rgw-zonegroup=RGW_ZONE_GROUP --endpoints=https://tower-osd4.cephtips.com --access-key=_ACCESS_KEY --secret-key=SECRET_KEY
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
radosgw-admin zone create --rgw-zone=rdc2z --rgw-zonegroup=rdc1zg --endpoints=https://tower-osd4.cephtips.com --access-key=3QV0D6ZMMCJZMSCXJ2QJ --secret-key=VpvQWcsfI9OPzUCpR4kynDLAbqa1OIKqRB6WEnH8
[root@rgw2 ~]# radosgw-admin zone create --rgw-zone=rdc2z --rgw-zonegroup=rdc1zg --endpoints=https://tower-osd4.cephtips.com --access-key=3QV0D6ZMMCJZMSCXJ2QJ --secret-key=VpvQWcsfI9OPzUCpR4kynDLAbqa1OIKqRB6WEnH8
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 提交周期:
语法
radosgw-admin period update --commit
radosgw-admin period update --commit
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用第二个数据中心的
rgw_realm、rg
w_zonegroup
和rgw_zone
名称更新ceph.conf
:语法
rgw_realm = REALM_NAME rgw_zonegroup = ZONE_GROUP_NAME rgw_zone = ZONE_NAME
rgw_realm = REALM_NAME rgw_zonegroup = ZONE_GROUP_NAME rgw_zone = ZONE_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
rgw realm = rdc1 rgw zonegroup = rdc1zg rgw zone = rdc2z
rgw realm = rdc1 rgw zonegroup = rdc1zg rgw zone = rdc2z
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重启 Ceph 对象网关守护进程:
语法
systemctl restart ceph-radosgw@rgw.$(hostname -s).rgw0.service
systemctl restart ceph-radosgw@rgw.$(hostname -s).rgw0.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 登录到第二个数据中心并验证 master 域的同步状态:
语法
radosgw-admin sync status
radosgw-admin sync status
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
radosgw-admin sync status
[root@rgw2 ~]# radosgw-admin sync status realm 59762f08-470c-46de-b2b1-d92c50986e67 (ldc2) zonegroup 7cf8daf8-d279-4d5c-b73e-c7fd2af65197 (ldc2zg) zone 034ae8d3-ae0c-4e35-8760-134782cb4196 (ldc2z) metadata sync no sync (zone is master)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 登录到第一个数据中心,并验证 replication-synchronization 域的同步状态:
语法
radosgw-admin sync status --rgw-realm RGW_REALM_NAME
radosgw-admin sync status --rgw-realm RGW_REALM_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要在本地站点中存储和访问数据,请为本地域创建用户:
语法
radosgw-admin user create --uid="LOCAL_USER" --display-name="Local user" --rgw-realm=_REALM_NAME --rgw-zonegroup=ZONE_GROUP_NAME --rgw-zone=ZONE_NAME
radosgw-admin user create --uid="LOCAL_USER" --display-name="Local user" --rgw-realm=_REALM_NAME --rgw-zonegroup=ZONE_GROUP_NAME --rgw-zone=ZONE_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
radosgw-admin user create --uid="local-user" --display-name="Local user" --rgw-realm=ldc1 --rgw-zonegroup=ldc1zg --rgw-zone=ldc1z
[root@rgw2 ~]# radosgw-admin user create --uid="local-user" --display-name="Local user" --rgw-realm=ldc1 --rgw-zonegroup=ldc1zg --rgw-zone=ldc1z
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
默认情况下,会在 default 域下创建用户。要使用户访问本地域中数据的用户,radosgw-admin
命令需要 --rgw-realm
参数。