Задать вопрос
MintTea
@MintTea

Почему ceph игнорирует команды выполнения внеочередного scrub'а?

Неделю назад один из хранящихся в ceph'е объектов сломался, став причиной перехода кластера в статус HEALTH_ERR.
Вывод команды "health detail":
$ ceph health detail
> HEALTH_ERR 1 pgs inconsistent; 1 scrub errors; sortbitwise flag(s) set
> pg 11.1c is active+clean+inconsistent, acting [0,5,3]
> 1 scrub errors
> sortbitwise flag(s) set

Просил ceph починить указанный PG:
$ ceph pg repair 11.1c
> instructing pg 11.1c on osd.0 to repair

Никакого эффекта не дало. Далее по инструкции о ручном исправлении объекта был найден конкретный файл, сверены хэши всех копий, копия со сломанным хэшем была удалена. Теперь нужно, чтобы ceph провел scrub на этой pg. Пробую просить сделать это прямо сейчас, а не по расписанию:
$ ceph pg scrub 11.1c
> instructing pg 11.1c on osd.0 to scrub

Ничего не происходит. Прошу сделать deep scrub:
$ ceph pg deep-scrub 11.1c
> instructing pg 11.1c on osd.0 to deep-scrub

Снова ничего не происходит. Т.е., ceph обещает мне провести scrub, но когда я через несколько часов смотрю статус кластера, там картина не меняется. Статистика по pg тоже не обновляется:
$ ceph pg 11.1c query | grep 'last_scrub_stamp'
> "last_scrub_stamp": "2016-09-22 13:45:04.826451",
> "last_scrub_stamp": "2016-09-22 13:45:04.826451",
> "last_scrub_stamp": "2016-09-22 13:45:04.826451",
> "last_scrub_stamp": "2016-09-22 13:45:04.826451",
> "last_scrub_stamp": "2016-09-22 13:45:04.826451",
> "last_scrub_stamp": "2016-09-22 13:45:04.826451",

Насколько я понимаю, мне нужно ждать, пока ceph соизволит проверить эту pg по расписанию?
Почему он меня игнорирует?
  • Вопрос задан
  • 855 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
@morfair
Попробуй остановить оба OSD и скопировать правильный файл на тот OSD, с которого удалил, затем запускай.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы