Обновление AFIGate¶
Обновление AFIGate выполняется офлайн: новый дистрибутив предоставляет
поставщик, после чего
jmsctl.sh upgrade разворачивает его поверх текущей установки и применяет
миграции БД.
1. Перед обновлением¶
- прочитайте примечания к устанавливаемому выпуску AFIGate;
- используйте дистрибутив той же или более новой версии — переход на более старую версию не поддерживается без предварительного согласования;
- выберите время для обновления: во время
upgradeсервисы недоступны; - завершите или предупредите пользователей об активных SSH/RDP/DB-сессиях — подключения будут прерваны при обновлении;
- не обновляйте отдельные контейнерные образы вручную в обход
jmsctl.sh upgrade— это может нарушить совместимость компонентов.
2. Что сохранить перед обновлением¶
Данные AFIGate состоят из базы данных и каталога VOLUME_DIR
(по умолчанию /opt/afigate). Перед обновлением сохраните оба.
Резервная копия базы данных¶
Проверьте, что команда завершилась без ошибок и созданный SQL-файл имеет
ненулевой размер (по умолчанию сохраняется в VOLUME_DIR/db_backup/).
Скопируйте файл на отдельный сервер или в защищенное хранилище.
Резервная копия файлов и конфигурации¶
В VOLUME_DIR входят как минимум:
config/config.txt— конфигурация, включаяSECRET_KEYиBOOTSTRAP_TOKEN; без исходногоSECRET_KEYсохраненные секреты расшифровать невозможно;core/data/media— записи сессий (если не вынесены во внешнее хранилище);core/data/logs,koko/data/logs,nginx/data/logs— журналы;koko/data/keys— ключи регистрации компонентаkoko;postgresql/data,redis/data— данные встроенных БД (если используются вместо внешних PostgreSQL/Redis).
Полную структуру каталога и правила восстановления см. в «Резервное копирование и восстановление».
Опасно
Отдельно сохраните значения SECRET_KEY и BOOTSTRAP_TOKEN из
config.txt — они не восстанавливаются автоматически и требуются при
аварийном восстановлении на новом сервере.
В кластерной установке резервную копию БД и config.txt достаточно снять с
одного узла, но копию общего хранилища записей (NFS/S3/MinIO/Ceph) проверяйте
отдельно от узлов AFIGate.
3. Порядок обновления¶
Получите архив новой версии AFIGate у поставщика и перенесите его на сервер,
например в /opt:
Распакуйте архив рядом с текущей установкой и запустите обновление:
cd /opt
tar -xf afigate-installer-v4.11.0-afi.1-x86_64.tar.gz
cd afigate-installer-v4.11.0-afi.1-x86_64
sudo ./jmsctl.sh upgrade
upgrade загружает новые образы, применяет миграции БД и обновляет
конфигурацию текущей установки (/opt/afigate/config/config.txt
сохраняется). В процессе мастер может задать уточняющие вопросы —
отвечайте на них, ориентируясь на текущие параметры установки.
После завершения запустите сервисы и проверьте состояние:
В кластерной установке обновляйте узлы по одному: выведите узел из
балансировщика, выполните upgrade и start, дождитесь готовности сервисов
и только после этого переходите к следующему узлу. Поочередное обновление без
простоя допустимо только если соседние версии узлов совместимы — сверьтесь с
примечаниями к выпуску.
4. Проверка после обновления¶
sudo ./jmsctl.sh status— все сервисы запущены;sudo ./jmsctl.sh tail core— нет повторяющихся ошибок в журнале;- вход в веб-интерфейс, брендинг и версия в разделе О системе;
- состояние компонентов: Core, Koko, Lion, Chen,
afigate_db,afigate_rdp,afigate_panda,afigate_reporting; - тестовые подключения: веб-терминал, нативный SSH, нативный RDP через
afigate_rdp, подключение к БД черезafigate_db, при необходимости — Git через KoKo (git ls-remote/git cloneна порт 2222); - воспроизведение ранее записанной сессии;
- лицензия — актуальный лимит и срок действия в Настройки системы → Лицензия.
5. Откат¶
Если после обновления обнаружены критичные проблемы:
- Остановите сервисы:
sudo ./jmsctl.sh stop. - Восстановите сохраненный
VOLUME_DIR(в том числеconfig.txt) из резервной копии, снятой перед обновлением. - Восстановите БД из резервной копии:
sudo ./jmsctl.sh restore_db /path/to/backup.sql. - Запустите прежнюю версию дистрибутива (
jmsctl.sh start) и проверьте работоспособность.
Откат на более старую версию поддерживается только через восстановление из
резервной копии, снятой до обновления — понижение версии «на месте» командой
jmsctl.sh не предусмотрено.