Дерево страниц

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

Ключ

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

Краткое описание

В этой статье будет описано, как обновить старые версии EMS и систему на которой работает сервер с Ubuntu 14.04 до более актуальной версии EMS 3.32 работающей на Ubuntu 16.04 и которая поддерживает типы оборудование LTP-8/16N и LTX-8/16., до актуальных с конвертацией баз данных. Перед началом, , чтобы не прерывать работу действующей системы, необходимо подготовить второй сервер (или виртуальную машину), с установленной системой (для последней версии необходима Ubuntu 22).

Первый шаг создание backup баз данных:

создайте директорию с любым именем, например:

Блок кода
mkdir ~/ems-backup

перейдите в неёДля создания backup баз данных перейдите в папку /var/ems-backup и выполните скрипт main-dump-rotate.sh:

Блок кода
cd ~/var/ems-backup

...

Блок кода
mysqldump -uroot -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-key update

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

Блок кода
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

Далее производим конвертацию баз данных на новую версию:

sudo ./eltex-ems-helper-mos-3.32.sh --update-eltex-packages
Блок кода
Предупреждение

до версии 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