Що таке Ceph і навіщо він потрібен у Proxmox VE
Ceph — розподілена програмна система зберігання даних, яка об'єднує локальні диски кількох серверів у єдиний відмовостійкий пул. Proxmox VE інтегрує Ceph прямо у веб-інтерфейс: не потрібно піднімати окремий кластер зберігання, диски налаштовуються просто з панелі вузла.
Головна перевага — спільне сховище без виділеного SAN. Диски VM автоматично реплікуються між вузлами, і при відмові одного сервера машини продовжують працювати з інших копій даних. Це робить Ceph основою для живої міграції та високої доступності у кластері Proxmox VE.
Які вимоги висуваються до вузлів кластера
Ceph розрахований на кластер щонайменше з трьох вузлів — менша кількість не дає кворуму для моніторів і призводить до зупинки пулу при втраті одного сервера. Для продакшену потрібна окрема мережа під трафік Ceph: реплікація і heartbeat створюють високе навантаження, і спільний лінк із трафіком VM швидко стає вузьким місцем.
| Параметр | Мінімум | Рекомендовано |
|---|---|---|
| Вузлів у кластері | 3 | 5 і більше |
| Мережа для Ceph | 1 Гбіт/с | 10 Гбіт/с, окремий VLAN |
| Диски під OSD | SSD | NVMe для журналу і даних |
| Оперативна пам'ять | 4 ГБ на OSD | 8 ГБ на OSD |
Як встановити Ceph на всіх вузлах кластера
Пакети Ceph встановлюються на кожен вузол кластера Proxmox VE окремо, через веб-інтерфейс або консоль. Порядок дій однаковий для всіх серверів.
pveceph install --repository no-subscription
pveceph init --network 10.10.10.0/24
Команда pveceph init задає мережу, якою вузли обмінюватимуться службовим трафіком. Після ініціалізації на першому вузлі інші сервери кластера одразу бачать конфігурацію Ceph.
Як створити монітори, менеджери та OSD
Монітор (MON) зберігає карту кластера і відповідає за кворум, менеджер (MGR) віддає метрики та статистику. Їх потрібно щонайменше по три штуки на різних вузлах:
- Створити монітор на кожному з трьох вузлів через розділ Ceph → Monitor веб-інтерфейсу.
- Додати менеджер на тих самих вузлах через Ceph → Manager.
- Для кожного фізичного диска під дані створити OSD командою
pveceph osd create /dev/sdb.
OSD (Object Storage Daemon) — це процес, який обслуговує один фізичний диск. Чим більше OSD розподілено по вузлах, тим швидше і надійніше працює пул.
Як створити пул RBD і підключити його як сховище
Пул — це логічний простір із заданим рівнем реплікації. Для дисків віртуальних машин використовується тип RBD (RADOS Block Device).
pveceph pool create vm-pool --size 3 --min_size 2
Параметр size 3 означає три копії кожного блока даних на різних OSD, min_size 2 — щонайменше дві доступні копії, за яких пул продовжує приймати запис. Після створення пул автоматично з'являється в розділі Datacenter → Storage і доступний для дисків VM і LXC.
Як перевірити стан кластера і на що звертати увагу
Основна команда діагностики — ceph -s. Статус HEALTH_OK означає, що кластер працює штатно. Статус HEALTH_WARN найчастіше свідчить про деградацію через вимкнений OSD або брак місця, а HEALTH_ERR вимагає негайного втручання.
У веб-інтерфейсі вкладка Ceph → Log показує події моніторів, а розділ Ceph → OSD — стан кожного диска і обсяг зайнятого місця. Якщо один OSD падає регулярно, варто перевірити диск через smartctl і вивести його з пулу, а не чекати повної відмови.
Чек-лист перед введенням Ceph в експлуатацію
- У кластері щонайменше три вузли і три монітори.
- Для трафіку Ceph виділена окрема мережа.
- Створено достатньо OSD для потрібного рівня реплікації.
- Пул створено з
size 3іmin_size 2для продакшену. - Команда
ceph -sпоказуєHEALTH_OK.
Після цього пул Ceph можна використовувати як основне сховище для дисків VM, а для подальшого захисту даних налаштувати резервне копіювання на окремий сервер бекапів.