Как обновить Printum
Когда использовать
Перед обновлением Мониторинга или ПринтМенеджера в продуктивной среде.
Предусловия
- Доступ к серверам по SSH.
- Дистрибутивы получены и размещены на серверах вместе с хеш-суммами.
- Сделан снапшот ВМ или резервная копия — обязательно.
Резервная копия
При создании резервной копии предпочтительнее воспользоваться интсрументамиинструментами гипервизора (снапшот или бэкап).
Если нет возможности использовать инструменты гипервизора то, воспользуйтесь инструкцией по созданию резервной копии системы: Создание резервной копии
Восстановление: Восстановление из резервной копии
Базовая конфигурация: онлайн-обновление
# 1. Обновить М
sudo curl -L https://s3.printum.io/box/monitoring/install.sh | sudo -E bash
# 2. Убедиться что М работает — открыть ЛК, проверить доступность панели администратора Монитоирнга.
# 3. Обновить ПМ
sudo curl -L https://s3.printum.io/distrib/printum-printmanager/install.sh | sudo -E bash
Если используется шифрование конфигурационного файла — добавить переменную ENV_VAULT_PASSWORD=<password> в команду запуска обновления.
Базовая конфигурация: офлайн-обновление
# Перенести дистрибутивы на сервер
scp monitoring-x.y.z.tar.gz root@<ip>:/root/dist/
scp monitoring-x.y.z.tar.gz.sha512 root@<ip>:/root/dist/
scp printmanager-x.y.z.tar.gz root@<ip>:/root/dist/
scp printmanager-x.y.z.tar.gz.sha512 root@<ip>:/root/dist/
# Проверить целостность
cd /root/dist
sha512sum -c monitoring-x.y.z.tar.gz.sha512
sha512sum -c printmanager-x.y.z.tar.gz.sha512
# Обновить М
tar xzvf monitoring-x.y.z.tar.gz
cd monitoring-x.y.z
sudo -E ./install.sh
# После запуска М — обновить ПМ
cd /root/dist
tar xzvf printmanager-x.y.z.tar.gz
cd printmanager-x.y.z
sudo -E ./install.sh
Если используется шифрование конфигурационного файла — добавить переменную ENV_VAULT_PASSWORD=<password> в команду запуска обновления.
Балансировщик: обновление через скрипт массовой установки
Если система устанавливалась через install_all_offline.sh, то обновить пути к дистрибутивам в config.ini:
В разделе [General] указать путь где хранятся новые дистрибутивы на сервере:
[General]
MON_DIST_PATH = /home/user/printum-x.x.x.tar.gz
PM_DIST_PATH = /home/user/printmanager-x.x.x.tar.gz
Убедится, что в каждом из разделов Мониторинга и ПринтМенеджера переменная SKIP установлена в нужное положение:
SKIP = false #если пропускать обновление для данного сервера не нужно.
SKIP = true #если требуется пропустить обновление данного сервера.
Сохранить изменения в файле и запустить обновление:
sudo ./install_all_offline.sh
Балансировщик: ручное обновление
Если скрипт массовой установки не использовался:
- Обновить Мониторинг согласно вышеизложенной инструкции по базовой конфигурации.
- Остановить контейнеры ПринтМенеджера на всех нодах:
ssh user@pm1 "cd /opt/printmanager && sudo docker-compose down"
ssh user@pm2 "cd /opt/printmanager && sudo docker-compose down"
ssh user@pm3 "cd /opt/printmanager && sudo docker-compose down"
- Обновить ПринтМенеджер на первой ноде согласно вышеизложенной инструкции по базовой конфигурации.
- Обновить остальные ПринтМенеджеры — можно параллельно.
- Проверить панель доступность нод в веб-интерфейсе балансирвощика.
- Проверить доступность ПринтМенеджера по адресу балансировщика.
Проверка после обновления
# Версии компонентов
cat /opt/printum/.version
cat /opt/printmanager/.version
# Статус контейнеров
cd /opt/printum && sudo docker-compose ps
cd /opt/printmanager && sudo docker-compose ps
Все контейнеры должны быть в статусе Up. Контейнеры в статусе Exit или Restarting — признак проблемы.
Функциональные проверки:
- Открывается Личный Кабинет и панель администратора Мониторинга.
- Открывается панель администратора ПринтМенеджер.
- Синхронизация Мониторинг–ПринтМенеджер завершается без ошибок.
- Авторизация на МФУ работает.
- Тестовое задание уходит на печать.
Если что-то пошло не так
Типовые ошибки после обновления — в разделе "Устранение неисправностей":
- Встала печать после обновления — Bad response 500
- Счётчики не обновляются после обновления М
- SSL: Hostname mismatch после обновления
- Синхронизация Мониторинг–ПринтМенеджер завершается ошибкой 403
- Ошибка MultipleObjectsReturned при обновлении ПринтМенеджер 4.3 → 4.4