Обновление версии экземпляра ПО
Введение
Здесь представлены краткие инструкции по обновлению до 4.7.XXXX версии экземпляра ПО Comindware Business Application Platform под управлением ОС Linux.
Порядок обновления версии экземпляра ПО
-
Подготовьте экземпляр ПО к обновлению:
- Сохраните резервную копию экземпляра ПО.
- Остановите экземпляр ПО.
- Сохраните конфигурацию экземпляра ПО и вспомогательных служб.
- Удалите компоненты старой версии ПО.
-
Обновите версию экземпляра ПО:
- Скачайте и распакуйте дистрибутив новой версии ПО.
- Установите новую версию ПО.
- Обновите экземпляр ПО до новой версии.
- Обновите конфигурацию экземпляра ПО и вспомогательных служб.
- Перезапустите экземпляр ПО и вспомогательные службы.
Подготовка экземпляра ПО к обновлению
Выполните подготовительные действия для каждого экземпляра ПО, версию которого требуется обновить.
- Создайте и перенесите во внешнее хранилище резервную копию базы данных экземпляра ПО. См. статью «Резервное копирование. Настройка и запуск, просмотр журнала сеансов».
-
Перейдите в режим суперпользователя:
sudo -sили
su - -
Сохраните резервную копию конфигурационных файлов, например в директорию
/var/backups/config_tmp:- Astra Linux, Ubuntu, Debian (DEB-based)
mkdir -p /var/backups/config_tmp/cd /var/www/<instanceName>/cp *.config apigateway.json /var/backups/config_tmp/cp /etc/nginx/sites-available/comindware<instanceName> /var/backups/config_tmp/- РЕД ОС, Rocky (RPM-based)
mkdir -p /var/backups/config_tmp/cd /var/www/<instanceName>/cp *.config apigateway.json /var/backups/config_tmp/cp /etc/nginx/conf.d/comindware<instanceName> /var/backups/config_tmp/- Альт Сервер
mkdir -p /var/backups/config_tmp/cd /var/www/<instanceName>/cp *.config apigateway.json /var/backups/config_tmp/cp /etc/nginx/sites-available.d/comindware<instanceName> /var/backups/config_tmp/Здесь
<instanceName>— имя экземпляра ПО. -
Остановите экземпляр ПО и его вспомогательные службы и удостоверьтесь, что они остановлены:
systemctl stop apigateway<instanceName> comindware<instanceName>systemctl status apigateway<instanceName> comindware<instanceName> -
Проверьте, выполняется ли сервис
Comindware.Adapter.Agent.exe:ps fax | grep Agent-
Если процесс
Comindware.Adapter.Agent.exe, выполняется, завершите его поPID:kill -9 <PID>
-
-
Проверьте имя и статус экземпляра:
systemctl status comindware* -
Удалите (или переместите в резервное хранилище) неиспользуемые предыдущие дистрибутивы ПО (
<distPath>— путь к директории с дистрибутивом,<osname>— название операционной системы):rm -rf <distPath>/CMW_<osname>
Обновление версии ПО для экземпляра
Выполните шаги 6–13 для каждого экземпляра ПО, версию которого требуется обновить, так как скрипт обновления выполняется отдельно для указанного экземпляра ПО.
-
Скачайте и распакуйте дистрибутив с новой версией ПО (
X.X,<versionNumber>— номер версии ПО):cd <distPath>tar -xf X.X-release-ru-<versionNumber>.<osname>.tar.gz -
Перейдите в распакованную папку:
cd CMW_<osname>/scripts/cbap -
Запустите установку распакованного дистрибутива ПО:
bash install.sh -
Проверьте наличие и имя директории установленной версии ПО:
bash list.sh -
Отобразится список установленных версий ПО на сервере.
-
Перейдите в директорию скриптов для работы с экземпляром ПО и запустите его обновление до требуемой версии:
cd ../instance/bash upgrade.sh -n=<instanceName> -vp=/var/www/.cmw_version/<versionNumber>Здесь:
-n=<instanceName>— имя обновляемого экземпляра ПО;-vp=/var/www/.cmw_version/<versionNumber>— укажите путь к папке с установленной версией ПО, где<versionNumber>— номер версии ПО.
-
По окончании обновления скрипт выведет информацию о компонентах экземпляра ПО. Удостоверьтесь, что компоненты успешно обновлены.
Пример результата выполнения скрипта:
...[Done] Creating Log Directories.OK Instance folder created.OK Instance Web config created.OK Instance Ignite config created.OK Instance binaries linked.OK Instance config created.OK Data folder created.OK Database folder created: YesOK Streams folder created: NoOK Logs folder created: YesOK Used version: <versionNumber>OK Logs configured.OK Sites created.OK Sites enabled.OK API Gateway configured.OK Link to binaries is valid.OK Instance service started.FAILED Instance API gateway service started.OK NGINX started.FAILED Final status.[Done] Upgrade CBAP instance.Если какая-либо из служб имеет статус
FAILED, перезапустите её (<serviceName>— имя службы):systemctl restart <serviceName>.service -
Проверьте корректность конфигурации NGINX для экземпляра ПО:
-
Astra Linux, Ubuntu, Debian (DEB-based)
nano /etc/nginx/sites-available/comindware<instanceName> -
РЕД ОС, Rocky (RPM-based)
nano /etc/nginx/conf.d/comindware<instanceName> -
Альт Сервер
nano /etc/nginx/sites-available.d/comindware<instanceName> -
При необходимости восстановите конфигурацию NGINX, сохранённую ранее.
- Astra Linux, Ubuntu, Debian (DEB-based)
cp /var/backups/config_tmp/comindware<instanceName> /etc/nginx/sites-available/nginx -t && nginx -s reload- РЕД ОС, Rocky (RPM-based)
cp /var/backups/config_tmp/comindware<instanceName> /etc/nginx/conf.d/nginx -t && nginx -s reload- Альт Сервер
cp /var/backups/config_tmp/comindware<instanceName> /etc/nginx/sites-available.d/nginx -t && nginx -s reload
-
-
Откройте для редактирования файл конфигурации
/var/www/<instanceName>/apigateway.json.-
Проверьте и при необходимости отредактируйте адрес сервера Kafka:
"Kafka": {# Укажите адрес сервера Kafka# Должен совпадать с mq.server# в /usr/share/comindware/configs/instance/<instanceName>.yml"BootstrapServer": "<KAFKAIP>:9092",# Укажите имя экземпляра ПО# Должно совпадать с mq.group# в /usr/share/comindware/configs/instance/<instanceName>.yml"GroupId": "<instanceName>"}
-
-
Если выполняется обновление с версии ниже 4.6.1140.0, откройте для редактирования файл конфигурации экземпляра ПО
/usr/share/comindware/configs/instance/<instanceName>.yml.-
Замените в конфигурации следующие директивы:
# исходная директива# backupPath: /var/backups/<instanceName># заменить на:backup.config.default.repository.type: LocalDiskbackup.config.default.repository.localDisk.path: /var/backups/<instanceName> ## backupPath# исходная директива# tempPath: /var/lib/comindware/<instanceName>/Temp# заменить на:tempStorage.type: LocalDisktempStorage.localDisk.path: /var/lib/comindware/<instanceName>/Temp ## tempPath# исходная директива# streamsPath: /var/streams/<instanceName># заменить на:userStorage.type: LocalDiskuserStorage.localDisk.path: /var/streams/<instanceName> -
Добавьте в конфигурацию следующие директивы:
# Имя конфигурацииconfigName: <instanceName># Имя базы данных Apache IgniteinstanceName: <instanceName>manageAdapterHost: trueuseDataBusNumbers:- 0- 1- 2- 3
-
-
Удостоверьтесь, что итоговый файл конфигурации
/usr/share/comindware/configs/instance/<instanceName>.ymlвыглядит аналогично следующему примеру:databasePath: /var/lib/comindware/<instanceName>/Database/configPath: /var/www/<instanceName>backup.config.default.repository.type: LocalDiskbackup.config.default.repository.localDisk.path: /var/lib/comindware/<instanceName>/BackupuserStorage.type: LocalDiskuserStorage.localDisk.path: /var/lib/comindware/<instanceName>/StreamstempStorage.type: LocalDisktempStorage.localDisk.path: /var/lib/comindware/<instanceName>/TempelasticsearchUri: XXX.XXX.XXX.XXX:9200 #адрес сервера ElasticSearchinstanceName: <instanceName>configName: <instanceName>databaseName: <instanceName>nodeName: prod_0linuxAuthenticationType: 1ldapAuthenticationType: 1isFederationAuthEnabled: 0manageAdapterHost: trueisTestEnvironment: falsemq.enabled: truemq.server: XXX.XXX.XXX.XXX:9092 #адрес сервера Kafkamq.group: <instanceName> #имя группы в Kafkamq.node: prod_0mq.name: <instanceName> #имя очереди в Kafkamq.adapter.0.enabled: truemq.adapter.1.enabled: truemq.adapter.2.enabled: truemq.adapter.3.enabled: trueversion: <versionNumber> -
Перезапустите сервисы, настройки которых были изменены:
systemctl restart apigateway<instanceName> comindware<instanceName> -
Откройте сайт экземпляра ПО в браузере, дождитесь окончания загрузки, одновременно открыв выдачу журналов экземпляра в терминале:
tail -f /var/log/comindware/<instanceName>/Log/sys* -
После обновления всех экземпляров ПО, старую версию ПО можно удалить согласно инструкции «Удаление версии ПО».
Эта статья была полезна 1 чел.