Добавление OSD. Удаление OSD.
Вы должны помнить, что с каждым физическим диском в кластере ceph будет связан свой отдельный демон OSD.
Добавлять диск, а следовательно и OSD, можно как в существующую ноду, которая уже в кластере, так и новую ноду. Кратко напомню, что новую ноду OSD (без монитора демона) вы легко добавите в кластер после Приготовительных процедур, разметки нового диска из раздела OSD (object storage daemon) и команд (ceph6 - имя_ноды_OSD_без_функций_монитора для примера)
ceph-deploy install --release firefly ceph6
ceph-deploy --overwrite-conf osd prepare ceph6:/mnt/disk1/
ceph-deploy --overwrite-conf osd activate ceph6:/mnt/disk1/
Две команды prepare и activate можно заменить на одну команду create. Если дисков несколько, то для каждого нужно повторить команды. Не забудьте отразить ваши изменения в файле /my-cluster/ceph.conf и растиражировать новый конф среди нод кластера.
Команда ceph osd tree
должна показать, что ваша новая нода ceph6 и osd на ней видны в картах кластера.
Основная статья ADDING/REMOVING OSDS
Основная статья TROUBLESHOOTING OSDS
Основная статья OPERATING A CLUSTER
К сожалению, пока ceph-deploy не поможет вам с удалением OSD и нужно удалить вручную упоминание об OSD в картах.
Представим, что мы удаляем диски из кластера, которые обладают именами osd.7 и osd.8 (для примера). Подверьтесь командой ceph osd tree. Если наши диски "не сломались" в одночасье, а писали нам отчёты SMART о своём плохом поведении, то мы решили удалить их из кластера заранее, чтобы потом добавить новые, работоспособные диски.
Находясь на админской ноде и в каталоге /my-cluster, командуем данным убраться с дисков в формате ceph osd out {osd-число}
ceph osd out 7
ceph osd out 8
Командуем ceph -w
и смотрим, что ceph начал делать балансировку данных. Когда он закончит и кластер станет active+clean, то это будет означать, что данные мигрировали на другие OSD.
На той ноде, где физически находятся наши удаляемые диски 7 и 8, нужно остановить демонов OSD. Если у вас система инициализации Upstart, то
sudo /etc/init.d/ceph stop osd.7
sudo /etc/init.d/ceph stop osd.8
Всех демонов OSD можно остановить командой sudo stop ceph-osd-all
Удаляем из CRUSH в формате ceph osd crush remove {name}
ceph osd crush remove osd.7
ceph osd crush remove osd.8
Удаляем аутентификационные ключи в формате ceph auth del osd.{osd-число}
ceph auth del osd.7
ceph auth del osd.8
Удаляем OSD в формате ceph osd rm {osd-число}
ceph osd rm 7
ceph osd rm 8
Поправьте конфигурационный файл, отобразив изменения, и растиражируйте новый конф среди нод кластера.
Команды ceph -w
и ceph osd tree
должны отображать актуальное состояние без ваших удалённых OSD.