Проект

Общее

Профиль

Обновление TEGU

Choose a language: RU | EN | ZH

Table of contents

При нумерации версия используется следующая нотация:

<мажорная версия>.<минорная версия>.<номер сборки>

ВАЖНО

При первичном запуске новой версии программа производит изменение структуры БД из расчета, что все предыдущие изменения структуры были сделаны ранее при прошлых обновлениях.
Изменения, отраженный в номере сборки (третий октет не связаны с изменением структуры БД).

Важно. Обновление на более низкую версию категорически запрещено, т.к в структуру базы данных могут быть внесены изменения.
Таким способом вы рискуете нарушить целостность базы данных, что ее восстановление будет возможно только из резервной копии.
Мы крайне не рекомендуем вмешиваться в работу базы данных, модифицировать ее, что может повлечь за собой разрушительные последствия необратимого характера.

Также перед обновлением необходимо убедиться, что между нодами Tegu и сервером базой данных не нарушена сетевая связанность, в противном случае вы также рискуете получить ошибки
во время обновления и миграций BD почтовых ящиков.

Убедиться в этом можно заглянув в журнал Postgres и посмотреть на отсутствие записей вида и тому подобных:

[DEBUG] failed to connect to `host=172.16.0.221 user=postgres database=tegu_mailboxes`: tls error (server refused TLS connection) 

ПЕРЕД ОБНОВЛЕНИЕ ОБЯЗАТЕЛЬНО ПРОВЕРИТЬ УСТАНОВЛЕН ЛИ ПАКЕТ postgresql-contrib НА СЕРВЕРЕ POSTGRES

Посмотреть можно так - apt list --installed | grep postgres

Должны увидеть следующую картину:

root@tegu-postgres:~# apt list --installed | grep postgres

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

postgresql-15/stable,stable-security,now 15.10-0+deb12u1 amd64 [установлен, автоматически]
postgresql-client-15/stable,stable-security,now 15.10-0+deb12u1 amd64 [установлен, автоматически]
postgresql-client-common/stable,now 248 all [установлен, автоматически]
postgresql-common/stable,now 248 all [установлен, автоматически]
postgresql-contrib/stable,now 15+248 all [установлен]
postgresql/stable,now 15+248 all [установлен]

Если пакет postgresql-contrib не установлен установить и только после этого выполнять обновление.

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

Резервное копирование

Выполните резервное копирование текущей БД сервера

Получение дистрибутива TEGU

Скачать дистрибутив можно здесь: https://downloads.mbk-lab.ru/

Выполнение обновления

Останавливаем на всех нодах почтовый сервис.

systemctl stop tegu.service

Переходим в папку opt:

cd /opt

Распаковка дистрибутива

tar xvzf tegu-ent-v1.19.44-x86_64.tar.gz

Переходим в распакованную папку

cd /opt/tegu-ent-v1.19.44-x86_64

Копируем содержимое папки bin

cp bin/* /opt/tegu/bin/

Копируем содержимое sbin

cp sbin/* /opt/tegu/sbin/

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

setcap CAP_NET_BIND_SERVICE=+eip /opt/tegu/sbin/tegu

/opt/tegu/sbin/tegu – путь до исполняемого файла.

Запускаем почтовый сервер

systemctl start tegu.service

Проверяем статус запущенной службы

systemctl status tegu.service
● tegu.service - Tegu. MBK-Lab Mail Server
   Loaded: loaded (/etc/systemd/system/tegu.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2021-07-08 14:13:28 +07; 20s ago
 Main PID: 16047 (tegu)
    Tasks: 8 (limit: 2362)
   Memory: 23.7M
   CGroup: /system.slice/tegu.service
           └─16047 /opt/tegu/sbin/tegu

Обновление завершено.