Пару недель назад я установил двухузловую CRM-систему с одним из управляемых ресурсов MySQL через DRBD. Сегодня по причинам технического обслуживания я перезапустил оба узла, но теперь они больше не могут подключаться друг к другу.
DRBD рассинхронизировался, и я последовал это руководство чтобы снова подключить его, но он может успешно работать только на одном узле.
Но происходит странная вещь: если я crm node standby
оба узла, и я пытаюсь:
crm node online node0
перед crm node online node1
, все ресурсы CRM запускаются успешно, но разделы DRBD все еще работают в автономном состоянии.crm node online node1
перед crm node online node0
, ресурс DRBD не запускается, в результате чего mysql не запускается.crm node online node0
затем он истекает и печатает эту ошибку: Runningcrm node online node0
produces this output after timing outError setting standby=off (section=nodes, set=<null>): Remote node did not respond Error performing operation: Remote node did not respond
Что я здесь делаю не так? Альтернативой будет просто репликация MySQL, но я не уверен, как сделать подчиненное устройство мастером, когда главная база данных недоступна.
Это очень похоже на сетевую ошибку, два узла drbd не могут подключиться друг к другу, и они не знают, кто является главным, поэтому для предотвращения повреждения они возвращаются к StandAlone
.
Самым важным является решение этой сетевой проблемы в первую очередь, если вы не можете этого сделать, просто продвигайте одну из двух систем drbd с помощью ForcePrimary
и выключите вторичный узел, пока проблема с сетью не будет решена.
Если вы используете drbd только для репликации MySQL с использованием механизма репликации MySQL, это не исключено, это просто вопрос размера вашей БД, оба метода имеют свои преимущества и недостатки.