Skip to main content

Отказоустойчивость и деградационные сценарии Printum


Page Type: Overview Component: Printum Domain: Architecture Product Versions: All OS: Not applicable Status: Draft Related Components:

  • ПринтМенеджер
  • Мониторинг
  • Сетевой агент

Отказоустойчивость и деградационные сценарии Printum

Printum разрабатывался для предприятий с высокими требованиями к непрерывности печати и постоянному сбору статистики. Система должна продолжать работать даже при отказах серверов или проблемах со связью. Эта статья описывает две ключевые темы: деградационный режим (branch‑mode при разрыве связи) и высокую доступность (кластер из нескольких серверов управления печатью).

Деградационный режим

В распределённых установках Мониторинг обычно расположен в центральном ЦОДе, а ПринтМенеджер — в филиалах. Схема построена так, чтобы при пропадании связи между филиалом и центром печать не останавливалась. Вот как это работает:

  • Локальный ПринтМенеджер в филиале имеет собственные очереди и обслуживает пользователей филиала. Он подключается к Мониторинг для синхронизации пользователей и принтеров,МФУ, но может работать автономно.
  • Если связь между ПринтМенеджер и Мониторинг пропадает, пользователи в филиале продолжают печать, копирование и сканирование. Очереди и правила локально продолжают работать.
  • В деградационном режиме новые пользователи и изменения конфигурации из домена не передаются в филиал, а статистика о заданиях и счётчиках не выгружается в Мониторинг.
  • После восстановления канала связи все накопленные данные синхронизируются, Мониторинг получает статистику, а ПринтМенеджер обновляет список пользователей и устройств.

Деградационный режим нужен в филиалах с ненадёжными каналами. В организациях, где филиалы соединены с ЦОДом надёжными линиями связи, достаточно централизованной конфигурации без локальных ПринтМенеджер — отказоустойчивость достигается кластеризацией центральных серверов.

Высокая доступность ПринтМенеджер

Для непрерывной работы сервиса печати при отказе одного или двух серверов используется кластер ПринтМенеджер. Основные принципы:

  • Минимум три ноды. Алгоритм отказоустойчивости требует 2F+1 узлов, чтобы пережить отказ F узлов. При двух нодах отказ одной приведёт к потере кворума.
  • Балансировщик нагрузки (например, HAProxy) распределяет задания между серверами. Балансировщик можно настроить с резервированием, но сам Printum поставляется с автоматизированными шаблонами настройки HAProxy.
  • Обособленные сервисы: база данных Printum и файловое хранилище (куда помещаются документы и теневые копии) размещаются на отдельном сервере или кластере. Отказ сервера с базой данных не должен останавливать всю систему, поэтому базу данных и файловое хранилище необходимо реплицировать на стороне заказчика.
  • Разделение ролей: Мониторинг, ПринтМенеджер, база данных и файловое хранилище могут быть на разных серверах. На практике часто Мониторинг и один из ПринтМенеджер размещают на одном хосте, остальные PM — на отдельных.

Как работает кластер

  1. Пользователь отправляет задание на виртуальный принтерМФУ Printum.
  2. Балансировщик выбирает живой узел ПринтМенеджер и передаёт задание.
  3. ПринтМенеджер обрабатывает задание, хранит метаданные в общей базе, сохраняет файл в общую папку и отправляет на физический принтерМФУ после авторизации.
  4. Если один из ПринтМенеджер выходит из строя, балансировщик исключает его из пула; остальные узлы продолжают работу без прерывания сервиса. Пока не восстановится кворум, система должна поддерживать минимум две активные ноды.
  5. Администраторы восстанавливают упавший сервер или вводят новый. Система автоматически синхронизирует очереди и статистику через Мониторинг.

Зона ответственности заказчика

Printum обеспечивает отказоустойчивость приложений, однако ответственность за инфраструктуру остаётся за заказчиком:

  • репликация базы данных и файлового хранилища;
  • отказоустойчивость сети и балансировщика;
  • резервное копирование и аварийное восстановление (DR) серверов.

Вывод

Для надёжной работы Printum в филиалах с ненадёжной связью выбирайте распределённую архитектуру с локальными ПринтМенеджер. При необходимости непрерывной работы в централизованных установках используйте кластер из трёх и более ПринтМенеджер с балансировщиком нагрузки и репликацией базы данных. Деградационный режим и кластеризация не исключают друг друга и могут быть комбинированы в крупных проектах.