如果要删除的节点正在运行 OSD,请确保从节点中删除 OSD。
ceph orch osd rm <osd_id(s)> [--replace] [--force] # 从 OSD 中撤出 PG 并将其从集群中移除 ceph orch osd rm 0 # 例子,不安全销毁的 OSD 将被拒绝 ceph orch osd rm status # 查询操作的状态。当 OSD 上没有留下任何 PG 时,它将被停用并从集群中移除 ceph orch osd rm stop <svc_id(s)> # 停止排队的 OSD 移除操作 ceph orch osd rm stop 4 # 例子,这将重置 OSD 的初始状态并将其从移除队列中移除。 orch osd rm <svc_id(s)> --replace [--force] # 更换 OSD ceph orch osd rm 4 --replace # 例子,这与“删除 OSD”部分的过程相同,只是 OSD 不是从 CRUSH 层次结构中永久删除,而是分配了一个“destroyed”标志 保留 OSD ID: 先前设置的 'destroyed' 标志用于确定将在下一次 OSD 部署中重用的 OSD id。 如果您使用 OSDSpecs 进行 OSD 部署,假设新磁盘仍然匹配 OSDSpecs,您新添加的磁盘将被分配其替换对应的 OSD id。 要在此过程中获得帮助,您可以使用“--dry-run”功能。 提示:您的 OSDSpec 的名称可以从 ceph orch ls 中检索。 或者,您可以使用您的 OSDSpec 文件: ceph orch apply osd -i <osd_spec_file> --dry-run NAME HOST DATA DB WAL <name_of_osd_spec> node1 /dev/vdb - - 如果这符合您的预期行为,只需省略 --dry-run 标志即可执行部署。
注意:删除 OSD 后,如果您擦除已删除 OSD 使用的设备中的 LVM 物理卷,则会创建一个新的 OSD。如果您想避免这种行为(禁用在可用设备上自动创建 OSD),请使用以下
unmanaged
参数:ceph orch apply osd --all-available-devices --unmanaged=true
对于除node-exporter
和crash
之外的所有 Ceph 服务类型,从放置规范文件(例如 cluster.yml)中删除主机。例如,如果您要删除名为 host2 的主机,请从所有placement:
部分中删除所有出现的- host2
。
更新:
service_type: rgw placement: hosts: - host1 - host2
至:
service_type: rgw placement: hosts: - host1
从 cephadm 的环境中移除主机:
ceph orch host rm host2
如果主机正在运行node-exporter
和 crash 服务,请通过在主机上运行以下命令来删除它们:
cephadm rm-daemon --fsid CLUSTER_ID --name SERVICE_NAME