| Оглавление |
|---|
Подготовка
Если у вас установлена старая версия контроллера, например SoftWLC 1.18, и Ubuntu Server 16.04, то потребуется подготовить второй сервер и установить на него Ubuntu Server 22.04 LTS (рекомендуемая ОС, список контроллер SoftWLC установлен на старой версии Ubuntu (меньше поддержанных) то обновление до новых версий SoftWLC требует обновление ОС хоста до поддерживаемых.
| Подсказка |
|---|
Список всех поддерживаемых ОС можно найти |
...
по ссылке: |
...
...
Перед обновлением рекомендуется выполнить backUP БД и всех конфигурационных файлов (список конфигурационных файлов модулей контроллера можно найти по следующей ссылке v1.35_Модули SoftWLC). Если возможно, сделать snapshot системы как наиболее простое средство для отката системы к изначальному состоянию в случае неудачного обновления.
Backup БД:
Backup БД выполняется с помощью следующих скриптов:
Установите пакет pv перед сохранением БД и запуском скрипта backup mysql.
На вход скрипта требуется подать login/password от БД, в стандартном варианте - root/root.
| Блок кода | ||
|---|---|---|
| ||
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:
| Блок кода | ||
|---|---|---|
| ||
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 # данный репозиторий нужно выбирать в зависимости от версии ОС. |
| Блок кода | ||
|---|---|---|
| ||
wget -O - http://archive.eltex-co.ru/wireless/repo.gpg.key | apt-key add -
sudo apt-get update |
Установка пакетов MariaDB:
| Блок кода | ||
|---|---|---|
| ||
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 со старого сервера на новый сервер.
Восстановление БД перед обновлением
| Блок кода | ||
|---|---|---|
| ||
sudo chmod +x restore_mysql.sh
sudo ./restore_mysql.sh root root |
Установка SoftWLC скриптом установщиком
Скачать из архива скрипт-установщик eltex-softwlc-helper-latest.sh и положить в корневую директорию ОС.
Данную операцию также можно произвести из терминала:
| Блок кода | ||
|---|---|---|
| ||
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 :
| Блок кода | ||
|---|---|---|
| ||
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 на хост, со старой версией ОС:
| Блок кода | ||||
|---|---|---|---|---|
| ||||
ssh <user_login>@<ip_address> |
3) Перейти в директорию /var/lib/mysql/
| Блок кода | ||||
|---|---|---|---|---|
| ||||
cd /var/lib/mysql/ |
4) Проверить установленный пакет
| Блок кода | ||||
|---|---|---|---|---|
| ||||
sudo apt update && sudo apt install zip |
5) Создать архив с файлами выбранной директории. Для удобства дальнейшего переноса файлов разместите его в домашней директории пользователя.
| Блок кода | ||||
|---|---|---|---|---|
| ||||
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
| Блок кода | ||||
|---|---|---|---|---|
| ||||
scp /home/<user_login>/mysql_backup.zip <user_login>@<ip_address_docker>:/home/<user_login>/ |
7) Запустить скрипт с флагом --stop для остановки сервисов (указать ip адреса хостов с Docker)
| Блок кода | ||||
|---|---|---|---|---|
| ||||
sudo ./eltex-softwlc-helper-ansible-latest.sh --stop |
8) На новом хосте с Docker удалить существующие данные в volume MariaDB и перенести туда архив БД с домашней директории
| Блок кода | ||||
|---|---|---|---|---|
| ||||
cd /<path_to_softwlc_docker>/volumes/mysql/datadir
sudo rm -rf *
sudo mv ~/mysql_backup.zip . |
9) Проверить установленный пакет
| Блок кода | ||||
|---|---|---|---|---|
| ||||
# AstraLinux, Ubuntu
sudo apt update && sudo apt install unzip
# RedOS
sudo dnf update && sudo dnf install unzip |
10) Разархивировать полученные данные с заменой старых данных
| Блок кода | ||||
|---|---|---|---|---|
| ||||
sudo unzip -o mysql_backup.zip |
11) На новом хосте с Docker запустим скрипт с ключом --reconfigure для замены значений localhost, которые по умолчанию остались при переносе БД из Deb в Docker
| Блок кода | ||||
|---|---|---|---|---|
| ||||
| Блок кода | ||||
| ||||
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:
| Блок кода | ||||
|---|---|---|---|---|
| ||||
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. Данный файл предоставляется Коммерческими подразделениями компании Элтекс или ее партнерами. |
...
| language | bash |
|---|
...
sudo ./eltex-softwlc-helper-ansible-latest.sh --update-ems-licence |
- Eltex Wifi-Cab:
| Блок кода | ||||
|---|---|---|---|---|
| ||||
sudo ./eltex-softwlc-helper-ansible-latest.sh --update-wifi-cab-licence |
Смена виртуального адреса
| Предупреждение |
|---|
Смена данного параметра возможна только при использовании многохостового решения. |
В случае необходимости поменять VIP адрес для многохостовых установок необходимо запустить скрипт с ключом --reconfigure:
| Блок кода | ||||
|---|---|---|---|---|
| ||||
sudo ./eltex-softwlc-helper-ansible-latest.sh --reconfigure |
При запросе Virtual IP указать необходимый виртуальный ip адрес. Если остальные параметры не изменялись вручную, то их можно пропустить нажатием Enter.
После чего скрипт выполнит смену VIP адреса.