Product SiteDocumentation Site

26.6. Кластер Ceph

PVE позволяет использовать одни и те же физические узлы в кластере как для вычислений (обработка виртуальных машин и контейнеров), так и для реплицированного хранилища.
Ceph — программная объектная отказоустойчивая сеть хранения данных. Она реализует возможность файлового и блочного доступа к данным. Ceph интегрирован в PVE, поэтому запускать и управлять хранилищем Ceph можно непосредственно на узлах гипервизора.
Некоторые преимущества Ceph на PVE:
  • простая настройка и управление через веб-интерфейс и командную строку;
  • тонкое резервирование;
  • поддержка моментальных снимков;
  • самовосстановление;
  • масштабируемость до уровня эксабайт;
  • настройка пулов с различными характеристиками производительности и избыточности;
  • данные реплицируются, что делает их отказоустойчивыми;
  • работает на стандартном оборудовании;
  • нет необходимости в аппаратных RAID-контроллерах;
  • открытый исходный код.
pveceph — инструмент для установки и управления службами Ceph на узлах PVE.
Кластерная система хранения данных Ceph состоит из нескольких демонов:
  • монитор Ceph (ceph-mon) — хранит информацию о состоянии работоспособности кластера, карту всех узлов и правила распределения данных (карту CRUSH). Мониторы также отвечают за управление аутентификацией между демонами и клиентами. Обычно для обеспечения резервирования и высокой доступности требуется не менее трех мониторов;
  • менеджер Ceph (ceph-mgr) — собирает информацию о состоянии со всего кластера. Менеджер Ceph работает вместе с демонами монитора. Он обеспечивает дополнительный мониторинг и взаимодействует с внешними системами мониторинга и управления. Он также включает другие службы. Для обеспечения высокой доступности обычно требуется по крайней мере два менеджера;
  • OSD Ceph (ceph-osd; демон хранилища объектов) — демон, управляющий устройствами хранения объектов, которые представляют собой физические или логические единицы хранения (жесткие диски или разделы). Демон дополнительно отвечает за репликацию данных и перебалансировку в случае добавления или удаления узлов. Демоны Ceph OSD взаимодействуют с демонами монитора и предоставляют им состояние других демонов OSD. OSD являются основными демонами кластера, на которые ложится большая часть нагрузки. Для обеспечения резервирования и высокой доступности обычно требуется не менее трех OSD Ceph;
  • Сервер метаданных Ceph (Metadata Server) — хранит метаданные файловой системы CephFS (блочные устройства Ceph и хранилище объектов Ceph не используют MDS). Разделение метаданных от данных значительно увеличивает производительность кластера. Серверы метаданных Ceph позволяют пользователям файловой системы POSIX выполнять базовые команды (такие как ls, find и т.д.), не создавая огромной нагрузки на кластер хранения Ceph.

26.6.1. Системные требования

Чтобы построить гиперконвергентный кластер PVE + Ceph, необходимо использовать не менее трех (предпочтительно) идентичных серверов для настройки.
Требования к оборудованию для Ceph могут варьироваться в зависимости от размера кластера, ожидаемой нагрузки и других факторов.

Таблица 26.4. Системные требования к оборудованию для Ceph

Процесс
Критерий
Требования
Монитор Ceph
Процессор
2 ядра минимум, 4 рекомендуется
ОЗУ
5ГБ+ (большим/производственным кластерам нужно больше)
Жёсткий диск
100 ГБ на демон, рекомендуется SSD
Сеть
1 Гбит/с (рекомендуется 10+ Гбит/с)
Менеджер Ceph
Процессор
1 ядро
ОЗУ
1 ГБ
OSD Ceph
Процессор
  • 1 ядро минимум, 2 рекомендуется
  • 1 ядро на пропускную способность 200-500 МБ/с
  • 1 ядро на 1000-3000 IOPS
  • SSD OSD, особенно NVMe, выиграют от дополнительных ядер на OSD
ОЗУ
  • 4 ГБ+ на демон (больше – лучше)
  • 1 ГБ на 1 ТБ данных OSD
Жёсткий диск
1 SSD накопитель на демон
Сеть
1 Гбит/с (рекомендуется агрегированная сеть 10+ Гбит/с)
Сервер метаданных Ceph
Процессор
2 ядра
ОЗУ
2 ГБ+ (для производственных кластеров больше)
Жёсткий диск
1 ГБ на демон, рекомендуется SSD
Сеть
1 Гбит/с (рекомендуется 10+ Гбит/с)
Серверу в целом требуется как минимум сумма потребностей демонов, которые он размещает, а также ресурсы для журналов и других компонентов ОС. Следует также учитывать, что потребность сервера в ОЗУ и хранилище будет больше при запуске и при выходе из строя или добавлении компонентов и перебалансировке кластера.
Дополнительные рекомендации:
  • Память: при гиперконвергентной настройке необходимо тщательно контролировать потребление памяти. Помимо прогнозируемого использования памяти ВМ и контейнерами необходимо также учитывать наличие достаточного объема памяти для Ceph;
  • Сеть: Рекомендуется использовать сеть не менее 10 Гбит/с, которая используется исключительно для Ceph. Объем трафика, особенно во время восстановления, будет мешать другим службам в той же сети и может даже сломать стек кластера PVE. Кроме того, необходимо оценить потребность в пропускной способности. Например, один жесткий диск может не заполнить канал 1 Гбит, несколько жестких дисков OSD на узел могут, а современные твердотельные накопители NVMe быстро заполнят 10 Гбит/с. Развертывание сети, способной обеспечить еще большую пропускную способность, гарантирует, что это не станет узким местом. Возможны 25, 40 или даже 100 Гбит/с.
  • Жесткие диски: OSD-диски, намного меньшие одного терабайта, используют значительную часть своей емкости для метаданных, а диски меньше 100 ГБ будут вообще неэффективны. Настоятельно рекомендуется, чтобы SSD были предоставлены как минимум для узлов мониторов Ceph и менеджеров Ceph, а также для пулов метаданных CephFS и пулов индексов Ceph Object Gateway (RGW), даже если жесткие диски должны быть предоставлены для больших объемов данных OSD.
    Помимо типа диска, Ceph лучше всего работает с равномерным по размеру и распределенным количеством дисков на узел. Например, 4 диска по 500 ГБ в каждом узле лучше, чем смешанная установка с одним диском на 1 ТБ и тремя дисками по 250 ГБ.
    Необходимо также сбалансировать количество OSD и емкость одного OSD. Большая емкость позволяет увеличить плотность хранения, но это также означает, что один сбой OSD заставляет Ceph восстанавливать больше данных одновременно.
    Поскольку Ceph обрабатывает избыточность объектов данных и несколько параллельных записей на диски (OSD) самостоятельно, использование RAID-контроллера обычно не улучшает производительность или доступность. Напротив, Ceph разработан для самостоятельной обработки целых дисков, без какой-либо абстракции между ними. RAID-контроллеры не предназначены для рабочей нагрузки Ceph и могут усложнять ситуацию, а иногда даже снижать производительность, поскольку их алгоритмы записи и кеширования могут мешать алгоритмам Ceph.

Примечание

Приведенные выше рекомендации следует рассматривать как приблизительное руководство по выбору оборудования. Поэтому все равно важно адаптировать его к конкретным потребностям. Следует постоянно тестировать свои настройки и следить за работоспособностью и производительностью.