Ладья OSD после сбоя узла

В моем кластере kubernetes (v1.14.7) после обновления кластера один узел не восстановился правильно. экранное меню ладьи с этого узла не было перенесено (как это объясняется в документации), поэтому я пытаюсь вручную добавить новое экранное меню.

мой ceph status верни это

Вот

и мой ceph osd tree верни это

Вот

Я попытался связать новый OSD с узлом, используя ceph osd crush set osd.0 0.29199 root=default host=gke-dev-dev-110dd9ec-ntww

но он возвращает:Ошибка ENOENT: невозможно установить идентификатор элемента 0, имя 'osd.0', вес 0,29199 в месте {host=gke-dev-dev-110dd9ec-ntww,root=default}: не существует

Вы знаете, как это исправить? заранее спасибо

2 ответа

Вот что я предлагаю, вместо того, чтобы сразу же добавлять новый OSD, исправьте / удалите дефектный, и он должен быть создан заново.

Попробуй это:

1 - выделить osd: ceph osd out osd.0
2 - удалить из карты crush: ceph osd crush remove osd.0
3 - удалить caps: ceph auth del osd.0
4 - удалить osd: ceph osd rm osd.0
5 - удалите развертывание: kubectl delete deployment -n your-cluster-namespace rook-ceph-osd-0
6 - отредактируйте раздел конфигурации вашего идентификатора osd и базового устройства.
      kubectl edit configmap -n your-cluster-namespace rook-ceph-osd-nodename-config
      delete {"/var / lib / rook":x}
7 - перезапустить модуль оператора ладьи, удалив модуль оператора ладьи
8 - проверить состояние вашего кластера: ceph -s; ceph osd дерево

Надеюсь это поможет!

Для пользователя ладьи: https://rook.io/docs/rook/master/ceph-osd-mgmt.html

Блог с объяснениями (中文读者):https://zhuanlan.zhihu.com/p/140486398

Другие вопросы по тегам