Описание
Схема резервирования SoftWLC 1+1 представляется 2 нодами active-active. Связь баз данных осуществляется при помощи ProxySQL+GaleraCluster.
Принципиальные схемы резервирования:
SoftWLC и Ansible на одном хосте:
SoftWLC и Ansible на отдельном хосте:
Подготовка
Для настройки схемы резервирования 1+1 при помощи Ansible необходимо минимум 2-е ноды.
Также необходимо скачать и установить скрипт и плейбуки Ansible на хост согласно используемой схеме, указанных выше.
Перед установкой обязательно необходимо выполнить обновление пакетов на всех серверах с помощью команд sudo apt update && sudo apt upgrade
Более подробно про установку скриптом в Docker с помощью плейбуков Ansible можно посмотреть здесь:
v1.37_Пошаговая установка SoftWLC в Docker через Ansible скриптом-установщиком
Загрузка скрипта
В операционной системе необходимо создать отдельную директорию, где будет находиться сам скрипт, конфигурационные файлы, данные и плейбуки для Ansible. В качестве примера будет создана директория ansible в домашней директории пользователя.
mkdir /home/<имя пользователя>/ansible
Переходим в созданную директорию
cd /home/<имя пользователя>/ansible
Далее, необходимо загрузить скрипт установщик по ссылке из репозитория и разместить его в созданной ранее директории.
Данную операцию также можно выполнить из терминала:
wget http://archive.eltex.org/wireless/help/softwlc-latest/eltex-softwlc-helper-ansible-latest.sh
Следующим шагом необходимо выдать права на исполнение файла eltex-softwlc-helper-ansible-latest.sh:
sudo chmod +x eltex-softwlc-helper-ansible-latest.sh
Все действия со скриптом необходимо проводить с использованием sudo
Настройка схемы резервирования с помощью Ansible и скрипта установщика
Для установки SoftWLC в схеме резервирования 1+1 необходимо запустить скрипт с флагом --reservation-install
sudo ./eltex-softwlc-helper-ansible-latest.sh --reservation-install
После запуска скрипт запросит следующие параметры:
- Virtual IP - виртуальный адрес, используемый в дальнейшем для подключения к MASTER ноде
- Gateway IP - адрес шлюза, используемый скриптом keepalived для проверки доступности шлюза
- softwlc_reserv_1:
- IP адрес - используется для подключения Ansible к хосту softwlc_reserv_1, а также для настройки параметров самих сервисов
- SSH user login - логин пользователя для подключения Ansible к хосту softwlc_reserv_1
- SSH user password - пароль пользователя для подключения Ansible к хосту softwlc_reserv_1
- sudo password - пароль sudo пользователя для Ansible для выполнения команд от имени суперпользователя
- softwlc_reserv_2:
- IP адрес - используется для подключения Ansible к хосту softwlc_reserv_2, а также для настройки параметров самих сервисов
- SSH user login - логин пользователя для подключения Ansible к хосту softwlc_reserv_2
- SSH user password - пароль пользователя для подключения Ansible к хосту softwlc_reserv_2
- sudo password - пароль sudo пользователя для Ansible для выполнения команд от имени суперпользователя
При повторном запуске в различных ситуациях могут потребоваться дополнительные действия от пользователя
1) Запрос на создание бэкапа конфигурации. При выборе Y, нажатии на Enter, создастся архив с файлами конфигурации Ansible. Выбор по умолчанию - Y.
Do you want to backup your configuration files ? [Y/n] (default="Y"):
2) Запрос на замену параметров в файлах директории softwlc-ansible/*. При выборе Y все файлы в директории softwlc-ansible (за исключением my_softwlc/*) будут заменены на дефолтные из архива. Выбор по умолчанию - N.
You already have a softwlc-ansible configuration directory. Do you want to replace this configuration with default parameters from the archive? [y/N] (default="N"):
3) Запрос на замену параметров в файлах директории my_softwlc/*. При выборе Y все файлы в директории my_softwlc будут заменены на дефолтные из sample/*, удаляя все настройки пользователя, если таковые были. Выбор по умолчанию - N.
You already have my_softwlс configurations. Do you want to replace this configuration with default parameters from inventory/sample ? [y/N] (default="N"):
sudo ./eltex-softwlc-helper-ansible-latest.sh --reservation-install Extract SoftWLC installer... Do you want to backup your configuration files ? [Y/n] (default="Y"): Backup has been completed! You already have a softwlc-ansible configuration directory. Do you want to replace this configuration with default parameters from the archive? [y/N] (default="N"): Prepare my_softwlc directory... You already have my_softwlc configurations. Do you want to replace this configuration with default parameters from inventory/sample ? [y/N] (default="N"): Ansible playbooks preparation is complete Setup HOSTS for reservation installation Enter virtual IP address (blank for last used): Vitual IP set to: 192.168.1.100 Enter gateway IP address (blank for last used): Gateway IP set to: 192.168.1.1 List of prepared hosts: softwlc_reserv_1 softwlc_reserv_2 Information note Ansible uses SSH with existing OS credentials to access machines. Next, you will be asked to provide details for connecting via SSH to the hosts you specified. In the future, it is recommended to add the generated ssh key and use it (via "private_key_file" in ansible.cfg for example) to increase the security of the connection. More information (Official Ansible Web site): https://docs.ansible.com/ansible/latest/reference_appendices/config.html Setup credentials for HOST: softwlc_reserv_1 Enter address for HOST: softwlc_reserv_1 (blank for last used): 192.168.1.2 softwlc_reserv_1 will be configured at the: 192.168.1.2 Enter SSH user login for HOST: softwlc_reserv_1 (blank for last used): Enter SSH user password for HOST: softwlc_reserv_1 (blank for last used): Enter sudo password for HOST: softwlc_reserv_1 (blank for last used): Setup credentials for HOST: softwlc_reserv_2 Enter address for HOST: softwlc_reserv_2 (blank for last used): 192.168.1.3 softwlc_reserv_2 will be configured at the: 192.168.1.3 Enter SSH user login for HOST: softwlc_reserv_2 (blank for last used): Enter SSH user password for HOST: softwlc_reserv_2 (blank for last used): Enter sudo password for HOST: softwlc_reserv_2 (blank for last used): Starting Ansible docker container SWLC_VERSION=1.37 CURR_FILE_VERSION_NAME=softwlc-ansible-1.37 ELTEX_HUB=hub.eltex-co.ru/softwlc
После указания необходимых данных скрипт запустит установку SoftWLC и схемы резервирования. Итогом должно стать сообщение:
Installation of Eltex SoftWLC finished successfully.
URLs of SoftWLC components:
Eltex.EMS Server management (internal) IP: <virtual_ip>
Eltex.EMS Server external IP: <virtual_ip>
Eltex.EMS GUI: http://<virtual_ip>:8080/ems/jws
login: admin
password: <empty>
Portal constructor: http://<virtual_ip>:8080/epadmin
login: admin
password: password
Wi-Fi customer cabinet (B2B): http://<virtual_ip>:8080/wifi-cab
login: admin
password: password
Следующим шагом необходимо перейти к веб-интерфейсу личного кабинета на каждом сервере, адрес "http://<ip-адрес сервера>:8080/wifi-cab". Внутри личного кабинета перейти во вкладку "Сервисы и тарифы" для генерации токенов eltex-doors в БД.
На этом установка схемы резервирования SoftWLC завершена. Остальные возможности скрипта и углублённые настройки можно найти здесь.