Ладья 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