bihactl
bihactl — создать BiHA-кластер в Postgres Pro
Синтаксис
bihactl
add
[параметры
]
bihactl
init
[параметры
]
bihactl
status
[параметры
]
bihactl
-V | --version
bihactl
-? | --help
Описание
bihactl — это утилита, которая позволяет создавать BiHA-кластер в Postgres Pro, а также управлять им и выполнять мониторинг его работы при помощи следующих команд:
bihactl
init — инициализирует кластер и задаёт узел-лидер. При выполнении этой команды bihactl запускает утилиту initdb; на данном этапе также можно указать необходимые параметры этой утилиты при помощи флага-o
.bihactl
add — добавляет узел-последователь к настроенному узлу-лидеру. При выполнении команды создаётся резервная копия узла-лидера при помощи pg_basebackup или pg_probackup. Утилиту резервного копирования можно задать с помощью параметра-m
, а параметры выбранной утилиты можно указать при помощи параметра-O
.bihactl
status — проверяет статус узлов кластера.
Узел-последователь можно добавить с использованием «магической» строки, сохранённой после выполнения команды 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=магическая_строка
]
Добавить узел-последователь в инициализированный кластер. Эта команда может принимать следующие параметры:
-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
, которое является единственным допустимым значением при добавлении узла-рефери.-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 от узла-лидера.
-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=мин_число_синхронных_ведомых_серверов
]
Инициализировать кластер и задать узел-лидер. Эта команда может принимать следующие параметры:
-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=магическая_строка
]
Проверить статус узла. Эта команда может принимать следующие параметры:
-f
файл_с_магической_строкой
--magic-file=
файл_с_магической_строкой
Использует файл с «магической» строкой, содержащей закодированные данные, для подключения к узлу-лидеру.
-h
адрес_узла
--host=
адрес_узла
Указывает адрес узла для входящих соединений.
-p
порт
--port=
порт
Указывает порт узла для входящих соединений. Если порт не указан, он берётся из
postgresql.conf
или используется значение по умолчанию — 5432.-s
магическая_строка
--magic-string=
магическая_строка
Использует «магическую» строку, содержащую закодированные данные, для подключения к узлу-лидеру.
-V | --version #
Синтаксис:
bihactl -V bihactl --version
Вывести текущую версию отказоустойчивого кластера.