Отметим: когда виртуальные машины на 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 шагов
- Установите Ceph на все ноды через Proxmox GUI.
- Создайте MON и MGR на всех нодах.
- Добавьте OSD с выделенным WAL/DB на NVMe для максимальной производительности.
- Создайте RBD-пул с автоскейлингом PG и репликацией 3.
- Подключите пул к 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.







