#列出节点
ceph orch host ls [--format yaml] [--host-pattern <name>] [--label <label>] [--host-status <status>] [--detail]
#被添加的节点要满足条件
container、systemd、chronyd、host
#从Bootstrap节点下发集群SSH密钥
ssh-copy-id -f -i /etc/ceph/ceph.pub root@<new-host>
#添加节点
ceph orch host add <hostname> [<addr>] [--labels <label>] [--maintenance]
#添加节点到集群的时候就可以给节点打上标签(这样可以在添加节点的时候就部署好节点对应的守护进程)
ceph orch host add <hostname> --labels=<labels>,<labels>
#节点添加标签
ceph orch host label add <hostname> <label>
#节点移除标签
ceph orch host label rm <hostname> <label> [--force]
#特殊标签_admin
_admin标签默认拥有mon和mgr的角色
_admin标签默认应用于集群Bootstrap节点
集群Bootstrap节点生成client.admin的特权文件/etc/ceph/ceph.client.admin.keyring
将_admin标签添加给其他节点后,其他节点也会拥有client.admin的特权文件/etc/ceph/ceph.client.admin.keyring
#特殊标签_no_schedule
_no_schedule标签会阻止cephadm调度或部署节点上的守护进程
_no_schedule标签上的节点不会在其上部署守护进程
在删除节点前排空时会在改节点上设置_no_schedule标签
#特殊标签_no_autotune_memory
_no_autotune_memory标签不会在主机上自动调整内存
_no_autotune_memory标签通常用于OSD节点
#维护模式会停止节点上的所有Ceph守护进程
#节点进入维护模式
ceph orch host maintenance enter <hostname> [--force] [--yes-i-really-mean-it]
#节点退出维护模式
ceph orch host maintenance exit <hostname> [--force] [--offline]
#删除一个节点的正确姿势
ceph orch host drain <host> --zap-osd-devices #排空指定节点上的OSD设备并删除
ceph orch osd rm status #检查OSD删除操作的进度
ceph orch ps <host> #确定节点上是否仍有任何守护进程
ceph orch host rm <host> #从群集中删除节点
#离线节点强制移除
ceph orch host rm <host> --offline --force #节点处于离线状态且无法恢复
#某些服务器可能不会向系统内核注册设备移除或插入(这时候就需要手动扫描主机的设备)
ceph orch host rescan <hostname> [--with-summary]
#YAML文件示例
cat host.yaml
service_type: host
hostname: node1
addr: 192.168.0.101
labels:
- mgr
- mon
---
service_type: host
hostname: node2
addr: 192.168.0.102
labels:
- grafana
---
service_type: host
hostname: node3
addr: 192.168.0.103
#通过YAML文件一次添加多个主机
ceph orch apply -i host.yaml
#集群中设置自定义SSH密钥
ceph cephadm generate-key #生成一个新的SSH密钥
ceph cephadm get-pub-key #查看SSH公钥
ceph cephadm clear-key #删除当前存储的SSH密钥
#集群导入现有密钥
ceph config-key set mgr/cephadm/ssh_identity_key -i <key>
ceph config-key set mgr/cephadm/ssh_identity_pub -i <pub>
#集群获取当前密钥
ceph config-key get mgr/cephadm/ssh_identity_key
ceph config-key get mgr/cephadm/ssh_identity_pub