Назад | Перейти на главную страницу

Ceph - Пулы Erasure Coded Pools - Всегда получать неактивные страницы

Я пытаюсь добиться того же, что и raid6 на ceph.

Но когда я создаю пулы с стираемым кодом (k = 3 + m = 2 (или k = 4)), я всегда получаю неактивные страницы.

Детали здоровья ceph:

HEALTH_WARN Reduced data availability: 128 pgs inactive
PG_AVAILABILITY Reduced data availability: 128 pgs inactive
    pg 11.a is stuck inactive for 107.974251, current state unknown, last acting []
    pg 11.b is stuck inactive for 107.974251, current state unknown, last acting []
    pg 11.c is stuck inactive for 107.974251, current state unknown, last acting []
    pg 11.d is stuck inactive for 107.974251, current state unknown, last acting []
    pg 11.e is stuck inactive for 107.974251, current state unknown, last acting []
    pg 11.f is stuck inactive for 107.974251, current state unknown, last acting []
    pg 11.20 is stuck inactive for 107.974251, current state unknown, last acting []

Профиль ЕС:

crush-device-class=
crush-failure-domain=rack
crush-root=default
jerasure-per-chunk-alignment=false
k=4
m=2
plugin=jerasure
technique=reed_sol_van
w=8

также пробовал с k = 3, то же самое происходит

Правило раздавливания (для k = 4):

{
    "rule_id": 1,
    "rule_name": "r6pool",
    "ruleset": 1,
    "type": 3,
    "min_size": 3,
    "max_size": 6,
    "steps": [
        {
            "op": "set_chooseleaf_tries",
            "num": 5
        },
        {
            "op": "set_choose_tries",
            "num": 100
        },
        {
            "op": "take",
            "item": -1,
            "item_name": "default"
        },
        {
            "op": "chooseleaf_indep",
            "num": 0,
            "type": "rack"
        },
        {
            "op": "emit"
        }
    ]
}

Поскольку все в порядке. Если не использовать пулы EC, я почти уверен, что чего-то не понимаю, но я не могу исправить свою ошибку.

Чтобы получить эту ошибку на полностью исправном кластере OSD 8, я просто делаю:

ceph osd erasure-code-profile set raid6 k=3 m=2
ceph osd pool create r6pool 128 128 erasure raid6

и ceph -s показывает это:

ceph -s
  cluster:
    id:     7635eaf1-df47-4bed-9cef-a3152cb4fa5f
    health: HEALTH_WARN
            Reduced data availability: 128 pgs inactive

  services:
    mon: 3 daemons, quorum CephMon1,CephMon3,CephMon2
    mgr: CephClient(active)
    osd: 9 osds: 8 up, 8 in

  data:
    pools:   2 pools, 256 pgs
    objects: 0 objects, 0B
    usage:   8.13GiB used, 31.8GiB / 40.0GiB avail
    pgs:     50.000% pgs unknown
             128 active+clean
             128 unknown

Буду очень признателен за любую помощь. Спасибо.

Ну и:

crush-failure-domain=osd

решил загадку