Проверим, чтобы ваш кластер был в рабочем состоянии, выполнив команду и должны получить HEALTH_OK
1 |
ceph -s |
Будем следовать следующему алгоритму для обновления OSD:
- удаляем OSD из текущего кластера
- ожидаем завершения восстановления данных
- конвертируем OSD в BlueStore
- добавляем назад в кластер
- ожидаем завершение восстановления данных и получения сообщения о статусе HEALTH_OK
- повторяем для последующих OSD
В данном примере мы удаляем osd.2 который расположен на диске /dev/sdd в нашем узле OSD выполнив следующие шаги:
узнать на каком жестком диске у вас размещен тот или иной osd возможно через команду mount -l
Проверим дерево, и найдем наш osd в нем
1 |
ceph osd tree |
Помечаем osd.2 перед удалением
1 |
ceph osd out 2 |
1 2 |
systemctl stop ceph-osd@2 umount /dev/sdd1 |
Сейчас удалим наш OSD, который помечен как down:
1 |
ceph osd crush remove osd.2 |
затем
1 |
ceph auth del osd.2 |
и еще
1 |
ceph osd rm osd.2 |
смотрим статус кластера ceph -s
а также как сейчас выглядит дерево OSD
1 |
ceph osd tree |
Из дерева OSD нужный нам удален, кластер начал процедуру ребилда, теперь необходимо дождаться ее завершения и продолжим далее конвертировать и добавлять OSD уже как BlueStore в кластер.
Начинаем конвертировать и добавлять назад наш OSD
И последнее, возвращаем назад в кластер наш OSD
1 |
ceph-disk activate /dev/sdd1 |
OSD добавлен и теперь снова начался процесс перестроение кластера — ceph -s покажет наш процесс.