Настройка Proxmox Ceph Storage для распределённого хранилища

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

Отметим: когда виртуальные машины на Proxmox начинают тормозить из-за дискового ввода-вывода, а в логах Ceph — постоянные degraded PG, это не проблема самого Ceph. Это проблема его конфигурации. Многие администраторы пытаются собрать распределённое хранилище на трёх серверах с одним гигабитным линком и дешёвыми HDD — и удивляются, что кластер сыпется при отказе диска. Наша команда за 7 лет внедрения Ceph в продакшене видела десятки таких случаев. Мы расскажем, как настроить Ceph в Proxmox VE так, чтобы он работал стабильно и быстро. Работаем под ключ: от аудита до мониторинга. Оценим ваш проект — просто свяжитесь с нами. Гарантия на работы — 12 месяцев, сертифицированные инженеры.

Официальная документация Ceph: для production-кластеров рекомендуется использовать сеть 25 Гбит/с и выше.

Планирование: сеть и диски

Ceph требует двух сетей: public (клиентский трафик от ВМ к Ceph) и cluster (репликация между OSD). Смешивать их на одном интерфейсе — значит получать конкуренцию между IO от ВМ и трафиком репликации в момент нагрузки.

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

  • 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 через Proxmox GUI

Datacenter → Storage → не идём туда сразу. Сначала — Proxmox host → Ceph → Install Ceph.

Выбираем версию (Quincy или Reef — актуальные стабильные), указываем public и cluster network. После установки на всех нодах создаём MON и MGR. MON должны быть на нечётном числе нод (3 или 5) — для кворума. На 3-нодовом кластере кворум = 2 MON. При отказе одной ноды кластер продолжает работать.

# Через CLI (то же что делает GUI) pveceph mon create pveceph mgr create 

Создание OSD

# Создание OSD с выделенным WAL/DB
pveceph osd create /dev/nvme1n1 --wal-dev /dev/nvme0n1 --db-dev /dev/nvme0n1
# Если без выделенного устройства
pveceph osd create /dev/sdb

При создании через GUI выбираем диск и опционально WAL/DB устройство. OSD автоматически форматируется в bluestore. Bluestore — обязательный выбор. filestore устарел и не поддерживается в новых версиях.

Пулы и настройка репликации

После создания OSD создаём пул для RBD (блочные диски ВМ):

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

size=3 — три реплики. min_size=2 — минимум 2 реплики для записи. На трёх нодах это максимально разумная конфигурация. pg_autoscale_mode=on — Ceph сам управляет количеством PG.

Назначаем пул как датастор Proxmox. Через GUI: Datacenter → Storage → Add → RBD. Или через 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 и шаблонов

RBD — для дисков ВМ. CephFS — для ISO-образов, шаблонов контейнеров, shared storage между нодами. Создаём MDS (MetaData Server) — обязателен для CephFS. На второй ноде — резервный MDS (standby). Создаём файловую систему:

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 теряют кворум.

Мониторинг и диагностика

# Общий статус, OSD, производительность, проблемные PG
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 модуль (включите ceph mgr module enable prometheus, метрики на порту 9283). В Proxmox используйте дашборды Grafana с ID 2842 и 5336.

Сравнение конфигураций

Компонент Минимальная Рекомендуемая 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 как датастор и настройте мониторинг.

Типичные проблемы

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

Что входит в работу

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

Сроки

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

Стоимость рассчитывается индивидуально после аудита инфраструктуры. Опыт наших инженеров — 10+ лет, выполнено более 50 проектов. Свяжитесь с нами для предварительной оценки. Переход на Ceph снижает стоимость хранения на 60% по сравнению с SAN.

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

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1542
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1393
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1368
  • Разработка логотипа компании B2B Advance
    Разработка логотипа компании B2B Advance
    815
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1139