首先,确保你的 Ceph 集群已正常运行,并且使用 Ceph Orchestrator 进行管理。
确保 Ceph 集群正常运行:
ceph -s
查看当前 Orchestrator 后端
ceph orch status
输出类似如下:
Backend: cephadm
Available: Yes
Paused: No
如果显示的是 cephadm,说明当前已经在使用 cephadm 作为 Orchestrator 后端。如果显示的是其他后端(例如 rook),你可以决定是否更改为 cephadm。
可以使用以下命令来设置 Ceph Orchestrator:
ceph orch set backend cephadm
在你的 Ceph 集群中,选择一个节点来运行 RGW 服务,假设你选择的节点是 <host>
。你可以使用以下命令将节点标记为运行 RGW 服务:
ceph orch host label add <host> rgw
使用 ceph orch apply rgw
命令来安装 RGW 服务。假设你想安装名为 foo
的 RGW 服务:
ceph orch apply rgw foo '--placement=label:rgw count-per-host:1' --port=6781
这将会在指定的节点上部署 RGW 服务。
检查 RGW 服务是否已经部署并运行:
ceph orch ps
如果服务正常运行,你应该能看到类似以下的输出:
NAME SERVICE_TYPE PLACEMENT RUNNING REFRESHED
rgw.foo rgw 1 host 1/1 5s ago
使用 ceph orch ls
查看所有部署的服务:
ceph orch ls
输出将列出所有服务,找到需要删除的 RGW 服务名称(例如 foo
)。
使用 ceph orch rm
命令删除 RGW 服务:
ceph orch rm rgw.foo
如果服务名为 foo
,这将会删除该 RGW 服务。记住,foo
是服务名称,不是完整的 rgw.foo
。
再次运行 ceph orch ls
确保服务已被删除:
ceph orch ls
此时应该不再看到 foo
或任何与 RGW 相关的服务。
如果你希望彻底删除与 RGW 相关的数据,可以选择清理 Ceph 配置文件和 RGW 数据目录。
删除 Ceph 配置文件中的 RGW 配置段:
编辑 /etc/ceph/ceph.conf
,并删除与 RGW 服务相关的配置段。
删除 RGW 数据目录:
在部署 RGW 的节点上删除存储 RGW 数据的目录:
rm -rf /var/lib/ceph/radosgw/*
如果不再需要相关的 RADOS 池,可以删除它们:
ceph osd pool delete <pool_name> <pool_name> --yes-i-really-really-mean-it
ceph orch apply rgw <service_name>
完成。ceph orch rm <service_name>
完成。https://docs.ceph.com/en/reef/cephadm/services/rgw/
https://docs.ceph.com/en/pacific/cephadm/services/rgw/
https://docs.redhat.com/zh-cn/documentation/red_hat_ceph_storage/5/html/operations_guide/deploying-the-ceph-object-gateway-using-the-command-line-interface_ops#deploying-the-ceph-object-gateway-using-the-command-line-interface_ops