Описание

Схема резервирования 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

После запуска скрипт запросит следующие параметры: 

  1. Virtual IP - виртуальный адрес, используемый в дальнейшем для подключения к MASTER ноде
  2. Gateway IP - адрес шлюза, используемый скриптом keepalived для проверки доступности шлюза
  3. softwlc_reserv_1:
    1. IP адрес - используется для подключения Ansible к хосту softwlc_reserv_1, а также для настройки параметров самих сервисов
    2. SSH user login - логин пользователя для подключения Ansible к хосту softwlc_reserv_1
    3. SSH user password - пароль пользователя для подключения Ansible к хосту softwlc_reserv_1
    4. sudo password - пароль sudo пользователя для Ansible для выполнения команд от имени суперпользователя
  4. softwlc_reserv_2:
    1. IP адрес - используется для подключения Ansible к хосту softwlc_reserv_2, а также для настройки параметров самих сервисов
    2. SSH user login - логин пользователя для подключения Ansible к хосту softwlc_reserv_2
    3. SSH user password - пароль пользователя для подключения Ansible к хосту softwlc_reserv_2
    4. 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 завершена. Остальные возможности скрипта и углублённые настройки можно найти здесь.


  • Нет меток