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