Я собираюсь настроить аварийное переключение для нашей службы Kannel с использованием Hardbeat и DRBD. Одна машина является основной, когда она умирает / выходит из строя, она переключается на вторичную.
Kannel использует каталог спула для временных файлов (дорожек / DLR). Чтобы не потерять данные отслеживания при выходе из строя основного сервера, данные синхронизируются DRBD. Но с DRBD невозможно смонтировать синхронизируемый раздел на обоих серверах одновременно. Поэтому мне нужно создать скрипт вверх / вниз, который (отключает) монтирует разделы, (повторно) запускает Kannel и т. Д., Чтобы он работал в случае переключения. Это возможно, но также существует потенциальный риск при переключении основного сервера (запуск и остановка Kannel иногда может занять некоторое время).
Поскольку после того, как я настроил установку, описанную выше, система обрабатывает много SMS-трафика и нагрузки, и ее трудно изменить впоследствии. Поэтому я изучаю другие варианты достижения того же, чтобы принять стабильное и устойчивое решение.
У кого-нибудь есть альтернативные варианты?
Спасибо
PS. Я знаю, что Kannel может сохранить эти данные отслеживания / dlr в базе данных, но мы не можем использовать это, потому что мы также используем другие каналы. коробки/ процессы, у которых нет этой функции базы данных.
Не уверен, что это помогает в вашем сценарии, но DRBD действительно работает с двумя основными томами, если вы используете файловую систему кластера, такую как GFS2 или что-то в этом роде.
Вам придется принять это и подождать, пока Kannel отключится при миграции. Нет надежного способа узнать, когда безопасно запустить Kannel на другом узле, прежде чем он отключится на выходящем узле - так что нет никакого смысла переключать DRBD до выключения Kannel в любом случае (а время переключения с вторичного на первичный в DRBD равно миллисекунды).