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

На картинке выше представлена архитектура с установленной версией Корпоративный сервер 2024 (4400).

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

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

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

Обновление не изменит файлы конфигурации! Но предварительно настоятельно рекомендуем создать снэпшоты и бэкапы обновляемых сервисов и базы данных!

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

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

Если установлен dotnet 3, удалите его, обновление установит dotnet 6 необходимый для работы.

команды для удаление dotnet 3.1 по порядку для ОС Astra Linux, Red OS, Alt Linux

apt remove dotnet-sdk-3.1
dnf remove dotnet-sdk-3.1
apt-get remove dotnet-sdk-3.1

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

cd /mnt
wget https://download.r7-office.ru/disk/update/Patch_2.0.2024.14752.zip

Распакуйте скрипт обновления из архива с обновлением в эту же папку

unzip Patch_2.0.2024.14752.zip Patch/update.sh -d /mnt

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

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

bash Patch/update.sh -s api Patch_2.0.2024.14752.zip
bash Patch/update.sh -s sso Patch_2.0.2024.14752.zip

Где,

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

В процессе установки на вопрос об обновлении базы данных необходимо ответить — «ДА» ТОЛЬКО НА ОДНОМ СЕРВЕРЕ И ТОЛЬКО ОДИН РАЗ с сервисом Api, на втором сервере и последующих этого делать НЕ НУЖНО.

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

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

1.1.2. Обновление одной лишь базы данных, без обновления сервисов.

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

bash Patch/update.sh -d Patch_2.0.2024.14752.zip

Где,

  • update.sh — скрипт обновления
  • -d — ключ для обновления Базы Данных
  • Patch_2.0.2024.14752.zip — полный путь до скачанного на ВМ обновления КС24

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

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

Если установлен dotnet 3, удалите его, обновление установит dotnet 6 необходимый для работы.

команды для удаление dotnet 3.1 по порядку для ОС Astra Linux, Red OS, Alt Linux

apt remove dotnet-sdk-3.1
dnf remove dotnet-sdk-3.1
apt-get remove dotnet-sdk-3.1

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

cd /mnt
wget https://download.r7-office.ru/disk/update/Patch_2.0.2024.14752.zip

Распакуйте скрипт обновления из архива с обновлением в эту же папку

unzip Patch_2.0.2024.14752.zip Patch/update.sh -d /mnt

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

bash Patch/update.sh -s processing Patch_2.0.2024.14752.zip

Где,

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

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

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

Если установлен dotnet 3, удалите его, обновление установит dotnet 6 необходимое для работы.

команды для удаление dotnet 3.1 по порядку для ОС Astra Linux, Red OS, Alt Linux

apt remove dotnet-sdk-3.1
dnf remove dotnet-sdk-3.1
apt-get remove dotnet-sdk-3.1

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

cd /mnt
wget https://download.r7-office.ru/disk/update/Patch_2.0.2024.14752.zip

Распакуйте скрипт обновления из архива с обновлением в эту же папку

unzip Patch_2.0.2024.14752.zip Patch/update.sh -d /mnt

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

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

bash Patch/update.sh -s fs Patch_2.0.2024.14752.zip
bash Patch/update.sh -s sr Patch_2.0.2024.14752.zip

Где,

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

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

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

Если установлен dotnet 3, удалите его, обновление установит dotnet 6 необходимое для работы.

команды для удаление dotnet 3.1 по порядку для ОС Astra Linux, Red OS, Alt Linux

apt remove dotnet-sdk-3.1
dnf remove dotnet-sdk-3.1
apt-get remove dotnet-sdk-3.1

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

cd /mnt
wget https://download.r7-office.ru/disk/update/Patch_2.0.2024.14752.zip

Распакуйте скрипт обновления из архива с обновлением в эту же папку

unzip Patch_2.0.2024.14752.zip Patch/update.sh -d /mnt

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

bash Patch/update.sh -s search Patch_2.0.2024.14752.zip

Где,

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

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

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

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

Во время обновления будет происходить:

  • Обновление статичных файлов веба из патча (cddisk, cdmail, admin, contacts, calendar, projects).

Для обновления согласно нашей архитектуре, необходимо подключиться к серверу с балансировщиком NGINX.

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

cd /mnt
wget https://download.r7-office.ru/disk/update/Patch_2.0.2024.14752.zip

Распакуйте скрипт обновления из архива с обновлением в эту же папку

unzip Patch_2.0.2024.14752.zip Patch/update.sh -d /mnt

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

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

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

bash Patch/update.sh -f Patch_2.0.2024.14752.zip
systemctl restart nginx

Где,

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

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

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

3.1. admin

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

bash update.sh -w admin Patch_2.0.2024.14752.zip

Где,

  • update.sh — скрипт обновления
  • -w — ключ для обновления веб
  • Patch_2.0.2024.14752.zip — полный путь до скачанного на ВМ обновлённого веб Р7-Админ

3.2. cddisk

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

bash update.sh -w cddisk Patch_2.0.2024.14752.zip

Где,

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

3.3. calendar

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

bash update.sh -w calendar Patch_2.0.2024.14752.zip

Где,

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

3.4. cdmail

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

bash update.sh -w cdmail Patch_2.0.2024.14752.zip

Где,

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

3.5. contacts

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

bash update.sh -w contacts Patch_2.0.2024.14752.zip

Где,

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

3.6. projects

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

bash update.sh -w projects Patch_2.0.2024.14752.zip

Где,

  • update.sh — скрипт обновления
  • -w — ключ для обновления веб
  • Patch_2.0.2024.14752.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

Команда для Red OS

rpm -qR cddisk |grep dotnet

Команда для Alt 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
Была ли полезна статья?
Позвольте нам стать лучше