Обновление архитектуры Корпоративный сервер 2024 High Availible до актуальной версии

На схеме отображена архитектура с установленной версией Корпоративный сервер 2024.

Далее описана инструкция по обновлению этой архитектуры до актуальной версии Корпоративный сервер 2024.

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

Обновление НЕ изменит файлы конфигурации.

Но предварительно настоятельно рекомендуем создать снэпшоты и бэкапы обновляемых сервисов и базы данных.

Для проверки текущей версии перейдите по URL:

https://cddisk.ваш-домен/version

Где:

  • cddisk — адрес Р7-Диск;
  • ваш-домен — используемый домен для работы портала.

Скачать дистрибутив и патч обновления возможно по ссылке: Скачать «Р7-Офис. Корпоративный сервер».

1. Обновление одиночных модулей бэкенда

1.1. Обновление сервиса Api и обновление базы данных

Обновление базы данных достаточно выполнить только на одном сервере c Api.

Подключитесь к каждому из серверов с вынесенным сервисом Api и Sso.Api.

Скачайте на серверы любым удобным способом дистрибутив и файл с патчем обновления.

Файлы рекомендуется разместить в каталоге /mnt.

1.1.1. Обновление зависимостей

Перейдите в каталог:

cd /mnt

Из архива дистрибутива Корпоративный сервер 2024 необходимо распаковать скрипт update.sh и разместить его в одной директории с архивом дистрибутива.

Запустите команду обновления зависимостей для Online установок:

Для ОС Astra Linux:

sudo bash update.sh -c CDinstall_<версия>.zip

Для ОС РЕД ОС:

sudo bash update.sh -r RedOS_<версия>.zip

Для ОС Альт Linux:

sudo bash update.sh -l AltServer_<версия>.zip

Замените <версия> на нумерацию последней актуальной версии.

Пример для версии 2025.1.18.15276:

sudo bash update.sh -l AltServer_2025.1.18.15276.zip

Примечание. Для Offline установки, предварительно, должны быть установлены пакеты:

  • Для ОС Astra Linux: unzip, bsdutils, coreutils, jq;
  • Для ОС РЕД ОС: unzip, util-linux, coreutils, jq, rsyslog;
  • Для ОС Альт Linux: unzip, coreutils, jq.

Запустите команду обновления зависимостей для Offline установок:

Для ОС Astra Linux:

sudo bash update.sh -c CDinstall_<версия>_Astra_1.7.4_offline.zip --offline

Для ОС РЕД ОС:

sudo bash update.sh -r RedOS_<версия>_offline_RedOS_7.3.zip --offline

Для ОС Альт Linux:

sudo bash update.sh -l AltServer_<версия>_offline.zip --offline

Замените <версия> на нумерацию последней актуальной версии.

Пример для версии 2025.1.18.15276:

sudo bash update.sh -r RedOS_2025.1.18.15276_offline_RedOS_7.3.zip --offline

1.1.2. Обновление приложений

Из архива патча распакуйте скрипт update.sh и разместите его в одной директории с архивом патча.

Запустите скрипт обновления с параметром -s и названием обновляемого сервиса.

Так как в нашем случае два сервиса Api и Sso.Api находятся на одном сервере, команду выполнить нужно два раза с разными параметрами:

bash Patch/update.sh -s api Patch_<версия>.zip
bash Patch/update.sh -s sso Patch_<версия>.zip

Где:

  • update.sh — скрипт обновления;
  • -s — ключ для обновления бэкенда;
  • Patch_<версия>.zip — полный путь до скачанного на ВМ патча для обновления Api и Sso.Api.

В процессе установки на вопрос об обновлении базы данных необходимо ответить — «ДА» только на одном сервере с сервисом API и только один раз, на втором сервере и последующих этого делать не нужно.

Настройки подключения в базе данных будут взяты из файла конфигурации appsetings.json. В нашем случае произойдет подключение через Haproxy к лидирующей ноде PostgreSQL и будет проведено обновление.

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

1.2. Обновление только базы данных, без обновления сервисов

Если вам нужно обновить только базу данных, без обновления сервисов Корпоративного сервера 2024, тогда на одном сервере с сервисом Api выполните эту команду, иначе пропустите этот пункт:

bash Patch/update.sh -d Patch_<версия>.zip

Где:

  • update.sh — скрипт обновления;
  • -d — ключ для обновления Базы данных;
  • Patch_<версия>.zip — полный путь до скачанного на ВМ обновления Корпоративного сервера 2024.

1.3. Обновление сервиса Processing

Подключитесь к каждому из серверов с вынесенным сервисом Processing.

Скачайте на серверы любым удобным способом дистрибутив и файл с патчем обновления.

Файлы рекомендуется разместить в каталоге /mnt.

1.3.1. Обновление зависимостей

Перейдите в каталог:

cd /mnt

Из архива дистрибутива Корпоративный сервер 2024 необходимо распаковать скрипт update.sh и разместить его в одной директории с архивом дистрибутива.

Запустите команду обновления зависимостей для Online установок:

Для ОС Astra Linux:

sudo bash update.sh -c CDinstall_<версия>.zip

Для ОС РЕД ОС:

sudo bash update.sh -r RedOS_<версия>.zip

Для ОС Альт Linux:

sudo bash update.sh -l AltServer_<версия>.zip

Замените <версия> на нумерацию последней актуальной версии.
Пример для версии 2025.1.18.15276:

sudo bash update.sh -l AltServer_2025.1.18.15276.zip

Примечание. Для Offline установки, предварительно, должны быть установлены пакеты:

  • Для ОС Astra Linux: unzip, bsdutils, coreutils, jq;
  • Для ОС РЕД ОС: unzip, util-linux, coreutils, jq, rsyslog;
  • Для ОС Альт Linux: unzip, coreutils, jq.

Запустите команду обновления зависимостей для Offline установок:

Для ОС Astra Linux:

sudo bash update.sh -c CDinstall_<версия>_Astra_1.7.4_offline.zip --offline

Для ОС РЕД ОС:

sudo bash update.sh -r RedOS_<версия>_offline_RedOS_7.3.zip --offline

Для ОС Альт Linux:

sudo bash update.sh -l AltServer_<версия>_offline.zip --offline

1.3.2. Обновление приложений

Из архива патча распакуйте скрипт update.sh и разместите его в одной директории с архивом патча.

Запустите скрипт обновления с параметром -s и названием обновляемого сервиса.

bash Patch/update.sh -s processing Patch_<версия>.zip

Где:

  • update.sh — скрипт обновления;
  • -s — ключ для обновления бэкенда;
  • Patch_<версия>.zip — полный путь до скачанного на ВМ патча для обновления Processing.

1.4. Обновление сервиса FileStorage/Registry

Подключитесь к каждому из серверов с вынесенным сервисом FileStorage/Registry.

Скачайте на серверы любым удобным способом дистрибутив и файл с патчем обновления.

Файлы рекомендуется разместить в каталоге /mnt.

1.4.1. Обновление зависимостей

Перейдите в каталог:

cd /mnt

Из архива дистрибутива Корпоративный сервер 2024 необходимо распаковать скрипт update.sh и разместить его в одной директории с архивом дистрибутива.

Запустите команду обновления зависимостей для Online установок:

Для ОС Astra Linux:

sudo bash update.sh -c CDinstall_<версия>.zip

Для ОС РЕД ОС:

sudo bash update.sh -r RedOS_<версия>.zip

Для ОС Альт Linux:

sudo bash update.sh -l AltServer_<версия>.zip

Замените <версия> на нумерацию последней актуальной версии.
Пример для версии 2025.1.18.15276:

sudo bash update.sh -l AltServer_2025.1.18.15276.zip

Примечание. Для Offline установки, предварительно, должны быть установлены пакеты:

  • Для ОС Astra Linux: unzip, bsdutils, coreutils, jq;
  • Для ОС РЕД ОС: unzip, util-linux, coreutils, jq, rsyslog;
  • Для ОС Альт Linux: unzip, coreutils, jq.

Запустите команду обновления зависимостей для Offline установок:

Для ОС Astra Linux:

sudo bash update.sh -c CDinstall_<версия>_Astra_1.7.4_offline.zip --offline

Для ОС РЕД ОС:

sudo bash update.sh -r RedOS_<версия>_offline_RedOS_7.3.zip --offline

Для ОС Альт Linux:

sudo bash update.sh -l AltServer_<версия>_offline.zip --offline

1.4.2. Обновление приложений

Из архива патча распакуйте скрипт update.sh и разместите его в одной директории с архивом патча.

Запустите скрипт обновления с параметром -s и названием обновляемого сервиса.

Так как в нашем случае два сервиса FileStorage и Registry находятся на одном сервере, команду выполнить нужно два раза с разными параметрами:

bash Patch/update.sh -s fs Patch_<версия>.zip
bash Patch/update.sh -s sr Patch_<версия>.zip

Где:

  • update.sh — скрипт обновления;
  • -s — ключ для обновления бэкенда;
  • Patch_<версия>.zip — полный путь до скачанного на ВМ патча для обновления FileStorage/Registry.

1.5. Обновление сервиса SearchApi

Подключитесь к каждому из серверов с вынесенным сервисом SearchApi.

Скачайте на серверы любым удобным способом дистрибутив и файл с патчем обновления.

Файлы рекомендуется разместить в каталоге /mnt.

1.5.1. Обновление зависимостей

Перейдите в каталог:

cd /mnt

Из архива дистрибутива Корпоративный сервер 2024 необходимо распаковать скрипт update.sh и разместить его в одной директории с архивом дистрибутива.

Запустите команду обновления зависимостей для Online установок:

Для ОС Astra Linux:

sudo bash update.sh -c CDinstall_<версия>.zip

Для ОС РЕД ОС:

sudo bash update.sh -r RedOS_<версия>.zip

Для ОС Альт Linux:

sudo bash update.sh -l AltServer_<версия>.zip

Замените <версия> на нумерацию последней актуальной версии.
Пример для версии 2025.1.18.15276:

sudo bash update.sh -l AltServer_2025.1.18.15276.zip

Примечание. Для Offline установки, предварительно, должны быть установлены пакеты:

  • Для ОС Astra Linux: unzip, bsdutils, coreutils, jq;
  • Для ОС РЕД ОС: unzip, util-linux, coreutils, jq, rsyslog;
  • Для ОС Альт Linux: unzip, coreutils, jq.

Запустите команду обновления зависимостей для Offline установок:

Для ОС Astra Linux:

sudo bash update.sh -c CDinstall_<версия>_Astra_1.7.4_offline.zip --offline

Для ОС РЕД ОС:

sudo bash update.sh -r RedOS_<версия>_offline_RedOS_7.3.zip --offline

Для ОС Альт Linux:

sudo bash update.sh -l AltServer_<версия>_offline.zip --offline

1.5.2. Обновление приложений

Из архива патча распакуйте скрипт update.sh и разместите его в одной директории с архивом патча.

Запустите скрипт обновления с параметром -s и названием обновляемого сервиса:

bash Patch/update.sh -s search Patch_<версия>.zip

Где:

  • update.sh — скрипт обновления;
  • -s — ключ для обновления бэкенда;
  • Patch_<версия>.zip — полный путь до скачанного на ВМ патча для обновления SearchApi.

2. Полное обновление веб модулей

Во время обновления веба (то, что отображается в браузере, фронтенд) будет происходить замена старых файлов, на новые.

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

Во время обновления будет происходить обновление статичных файлов веба из патча (cddisk, cdmail, admin, contacts, calendar, projects).

Для обновления согласно нашей архитектуре, необходимо:

1. Подключиться к серверу с балансировщиком NGINX;

2. Скачать на серверы любым удобным способом файл с патчем обновления;

3. Из архива патча распаковать скрипт update.sh и разместить его в одной директории с архивом патча;

4. Отредактировать файл update.sh закомментировав строчку с обновлением dotnet в функции check_installed:

Обновление архитектуры Корпоративный сервер 2024 High Availible до актуальной версии

5. Выполнить команду обновления статики:

bash Patch/update.sh -f Patch_<версия>.zip
systemctl restart nginx

Где:

  • update.sh — скрипт обновления;
  • -f — ключ для запуска возможного полного обновления веб;
  • Patch_<версия>.zip — полный путь до скачанного на ВМ патча Корпоративного сервера 2024.

3. Одиночное обновление веб модулей

Во время обновления веба (то, что отображается в браузере, фронтенд) будет происходить замена старых файлов, на новые.

3.1. admin

Пример выполнения обновления:

bash update.sh -w admin Patch_<версия>.zip

Где:

  • update.sh — скрипт обновления;
  • -w — ключ для обновления веба;
  • Patch_<версия>.zip — полный путь до скачанного на ВМ обновлённого веб Р7-Управление.

3.2. cddisk

Пример выполнения обновления:

bash update.sh -w cddisk Patch_<версия>.zip

Где:

  • update.sh — скрипт обновления;
  • -w — ключ для обновления веба;
  • Patch_<версия>.zip — полный путь до скачанного на ВМ обновлённого веб Р7-Диск.

3.3. calendar

Пример выполнения обновления:

bash update.sh -w calendar Patch_<версия>.zip

Где:

  • update.sh — скрипт обновления;
  • -w — ключ для обновления веба;
  • Patch_<версия>.zip — полный путь до скачанного на ВМ обновлённого веб Р7-Календарь.

3.4. cdmail

Пример выполнения обновления:

bash update.sh -w cdmail Patch_<версия>.zip

Где:

  • update.sh — скрипт обновления;
  • -w — ключ для обновления веба;
  • Patch_<версия>.zip — полный путь до скачанного на ВМ обновлённого веб Р7-Почта.

3.5. contacts

Пример выполнения обновления:

bash update.sh -w contacts Patch_<версия>.zip

Где:

  • update.sh — скрипт обновления;
  • -w — ключ для обновления веба;
  • Patch_<версия>.zip — полный путь до скачанного на ВМ обновлённого веб Р7-Контакты.

3.6. projects

Пример выполнения обновления:

bash update.sh -w projects Patch_<версия>.zip

Где:

  • update.sh — скрипт обновления;
  • -w — ключ для обновления веба;
  • Patch_<версия>.zip — полный путь до скачанного на ВМ обновлённого веб Р7-Проекты.

4. Перечень вопросов во время инсталляции

4.1. Обновлять Базу данных?

4.1.1. Ответить Нет

Не будет запущен процесс обновления БД.

Актуально, если обновление БД не требуется, и она уже обновлена до версии этого патча.

4.1.2. Ответить Да

Будет обновлена БД бэкенда до актуального состояния.

4.2. Обновлять веб?

4.2.1. Ответить Да

Будет запущен процесс обновления веба.

4.2.2. Ответить Нет

Обновление веба будет пропущено.

Актуально, если ваш веб-сервер находится на отдельной виртуальной машине.

5. Команды проверки версии dotnet

Команда для Astra Linux:

apt-cache depends cddisk |grep dotnet

Команда для РЕД ОС:

rpm -qR cddisk |grep dotnet

Команда для Альт Linux:

rpm -qR cddisk |grep dotnet

6. Логирование скрипта

Лог выводится в консоль в реальном времени, также дублируется в системный лог в файл каталога /var/log/log-date+time-update.sh.log.

Известные проблемы после обновления

Если после обновления на портале у пользователей пропали аватары (изображения профилей), то выполните следующее обновление в базе данных:

sudo -i -u postgres psql cddisk
 
update public."Users" set "PhotoId"=(SELECT "AvatarId" FROM public."ChatAvatarRelations" r where r."EntityId"=public."Users"."Id" and r."Type"=1 order by r."Id" desc limit 1) where "PhotoId" IS NULL;
 
\q
Была ли полезна статья?
Позвольте нам стать лучше
Дополнительные материалы