菜单
本页目录

节点管理

  • 列出节点
#列出节点
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文件来管理
#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配置
#集群中设置自定义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