Хранилище в Managed Service for Apache Kafka®
Managed Service for Apache Kafka® позволяет использовать сетевые и локальные диски для организации хранилища кластеров баз данных. Сетевые диски реализованы на базе сетевых блоков — виртуальных дисков в инфраструктуре Yandex Cloud. Локальные диски физически размещаются в серверах-брокерах.
При создании кластера вы можете выбрать для хранилища следующие типы дисков:
-
Сетевые HDD-диски (
network-hdd
) — самый экономичный вариант для кластеров, не требовательных к скорости записи и чтения. -
Сетевые SSD-диски (
network-ssd
) — компромиссный вариант: медленнее, чем локальные SSD-диски, но, в отличие от них, обеспечивает сохранность данных при выходе из строя оборудования Yandex Cloud. -
Нереплицируемые SSD-диски (
network-ssd-nonreplicated
) — сетевые SSD-диски с повышенной производительностью, реализованной за счет устранения избыточности.Объем такого хранилища можно увеличивать только с шагом 93 ГБ.
-
Локальные SSD-диски (
local-ssd
) — самые быстрые диски.Объем такого хранилища можно увеличивать:
-
для платформы Intel Cascade Lake — только с шагом 100 ГБ;
-
для платформы Intel Ice Lake — только с шагом 368 ГБ.
Примечание
Для кластеров, хосты которых располагаются в зоне доступности
ru-central1-d
, недоступно хранилище на локальных SSD-дисках при использовании платформы Intel Cascade Lake. -
Выбор типа диска при создании кластера
Количество хостов-брокеров, которые можно создать вместе с кластером Apache Kafka®, зависит от выбранного типа диска:
-
При использовании локальных SSD-дисков (
local-ssd
) или нереплицируемых SSD-дисков (network-ssd-nonreplicated
) вы можете создать кластер из трех или более хостов-брокеров.Такой кластер будет отказоустойчивым, только если выполнены все условия отказоустойчивости.
-
При использовании сетевых HDD-дисков (
network-hdd
) или сетевых SSD-дисков (network-ssd
) вы можете добавить любое количество хостов-брокеров в пределах текущей квоты.
Подробнее об ограничениях на количество хостов-брокеров в кластере см. в разделе Квоты и лимиты.
Минимальный размер хранилища
Для работы каждого топика необходимо место в хранилище хостов-брокеров. Размер этого места зависит от фактора репликации и количества разделов. Если свободного места в хранилище меньше, создать новый топик невозможно.
Минимальный размер хранилища для всех топиков рассчитывается по формуле:
2 × максимальный размер сегмента логов × количество разделов в кластере × фактор репликации
.
Если разделы топиков распределены равномерно, для получения нужного размера хранилища разделите рассчитанное по формуле значение на число хостов-брокеров.
Максимальный размер сегмента логов
Для каждой реплики раздела топика необходимо как минимум два сегмента логов. Максимальный размер такого сегмента может быть определен:
- на уровне топика — настройкой Segment bytes;
- глобально на уровне кластера — настройкой Log segment bytes.
Таким образом, минимальный размер хранилища для всех топиков составляет: 2 × максимальный размер сегмента логов × количество разделов в кластере × фактор репликации
. Если разделы кластера распределены равномерно, получившуюся сумму можно поделить на количество брокеров, чтобы определить требуемый размер хранилища для одного брокера.
По умолчанию размер сегмента равен 1 ГБ.
Управление дисковым пространством
Когда доля логов Apache Kafka® достигает 97% от объема хранилища, хост автоматически переходит в режим read-only. Кластер Managed Service for Apache Kafka® блокирует запросы на запись в топик.
Вы можете отслеживать степень заполнения хранилища на хостах кластера, настроив алерты в Yandex Monitoring.
Вывод кластера из режима read-only
Воспользуйтесь одним из способов:
- Увеличьте размер хранилища, чтобы выйти за пороговое значение. Тогда кластер Managed Service for Apache Kafka® снимет режим read-only автоматически.
- Настройте автоматическое увеличение размера хранилища.
Автоматическое увеличение размера хранилища
Автоматическое увеличение размера хранилища позволяет избежать ситуаций, когда свободное место на диске закончилось и хост перешел в режим read-only. Хранилище увеличивается, когда достигнут установленный порог срабатывания — процент от общего объема хранилища. Есть два порога:
- Порог для планового увеличения. Когда он достигнут, объем хранилища увеличивается во время ближайшего окна обслуживания.
- Порог для незамедлительного увеличения. Когда он достигнут, объем хранилища увеличивается немедленно.
Можно использовать один либо оба порога. Если заданы оба, порог для незамедлительного увеличения должен быть выше, чем для планового.
Если заданный порог достигнут, размер хранилища увеличивается по-разному в зависимости от типа диска:
-
Для сетевых HDD- и SSD-дисков — на большее из двух значений: 20 ГБ или 20% от текущего размера диска.
-
Для нереплицируемых SSD-дисков — на 93 ГБ.
-
Для локальных SSD-дисков, в кластере на платформе:
- Intel Cascade Lake — на 100 ГБ.
- Intel Ice Lake — на 368 ГБ.
Если порог срабатывания достигнут повторно, размер хранилища будет автоматически увеличиваться, пока не достигнет заданного максимума. После этого вы можете задать новый максимальный размер хранилища вручную.
Настроить автоматическое увеличение размера хранилища можно при создании или изменении кластера. Если настроен порог для планового увеличения, настройте расписание окна обслуживания.
Важно
- Размер хранилища нельзя уменьшить.
- Во время изменения размера хранилища хосты кластера будут недоступны.