20260527 ceph添加节点

ceph添加节点

添加节点过程:

  1. Ceph采用共享秘钥进行身份验证, 使用命令"ceph cephadm get-pub-key" 获取到主机接入集群时
    所需的ssh 公钥。
  2. 获取到公钥后, 使用该公钥实现对节点的免密ssh管理。
  3. 使用命令"ceph orch host add" 添加主机。
bash 复制代码
# 为了配置方便,我们在ceph1上安装ceph客户端工具 ceph-common
[root@ceph1 ~]# dnf install -y ceph-common
# 获取集群公钥
[root@ceph1 ~]# ceph cephadm get-pub-key > ~/ceph.pub
# 推送公钥到其他节点
[root@ceph1 ~]# ssh-copy-id -f -i ~/ceph.pub root@ceph2.laogao.cloud
[root@ceph1 ~]# ssh-copy-id -f -i ~/ceph.pub root@ceph3.laogao.cloud
# 添加节点
[root@ceph1 ~]# ceph orch host add ceph2.laogao.cloud
Added host 'ceph2.laogao.cloud' with addr '192.168.108.12'
[root@ceph1 ~]# ceph orch host add ceph3.laogao.cloud
Added host 'ceph3.laogao.cloud' with addr '192.168.108.13'
[root@ceph1 ~]# ceph orch host ls
HOST               ADDR           LABELS STATUS
ceph1.laogao.cloud  192.168.108.11 _admin
ceph2.laogao.cloud  192.168.108.12
ceph3.laogao.cloud  192.168.108.13
3 hosts in cluster
# 等待自动部署服务到其他节点,部署完成后效果如下:
[root@ceph1 ~]# ceph orch ls
NAME           PORTS       RUNNING REFRESHED AGE PLACEMENT
alertmanager   ?:9093,9094      1/1 8m ago     9m   count:1
crash                           3/3 8m ago     9m   *
grafana       ?:3000           1/1 8m ago     9m   count:1
mgr                             2/2 8m ago     9m   count:2
mon                             3/5 8m ago     9m   count:5
node-exporter ?:9100           3/3 8m ago     9m   *
prometheus     ?:9095           1/1 8m ago     9m   count:1
# crash 3/3个
# mgr 2/2个
# mon 3/5个
# node-exporter 3/3个

部署 mon 和 mgr

bash 复制代码
# 禁用 mon 和 mgr 服务的自动扩展功能
[root@ceph1 ~]# ceph orch apply mon --unmanaged=true
[root@ceph1 ~]# ceph orch apply mgr --unmanaged=true
[root@ceph1 ~]# ceph orch ls
NAME           PORTS       RUNNING REFRESHED AGE PLACEMENT
alertmanager   ?:9093,9094      1/1 56s ago   12m count:1
crash                           3/3 57s ago   12m *
grafana       ?:3000           1/1 56s ago   12m count:1
mgr                             2/2 57s ago   3s   <unmanaged>
mon                             3/5 57s ago   8s   <unmanaged>
node-exporter ?:9100           3/3 57s ago   12m *
prometheus     ?:9095           1/1 56s ago   12m count:1
# mon 和 mgr 的 PLACEMENT 状态为 <unmanaged>
# 配置主机标签,ceph2 和 ceph3 添加标签" _admin"
[root@ceph1 ~]# ceph orch host label add ceph2.laogao.cloud _admin
Added label _admin to host ceph2.laogao.cloud
[root@ceph1 ~]# ceph orch host label add ceph3.laogao.cloud _admin
Added label _admin to host ceph3.laogao.cloud
[root@ceph1 ~]# ceph orch host ls
HOST               ADDR           LABELS STATUS
ceph1.laogao.cloud  192.168.108.11 _admin
ceph2.laogao.cloud  192.168.108.12 _admin
ceph3.laogao.cloud  192.168.108.13 _admin
3 hosts in cluster
# 将 mon 和 mgr 组件部署到具有_admin标签的节点上
[root@ceph1 ~]# ceph orch apply mon --placement="label:_admin"
Scheduled mon update...
[root@ceph1 ~]# ceph orch apply mgr --placement="label:_admin"
Scheduled mgr update...
#观察现象
[root@ceph1 ~]# ceph orch ls | egrep 'mon|mgr'
mgr                             3/3 2m ago     14s label:_admin
mon                             3/3 2m ago     28s label:_admin
[root@ceph1 ~]# ceph orch ps | egrep 'mon|mgr'

部署 OSD

bash 复制代码
# 将所有主机上闲置的硬盘添加为 OSD
[root@ceph1 ~]# ceph orch apply osd --all-available-devices
Scheduled osd.all-available-devices update...

验证

查看集群中部署的服务

bash 复制代码
[root@ceph1 ~]# ceph orch ls
NAME                       PORTS       RUNNING REFRESHED AGE PLACEMENT
alertmanager               ?:9093,9094      1/1 3s ago     15m count:1
crash                                       3/3 4s ago     15m *
grafana                   ?:3000           1/1 3s ago     15m count:1
mgr                                         3/3 4s ago     2m   label:_admin
mon                                         3/3 4s ago     2m   label:_admin
node-exporter             ?:9100           3/3 4s ago     15m *
osd.all-available-devices                     9 4s ago     25s *
prometheus                 ?:9095           1/1 3s ago     15m count:1

部分输出说明

  • **RUNNING:**服务的运行状态,前一个数字表示当前运行的服务数量,后一个数字表示系统根据策
    略或配置推荐的服务部署数量。
  • **PLACEMENT:**为服务编排器部署服务时提供的参数,编排器可根据该参数判断服务所部署的节
    点,常见的 placement 包括:
    1. 具体节点名称,例如: --placement=ceph2
    2. 标签,例如: --placement="label:mylabel"
    3. 数量,例如: --placement="3 host1 host2 host3"
    4. unmanaged ,表示服务不自动部署。通过设置 --unmanaged 为 true 打开该功能,设置为
      false 关闭该功能>

查看集群状态

bash 复制代码
[root@ceph1 ~]# ceph -s
 cluster:
   id:     2faf683a-7cbf-11f0-b5ba-000c29e0ad0e
   health: HEALTH_OK
 services:
   mon: 3 daemons, quorum ceph1.laogao.cloud,ceph2,ceph3 (age 6m)
   mgr: ceph1.laogao.cloud.zoqmbt(active, since 15m), standbys: ceph2.oetbal, 
ceph3.npaxvt
osd: 9 osds: 9 up (since 30s), 9 in (since 45s)
 data:
   pools:   1 pools, 1 pgs
   objects: 0 objects, 0 B
   usage:   2.6 GiB used, 177 GiB / 180 GiB avail
   pgs:     1 active+clean
命令 ceph -s 对应的长命令为 ceph --status 。

输出包含:MON、 MGR及OSD的状态,包括数量、位置及运行时间。

集群的健康状态可分为:

  • HEALTH_OK:表示健康状态良好
  • HEALTH_WARN:表示集群存在告警,需进行排查处理后,可转为HEALTH_OK
  • HEALTH_ERR:表示集群存在比较严重的错误,需要立即处理

查看集群 osd 结构

bash 复制代码
[root@ceph1 ~]# ceph osd tree
ID CLASS WEIGHT   TYPE NAME       STATUS REWEIGHT PRI-AFF
-1         0.17537 root default
-3         0.05846     host ceph1
 0   hdd  0.01949         osd.0       up   1.00000  1.00000
 3   hdd  0.01949         osd.3       up   1.00000  1.00000
 6   hdd  0.01949         osd.6       up   1.00000  1.00000
-5         0.05846     host ceph2
 2   hdd  0.01949         osd.2       up   1.00000  1.00000
 4   hdd  0.01949         osd.4       up   1.00000  1.00000
 7   hdd  0.01949         osd.7       up   1.00000  1.00000
-7         0.05846     host ceph3
 1   hdd  0.01949         osd.1       up   1.00000  1.00000
 5   hdd  0.01949         osd.5       up   1.00000  1.00000
 8   hdd  0.01949         osd.8       up   1.00000  1.00000

查看集群组件

集群中运行的主要组件:

  • mgr,ceph 管理程序
  • monitor,ceph 监视器
  • osd,ceph 对象存储进程
  • rgw,ceph 对象存储网关

其他组件:

  • crash,崩溃数据收集模块
  • prometheus,监控组件
  • grafana,监控数据展示dashboard
  • alertmanager,prometheus告警组件
  • node_exporter,prometheus节点数据收集组件

查询出服务的具体情况后, 可对指定服务进一步操作:

  • 使用命令 ceph orch daemon start|stop|restart|redeploy|reconfig <service_name> 对指
    定服务进行启动、停止、重启等操作。
  • 使用命令 ceph orch daemon rm <service_name> --force 可删除指定服务。

这时关闭所有ceph存储节点。并打快照,便于后续做实验。

相关推荐
bukeyiwanshui13 小时前
20260527 Ceph 集群组件管理
ceph
AOwhisky14 小时前
Ceph系列第二期:Ceph集群部署实战(cephadm)
linux·运维·笔记·分布式·ceph·云计算·存储
信创工程师-小杨1 天前
openEuler24.03搭建Ceph高可用
ceph
潮起鲸落入海1 天前
ceph简介及部署安装
ceph
刘某的Cloud4 天前
ceph-s & ceph_osd_tree_ceph缩容恢复_集群状态.md
linux·运维·服务器·ceph
自由且自律5 天前
cenph三大存储方式
运维·经验分享·ceph
米高梅狮子7 天前
Ceph 分布式存储 部署
linux·运维·数据库·分布式·ceph·docker·华为云
一个行走的民8 天前
CephFS 文件写流程深度解析:从 write() 系统调用到 BlueStore 落盘
ceph
yyyyy_abc9 天前
ceph学习笔记
笔记·ceph·学习