====== Как изменить размер журнала OSD в Ceph ====== Изменение объёма журнала для **OSD** в **Ceph** По умолчанию, если собирать **Ceph** из коробки, то команда ''ceph-deploy osd create'' создает раздел ''Ceph Journal'' объемом 5G, что на практике, могу заверить, очень мало. Увеличим это значение. ==== Способ первый ==== Задать значение для журнала можно при создании **OSD**. Например при первоначальной конфигурации или же при добавлении новой **OSD**. Для этого достаточно в конфигурационный файл ''ceph.conf'' добавить строчку: osd_journal_size = 100000 После этого при создании и добавлении **OSD** журнал будет указанного размера. # Start End Size Type Name 1 204802048 2000343694 856.2G unknown ceph data 2 2048 204802047 97.7G unknown ceph journal ==== Способ второй ==== Изменение размера журнала “на лету” на готовом кластере. **Обязательные условия:** - **Ceph** кластер должен быть в состоянии ''HEALTH_OK'' - Все **PGs** (Placement Groups) должны быть в состоянии ''active + clean'' - Установить статус ''ceph osd noout'' для остановки балансировки. - Заранее установить значение ''osd_journal_size = 100000'' в ''ceph.conf'' Итак, все действия выполнены - приступаем. Останавливаем ре-балансировку. ceph osd set noout Останавливаем **OSD** на котором будет производить действия: systemctl stop ceph-osd@0.service Немного подождем и очищаем кэш журнала, '''' - в нашем случае 0: ceph-osd -i --flush-journal Переходим в директорию с журналом и удаляем его: cd /var/lib/ceph/osd/ceph-0/ rm journal После указанных действий создаем новый журнал, '''' - в нашем случае 0: ceph-osd --mkjournal -i Проверим размер нового журнала, он должен соответствовать тому, что мы указали в конфигурационном файле ''ceph.conf'' Запускаем **OSD**: systemctl start ceph-osd@0.service И проверяем используется ли новый журнал. $ sudo ceph --admin-daemon /var/run/ceph/ceph-osd.0.asok config get osd_journal_size { "osd_journal_size": "100000" } Проверим, что кластер восстановился в состояние ''HEALTH_OK'' и **PGs** находятся в статусе ''active+clean'' Проделываем аналогичные действия на других **OSD**. По завершении работ возвращаем балансировку: ceph osd unset noout