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.1osd.2osd.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 Set up[] 中的 OSD,以及执行集合中的 OSD acting[]

    osdmap eNNN pg <pg-num> -> up [0,1,2] acting [0,1,2]
    注意

    如果 Up Set 和 Acting Set 不匹配,这可能表示集群重新平衡其自身或集群存在潜在问题。