Свидетель реплицируемых контроллеров
Внимание
Является экспериментальным функционалом.
В случае возникновения ошибок необходимо создать обращение в Space Bugzilla или ознакомиться с уже известными запросами на данном ресурсе.
Функционал не предназначен для использования в рабочем кластере и должен использоваться только в тестовых средах.
Общее описание
controller-witness — SystemD-сервис обеспечивающий автоматическое переключение ролей между двумя контроллерами репликации в системе SpaceVM.
Сервис использует настройки из файла /etc/default/controller-witness
,
которые должны быть заданы до его запуска.
Примечание
Изменение настроек требует перезагрузки сервиса.
Cервис инициирует процедуру установки SSH-соединения с обоими контроллерами, регулярно проверяет их доступность и роли. Если контроллер-мастер становится недоступен, свидетель пытается переключить роль slave на master. Если оба контроллера определяются как master, свидетель назначает роль master тому, кто дольше находился в этой роли. Новый master при наличии связи с другим контроллером пытается перевести его в роль slave.
Детальное описание работы и настроек смотрите ниже.
Требования к установке
Внимание
Пользователь, выполняющий установку, должен обладать привилегиями суперпользователя.
Свидетель не рекомендуется устанавливать в рабочем кластере SpaceVM. Рекомендуется использовать изолированную виртуальную машину или контейнер вне инфраструктуры.
-
ОС на базе Debian/Ubuntu.
-
Установлены зависимости: python3 (>= 3.6), python3-paramiko.
-
Установлен один из пакетов:
whiptail
,dialog
.
Установка deb-пакета
sudo apt install <path-to-controller-witness_*.deb>
Пример команды
Команда для установки deb-пакета 0.7.0-32 из текущего каталога:
sudo apt install ./controller-witness_0.7.0-32_all.deb
.
Установка из репозитория
Для установки из репозитория необходимо последовательно выполнить следующие команды:
echo "deb http://update.spacevm-service.ru/extra-600/ space main" | sudo tee /etc/apt/sources.list.d/spacevm-extra.list
sudo wget http://update.spacevm-service.ru/space-repo-key.gpg -O /etc/apt/trusted.gpg.d/space-repo-key.gpg
sudo apt update
sudo apt install controller-witness
Настройки и детальное описание
В сервисе используются настройки из файла /etc/default/controller-witness.
Доступен подробный просмотр с помощью команды
man
:man controller-witness
Удаление
sudo apt remove controller-witness