gpactivatestandby
Активирует резервный мастер и переводит его в роль основного мастера кластера Greengage DB.
Синтаксис
gpactivatestandby [-d <standby_master_datadir>] [-f] [-a] [-q]
[-l <logfile_directory>]
gpactivatestandby -v
gpactivatestandby -? | -h | --help
Описание
Утилита gpactivatestandby активирует резервный мастер, переводя его в роль основного мастера кластера Greengage DB.
После активации он начинает принимать клиентские подключения на порт мастера.
Перед запуском gpactivatestandby выполните команду gpstate -f, чтобы убедиться, что резервный мастер синхронизирован с основным.
При корректной синхронизации последняя строка вывода gpstate -f будет выглядеть следующим образом:
20251219:06:59:29:000222 gpstate:mdw:gpadmin-[INFO]:--Sync state: sync
При инициализации резервного мастера по умолчанию используется тот же порт, что и у активного мастера. Подробнее о настройке порта резервного мастера см. в gpinitstandby.
Эту утилиту необходимо запускать на мастер-хосте, который вы активируете, а не на хосте вышедшего из строя мастера. Запуск утилиты предполагает, что для системы уже настроен резервный мастер-хост.
Утилита выполняет следующие действия:
-
Останавливает процесс синхронизации (
walreceiver) на резервном мастере. -
Обновляет таблицы системного каталога резервного мастера с использованием журналов транзакций.
-
Активирует резервный мастер, переводя его в роль активного мастера кластера.
-
Перезапускает кластер Greengage DB с новым мастером.
Резервный мастер-хост Greengage DB используется как запасной узел на случай отказа основного мастер-хоста.
Он поддерживается в актуальном состоянии процессами репликации журнала транзакций (walsender и walreceiver), которые работают на основном и резервном мастер-хостах и синхронизируют данные между ними.
При выходе из строя основного мастера процесс репликации журналов завершается, и резервный мастер может быть активирован с помощью утилиты gpactivatestandby.
Во время активации резервного мастера журналы репликации используются для восстановления состояния мастер-хоста Greengage DB на момент последней успешно зафиксированной транзакции.
Для активации нового основного мастер-хоста с помощью gpactivatestandby ранее основной мастер-хост не должен быть запущен.
Утилита проверяет наличие файла postmaster.pid в каталоге данных деактивированного мастер-хоста и, обнаружив его, предполагает, что старый мастер-хост все еще активен.
В некоторых случаях перед запуском gpactivatestandby может потребоваться удалить файл postmaster.pid из каталога данных деактивированного мастер-хоста (например, если процесс старого мастера завершился аварийно).
После активации резервного мастера выполните ANALYZE для обновления статистики запросов базы данных. Например:
$ psql <dbname> -c 'ANALYZE;'
После активации резервного мастера в роли основного мастера в кластере Greengage DB резервный мастер больше не настроен.
Чтобы снова обеспечить отказоустойчивость, вы можете назначить другой хост в качестве нового резервного мастера с помощью утилиты gpinitstandby.
Параметры
- -a
-
Не запрашивает подтверждение у пользователя.
- -d <standby_master_datadir>
-
Абсолютный путь к каталогу данных для мастер-хоста, который вы активируете.
Если этот параметр не указан,
gpactivatestandbyиспользует значение переменной окружения MASTER_DATA_DIRECTORY на мастер-хосте, который вы активируете. Если этот параметр указан, он имеет приоритет надMASTER_DATA_DIRECTORY.Если каталог не может быть определен, утилита возвращает ошибку.
- -f
-
Используйте этот параметр для принудительной активации резервного мастер-хоста. Применяйте этот параметр только в том случае, если вы уверены, что резервный и основной мастера синхронизированы.
- -l <logfile_directory>
-
Каталог для записи лог-файла. По умолчанию ~/gpAdminLogs.
- -q
-
Запуск в режиме без вывода сообщений. Вывод команды не отображается на экране, но все равно записывается в лог-файл.
- -v
-
Отображает версию, статус, дату последнего обновления и контрольную сумму этой утилиты.
- -? | -h | --help
-
Отображает справку.
Примеры
Активировать резервный мастер с переводом его в роль активного мастера кластера Greengage DB (выполняется на резервном мастер-хосте, который активируется):
$ gpactivatestandby -d /data1/master/gpseg-1