Хранилище в 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 ГБ.
Размер хранилища будет автоматически увеличиваться при повторных срабатываниях, пока не достигнет заданного максимума. После этого вы можете задать новый максимальный размер хранилища вручную.
Настроить автоматическое увеличение размера хранилища можно:
Если настроено увеличение хранилища в окно обслуживания, настройте расписание окна обслуживания.