Обновление IVA Terra и откат к предыдущей версии
Процедура обновления включает подготовку файлов новой версии и создание резервных копий compose-файла и базы данных. Резервные копии используются для отката к предыдущей версии.
Обновление IVA Terra
Обновление IVA Terra до версии 6.X выполняется в каталоге установки предыдущей версии 5.X. В каталоге установки содержатся файл docker-compose.yml, каталоги данных TERRA_DATA/, TERRA_LOGS/ и другие.
|
При обновлении работа IVA Terra прерывается на время остановки контейнеров, резервного копирования базы данных и запуска новой версии |
Для обновления IVA Terra необходимо:
-
создать в директории отдельный каталог для файлов новой версии (например ~/terra_v6.0), выполнив команду:
Новые архивы Docker-образов необходимо разместить отдельно от каталога установки и развертывания IVA Terra mkdir ~/terra_v6.0 && cd ~/terra_v6.0 -
в созданный каталог загрузить файлы для установки IVA Terra:
-
compose-файл для используемого режима развертывания (например docker-compose-full-v6.0.yml)
-
файл md5summ_v6.0.txt
-
архивы образов *.img.gz только для используемого режима развертывания
-
скрипт deploy.terra_v6.0.sh
-
-
проверить целостность загруженных файлов, выполнив команду:
md5sum -c --ignore-missing md5summ_v6.0.txtПараметр --ignore-missingобязателен — без него отсутствующие архивы других вариантов развертывания дадут результат FAILED. Для каждого загруженного файла в выводе команды должно быть OK -
загрузить Docker-образы из архивов, выполнив команды:
cd ~/terra_v6.0 for f in *.img.gz; do echo "== $f"; gunzip -c "$f" | docker load; done -
сверить количество загруженных образов с составом используемого режима развертывания, выполнив команду:
docker images | grep -cE 'v6.0|terra_postgres|terra_rabbitmq' -
создать резервную копию рабочего docker-compose.yml в каталоге установки, выполнив команду:
cd <каталог установки> cp docker-compose.yml docker-compose.yml.v5.bak -
остановить контейнеры, выполнив команду:
Для пересоздания контейнеров на новых образах использовать команду docker compose down вместо stop docker compose down -
создать резервную копию каталога POSTGRES_TERRA_CONTROL после остановки контейнеров, выполнив команду:
tar czf ~/backup_db_$(date +%F).tar.gz POSTGRES_TERRA_CONTROL -
создать каталог VM_DATA для метрик сервиса Terra Metrics, выполнив команду:
mkdir -m 0777 VM_DATA -
заменить compose-файл шаблоном для используемого режима развертывания. Пример команды для режима Full:
cp ~/terra_v6.0/docker-compose-full-v6.0.yml docker-compose.yml -
сравнить новый файл docker-compose.yml с резервной копией docker-compose.yml.v5.bak и перенести измененные ранее настройки, например имя сети, порты, количество обработчиков и номера видеокарт
-
если использовалось несколько обработчиков online/offline, проверить наличие строки монтирования моделей в новом compose-файле:
- ./TERRA_MODELS:/models:ro -
запустить контейнеры и проверить их состояние, выполнив команды:
docker compose up -d docker compose psПри первом запуске веб-панель администрирования применяет миграции базы данных. Ожидание может занять несколько минут -
выполнить обязательные действия после установки IVA Terra и проверить работу системы
-
после проверки при необходимости удалить старые контейнеры и временные файлы, загруженные для обновления
Docker-образы версии v5.0 необходимо сохранять до завершения проверки новой версии
Образы и резервные копии docker-compose.yml.v5.bak и базы данных можно удалить, когда возможность отката больше не требуется
Откат IVA Terra к предыдущей версии
Для отката к предыдущей версии IVA Terra (например v5.X) необходимо:
-
остановить контейнеры текущей версии v6.X, выполнив команды:
cd <каталог установки> docker compose down -
восстановить базу данных из резервной копии, выполнив команды:
Команда
rm -rf POSTGRES_TERRA_CONTROLудаляет текущий каталог базы данных. Перед ее выполнением необходимо убедиться, что архив резервной копии доступенrm -rf POSTGRES_TERRA_CONTROL tar xzf ~/backup_db_<дата>.tar.gzгде <дата> — дата создания архива
-
восстановить compose-файл предыдущей версии, выполнив команду:
cp docker-compose.yml.v5.bak docker-compose.yml -
запустить контейнеры предыдущей версии, выполнив команду:
docker compose up -d