Переключение на запасной узел

High Availability Configuration
Спул переносится вместе с работой

Схема из двух узлов: при отказе рабочего подающая программа шлёт новую почту на резервный. Если спул упавшего узла можно восстановить, его подключают к резервному вторым спулом и перезапускают службу — резервный отправляет и новую, и старую почту.

Возврат — в обратном порядке. Новую почту возвращают на восстановленный рабочий узел, а резервный работает, пока восстановленная почта не доставится или не отобьётся; потом ему возвращают единственный спул, и он простаивает до следующего раза.

Главная ловушка — выключить резервный узел сразу после возврата. Почту из подключённого спула доставляет он: остановка до того, как она доставлена или отбита, оставит её на диске недоставленной.
Что делает Хаб. 🔴 У Хаба понятия запасного узла нет: узлы независимы, и письма, стоявшие в очереди упавшего, нигде больше не существуют. Перенос спула — единственный способ их не потерять, и делается он руками.
Рекомендуемые значения

Кто что делает на каждом этапе:

Этап Рабочий узел Резервный узел
отказ лежит новая почта и, если спул спасён, старая вторым спулом
возврат новая почта досылает восстановленную почту
после досылки новая почта один спул, простой
Порядок переключения и возврата — из руководства (§ 11.11); второй спул и режим только доставки — § 3.3.2. Таблица — наша.
Пример в конфигурации
<spool /var/spool/pmta>
</spool>
<spool /mnt/failed-node/spool>
    deliver-only true</spool>
Путь к спулу упавшего узла — для примера; deliver-only не даёт класть в него новые письма.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Как проверить на узле
Проверить, что резервный узел подхватил второй спул:
pmta show status
Строки Spool и Queues после перезапуска должны вырасти на файлы и получателей упавшего узла.
В Хабе
Цена ошибки
с перерывом: применение прерывает работу узла
Сценарии
Аварийная остановка · Отказоустойчивость