Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.

Настройка отказоустойчивого кластера FreePBX High Availability (HA)

Обновлено: 15.09.2026  ·  Официальная база знаний

Симптомы проблем отказоустойчивости телефонии

Одиночный сервер FreePBX является единой точкой отказа (Single Point of Failure). При аппаратном сбое ноды колл-центр и офисная связь полностью останавливаются, а перенастройка транков и SIP-телефонов вручную занимает недопустимо много времени.

Компонент HAНазначение в кластере FreePBXХарактерный сбой
DRBDРепликация дисковых разделов Asterisk/MySQLРассинхронизация реплики (Split-Brain)
CorosyncМониторинг доступности узлов (Heartbeat)Потеря кворума из-за проблем связности сети
PacemakerМенеджер ресурсов и перевод плавающего Virtual IPЗависание ресурса IPaddr2 или Asterisk service

Пошаговая настройка и диагностика кластера FreePBX HA

  1. Выделение сетевых интерфейсов под Heartbeat и DRBD: используйте выделенный физический сетевой кабель или отдельный VLAN между двумя нодами (Node 1 и Node 2) для исключения задержек синхронизации.
  2. Проверка статуса кластера через утилиту командной строки crm:
    crm_mon -1
    # Проверка детального состояния ресурсов
    crm resource status
  3. Разрешение состояния Split-Brain на блочном устройстве DRBD: если обе ноды посчитали себя Primary после сетевого сбоя:
    # На подчиненной ноде (Secondary):
    drbdadm disconnect r0
    drbdadm secondary r0
    drbdadm connect --discard-my-data r0
    
    # На основной ноде (Primary):
    drbdadm connect r0
  4. Перевод ноды в режим обслуживания перед регламентными работами:
    crm node standby node1
    # Возврат ноды в активный пул после обновления
    crm node online node1

Внимание: Все абонентские телефоны и голосовые шлюзы VoIP должны регистрироваться исключительно на Виртуальный плавающий IP-адрес (Virtual Cluster IP), а не на реальные физические IP-адреса отдельных нод.

Практический опыт инженера: Практика ITSTM: Не настраивайте кластер FreePBX HA через Wi-Fi или нестабильные радиомосты. Джиттер на канале Heartbeat свыше 50 мс приведет к ложному срабатыванию тайм-аута Corosync и непрерывной циклической перезагрузке узлов кластера.

Частые вопросы (FAQ)

Сохраняются ли активные телефонные разговоры при аварийном переключении FreePBX HA?

Нет. При падении первичной ноды текущие разговоры прерываются. Новый узел поднимает виртуальный IP и Asterisk в течение 10-30 секунд, после чего телефоны перерегистрируются без участия человека.

Что такое механизм STONITH (Shoot The Other Node In The Head)?

Это протокол принудительной изоляции узла через IPMI/iLO/PDU для гарантии того, что сбойный сервер гарантированно обесточен и не запишет поврежденные данные на общий DRBD-диск.

Можно ли объединить в HA кластер FreePBX ноды разной конфигурации?

Крайне не рекомендуется. Архитектура процессора, размеры дисковых разделов под DRBD и версии пакетов ОС должны быть идентичными.

Как синхронизируются записи телефонных разговоров в HA?

Каталог /var/spool/asterisk/monitor монтируется поверх общего реплицируемого блочного устройства DRBD, что обеспечивает мгновенную синхронизацию записей.