0

我不确定这是否是要问的平台。但希望是:)。

我有一个 3 节点的 ceph 设置。

node1
mds.node1 , mgr.node1 , mon.node1 , osd.0 , osd.1 , osd.6
14.2.22
node2
mds.node2 , mon.node2 , osd.2 , osd.3 , osd.7
14.2.22
node3
mds.node3 , mon.node3 , osd.4 , osd.5 , osd.8
14.2.22

但是由于某种原因,当我关闭一个节点时,它根本不会开始回填/恢复。它只报告 3 个 osd 如下所示。但是没办法修复它......

如果我运行 aceph -s我得到以下输出:

[root@node1 testdir]# ceph -s
  cluster:
    id:     8932b76b-282b-4385-bee8-5c295af88e74
    health: HEALTH_WARN
            3 osds down
            1 host (3 osds) down
            Degraded data redundancy: 30089/90267 objects degraded (33.333%), 200 pgs degraded, 512 pgs undersized
            1/3 mons down, quorum node1,node2

  services:
    mon: 3 daemons, quorum node1,node2 (age 2m), out of quorum: node3
    mgr: node1(active, since 48m)
    mds: homeFS:1 {0=node1=up:active} 1 up:standby-replay
    osd: 9 osds: 6 up (since 2m), 9 in (since 91m)

  data:
    pools:   4 pools, 512 pgs
    objects: 30.09k objects, 144 MiB
    usage:   14 GiB used, 346 GiB / 360 GiB avail
    pgs:     30089/90267 objects degraded (33.333%)
             312 active+undersized
             200 active+undersized+degraded

  io:
    client:   852 B/s rd, 2 op/s rd, 0 op/s wr

[root@node1 testdir]#

奇怪的是,当我再次启动我的第三个节点时,它确实恢复并同步了。但看起来它只是没有开始回填......有什么可能导致它吗?

更新 我注意到的,如果我将驱动器标记为 out,它会恢复它......但是当服务器节点关闭并且驱动器被标记为 out 时,它根本不会恢复它......

更新 2: 我在试验时注意到,如果 OSD 已启动,但已退出,它确实会恢复...当 OSD 被标记为关闭时,它根本不会开始恢复...

4

1 回答 1

0

ceph 默认等待 10 分钟,直到将 OSD 标记为 out ( mon_osd_down_out_interval)。如果服务器只需要重新启动并在 10 分钟内返回,这会有所帮助,那么一切都很好。如果您需要更长的维护窗口,但不确定是否会超过 10 分钟,但服务器最终会返回,设置ceph osd set noout以防止不必要的重新平衡。

于 2021-10-06T08:46:49.633 回答