3.5. 使用 Ceph Manager rgw 模块
作为存储管理员,您可以使用 rgw
模块部署 Ceph 对象网关、单一站点和多站点。它有助于引导和配置 Ceph 对象域、zonegroup 和不同的相关实体。
您可以将可用的令牌用于新创建的域或现有域。此令牌是一个 base64 字符串,封装 realm 信息及其 master zone 端点身份验证数据。
在多站点配置中,这些令牌可用于拉取域,以便在使用 rgw zone create
命令与主集群上的 master zone 同步的不同集群中创建 second zone。
3.5.1. 使用 rgw 模块部署 Ceph 对象网关 复制链接链接已复制到粘贴板!
启动 Ceph 对象网关域创建新的域实体、新 zonegroup 和新区域。rgw
模块指示编配器创建和部署对应的 Ceph 对象网关守护进程。
使用 ceph mgr module enable rgw
命令启用 rgw
模块。启用 rgw
模块后,可在命令行上传递参数,或者使用 yaml
规格文件来引导域。
先决条件
- 正在运行的 Red Hat Ceph Storage 集群至少部署了一个 OSD。
流程
登录到 Cephadm shell:
示例
cephadm shell
[root@host01 ~]# cephadm shell
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 启用 ` rgw` 模块:
示例
[ceph: root@host01 /]# ceph mgr module enable rgw
[ceph: root@host01 /]# ceph mgr module enable rgw
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用命令行或 yaml 规格文件引导 Ceph 对象网关域:
选项 1:使用命令行界面:
语法
ceph rgw realm bootstrap [--realm name REALM_NAME] [--zonegroup-name ZONEGROUP_NAME] [--zone-name ZONE_NAME] [--port PORT_NUMBER] [--placement HOSTNAME] [--start-radosgw]
ceph rgw realm bootstrap [--realm name REALM_NAME] [--zonegroup-name ZONEGROUP_NAME] [--zone-name ZONE_NAME] [--port PORT_NUMBER] [--placement HOSTNAME] [--start-radosgw]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 /]# ceph rgw realm bootstrap --realm-name myrealm --zonegroup-name myzonegroup --zone-name myzone --port 5500 --placement="host01 host02" --start-radosgw Realm(s) created correctly. Please, use 'ceph rgw realm tokens' to get the token.
[ceph: root@host01 /]# ceph rgw realm bootstrap --realm-name myrealm --zonegroup-name myzonegroup --zone-name myzone --port 5500 --placement="host01 host02" --start-radosgw Realm(s) created correctly. Please, use 'ceph rgw realm tokens' to get the token.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 选项 2:使用 yaml 规格文件:
以 root 用户身份,创建 yaml 文件:
语法
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:您可以在 realm bootstrap 期间将 hostname 参数添加到 zonegroup 中:
语法
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 YAML 文件挂载到容器中的一个目录下:
示例
cephadm shell --mount rgw.yaml:/var/lib/ceph/rgw/rgw.yaml
[root@host01 ~]# cephadm shell --mount rgw.yaml:/var/lib/ceph/rgw/rgw.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 引导域:
示例
[ceph: root@host01 /]# ceph rgw realm bootstrap -i /var/lib/ceph/rgw/rgw.yaml
[ceph: root@host01 /]# ceph rgw realm bootstrap -i /var/lib/ceph/rgw/rgw.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意rgw
模块使用的规格文件的格式与编配器使用的格式相同。因此,您可以提供任何编配支持的 Ceph 对象网关参数,包括 SSL 证书等高级配置功能。
列出可用的令牌:
示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果您在 Ceph 对象网关守护进程部署之前运行上述命令,它会显示一条消息,因为还没有端点。
验证
验证对象网关部署:
Example
[ceph: root@host01 /]# ceph orch list --daemon-type=rgw NAME HOST PORTS STATUS REFRESHED AGE MEM USE MEM LIM VERSION IMAGE ID CONTAINER ID rgw.myrealm.myzonegroup.ceph-saya-6-osd-host01.eburst ceph-saya-6-osd-host01 *:80 running (111m) 9m ago 111m 82.3M - 17.2.6-22.el9cp 2d5b080de0b0 2f3eaca7e88e
[ceph: root@host01 /]# ceph orch list --daemon-type=rgw NAME HOST PORTS STATUS REFRESHED AGE MEM USE MEM LIM VERSION IMAGE ID CONTAINER ID rgw.myrealm.myzonegroup.ceph-saya-6-osd-host01.eburst ceph-saya-6-osd-host01 *:80 running (111m) 9m ago 111m 82.3M - 17.2.6-22.el9cp 2d5b080de0b0 2f3eaca7e88e
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 通过 realm bootstrap 验证添加
的主机名
:语法
radosgw-admin zonegroup get --rgw-zonegroup _zone_group_name_
radosgw-admin zonegroup get --rgw-zonegroup _zone_group_name_
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 有关 Ceph 对象网关规格文件中的 zonegroup
_
的 hostname 部分。hostnames
中指定的主机名列表,请参阅 zonegroup
3.5.2. 使用 rgw 模块部署 Ceph 对象网关多站点 复制链接链接已复制到粘贴板!
启动 Ceph 对象网关域创建新的域实体、新 zonegroup 和新区域。它配置一个新的系统用户,可用于多站点同步操作。rgw
模块指示编配器创建和部署对应的 Ceph 对象网关守护进程。
使用 ceph mgr module enable rgw
命令启用 rgw
模块。启用 rgw
模块后,可在命令行上传递参数,或者使用 yaml
规格文件来引导域。
先决条件
- 正在运行的 Red Hat Ceph Storage 集群至少部署了一个 OSD。
流程
登录到 Cephadm shell:
示例
cephadm shell
[root@host01 ~]# cephadm shell
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 启用 ` rgw` 模块:
示例
[ceph: root@host01 /]# ceph mgr module enable rgw
[ceph: root@host01 /]# ceph mgr module enable rgw
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用命令行或 yaml 规格文件引导 Ceph 对象网关域:
选项 1:使用命令行界面:
语法
ceph rgw realm bootstrap [--realm name REALM_NAME] [--zonegroup-name ZONEGROUP_NAME] [--zone-name ZONE_NAME] [--port PORT_NUMBER] [--placement HOSTNAME] [--start-radosgw]
ceph rgw realm bootstrap [--realm name REALM_NAME] [--zonegroup-name ZONEGROUP_NAME] [--zone-name ZONE_NAME] [--port PORT_NUMBER] [--placement HOSTNAME] [--start-radosgw]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 /]# ceph rgw realm bootstrap --realm-name myrealm --zonegroup-name myzonegroup --zone-name myzone --port 5500 --placement="host01 host02" --start-radosgw Realm(s) created correctly. Please, use 'ceph rgw realm tokens' to get the token.
[ceph: root@host01 /]# ceph rgw realm bootstrap --realm-name myrealm --zonegroup-name myzonegroup --zone-name myzone --port 5500 --placement="host01 host02" --start-radosgw Realm(s) created correctly. Please, use 'ceph rgw realm tokens' to get the token.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 选项 2:使用 yaml 规格文件:.. 作为 root 用户,创建 yaml 文件:
语法
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
可选: 对于这些客户端 rgw,请在 Ceph 对象网关规格文件的 spec 部分下设置
disable_multisite_sync_traffic:true
。然后,cephadm 会为这些 RGW 守护进程将rgw_run_sync_thread
配置设置为 false,防止它们参与同步操作。这种自动化消除了为 RGW 用户手动配置 rgw_run_sync_thread 的需要。
-
可选: 对于这些客户端 rgw,请在 Ceph 对象网关规格文件的 spec 部分下设置
语法
ceph config set <client_rgw_daemon> rgw_run_sync_thread false
ceph config set <client_rgw_daemon> rgw_run_sync_thread false
Copy to Clipboard Copied! Toggle word wrap Toggle overflow +
在以下示例中,RGW 服务 io.rgw 配置有 disable_multisite_sync_traffic: true,因此它只处理客户端 IO。RGW 服务 sync.rgw 配置为参与多站点同步操作,因为 disable_multisite_sync_traffic 默认为 false。
+ .example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow +
将 YAML 文件挂载到容器中的一个目录下:
示例
cephadm shell --mount rgw.yaml:/var/lib/ceph/rgw/rgw.yaml
[root@host01 ~]# cephadm shell --mount rgw.yaml:/var/lib/ceph/rgw/rgw.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 引导域:
示例
[ceph: root@host01 /]# ceph rgw realm bootstrap -i /var/lib/ceph/rgw/rgw.yaml
[ceph: root@host01 /]# ceph rgw realm bootstrap -i /var/lib/ceph/rgw/rgw.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意rgw
模块使用的规格文件的格式与编配器使用的格式相同。因此,您可以提供任何编配支持的 Ceph 对象网关参数,包括 SSL 证书等高级配置功能。
列出可用的令牌:
示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果您在 Ceph 对象网关守护进程部署之前运行上述命令,它会显示一条消息,因为还没有端点。
使用这些令牌创建 second zone 并加入现有的域:
以 root 用户身份,创建 yaml 文件:
示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要在部署期间为特定 RGW 服务禁用多站点同步流量参数,请按照以下步骤操作 3 (可选)。此设置禁用部署期间为特定 RGW 服务禁用多站点同步流量,因此它们仅处理客户端 IO。
将
zone-spec.yaml
文件挂载到容器中的一个目录中:示例
cephadm shell --mount zone-spec.yaml:/var/lib/ceph/radosgw/zone-spec.yaml
[root@host01 ~]# cephadm shell --mount zone-spec.yaml:/var/lib/ceph/radosgw/zone-spec.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 second zone 中启用' rgw'module:
示例
[ceph: root@host01 /]# ceph mgr module enable rgw
[ceph: root@host01 /]# ceph mgr module enable rgw
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建 second zone:
示例
[ceph: root@host01 /]# ceph rgw zone create -i /var/lib/ceph/radosgw/zone-spec.yaml
[ceph: root@host01 /]# ceph rgw zone create -i /var/lib/ceph/radosgw/zone-spec.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证
验证对象网关多站点部署:
示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow