Предупреждение |
---|
Данный метод подходит только для условий недостатка ресурсов и разворачивания контроллера на физическом сервере, а не на виртуальной машине. |
Предупреждение |
---|
Перед обновлением необходимо обязательно сделать резервную копию виртуальной машины на случай необходимости восстановления. |
Если во время обновления что-то пойдет не так, а сервис нужно будет быстро восстановить, то запускаете клон рабочей ВМ.
Обратите внимание, что обновление контроллера рекомендуется проводить в нерабочее время, так как будет перерыв в работе сервисов.
Подготовка к обновлению
Перед обновлением сделайте дамп БД и желательно сделать 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 |
Далее, необходимо перезагрузить сервер:
Обновление версии ОС
Для обновления 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
...
|
В ходе обновления будут предложены следующие вопросы от системы:
![](/download/attachments/452133751/image2023-12-12_18-1-3.png?version=1&modificationDate=1704798282000&api=v2)
![](/download/attachments/452133751/image2023-12-12_18-1-12.png?version=1&modificationDate=1704798282000&api=v2)
![](/download/attachments/452133751/image2023-12-12_18-2-17.png?version=1&modificationDate=1704798282000&api=v2)
![](/download/attachments/452133751/image2023-12-12_18-2-24.png?version=1&modificationDate=1704798282000&api=v2)
![](/download/attachments/452133751/image2023-12-12_18-2-30.png?version=1&modificationDate=1704798282000&api=v2)
Блок кода |
---|
|
...
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
... |
![](/download/attachments/452133751/image2023-12-12_18-3-30.png?version=1&modificationDate=1704798282000&api=v2)
![](/download/attachments/452133751/image2023-12-12_18-3-36.png?version=1&modificationDate=1704798282000&api=v2)
Блок кода |
---|
|
...
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.