# Ceph в Proxmox VE: кластер распределённого хранения

> Как развернуть Ceph в Proxmox VE: требования к узлам, установка мониторов и OSD, создание пула RBD и проверка состояния кластера.

## Что такое Ceph и зачем он нужен в Proxmox VE

Ceph — распределённая программная система хранения данных, которая объединяет локальные диски нескольких серверов в единый отказоустойчивый пул. Proxmox VE интегрирует Ceph напрямую в веб-интерфейс: не нужно поднимать отдельный кластер хранения, диски настраиваются прямо из панели узла.

Главное преимущество — общее хранилище без выделенного SAN. Диски VM автоматически реплицируются между узлами, и при отказе одного сервера машины продолжают работать с других копий данных. Это делает Ceph основой для [живой миграции](https://www.zevshost.net/ru/kb/proxmox-migration-live/) и высокой доступности в [кластере Proxmox VE](https://www.zevshost.net/ru/kb/proxmox-cluster-nastroika/).

## Какие требования предъявляются к узлам кластера

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, а для дальнейшей защиты данных настроить [резервное копирование](https://www.zevshost.net/ru/kb/proxmox-backup-server/) на отдельный сервер бэкапов.

---

Источник: https://www.zevshost.net/ru/kb/proxmox-ceph-klaster/
