# Подготовка к установке кластера Active-Active

## Назначение

Подготовка инфраструктуры для установки отказоустойчивого кластера ПринтМенеджеров в конфигурации Active-Active.

## Схема конфигурации

### Балансировщик нагрузки

Для распределения нагрузки между узлами ПринтМенеджера используется внешний балансировщик. По умолчанию применяется **HAProxy**; при необходимости — сторонний балансировщик.

### Серверы ПринтМенеджеров

Для отказоустойчивости при выходе из строя одного сервера требуется минимум три узла ПринтМенеджера. Количество серверов также зависит от ожидаемой нагрузки — подробный сайзинг см. в статье [Требования к серверу и сайзинг](https://docs.printum.io/books/8-spravocnik/page/trebovaniia-k-serveram-i-saizing).

> Примечание: минимальное количество узлов рассчитывается по формуле `T = 2F + 1`, где `T` — общее количество серверов, `F` — число серверов, которые могут выйти из строя.

### База данных и NFS-хранилище

- Отказоустойчивость обеспечивается заказчиком с использованием стандартных инфраструктурных решений (репликация, RAID и т.д.).

## Что потребуется

Подготовьте актуальные дистрибутивы:

- HAProxy;
- Мониторинг;
- ПринтМенеджер.

## Шаги подготовки

### Шаг 1. Создать серверы и назначить роли

Ниже приведён пример конфигурации кластера с тремя серверами ПринтМенеджера. Для других конфигураций подготовка выполняется аналогично, с добавлением новых серверов и указанием их адресов.

Создайте серверы на операционных системах, поддерживаемых Printum. Убедитесь, что каждый сервер соответствует [минимальным техническим требованиям](https://docs.printum.io/books/8-spravocnik/page/trebovaniia-k-serveram-i-saizing).

Каждый сервер предназначен для выполнения одной из следующих ролей:

|Роль|Адрес|ПО|
|---|---|---|
|Балансировщик|BALANCER_ADR|HAProxy|
|Мониторинг и ПринтМенеджер 1|MPM_1|Мониторинг + ПринтМенеджер|
|ПринтМенеджер 2|PM_2|ПринтМенеджер|
|ПринтМенеджер 3|PM_3|ПринтМенеджер|
|База данных PostgreSQL и NFS-хранилище|DB_NFS|PostgreSQL + NFS|

### Шаг 2. Подготовить сертификаты

Для каждого сервера потребуется отдельный сертификат и ключ с общим корневым сертификатом — см. [Требования к сертификатам безопасности](https://docs.printum.io/books/8-spravocnik/page/trebovaniia-k-sertifikatam-bezopasnosti).

### Шаг 3. Настроить DNS

Настройте DNS-имя для сервера балансировщика, указывающее на виртуальный IP-адрес (VIP).

## Ожидаемый результат

После выполнения этой инструкции:

- подготовлены серверы с назначенными ролями и они соответствуют минимальным техническим требованиям Printum;
- настроено DNS-имя (указывающее на VIP балансировщика) и сертификаты для каждого сервера;
- доступны актуальные дистрибутивы HAProxy, Мониторинга и ПринтМенеджера;
- инфраструктура готова к установке компонентов кластера.

## Следующие шаги

Установка компонентов кластера описана в разделе базы знаний [«Установка»](https://docs.printum.io/books/3-ustanovka/) — статьи по базе данных и NFS, балансировщику, Мониторингу и ПринтМенеджерам.

## Связанные статьи

- [Требования к сетевой доступности и портам](https://docs.printum.io/books/8-spravocnik/page/trebovaniia-k-setevoi-dostupnosti-i-portam)
- [Поддерживаемые операционные системы](https://docs.printum.io/books/8-spravocnik/page/podderzivaemye-operacionnye-sistemy)