Proxmox Ceph: налаштування розподіленого сховища

Коли віртуальні машини на Proxmox починають гальмувати через дискове введення-виведення, а в логах Ceph — постійні помилки, це не проблема самого Ceph, а його конфігурації. Ми налаштовуємо Proxmox Ceph Storage під ключ — від аудиту до впровадження та подальшої підтримки. Наша команда експертів забезпечує стабільну роботу розподіленого сховища, яке масштабується разом із вашим бізнесом.
Часті запитання

Зауважимо: коли віртуальні машини на Proxmox починають гальмувати через дисковий введення-виведення, а в логах Ceph — постійні degraded PG, це проблема не самого Ceph. Це проблема його конфігурації. Багато адміністраторів намагаються зібрати розподілене сховище на трьох серверах з одним гігабітним лінком і дешевими HDD — і дивуються, що кластер розсипається при відмові диска. Наша команда за 10 років впровадження Ceph у продакшені бачила десятки таких випадків. Ми розповімо, як налаштувати Ceph у Proxmox VE так, щоб він працював стабільно і швидко. Компанія на ринку з 2014 року, має 10+ років досвіду з Ceph, виконала понад 50 проєктів. Працюємо під ключ: від аудиту до моніторингу. Оцінимо ваш проект — просто зв'яжіться з нами. Гарантія на роботи — 12 місяців, сертифіковані інженери. Наприклад, заміна традиційного SAN на Ceph дозволяє економити від 5000 євро на рік на ліцензіях та обладнанні. Ceph із потрійною реплікацією надійніший за RAID10 у 3 рази. На NVMe продуктивність Ceph у 5 разів вища, ніж на SATA SSD.

Ми спеціалізуємося на proxmox ceph налаштуванні та ceph distributed storage для Proxmox VE кластерів. Створюємо rbd пул proxmox та cephfs proxmox. Використовуємо ceph osd bluestore для максимальної швидкості. Налаштовуємо ceph моніторинг prometheus. Наше рішення забезпечує відмовостійкість ceph та надійну ceph реплікацію. Ми пропонуємо налаштування ceph proxmox під ключ.

Офіційна документація Ceph: для production-кластерів рекомендується використовувати мережу 25 Гбіт/с і вище.

Як правильно спланувати мережу та диски для Ceph?

Ceph потребує двох мереж: public (клієнтський трафік від ВМ до Ceph) та cluster (реплікація між OSD). Змішувати їх на одному інтерфейсі — означає отримувати конкуренцію між IO від ВМ і трафіком реплікації в момент навантаження. Для великих кластерів доцільно також оптимізувати CRUSH-карту, щоб розподіляти дані між стійками та зонами доступності.

Мінімальна конфігурація для продакшену:

  • 3 ноди Proxmox, кожна з 10G NIC для public-мережі та окремим 10G або 25G для cluster-мережі
  • Виділені NVMe/SSD для OSD — не системні диски. NVMe дають до 500 000 IOPS на OSD.
  • Окремий SSD для Ceph WAL/DB (Write-Ahead Log та метадані), якщо використовуємо bluestore з BlueStore DB

Без виділеного диска для WAL/DB Ceph складає WAL прямо на OSD. Працює, але повільніше. Для SATA SSD — WAL на NVMe прискорює запис у 2-3 рази. Bluestore швидше застарілого filestore у 3 рази на випадковому записі та займає менше місця.

Встановлення Ceph та створення OSD

Спочатку — Proxmox host → Ceph → Install Ceph. Вибираємо версію (Quincy або Reef — актуальні стабільні), вказуємо public та cluster network. Після встановлення на всіх нодах створюємо MON та MGR. MON мають бути на непарній кількості нод (3 або 5) — для кворуму. На 3-нодовому кластері кворум = 2 MON. При відмові однієї ноди кластер продовжує працювати.

pveceph mon create pveceph mgr create 

Додавання OSD:

pveceph osd create /dev/nvme1n1 --wal-dev /dev/nvme0n1 --db-dev /dev/nvme0n1 pveceph osd create /dev/sdb 

При створенні через GUI вибираємо диск та опціонально WAL/DB пристрій. OSD автоматично форматується в bluestore.

Налаштування сховищ: RBD пули та CephFS

Створюємо пул для RBD:

pveceph pool create vm-data --pg_autoscale_mode on --size 3 --min_size 2 

size=3 — три репліки, що забезпечують відмовостійкість Ceph. pg_autoscale_mode=on — Ceph сам керує кількістю PG. Для великих даних можна використовувати erasure coding, що дає економію простору до 50%.

Призначаємо пул як датастор Proxmox. Через GUI або CLI:

pvesm add rbd vm-ceph --pool vm-data --monhost '192.168.20.1,192.168.20.2,192.168.20.3' --keyring /etc/pve/priv/ceph.client.admin.keyring 

CephFS для ISO та шаблонів:

pveceph mds create
pveceph fs create --name cephfs --pg_num 64
pvesm add cephfs iso-cephfs --path /mnt/pve/iso-cephfs --content iso,vztmpl

Як уникнути деградації продуктивності?

Проблеми часто виникають при використанні snapshot. Для продакшен-баз даних відключайте снапшоти на рівні Ceph та робіть їх через агента всередині ВМ. Також слідкуйте за станом мережі — затримка між нодами не повинна перевищувати 0.5 мс, оптимально — менше 0.1 мс. Clock skew не більше 500 мс, інакше MON втрачають кворум.

Для досягнення максимальної продуктивності необхідно враховувати wide striping даних, оптимізацію CRUSH map за допомогою ваг OSD та правильне налаштування scrub scheduling і backfill throttle. Також важливо моніторити latency OSD через мережу та використовувати QoS для клієнтського трафіку.

Моніторинг та усунення типових проблем

ceph status ceph health detail ceph osd tree ceph osd df ceph iostat 2 ceph pg ls-by-state degraded 

Стани PG, що потребують уваги: degraded, undersized, inconsistent. Запуск scrub для відновлення консистентності:

ceph pg deep-scrub <pgid> ceph osd pool scrub vm-data 

Prometheus-метрики доступні через Ceph MGR модуль (порт 9283). Використовуйте дашборди Grafana з ID 2842 та 5336.

Чому OSD довго стартує після перезавантаження? Це нормально — bluestore виконує replay WAL. Якщо OSD не піднявся за 5 хвилин — дивимось `journalctl -u ceph-osd@`.
Що робити при clock skew? Перевірте синхронізацію часу ntpd/chrony. Максимально допустимий skew для Ceph — 500ms, інакше MON не може досягти кворуму.
Запис ВМ деградує в моменти snapshot Це CoW-overhead від RBD snapshot. Для продакшен-баз даних або відключаємо снапшоти на Ceph-рівні та робимо їх через агента всередині ВМ, або використовуємо `rbd trash` замість стандартних снапшотів.

Порівняння конфігурацій

Компонент Мінімальна Рекомендована Production
Мережа public 1 GbE 10 GbE 25 GbE
Мережа cluster 1 GbE 10 GbE 25 GbE
Диски OSD SATA SSD NVMe NVMe з окремим WAL
Кількість нод 1 3 5+

Як налаштувати Ceph за 5 кроків

  1. Встановіть Ceph на всі ноди через Proxmox GUI.
  2. Створіть MON та MGR на всіх нодах.
  3. Додайте OSD з виділеним WAL/DB на NVMe для максимальної продуктивності.
  4. Створіть RBD-пул з автоскейлінгом PG та реплікацією 3.
  5. Підключіть пул до Proxmox як датастор та налаштуйте моніторинг.

Пропозиція: обсяг робіт та строки

Що входить в роботу

  • Аудит поточної інфраструктури та мережі
  • Проектування кластера Ceph (схема мереж, підбір дисків)
  • Встановлення та налаштування Proxmox VE та Ceph
  • Створення пулів RBD та CephFS
  • Налаштування моніторингу (Prometheus + Grafana)
  • Документація та навчання персоналу
  • Гарантійна підтримка 12 місяців

Строки:

Сценарій Час
3 ноди, базовий RBD пул 3 дні
+CephFS, моніторинг, дашборди 4-5 днів
5+ нод з розділеними мережами та tuning 5-7 днів

Вартість розраховується індивідуально після аудиту інфраструктури. Типовий бюджет на кластер з 3 нод — від 3000 євро. Економія на ліцензіях та обладнанні досягає 60% порівняно з традиційними SAN. Досвід наших інженерів — 10+ років, виконано понад 50 проєктів. Зв'яжіться з нами для попередньої оцінки.

Наші компетенції:

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1542
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1394
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1369
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    816
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1142