Перед обновлением необходимо обязательно сделать резервную копию виртуальной машины на случай необходимости восстановления.
Обновление контроллера производится в следующем порядке v.1.5 → v.1.7 →v.1.8 → v.1.9 → v.1.11 (mongo update) → переход на Ubuntu 16 → v.1.18 → переход на Ubuntu 18 → миграция БД NGW → SWLC (latest).
Версия SoftWLC определяется версией подавляющего количества пакетов eltex, установленных на ВМ.
Версию пакетов можно узнать при помощи следующих команд:
vagrant@xenial:~$ dpkg -l | grep eltex-
Если во время обновления что-то пойдет не так, а сервис нужно будет быстро восстановить, то запускаете клон рабочей ВМ.
Обратите внимание, что обновление контроллера рекомендуется проводить в нерабочее время, так как будет перерыв в работе сервисов.
Подготовка к обновлению
Перед обновлением сделайте дамп БД и желательно сделать snapshot системы для возможного отката в случае неудачного обновления.
Выполните backUP БД и конфигурационных файлов.
Установите пакет pv перед сохранением БД и запуском скрипта.
На вход скрипта требуется подать login/password от БД.
vagrant@xenial:~$ sudo apt install pv vagrant@xenial:~$ sudo chmod +x backup_mysql.sh vagrant@xenial:~$ sudo ./backup_mysql.sh root root vagrant@xenial:~$ sudo chmod +x mongo_update.sh vagrant@xenial:~$ sudo ./mongo_update.sh --backup
BackUP базы данных работоспособен только для вашей текущей версии SoftWLC. Условно говоря, backup от SoftWLC версии 1 не подойдет к SoftWLC версии 2.
Во время обновления в консоли Вам будут предложены варианты действий с конфигурационными файлами и базами данных.
Обновление SoftWLC 1.5 → SoftWLC 1.7
Перед обновлением контроллера крайне важно произвести подготовку к обновлению.
Обновление производится с помощью скрипта:
vagrant@trusty:~$ sudo chmod +x softwlc_1.7_upgrade.sh vagrant@trusty:~$ sudo ./softwlc_1.7_upgrade.sh
После обновления проверьте работоспособность сервисов и снова сделайте дамп БД/snapshot.
Обновление SoftWLC 1.7 → SoftWLC 1.8
Перед обновлением контроллера крайне важно произвести подготовку к обновлению.
Обновление производится с помощью скрипта:
vagrant@trusty:~$ sudo chmod +x softwlc_1.8_upgrade.sh vagrant@trusty:~$ sudo ./softwlc_1.8_upgrade.sh
После обновления проверяем работу сервисов. Делаем новый snapshot и дамп БД. В случае неработоспособности сервисов делаем откат на предыдущий snapshot системы.
Обновление SoftWLC 1.8 → SoftWLC 1.9
Перед обновлением контроллера крайне важно произвести подготовку к обновлению.
Положите конфигурационный файл softwlc_1.9_nginx.conf в корневую директорию и запустите скрипт обновления.
vagrant@trusty:~$ sudo chmod +x softwlc_1.9_upgrade.sh vagrant@trusty:~$ sudo ./softwlc_1.9_upgrade.sh
После обновления проверяем работу сервисов. Делаем новый snapshot и дамп БД. В случае неработоспособности сервисов делаем откат на предыдущий snapshot системы.
Обновление SoftWLC 1.9 → SoftWLC 1.11
Перед обновлением контроллера крайне важно произвести подготовку к обновлению.
Обновление производится с помощью скрипта:
vagrant@trusty:~$ sudo chmod +x eltex-softwlc-helper-mos_1.11.sh vagrant@trusty:~$ sudo ./eltex-softwlc-helper-mos_1.11.sh
eltex-softwlc-helper-mos_1.11.sh
После обновления проверяем работу сервисов. Делаем новый snapshot и дамп БД. В случае неработоспособности сервисов делаем откат на предыдущий snapshot системы.
Обновление БД Mongo
Если версия mongodb ниже 2.6 то требуется обновить пакет скриптом mongo_update.sh .
Проверка версии:
vagrant@trusty:~$ mongo --version
Отдельное обновление БД Mongo связано с тем, что последующие версии SoftWLC требуют новую версию Mongo.
Перед обновлением Вам следует подготовить и сконвертировать конфигурационный файл Mongo
Распакуйте архив mongo_converter.tar на сервере следующей командой:
(Ubuntu 14.04)vagrant@trusty:~$ tar -xvf mongo_converter.tar.gz
Запустите на сервере скрипт, указав местоположение старого конфигурационного файла Mongo. Для запуска скрипта понадобится python3.
vagrant@trusty:~$ python3 mongo-converter/mongo-converter/converter/converter_core.py /etc/mongodb.conf
Будет создан конвертированный конфигурационный файл mongod.conf для версии Mongo 4.
Приступаем к обновлению Mongo:
Запустите с опциями --backup --remove --install --restore-config - сохранит настройки, сделает резервное копирование баз, удалит любую существующую инсталяцию MongoDB, установит версию 4.0 из официального репозитория и установит настройки mongod.conf либо из папки где лежит сам скрипт, либо из резервной копии
vagrant@trusty:~$ sudo chmod +x mongo_update.sh vagrant@trusty:~$ sudo ./mongo_update.sh --backup --remove --install --restore-config
БД и конфиг-файл сохранится в дирректорию /tmp/mongo/
Если была настроена репликация данных, то настройте ее на данном этапе.
Запустите с опцией --restore для восстановления баз:
vagrant@trusty:~$ sudo ./mongo_update.sh --restore Platform: x86_64 Ubuntu distrib code name: trusty Restoring data... 2019-09-20T11:39:39.734+0700 preparing collections to restore from 2019-09-20T11:39:39.737+0700 reading metadata for wifi-customer-cab.eventlog from /tmp/mongo/dump/wifi-customer-cab/eventlog.metadata.json 2019-09-20T11:39:39.739+0700 reading metadata for pcrf.macs from /tmp/mongo/dump/pcrf/macs.metadata.json ...
Проверьте, что все восстановилось корректно;
Запустите с опцией --clean для очистки временных файлов и старых баз.
vagrant@trusty:~$ sudo ./mongo_update.sh --clean
Обновление SoftWLC 1.11 → SoftWLC 1.18
Перед обновлением контроллера крайне важно произвести подготовку к обновлению.
Если у Вас стоит версия контроллера SoftWLC 1.11 и Ubuntu Server 14.04, то Вам потребуется подготовить второй сервер и установить на него Ubuntu Server 16.04.
После установки на новый сервер Ubuntu Server 16.04 необходимо установить SoftWLC версии 1.11:
vagrant@xenial:~$ sudo chmod +x eltex-softwlc-helper-mos_1.11.sh vagrant@xenial:~$ sudo ./eltex-softwlc-helper-mos_1.11.sh
eltex-softwlc-helper-mos_1.11.sh
Скрипт можете использовать прикрепленный к мануалу или же напрямую скачать с архива ELTEX:
vagrant@xenial:~$ wget http://archive.eltex.org/softwlc/help/eltex-softwlc-helper-mos_1.11.sh
После установки SoftWLC 1.11 перенесите лицензии со старого сервера на новый сервер.
Восстановление БД перед обновлением
Восстанавливаем последний backup БД Mysql и Mongo БД.
Перед восстановлением переместите содержимое директории /tmp/mongo/, дампы Mysql со старого сервера Ubuntu 14.04 на новый сервер с Ubuntu 16.04.
Конфигурационный файл mongod.conf положите в домашний каталог откуда будете запускать скрипт mongo_update.sh
sudo ./mongo_update.sh --restore-config sudo ./mongo_update.sh --restore sudo ./restore_mysql.sh root root
После восстановления БД проверяем работу сервисов. Делаем новый snapshot и дамп БД.
Обновление до SoftWlC 1.18
Обновления производим с помощью скрипта.
vagrant@xenial:~$ sudo chmod +x eltex-softwlc-helper-mos_1.18.sh vagrant@xenial:~$ sudo ./eltex-softwlc-helper-mos_1.18.sh
Скрипт можно напрямую скачать с архива ELTEX:
vagrant@xenial:~$ wget http://archive.eltex.org/wireless/help/softwlc-1.18/eltex-softwlc-helper-mos_1.18.sh
Проверяем работу сервисов. Делаем новый snapshot и дамп БД. В случае неработоспособности сервисов делаем откат на первоначальный snapshot системы.
Обновление SoftWLC 1.18 (U16) → SoftWLC 1.19
Перед обновлением контроллера крайне важно произвести подготовку к обновлению.
Если у Вас стоит версия контроллера SoftWLC 1.18 и Ubuntu Server 16.04, то Вам потребуется подготовить второй сервер и установить на него Ubuntu Server 18.04.
После установки на новый сервер Ubuntu Server 18.04 необходимо установить SoftWLC версии 1.18:
vagrant@xenial:~$ sudo chmod +x eltex-softwlc-helper-mos_1.18.sh vagrant@xenial:~$ sudo ./eltex-softwlc-helper-mos_1.18.sh
eltex-softwlc-helper-mos_1.18.sh
Скрипт можете использовать прикрепленный к мануалу или же напрямую скачать с архива ELTEX:
vagrant@xenial:~$ wget http://archive.eltex.org/wireless/help/softwlc-1.18/eltex-softwlc-helper-mos_1.18.sh
После установки SoftWLC 1.18 перенесите лицензии со старого сервера на новый сервер.
Восстановление БД перед обновлением
Восстанавливаем последний backup БД Mysql и Mongo БД.
Перед восстановлением переместите содержимое директории /tmp/mongo/, дампы Mysql со старого сервера Ubuntu 16.04 на новый сервер с Ubuntu 18.04.
Конфигурационный файл mongod.conf положите в домашний каталог откуда будете запускать скрипт mongo_update.sh
sudo ./mongo_update.sh --restore-config sudo ./mongo_update.sh --restore sudo ./restore_mysql.sh root root
После восстановления БД проверяем работу сервисов. Делаем новый snapshot и дамп БД.
Обновление до SoftWlC 1.19
Обновления производим с помощью скрипта.
vagrant@xenial:~$ sudo chmod +x eltex-softwlc-helper-mos_1.19.sh vagrant@xenial:~$ sudo ./eltex-softwlc-helper-mos_1.19.sh
Скрипт можно напрямую скачать с архива ELTEX:
vagrant@xenial:~$ wget wget http://archive.eltex.org/wireless/help/softwlc-1.19/eltex-softwlc-helper-mos_1.19.sh
Проверяем работу сервисов. Делаем новый snapshot и дамп БД. В случае неработоспособности сервисов делаем откат на предыдущий snapshot системы.
В версии 1.19 основное хранилище данных NGW изменено на mysql, в связи с чем необходимо выполнить v1.23_Миграция базы данных сервиса notification-gw
Восстановление БД в случае неудачного обновления
Конфигурационный файл mongod.conf положите в домашний каталог откуда будете запускать скрипт mongo_update.sh
sudo ./mongo_update.sh --restore-config sudo ./mongo_update.sh --restore sudo ./restore_mysql.sh root root
Проверяем работу сервисов. Делаем новый snapshot и дамп БД. В случае неработоспособности сервисов делаем откат на предыдущий snapshot системы.
Обновление SoftWLC 1.19 (и выше) → SoftWLC 1.ХХ
Перед обновлением контроллера крайне важно произвести подготовку к обновлению.
Обновление на SoftWlC 1.ХХ
Обновления производим с помощью скрипта.
vagrant@xenial:~$ sudo chmod +x eltex-softwlc-helper-latest.sh vagrant@xenial:~$ sudo ./eltex-softwlc-helper-latest.sh
Скрипт можете напрямую скачать с архива ELTEX:
vagrant@xenial:~$ wget http://archive.eltex.org/wireless/help/softwlc-latest/eltex-softwlc-helper-latest.sh
Проверяем работу сервисов. В случае неработоспособности сервисов делаем откат на предыдущий snapshot системы.
Восстановление БД в случае неудачного обновления
Восстанавливаем последний backup БД Mysql и Mongo БД.
Конфигурационный файл mongod.conf положите в домашний каталог откуда будете запускать скрипт mongo_update.sh
sudo ./mongo_update.sh --restore-config sudo ./mongo_update.sh --restore sudo chmod +x restore_mysql.sh sudo ./restore_mysql.sh root root