====== Как изменить размер журнала 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