Подготовка
Сеть
- На серверах будут назначены частный частные IP адрес адреса для коммуникации между собой.
- Если сервис не предусматривает выход в интернетИнтернет, тогда дополнительный частный IP должен быть назначен на основную ноду.
- Если сервис работает в сети интернетИнтернет, тогда публичный IP может быть назначен на маршрутизаторе с DNAT на основную ноду.
- Альтернативный вариант - назначение публичного IP адреса непосредственно на основной ноде.
- Взаимодействие клиентом клиента с сервером должно происходить по записи в DNS, которая ссылается на общий для серверов публичный или частный IP.
База данных
Webitel использует PostgreSQL 14. На обеих обоих серверах необходимо установить PostgreSQL 14 со всеми компонентами, как указано в документации. На резервном сервере необходимо настроить потоковую репликацию (Streaming Replication) данных. Описание вы можете найти в официальной документации либо в нашем файле по установке.
Теперь все данные созданные на основном сервере моментально будут переноситься и на резервный.
Медиафайлы
По умолчанию Webitel хранит записи разговоров на файловой системе в /opt/storage
Способы обеспечения доступности данных:
- Подключение NAS-сервера. В данном случае сетевую файловую систему NAS-сервера необходимо подмонтировать как /opt/storage на оба сервера.
- Подключение S3 хранилища. Все записи разговоров будут храниться на распределенной сетевой файловой системе и одинаково доступны для обеих обоих серверов.
- Периодичная Периодическая синхронизация данных. С помощью rsync настроить синхронизацию данных /opt/storage с основного сервера на резервный.
Сервисы
Установка всех сервисов webitel на оба сервера. На резервном сервере все сервисы необходимо остановить. Также, важно после выполнения лицензирования пользователей на основном сервере, перенести содержимое /usr/local/webitel на резервный.
Переключение
Сеть
Переключить основной публичный или частный IP адрес на резервный сервер.
База данных
Перевести PostgreSQL 14 из режима работы реплики в режим основного сервера (pg_ctl _promote).
Сервисы
Запустить все сервисы webitel на резервном сервере.