Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление

Подготовка

Если у вас установлена старая версия контроллера, например SoftWLC 1.18, и Ubuntu Server 16.04, то потребуется подготовить второй сервер и установить на него Ubuntu Server 22.04 LTS (рекомендуемая ОС, список контроллер SoftWLC установлен на старой версии Ubuntu (меньше поддержанных) то обновление до новых версий SoftWLC требует обновление ОС хоста до поддерживаемых.

Подсказка

Список всех поддерживаемых ОС можно найти

...

по ссылке:

v1.

...

37_Datasheet SoftWLC

...

Перед обновлением рекомендуется выполнить backUP БД и всех конфигурационных файлов (список конфигурационных файлов модулей контроллера можно найти по следующей ссылке v1.35_Модули SoftWLC). Если возможно, сделать snapshot системы как наиболее простое средство для отката системы к изначальному состоянию в случае неудачного обновления.

Backup БД:

Backup БД выполняется с помощью следующих скриптов:

backup_mysql.sh

Установите пакет pv перед сохранением БД и запуском скрипта backup mysql.

На вход скрипта требуется подать login/password от БД, в стандартном варианте - root/root.

Блок кода
languagebash
sudo apt install pv
sudo chmod +x backup_mysql.sh
sudo ./backup_mysql.sh root root

BackUP базы данных работоспособен только для вашей текущей версии SoftWLC. Условно говоря, backup от SoftWLC версии 1 не подойдет к SoftWLC версии 2.

Создание БД на новом сервере 

Шаги которые нужно/можно сделать до старта обновления.
Действия выполняются на новом сервере. 

Поднятие MariaDB 

Добавление реп MariaDB:

Подключить репозиторий Элтекс.

Создать файл /etc/apt/sources.list.d/eltex.list и прописать в него репо Eltex:

Блок кода
languagebash
deb [arch=amd64] http://archive.eltex-co.ru/wireless softwlc-1.31-xenial main # это общий репозиторий, в котором выложены пакеты не зависящие от версии ОС.
deb [arch=amd64] http://archive.eltex-co.ru/wireless radius-1.31-jammy main # данный репозиторий нужно выбирать в зависимости от версии ОС.
Блок кода
languagebash
wget -O - http://archive.eltex-co.ru/wireless/repo.gpg.key | apt-key add -
sudo apt-get update

Установка пакетов MariaDB:

Блок кода
languagebash
apt-get install mysql-client=5.7.42-1ubuntu18.04
apt-get install mysql-common=5.7.42-1ubuntu18.04 --allow-downgrades
apt-get install mysql-community-server=5.7.42-1ubuntu18.04
apt-get install libmysqlclient20=5.7.42-1ubuntu18.04 #(root root)
apt-get install rsyslog-mysql

Скопировать конфигурационный файл mysql.conf со старого сервера на новый сервер.

Восстановление БД перед обновлением

Блок кода
languagebash
sudo chmod +x restore_mysql.sh 
sudo ./restore_mysql.sh root root

restore_mysql.sh

Установка SoftWLC скриптом установщиком

Скачать из архива скрипт-установщик eltex-softwlc-helper-latest.sh и положить в корневую директорию ОС.

Данную операцию также можно произвести из терминала:

Блок кода
languagebash
vagrant@ubuntu:~$ wget http://archive.eltex.org/wireless/help/softwlc-latest/eltex-softwlc-helper-latest.sh
--2019-04-29 08:30:24-- http://archive.eltex.org/wireless/help/softwlc-latest/eltex-softwlc-helper-latest.sh
Resolving archive.eltex.org (archive.eltex.org)... 172.16.0.68
Connecting to archive.eltex.org (archive.eltex.org)|172.16.0.68|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 25615 (25K) [text/x-sh]
Saving to: ‘eltex-softwlc-helper-latest.sh’

eltex-softwlc-helper-mos_1 100%[=====================================>] 25,01K --.-KB/s in 0,02s

2019-04-29 08:30:24 (1,61 MB/s) - ‘eltex-softwlc-helper-latest.sh’ saved [25615/25615]

Выдать права на исполнение файла eltex-softwlc-helper-latest.sh :

Блок кода
languagebash
chmod +x ./eltex-softwlc-helper-latest.sh

Запустить скрипт с правами суперпользователя и ожидать окончания работы:

В рамках данной инструкции будет рассмотренно обновление через создание нового хоста с поддерживаемой ОС и последующей миграцией данных на этот хост. Все действия будут производится с помощью инструментов Ansible.

Примечание

Начиная с версии 1.36 установка в Deb больше не поддерживается.

Подсказка

Более подробно про установку скриптом в Docker с помощью плейбуков Ansible можно посмотреть здесь:

v1.37_Пошаговая установка SoftWLC в Docker через Ansible скриптом-установщиком

Предупреждение

Обновление возможно начиная с версии deb установки 1.30. Если установлена версия старее - необходимо произвести переходное обновление до версии 1.30.

Схема обновления

Обновление производится в несколько этапов:

1) Установка хоста с поддерживаемой ОС (не будет рассмотренно в рамках данной инструкции)

2) Установка решения в Docker с использованием Ansible

3) Миграция базы данных

4) Перенос лицензий

5) Смена виртуального ip адреса (только для многохостовой установки)

Установка решения в Docker с использованием Ansible

После создания хоста с поддерживаемой ОС на него необходимо установить новую версию SoftWLC.

Для установки можно воспользоваться инструкцией, соответствующей вашей требуемой версии:

Standalone version

v1.37_Пошаговая установка SoftWLC в Docker через Ansible скриптом-установщиком

Reservation 1+1 (Galera Cluster) version

v1.37_Настройка схемы резервирования SoftWLC 1+1 в Docker при помощи Ansible

Replication 1+1+3 Galera Database Nodes version

v1.37_Настройка схемы репликации SoftWLC 1+1+3 GaleraNodes в Docker при помощи Ansible

Предупреждение

При запросе ввода ip адресов указать ip адреса хостов, используемых для установки Docker версии SoftWLC

Миграция базы данных

Шаги по переносу базы данных:

1) Подключиться по SSH на хост, со старой версией ОС:

Блок кода
languagebash
themeRDark
ssh <user_login>@<ip_address>

3) Перейти в директорию /var/lib/mysql/

Блок кода
languagebash
themeRDark
cd /var/lib/mysql/

4) Проверить установленный пакет

Блок кода
languagebash
themeRDark
sudo apt update && sudo apt install zip

5) Создать архив с файлами выбранной директории. Для удобства дальнейшего переноса файлов разместите его в домашней директории пользователя.

Блок кода
languagebash
themeRDark
zip -r /home/<user_login>/mysql_backup.zip *

6) Скопировать данный архив на хост, где будет разворачиваться решение в Docker-Ansible, первая нода с базой данных:

softwlc_main для Standalone version

softwlc_reserv_1 для Reservation 1+1 (Galera Cluster) version

database_1 для Replication 1+1+3 Galera Database Nodes version

Блок кода
languagebash
themeRDark
scp /home/<user_login>/mysql_backup.zip <user_login>@<ip_address_docker>:/home/<user_login>/

7) Запустить скрипт с флагом --stop для остановки сервисов (указать ip адреса хостов с Docker)

Блок кода
languagebash
themeRDark
sudo ./eltex-softwlc-helper-ansible-latest.sh --stop

8) На новом хосте с Docker удалить существующие данные в volume MariaDB и перенести туда архив БД с домашней директории 

Блок кода
languagebash
themeRDark
cd /<path_to_softwlc_docker>/volumes/mysql/datadir
sudo rm -rf *
sudo mv ~/mysql_backup.zip .

9) Проверить установленный пакет

Блок кода
languagebash
themeRDark
# AstraLinux, Ubuntu
sudo apt update && sudo apt install unzip
# RedOS
sudo dnf update && sudo dnf install unzip

10) Разархивировать полученные данные с заменой старых данных

Блок кода
languagebash
themeRDark
sudo unzip -o mysql_backup.zip

11) На новом хосте с Docker запустим скрипт с ключом --reconfigure для замены значений localhost, которые по умолчанию остались при переносе БД из Deb в Docker

Блок кода
languagebash
themeRDark
Блок кода
languagebash
sudo ./eltex-softwlc-helper-ansible-latest.sh

...
...
...

Installation of Eltex SoftWLC finished successfully.

URLs of SoftWLC components:

Eltex.EMS Server management (internal) IP: 100.110.2.147
Eltex.EMS Server external IP: 100.110.2.147

Eltex.EMS GUI: http://100.110.2.147:8080/ems/jws
    login: admin
    password: <empty>

Portal constructor: http://100.110.2.147:8080/epadmin
    login: admin
    password: password

Wi-Fi customer cabinet (B2B): http://100.110.2.147:8080/wifi-cab
    login: admin
    password: password

...

 --reconfigure

После данных шагов миграция баз данных на новую установку в Docker будет завершена

Перенос лицензий

В случае приобретения лицензий на SoftWLC их необходимо перенести на новую версию.

Информация

Лицензионный файл для пакета Eltex EMS license.xml содержит информацию количестве и типе устройств, с которыми может работать EMS. Данный файл предоставляется Коммерческими подразделениями компании Элтекс или ее партнерами.

Лицензионный файл для пакета Eltex Wifi-Cab license.xml содержит количество пользователей, которые могут быть созданы в Личном кабинете и одновременно работать в WEB интерфейсе кабинета.

Более подробно о лицензировании проекта SoftWLC здесь.

Чтобы это сделать, необходимо:

1) Скопировать файл/ы лицензии на хост с Ansible:

2) Переместить файл/ы лицензии в директорию

  • Eltex EMS: в директорию ansible/softwlc-ansible-1.37/licences/ems-airtune/
  • Eltex Wifi-Cab: в директорию ansible/softwlc-ansible-1.37/licences/wifi-cab/

3) На хосте с Ansible выполнить соответствующие команды:

  • Eltex EMS:
Блок кода
languagebash
themeRDark
Installation of Eltex SoftWLC finished
URLs of SoftWLC components:
Eltex.EMS GUI: http://localhost:8080/ems/jws">http://localhost:8080/ems/jws
login: admin
password:<empty>
Portal constructor: http://localhost:8080/epadmin/
login: admin
password: password
Wi-Fi customer cabinet: http://localhost:8080/wifi-cab/
login: admin
password: password

При возникновении ошибок обратитесь к документации.

Перенос лицензий и конфигурационных файлов Eltex

Проверить и перенести все конфигурационные файлы Eltex. Если файлы отличаются дополнительными параметрами, то добавить эти параметры в старые конфигурационные файлы. Либо привести новые конфигурационные файлов в соответствие старым.

Информация

Лицензионный файл для пакета Eltex EMS license.xml содержит информацию количестве и типе устройств, с которыми может работать EMS. Данный файл предоставляется Коммерческими подразделениями компании Элтекс или ее партнерами.

...

languagebash

...

sudo ./eltex-softwlc-helper-ansible-latest.sh --update-ems-licence
  • Eltex Wifi-Cab:
Блок кода
languagebash
themeRDark
sudo ./eltex-softwlc-helper-ansible-latest.sh --update-wifi-cab-licence

Смена виртуального адреса

Предупреждение

Смена данного параметра возможна только при использовании многохостового решения.

В случае необходимости поменять VIP адрес для многохостовых установок необходимо запустить скрипт с ключом --reconfigure:

Блок кода
languagebash
themeRDark
sudo ./eltex-softwlc-helper-ansible-latest.sh --reconfigure

При запросе Virtual IP указать необходимый виртуальный ip адрес. Если остальные параметры не изменялись вручную, то их можно пропустить нажатием Enter.

После чего скрипт выполнит смену VIP адреса.