g6Axvd.jpg

问题现象

前几天使用ceph-ansible安装了N版的ceph。今天有个东西想测试一下,然后搭建了一个小的测试的ceph集群。搭建完查看状态的时候显示下面的错误

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$ ceph -s
  cluster:
    id:     f1731b79-1e9e-447e-9bc4-36b834c19582
    health: HEALTH_WARN
            mons are allowing insecure global_id reclaim

  services:
    mon: 3 daemons, quorum bxpp-master-1,bxpp-worker-1,bxpp-worker-2 (age 25m)
    mgr: bxpp-worker-1(active, since 17m), standbys: bxpp-master-1, bxpp-worker-2
    mds: cephfs:1 {0=bxpp-master-1=up:active} 2 up:standby
    osd: 3 osds: 3 up (since 16m), 3 in (since 16m)
    rgw: 3 daemons active (bxpp-master-1.rgw0, bxpp-worker-1.rgw0, bxpp-worker-2.rgw0)

  task status:
    scrub status:
        mds.bxpp-master-1: idle

  data:
    pools:   6 pools, 168 pgs
    objects: 211 objects, 4.1 KiB
    usage:   328 MiB used, 15 GiB / 15 GiB avail
    pgs:     168 active+clean

ceph的设置和上个集群是一样的,但是上个集群就没有这样的警告。

查看原因

和以前的集群对比了一下,发现上次安装的N版的版本号为14.2.19,这次的版本号变成了14.2.20。看来是新版的原因,查看一下github发现前几天更新了新版本(其实在安装上次时就发布了新版本,可能是用的国内的源,导致版本更新有延迟)。

查询相关文档在此文档中发现,14.2.20修复了一个ceph身份验证框架中的安全漏洞,增加了相关警告。相关信息,请参考CVE-2021-20288。可以通过设置将其禁用,文档建议升级到O版后在禁用此设置。

解决办法

这里集群做测试使用,就直接禁用掉此设置。

1
2
$ ceph config set mon mon_warn_on_insecure_global_id_reclaim_allowed false
$ ceph config set mon auth_allow_insecure_global_id_reclaim false

参考文档

https://ceph.io/releases/v14-2-20-nautilus-released/

https://docs.ceph.com/en/latest/security/CVE-2021-20288/