Важно: Данный раздел актуален для Платформы данных в Публичном облаке и On-Premise.
Под расширением понимается увеличение количества сегмент-хостов в кластере
На данный момент существует несколько ограничений по работе с функционалом расширения кластера.
gpstate
в консоли на мастер узле):num_segments_per_host + 1
сегмент-хостов.Описанное в этом разделе актуально, если до расширения на кластере использовался wal-g
В случае, если на кластере настроен wal-g, а именно:
walg_enable
установлен в true
walg_archive_wal
установлен в true
То сразу после экспанда (ещё до редистрибуции) кластер будет перезагружен для применения настроек архивирования wal-логов на новых сегментах.
Без этой перезагрузки бэкап снятый после экспанда будет невалидным , поэтому произвести её нужно в любом случае.
Для того, чтобы избежать перезагрузки во время экспанда и сохранить возможность корректно работать с wal-g:
walg_enable
в false
и выполните реконфигур - кластер будет перезагруженExpand
по инструкцииwalg_enable
в true
и выполните реконфигур - кластер будет перезагруженРасширение кластера RT.WH возможно в двух режимах - с добавлением новых сегмент-хостов - Expand with new hosts
и без - Expand without new hosts
Первый режим обязателен, если в кластере есть зеркала (по-умолчанию, при установке они есть)
Первый режим позволяет не указывать add_segments_per_host
(т.е. хосты добавятся с тем же числом сегментов, что уже существующие)
В интерфейсе RTCM работы производятся на странице сервиса gp.
mirroring_strategy
(если зеркалирование не используется оставить без изменений)exp_database
add_segments_per_host
exp_segment_datadirs
. Количество директорий должно равняться значению add_segments_per_host
, имена директорий могут повторяться, в т.ч. совпадать с существующимиsegments
сервисов gp
и pxf
.gp
запустить операцию Expand with new hosts
Expand without new hosts
, а п.5 и 7 пропустить).Запустить
.Будьте внимательны - редистрибуция создаёт существенную нагрузку на кластер RT.WH
Если в кластере используется механизм дисковых квот (проверьте вывод в psql команды select diskquota.status(); для каждой базы), перед редистрибуцией деактивируйте его (в каждой базе, где установлены какие-либо лимиты выполните select diskquota.pause();), а после редистрибуции включите обратно (select diskquota.resume();)
В случае, если проверка редистрибуции (п.5) возвращает ошибку EXPANSION STOPPED нужно заново выполнить команду redistribute (п.3)
duration
указать желаемое ограничение длительности редистрибуции в формате hh:mm:ss.
clean_schema
указать, нужно ли чистить сервисную схему после завершение редистрибуции (по-умолчанию да)gp
запустить операцию Redistribute start
.Redistribute check
Redistribute check
будет зелёным, также будет очищена сервисная схема (если clean_schema == true
) и кластер готов к работе.clean_schema
был выключен, нужно вручную почистить сервисную схему командой ниже в БД postgres (для rt.wh 5й версии имя базы указано в параметре exp_database
)drop schema if exists gpexpand cascade;