Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Данный метод подходит только для условий недостатка ресурсов и разворачивания контроллера на физическом сервере, а не на виртуальной машине. 

Перед обновлением необходимо обязательно сделать резервную копию виртуальной машины на случай необходимости восстановления.

Если во время обновления что-то пойдет не так, а сервис нужно будет быстро восстановить, то запускаете клон рабочей ВМ.

Обратите внимание, что обновление контроллера рекомендуется проводить в нерабочее время, так как будет перерыв в работе сервисов.

Подготовка к обновлению

Перед обновлением сделайте дамп БД и желательно сделать snapshot  системы для возможного отката в случае неудачного обновления.

Выполните backUP БД и конфигурационных файлов.

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

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

sudo apt install pv
sudo chmod +x backup_mysql.sh
sudo ./backup_mysql.sh root root
sudo chmod +x mongo_update.sh
sudo ./mongo_update.sh --backup

backup_mysql.sh

mongo_update.sh

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

Во время обновления в консоли Вам будут предложены варианты действий с конфигурационными файлами и базами данных.

Отключение автоматических обновлений для MySQL

Останавливаем все будущие обновления mysql с помощью следующих команд:

sudo apt-mark hold mysql-client
sudo apt-mark hold mysql-community-client
sudo apt-mark hold mysql-community-server

Необходимо добавить следующую конфигурацию в файл /etc/apt/preferences.d/mysql:

sudo nano /etc/apt/preferences.d/mysql

Добавляем следующие строки в файл, чтобы приостановить обновление MySQL и все связанные с ним пакеты:

Package: mysql-server
Pin: version 5.7*
Pin-Priority: 1001

Package: mysql-client
Pin: version 5.7*
Pin-Priority: 1001

Package: mysql-community-server
Pin: version 5.7*
Pin-Priority: 1001

Package: mysql-community-client
Pin: version 5.7*
Pin-Priority: 1001

Package: libmysqlclient-dev
Pin: version 5.7*
Pin-Priority: 1001

Поиск и установка обновлений пакетов

sudo apt update
...
Reading package lists... Done                      
Building dependency tree       
Reading state information... Done
sudo apt upgrade
... 
After this operation, 7694 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
...
update-initramfs: deferring update (trigger activated)
Processing triggers for initramfs-tools (0.130ubuntu3.13) ...
update-initramfs: Generating /boot/initrd.img-4.15.0-213-generic

Далее, необходимо перезагрузить сервер:

sudo reboot

Обновление версии ОС

Для обновления ubuntu 18 до ubuntu 20 воспользуйтесь следующей командой:

sudo do-release-upgrade
...
If you continue, an additional ssh daemon will be started at port 
'1022'. 
Do you want to continue? 
Continue [yN] Y
...
To continue please press [ENTER] ENTER
...
Some third party entries in your sources.list were disabled. You can 
re-enable them after the upgrade with the 'software-properties' tool 
or your package manager.
To continue please press [ENTER] ENTER
...
Installing the upgrade can take several hours. Once the download has 
finished, the process cannot be canceled. 
Continue [yN]  Details [d] Y
...

В ходе обновления будут предложены следующие вопросы от системы:

...
Configuration file '/etc/rsyslog.conf'
 ==> Modified (by you or by a script) since installation.
 ==> Package distributor has shipped an updated version.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** rsyslog.conf (Y/I/N/O/D/Z) [default=N] ? n
...
Configuration file '/etc/rsyslog.conf'
 ==> Modified (by you or by a script) since installation.
 ==> Package distributor has shipped an updated version.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** rsyslog.conf (Y/I/N/O/D/Z) [default=N] ? n
...
Configuration file '/etc/snmp/snmpd.conf'
 ==> Modified (by you or by a script) since installation.
 ==> Package distributor has shipped an updated version.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** snmpd.conf (Y/I/N/O/D/Z) [default=N] ? n
...

...
Remove obsolete packages? 
97 packages are going to be removed. 
Continue [yN]  Details [d]n
...
Restart required 
To finish the upgrade, a restart is required. 
If you select 'y' the system will be restarted. 
Continue [yN] y

Проверяем, что версия ОС изменилась:

cat /etc/lsb-release
...
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.6 LTS"

После обновления, выполните рестарт все сервисов eltex:

sudo systemctl restart eltex-*.service

План обновления ub20->ub22 точно такой же, как ub18->ub20.

  • Нет меток