bihactl

bihactl — создать BiHA-кластер в Postgres Pro

Синтаксис

bihactl add [параметры]

bihactl init [параметры]

bihactl status [параметры]

bihactl -V | --version

bihactl -? | --help

Описание

bihactl — это утилита командной строки, которая позволяет создать BiHA-кластер, изменять его состав, а также отслеживать статус и версию кластера. За подробной информацией о решении BiHA обратитесь к главе Встроенная отказоустойчивость (BiHA).

В этом разделе содержится информация о командах утилиты bihactl:

Узел-последователь можно добавить с использованием «‎‎магической» строки, сохранённой после выполнения команды bihactl init, передав в команде bihactl add параметр -s.

Важно

Не рекомендуется выполнять команды bihactl в каталоге PGDATA. Утилита bihactl может создавать файлы biha_init.log и biha_add.log в том каталоге, откуда запускается. Однако для корректного выполнения команд bihactl целевой каталог PGDATA должен быть пустым.

Справка по командной строке #

add #

Синтаксис:

bihactl add [-c | --convert-standby]
            [-D | --pgdata=каталог_данных]
            [-f | --magic-file=файл_с_магической_строкой]
            [-h | --host=адрес_узла]
            [-I | --biha-node-id=id_узла]
            [-l | --use-leader=параметры_подключения]
            [-m | --backup-method=метод_резервирования]
            [-O | --backup-options=параметры_резервирования]
            [-p | --port=порт]
            [-P | --biha-port=порт_biha]
            [-r | --mode=режим_работы_узла]
            [-s | --magic-string=магическая_строка]

Добавляет последователя в инициализированный кластер. При выполнении этой команды создаётся резервная копия лидера с помощью pg_basebackup или pg_probackup. При добавлении узла утилита bihactl удерживает слот репликации, вызывая pg_probackup с параметрами --slot=ИМЯ_СЛОТА, --wal-method=stream, --checkpoint=fast или pg_probackup с параметрами --stream --slot=ИМЯ_СЛОТА, что предотвращает удаление WAL на лидере во время создания резервной копии.

Примечание

Узлы необходимо добавлять по очереди. Не добавляйте новый узел, если создание ранее добавленного узла ещё не завершено и узел находится в состоянии CSTATE_FORMING. В противном случае может возникнуть следующая ошибка:

            WARNING:  aborting backup due to backend exiting before pg_backup_stop was
            called
        

Для выбора утилиты резервного копирования используется параметр -m, а параметры выбранной утилиты можно задать при помощи параметра -O.

Эта команда может принимать следующие параметры:

-c
--convert-standby #

Преобразовывает существующий узел в узел-последователь отказоустойчивого кластера. Узел должен быть репликой узла-лидера до преобразования.

-D каталог_данных
--pgdata=каталог_данных #

Указывает каталог, где будет храниться кластер баз данных.

-f файл_с_магической_строкой
--magic-file=файл_с_магической_строкой #

Использует файл с «‎‎магической» строкой, содержащей закодированные данные, для подключения к узлу-лидеру.

-h адрес_узла
--host=адрес_узла #

Указывает адрес узла для входящих соединений.

-I id_узла
--biha-node-id=id_узла #

Указывает уникальный идентификатор узла.

-l параметры_подключения
--use-leader=параметры_подключения #

Указывает параметры подключения к узлу-лидеру в следующем формате:

host=адрес_узла_лидера port=порт_лидера biha-port=порт_biha_лидера
-m метод_резервирования
--backup-method=метод_резервирования #

Указывает утилиту резервного копирования. Допускаются значения pg_basebackup и pg_probackup. Значение по умолчанию — pg_basebackup. Если не указывать параметр --backup-method, будет использован метод резервного копирования по умолчанию. Утилита pg_basebackup — единственное допустимое значение при добавлении узла-рефери.

-O параметры_резервирования
--backup-options=параметры_резервирования #

Дополнительно указывает параметры pg_basebackup или pg_probackup в зависимости от утилиты резервного копирования, заданной в параметре --backup-method.

-p порт
--port=порт #

Указывает порт узла для входящих соединений. Если порт не указан, он берётся из postgresql.conf или используется значение по умолчанию — 5432.

-P порт_biha
--biha-port=порт_biha #

Указывает порт для обмена служебной информацией между узлами. Если порт не указан, устанавливается значение port + 1.

-r режим_работы_узла
--mode=режим_работы_узла #

Указывает режим работы узла. Допустимы следующие значения:

  • regular — узел может быть как лидером, так и последователем. Это значение по умолчанию.

  • referee — узел только участвует в выборах лидера и не содержит пользовательских баз данных.

  • referee_with_wal — узел участвует в выборах лидера так же, как в режиме referee, и получает все файлы WAL от узла-лидера.

По умолчанию база данных postgres не копируется на узел в режиме referee или referee_with_wal. Чтобы скопировать базу данных postgres на рефери, воспользуйтесь параметром --referee-with-postgres-db.

-R
--referee-with-postgres-db #

Копирует базу данных postgres со всеми объектами на узел-рефери. Этот параметр можно использовать только при добавлении узла в режиме referee или referee_with_wal.

-s магическая_строка
--magic-string=магическая_строка #

Использует «‎‎магическую» строку, содержащую закодированные данные, для подключения к узлу-лидеру.

init #

Синтаксис:

bihactl init [-C | --convert]
             [-D | --pgdata=каталог_данных]
             [-f | --magic-file=файл_с_магической_строкой]
             [-h | --host=адрес_узла]
             [-I | --biha-node-id=id_узла]
             [-M | --minnodes=мин_число_узлов]
             [-N | --nquorum=значение_кворума]
             [-o | --options=параметры_initdb]
             [-p | --port=порт]
             [-P | --biha-port=порт_biha]
             [-S | --use-ssl]
             [-Y | --sync-standbys=число_синхронных_ведомых_серверов]
             [-y | --sync-standbys-min=мин_число_синхронных_ведомых_серверов]

Инициализирует кластер и задаёт узел-лидер. При выполнении этой команды bihactl запускает утилиту initdb. На этом этапе также можно указать необходимые параметры этой утилиты при помощи флага -o.

Эта команда может принимать следующие параметры:

-C
--convert #

Преобразовывает существующий узел в узел-лидер отказоустойчивого кластера.

-D каталог_данных
--pgdata=каталог_данных #

Указывает каталог, где будет храниться кластер баз данных.

-f файл_с_магической_строкой
--magic-file=файл_с_магической_строкой #

Использует файл с «‎‎магической» строкой, содержащей закодированные данные, для подключения к узлу-лидеру.

-h адрес_узла
--host=адрес_узла #

Указывает адрес узла для входящих соединений.

-I id_узла
--biha-node-id=id_узла #

Указывает уникальный идентификатор узла.

-M мин_число_узлов
--minnodes=мин_число_узлов #

Указывает минимальное число работающих узлов, при котором узел-лидер будет доступен для пишущих транзакций. Если параметр не задан, его значение будет равно значению параметра nquorum.

-N значение_кворума
--nquorum=значение_кворума #

Указывает число работающих узлов, участвующих в голосовании по выбору нового лидера. Рекомендуется задавать значение параметра больше половины числа узлов в кластере, чтобы узел-лидер мог быть избран простым большинством голосов. Например, если планируется создать кластер из 5 узлов, рекомендуется задавать значение кворума 3.

-o параметры_initdb
--options=параметры_initdb #

Дополнительно указывает параметры утилиты initdb.

-p порт
--port=порт #

Указывает порт узла для входящих соединений. Если порт не указан, он берётся из postgresql.conf или используется значение по умолчанию — 5432.

-P порт_biha
--biha-port=порт_biha #

Указывает порт для обмена служебной информацией между узлами. Если порт не указан, устанавливается значение port + 1.

-S
--use-ssl #

Включает защищённый режим передачи служебной информации между узлами кластера по протоколу SSL/TLS управляющего канала biha.

-Y число_синхронных_ведомых_серверов
--sync-standbys=число_синхронных_ведомых_серверов #

Указывает число синхронных узлов-последователей для подключения к узлу-лидеру. Рекомендуется задавать значение этого параметра меньше значения параметра --minnodes. За подробной информацией обратитесь к разделу Настройка кворумной синхронной и асинхронной репликации.

-y мин_число_синхронных_ведомых_серверов
--sync-standbys-min=мин_число_синхронных_ведомых_серверов #

Задаёт минимальное число синхронных последователей, которые должны быть доступны, чтобы лидер продолжал работу. Значение должно быть меньше, чем --sync-standbys, и не может быть отрицательным. Если параметр не указан, BiHA-кластер работает в соответствии с ограничениями синхронной репликации по умолчанию, то есть лидер будет оставаться недоступным для операций на запись, пока все последователи не догонят его текущее состояние.

status #

Синтаксис:

bihactl status [-f | --magic-file=файл_с_магической_строкой]
               [-h | --host=адрес_узла]
               [-p | --port=порт]
               [-s | --magic-string=магическая_строка]

Проверяет статус узла и отображает его в представлении biha.status_v. Эта команда может принимать следующие параметры:

-f файл_с_магической_строкой
--magic-file=файл_с_магической_строкой

Использует файл с «‎‎магической» строкой, содержащей закодированные данные, для подключения к узлу-лидеру.

-h адрес_узла
--host=адрес_узла

Указывает адрес узла для входящих соединений.

-p порт
--port=порт

Указывает порт узла для входящих соединений. Если порт не указан, он берётся из postgresql.conf или используется значение по умолчанию — 5432.

-s магическая_строка
--magic-string=магическая_строка

Использует «‎‎магическую» строку, содержащую закодированные данные, для подключения к узлу-лидеру.

-V | --version #

Синтаксис:

bihactl -V
bihactl --version

Выводит текущую версию отказоустойчивого кластера.

-? | --help #

Синтаксис:

bihactl -?
bihactl --help

Выводит справку по параметрам командной строки.

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy