Обновление MTA

upgrading to a newer version
Проверка лицензии первым шагом, а не после

Порядок здесь короткий, но первые три шага — про лицензию, и это не формальность.

Ключ должен быть годен для той версии, которую ставят. Лицензия привязана к старшей версии: ключ от предыдущей новую не запустит.

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

И только потом — обновление пакета штатным менеджером.

Отката руководство не описывает. Обновление пакета заменяет работающий MTA, и вернуться к прежней версии — отдельная задача, о которой оно молчит.

Главная ловушка — обновиться и обнаружить негодную лицензию. Пакет заменяется первым, лицензия проверяется MTA при запуске. Если ключ не подошёл, узел остаётся с новым пакетом, который не стартует, и со старым, которого уже нет. Отправка стоит, а решение — обращение в поддержку за ключом, то есть ожидание. Именно поэтому проверка лицензии и стоит до, а не после.
Что делает Хаб. Обновление MTA не выполняет — это делает тот, кто владеет узлом.

⚠️ И предупредить об истечении срока не может: уровень и срок лицензии в телеметрии не приходят, а канал вендорских предупреждений — письмо на адрес ответственного — у нас не задан (pmtawatch).

Конфигурацию Хаб после обновления восстановит: она хранится у него с версиями и применяется заново. А вот перерыв отправки на время замены пакета неизбежен.

Рекомендуемые значения

Что проверить до обновления:

Что Чем грозит пропуск
ключ годен для новой версии узел не стартует, старого пакета уже нет
срок поддержки не истёк то же, но обнаруживается позже
конфигурация сохранена восстанавливать придётся из памяти
окно для перерыва замена пакета останавливает отправку

Отката нет — значит проверки заменяют его. Всё, что можно узнать до замены пакета, надо узнать до неё.

Окно выбирать по очереди, а не по часам. Остановка безопасна для писем — они остаются на диске, — но безопаснее делать её тогда, когда очередь мельче.

Перечень проверок и совет про окно наши. Из руководства здесь требование лицензии, годной для новой версии, проверка срока поддержки и сам порядок шагов.
Пример в конфигурации
# проверки идут первыми — отката руководство не описывает
pmta show licenserpm -Uvh PowerMTA-новая-версия.rpm
pmta show version && pmta test config
Выделенная строка отвечает на оба вопроса лицензии сразу — уровень и срок. Пропустить её значит узнать о негодном ключе тогда, когда старого пакета уже нет.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

Типичные ошибки и проблемы

что делают не так и чем это кончается3 ошибки▶

Обновляют пакет, не проверив лицензию

§ 2.6

Чем чреватоПроверка происходит при запуске нового MTA, когда старого пакета уже нет. Узел остаётся с тем, что не стартует, и отправка стоит до получения ключа из поддержки.
Как заметитьПосле обновления MTA не запускается, в журнале отказ по лицензии.
Как правильноСпрашивать уровень и срок лицензии до обновления. Это единственная защита — отката руководство не описывает.

Считают, что письма в очереди потеряются

§ 2.6

Чем чреватоОбратное: письма лежат на диске и подхватываются после запуска. Из-за этого опасения обновление откладывают до «пустой очереди», которой не бывает.
Как заметитьОбновление откладывается месяцами.
Как правильноВыбирать окно по размеру очереди, а не ждать её опустошения. Перерыв равен времени замены пакета.

Рассчитывают на откат

§ 2.6

Чем чреватоРуководство его не описывает. Возврат к прежней версии — отдельная задача, которую придётся решать самому и в тот момент, когда отправка уже стоит.
Как заметитьПлан обновления содержит шаг «в случае чего откатимся».
Как правильноЗаменить надежду на откат проверками до обновления и сохранённой конфигурацией.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Как проверить на узле
После обновления проверяется то же, что и после установки:
pmta show version && pmta show license
pmta test config
pmta show status
Строка Queues в последней команде должна совпасть с тем, что было до обновления: письма во время замены пакета лежат на диске и после запуска подхватываются.
В Хабе
Цена ошибки
с перерывом: применение прерывает работу узла
Сценарии
Подготовить узел к отправке