重启所有服务器时的 Ceph 擦除编码不完整的 pgs

Ceph erasure coding when restart all server incomplete pgs

我有一个 7 服务器

服务器 1:mon,mgr,mds

服务器 2:mon,mgr,mds

Server3:mon,mgr,mds

Server4:osd.0,osd.1

服务器 5:osd.2,osd.3

Server6osd.4,osd.5

Server7:mon,mgr,mds

每个osd大小4T

和:

ceph osd 树

ID CLASS 重量类型名称状态再重量 PRI-AFF

-1 21.83098 root 默认值

-3 7.27699 主机 cephnode01

0 硬盘 3.63899 osd.0 向上 1.00000 1.00000

1 硬盘 3.63899 osd.1 向上 1.00000 1.00000

-5 7.27699 主机 cephnode02

2 硬盘 3.63899 osd.2 向上 1.00000 1.00000

3 硬盘 3.63899 osd.3 向上 1.00000 1.00000

-7 7.27699 主机 cephnode03

4 硬盘 3.63899 osd.4 向上 1.00000 1.00000

5 硬盘 3.63899 osd.5 向上 1.00000 1.00000

每 2.0 秒:ceph -s

2018 年 8 月 14 日星期二09:52:47

集群:

id:     6b28cabd-b94a-4a74-8d9e-00b8c9a61de4

health: HEALTH_WARN

        Reduced data availability: 128 pgs inactive, 128 pgs incomplete

服务:

mon: 5 daemons, quorum 

cephnode01、cephmon01、cephnode02、cephnode03、cephmon03

mgr: cephmds01(active), standbys: cephmon03, cephmon02, cephmon01

mds: cephfs-1/1/1 up  {0=cephmon03=up:active}, 3 up:standby

osd: 6 osds: 6 up, 6 in

数据:

pools:   2 pools, 256 pgs

objects: 279  objects, 1.0 GiB

usage:   8.1 GiB used, 22 TiB / 22 TiB avail

pgs:     50.000% pgs not active

         128 incomplete

         128 active+clean

停电期间

健康:HEALTH_WARN

        Reduced data availability: 128 pgs inactive, 128 pgs incomplete

当我重新启动所有服务器时丢失所有数据并且我必须删除池和 重新创建池

显示以下错误

健康:HEALTH_WARN

        Reduced data availability: 128 pgs inactive, 128 pgs incomplete

当我将 crush map #rule 从 host 更改为 osd 然后 health ok.

但我需要主机。

我使用 blow 命令创建池。

我使用了纠删码。

ceph osd pool create ECtemppool 128 128 erasure default

ceph osd erasure-code-profile set default crush-failure-domain=osd crush-

root=默认 k=4 m=2 --force

rados -p ECtemppool ls

ceph osd 池创建 cephfs_metadata 128

ceph osd 池设置 ECtemppool allow_ec_overwrites true

ceph fs 新 cephfs cephfs_metadata ECtemppool

此致

我想要一个问题: 下面的命令是工作! :

ceph osd 擦除代码配置文件设置 EC 临时池

ceph osd erasure-code-profile set EC-temp-pool ruleset-failure-domain=host k=4 m=2 --力

ceph osd pool create ECtemppool 128 128 erasure EC-temp-pool

ceph osd 池创建 cephfs_metadata 128

ceph osd 池设置 ECtemppool allow_ec_overwrites true

ceph fs 新 cephfs cephfs_metadata ECtemppool