Ceph¶
TL;DR¶
Программно-определяемое распределённое хранилище. Даёт block (RBD), object (S3/Swift) и file (CephFS) storage из одного кластера.
- OSD (Object Storage Daemon) — хранит данные на дисках
- MON (Monitor) — следит за состоянием кластера, хранит карту
- MGR (Manager) — метрики, дашборд, балансировка
- MDS (Metadata Server) — только для CephFS
Пакеты и пути¶
- Пакеты:
ceph,ceph-radosgw - Сервис:
ceph.service - Конфиг:
/etc/ceph/ceph.conf - Логи:
/var/log/ceph/* - Keyring:
/etc/ceph/ceph.client.admin.keyring
Команды¶
Статус кластера¶
Общее состояние. HEALTH_OK / HEALTH_WARN / HEALTH_ERR. Дерево OSD — какие диски на каких хостах, статус up/down. Использование места в кластере и по пулам.Пулы¶
Список пулов. Создать пул с 128 PG (placement groups). Установить репликацию x3.RBD (block storage)¶
Создать блочный образ 10 ГБ. Подключить как /dev/rbdX. Список образов / информация.Сервисы¶
Список сервисов и процессов (cephadm). Перезапустить конкретный демон.Проверка¶
Быстрая проверка — HEALTH_OK значит всё ок. Сколько OSD всего / up / in. Состояние placement groups.Подводные камни¶
- Минимум 3 MON для кворума
- PG count влияет на производительность — слишком мало или много = проблемы
- При падении OSD данные ребалансируются — нагрузка на сеть
ceph osd pool deleteтребует подтверждения дважды (защита от случайного удаления)