Инструкция по настройке свидетеля реплицируемых контроллеров
Настройки хранятся в файле /etc/default/controller-veil-witness.
При ручном изменении настроек необходимо вручную перезапустить службу командой
Файл состоит из двух секций:
Содержит обязательные параметры. Изначально эти параметры можно заполнить интерактивно в процессе установки пакета, если имеется терминал и в системе установлен любой из пакетов whiptail или dialog. Если заданы все обязательные параметры, служба автоматически запускается.
Если не все обязательные параметры заданы, или если пакет устанавливается в неинтерактивной среде, служба не запускается. В таком случае следует заполнить конфигурационный файл, разрешить автозапуск и запустить сервис controller-veil-witness.service
вручную.
Параметры | Описание |
---|---|
server1 | Обязательный параметр. IP адрес (или доменное имя) первого сервера. Возможно указать также порт через двоеточие (host:port). Если порт не задан, по умолчанию принимается порт 22. |
server2 | Аналогичнодля второго сервера. |
username | Имя пользователя в случае, если оно совпадает для обоих серверов. Этот пользователь ДОЛЖЕН иметь права запрашивать статус репликации и изменять роли серверов при помощи команды на обоих контроллерах /usr/local/sbin/veil-controller |
username1 | Имя пользователя для подключения по SSH к первому серверу. Этот пользователь доллжен иметь права запрашивать статус репликации и изменять роли серверов при помощи команды на первом контроллере /usr/local/sbin/veil-controller |
username2 | Аналогично для второго сервера. |
password | Пароль для подключения к обоим серверам в случае, если пароли для них совпадают. Следует пропустить при аутентификации по ключу. |
password1 | Пароль для первого сервера. Следует пропустить при аутентификации по ключу. |
password2 | Аналогично для второго сервера. |
pkey | Файл с расширением .pem, содержащий приватный RSA ключ, в случае, если один ключ действителен на обоих серверах. Файл создаётся и скачивается через Web-интерфейс VeiL (Безопасность/Ключи шифрования/Сгенерировать ключ). После создания ключ должен быть подключён к соответствующим серверам. Параметр следует пропустить при аутентификации по паролю. |
pkey1 | Аналогично только для первого сервера, если ключи различны. |
pkey2 | Анлогично для второго сервера. |
id | Уникальный идентификатор экземпляра программы. Создаётся автоматически при установке пакета, поэтому нет нужды создавать или редактировать его вручную. Если всё же нужно изменить id, следует учесть, что идентификатор не может быть длиннее 50 символов, а также должен состоять только из символов из набора "0-9a-zA-Z-_". |
Содержит необязательные дополнительные параметры. В случае отсутствия параметров или секции в целом (секция не создаётся при установке пакета, при необходимости нужно добавить её и нужные параметры вручную) используются значения по умолчанию.
Параметры | Описание | По умолчанию |
---|---|---|
loop_timeout | Интервал в секундах между запросами состояния каждого сервера. | 10 |
ssh_loop_timeout | Таймаут в секундах ожидания процессами соединения SSH команд от управляющего процесса. | 240 |
status_timeout | Таймаут в секундах ожидания ответа команды состояния сервера. | 30 |
set_master_timeout | Таймаут в секундах ожидания ответа команды установки роли "мастер". | 180 |
no_comm_mute | Число последовательных неудачных попыток (пере)соединения к серверам, после которого попытки будут продолжаться без записи в журнал. | 10 |
reports_period | Интервал в секундах между периодическими сообщениями в журнал о состоянии серверов. | 3600 (1 час) |
confirm_2similar_timeout | Таймаут в секундах для принятия решения по ситуации "2 одинаковых роли" на случай, если статус сервера запрошен в момент переключения ролей через CLI, когда возможен одинаковый ответ от обоих серверов. | 30 |
master_failure_duration | Таймаут в секундах до переключения слейва на мастер, если один сервер - слейв, а второй недоступен (таймаут, чтобы дать возможность мастеру стать доступным). | 30 |
switch_flag | Путь к файлу, вызывающему при появлении принудительное переключение ролей серверов. Файл должен создаваться с правами доступа, допускающими его удаление сервисом controller-veil-witness. | /tmp/veil-switch |
Пример конфигурации
- server1=example.veil.mylab.org:2222
- server2=example.veil.mylab.org
- username1=root
- password1=MySecPass
- pkey1=
- username2=root
- pkey2=/home/user/key_key2.pem
- id=768f026b-a911-4910-835b-c9f7eedb66d5
- set_master_timeout=120
- status_timeout=30
- loop_timeout=10
- ssh_loop_timeout=240
- no_conn_mute=10
- reports_period=3600
- confirm_2similar_timeout=30
- switch_flag= mpr-veil-witness\