Red Hat Training
A Red Hat training course is available for Red Hat Ceph Storage
3.2. 低级监控
较低级别的监控通常涉及确保 OSD 对等。发生故障时,PG 处于降级状态。这可能是由很多因素导致的,如硬件故障、挂起或崩溃守护进程、网络延迟或中断等。
3.2.1. 放置组集
当 CRUSH 将 PG 分配到 OSD 时,它会查看池的副本数量,并将 PG 分配到 OSD,使得 PG 的每一副本分配到不同的 OSD。例如,如果池需要 PG 的三个副本,CRUSH 可以分别将它们分配到 osd.1
、osd.2
和 osd.3
。CRUSH 实际上寻求伪随机放置,它将考虑您在 CRUSH map 中设置的故障域,因此很少会看到分配给大型集群中最接近邻居 OSD 的放置组。我们引用了应当包含特定放置组副本的 OSD 集合 作为操作集合。在某些情况下,Acting Set 中的 OSD 是 down
,否则无法服务 PG 中对象的请求。出现这些情况时,请不要 panic。常见示例包括:
- 您添加了或删除了 OSD。然后,CRUSH 将 PG 重新分配给其他 OSD- 从而更改操作集的构成并通过"回填"进程生成数据迁移。
-
OSD 曾
down
重启,现在为recovering
。 -
操作集合中的 OSD 是
down
或无法为请求服务,另一个 OSD 暂时承担了自己的职责。
Ceph 利用 Up Set 处理客户端请求,这是将实际处理请求的 OSD 集合。在大多数情况下,启动集合和操作集几乎相同。如果没有,这可能表明 Ceph 正在迁移数据,或者 OSD 正在恢复,或者存在问题,即 Ceph 通常在这种情况下使用"stuck stale"消息回显 HEALTH WARN
状态。
检索 PG 列表:
# ceph pg dump
查看操作集合中或给定 PG 的启动集合中有哪些 OSD:
# ceph pg map <pg-num>
结果应告知您 osdmap epoch、
eNNN
、PG 号、<pg-num>
、Up Setup[]
中的 OSD,以及执行集合中的 OSDacting[]
:osdmap eNNN pg <pg-num> -> up [0,1,2] acting [0,1,2]
注意如果 Up Set 和 Acting Set 不匹配,这可能表示集群重新平衡其自身或集群存在潜在问题。