...
В этой статье будет описано, как обновить старые версий EMS работающих на Ubuntu 14.04 до более актуальной версии EMS 3.32 работающей с Ubuntu 16.04 и которая поддерживает типы оборудование LTP-8/16N и LTX-8/16.версии EMS, до актуальных с конвертацией баз данных. Перед началом, , чтобы не прерывать работу действующей системы, необходимо подготовить второй сервер (или виртуальную машину), с установленной системой (для последней версии необходима Ubuntu 22).
Первый шаг создание backup баз данных:
создайте директорию с любым именем, например:
mkdir ~/ems-backup
перейдите в неё:
cd ~/Для создания backup баз данных перейдите в папку /var/ems-backup
и сделайте выгрузку БДи выполните скрипт main-dump-rotate.sh:
Блок кода |
---|
mysqldumpcd /var/ems-urootbackup -proot Syslog > Syslog.sql mysqldump -uroot -proot eltex_alert > eltex_alert.sql mysqldump -uroot -proot eltex_ems > eltex_ems.sql mysqldump -uroot -proot eltex_ont > eltex_ont.sql |
где -proot - root это пароль пользователя root в mysql.
Второй шаг подготовка к обновлению системы к обновлению:
Нужно обновить ядро, зависимости и другие системные пакеты до самой новой версии
sudo apt-get dist-upgrade -q -y --force-yes
Примечание |
---|
при попытке обновить пакеты, может потребоваться обновление ключей верификации пакетов |
Удалим ненужные зависимости и очистим систему, чтобы освободить дисковое пространство:
sudo apt-get autoremove
sudo apt-get clean
Перед тем как обновлять систему, установим рекомендуемый менеджер обновлений:
sudo apt-get install update-manager-core
Шаг третий обновление системы:
Теперь выполняем обновление командой:
sudo do-release-upgrade
Примечание |
---|
Обновление может занять очень длительный промежуток времени (от 4 до 8 часов), с вопросами обновления конфигурации обновленных пакетов. |
В процессе обновления может потребоваться подтвердить установку новых пакетов
В конце система запросит подтверждение перезагрузки.
После обновления лучше обновить все обновленные пакеты
sudo apt-get update
sudo apt-get upgrade -y
...
bgColor | #fff |
---|
После обновления может возникнуть ошибка конфигурации mysql(встречается крайне редко):
Блок кода |
---|
dpkg: ошибка при обработке пакета mysql-server (--configure):
проблемы зависимостей — оставляем не настроенным
Обрабатываются триггеры для systemd (229-4ubuntu4) …
Отчёты apport не записаны, так как сообщение об ошибке указывает на повторную ошибку от предыдущего отказа.
Обрабатываются триггеры для ureadahead (0.100.0-19) …
При обработке следующих пакетов произошли ошибки:
mysql-server-5.7
mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1) |
Подобная ошибка исправляется полным удалением mysql и повторной инсталляцией:
Блок кода |
---|
sudo apt-get purge mysql* -V
sudo rm -rv /var/lib/mysql
sudo rm -rv /var/log/mysql*
sudo rm -rv /etc/mysql*
sudo swapoff -a && sudo swapon -a
sudo apt-get install mysql-server |
Шаг четвертый обновление пакета EMS:
...
sudo ./main-dump-rotate.sh 127.0.0.1 3306 javauser javapassword 10 |
127.0.0.1 - ip адрес сервера где хранятся базы данных(по умолчанию 127.0.0.1)
3306 - порт взаимодействия с mysql
javauser/javapassword - login и пароль для доступа к mysql
10 - количество дней больше которых предыдущие файлы будут удалены
Примечание |
---|
файл будет создан в папке /var/ems-backup/main с именем: eltex-ems-backup.[дата и время создания].gz |
Шаг второй установка пакета EMS на новый сервер:
Установка производится при помощи скрипта:
eltex-ems-helper-mos_3latest.32.sh
Блок кода |
---|
chmod 755 eltex-ems-helper-mos-3latest.32.sh sudo ./eltex-ems-helper-mos-3latest.32.sh |
Шаг
...
третий загрузка и конвертация баз данных:
Загрузка backup в базы mysql:
Блок кода |
---|
cd ~/ems-backup
sudo mysql eltex_alert -uroot -proot < eltex_alert.sql
sudo mysql eltex_ems -uroot -proot < eltex_ems.sql
sudo mysql Syslog -uroot -proot < Syslog.sql
sudo mysql eltex_ont -uroot -proot < eltex_ont.sql |
...
Предупреждение |
---|
до версии 3.33 в EMS использовались базы данных mysql, далее используется mariadb. Команды для этих баз данных идентичны, но есть проблемы при конвертации для определенных версий. |
Конвертация происходит путем загрузки backup в актуальную версию баз данных.
Делается это при помощи скрипта ems-restore.sh. в папке /var/ems-backup/main.
Для начала, нужно переместить файл backup в папку со скриптом:
Блок кода |
---|
mv [им backup] /var/ems-backup/main
cd /var/ems-backup/main
sudo ./ems-restore.sh [имя backup] |
Предупреждение |
---|
После загрузки backup может возникнуть ошибка расхождения схем заполнения таблиц баз данных. об этом может соответствовать то, что при попытке запустить апплет сервис eltex-ems будет переходить в статус inactive, и в файле /var/log/eltex-ems/black_box.txt будет сообщение подобного содержания: [main] ERROR Kernel Server$1.print(line:371). [ EltexException (EltexException.SERVER) : codeError = 1; msg = 'Invalid version '46' of 'eltex_ems' schema. Should be '55'. Please, update eltex-ems-db packet.'; infoObject = 'null' ] |
Ошибка исправляется переустановкой пакета eltex-ems-db:
Для того чтобы понять какой версии были установлены пакеты eltex-ems используйте команду:
Блок кода |
---|
sudo apt list eltex-ems |
Будет выведена следующая информация:
Блок кода |
---|
Listing... Done
eltex-ems/now 3.35-13244 all [installed,local] |
В приведенном примере используется версия 3.35-13244
После определения версии установленного пакета, переходим на сайт eltex-ems-db и находим необходимую версию.
После загрузки пакета на сервер или виртуальную машину установить пакет:
Блок кода |
---|
sudo dpkg -i eltex-ems-db_3.35-13244_all.deb |