Опубликовано 11th Jul 2018 17:57:48 в категории Linux
Здравствуй, дорогой друг. Я не так давно попал в очень сложную ситуацию со своими серверами, которые синхронизируются по сети с помощью DRBD. Они "заболели" Split-brain'ом. Что это? Расскажу простым языком. У нас есть серверы (ноды), предположим, ha1 и ha2. Возникает ситуация, когда ha1 и ha2 "живы" и работают, но связь между ними прервалась. При этом каждая из них продолжает принимать запросы извне, либо одна из двух или вообще ни одна из них запросы не принимает (зависит от ситуации), но не может уведомить вторую ноду об этом и вообще о любых изменениях. Для каждой ноды все выглядит так, будто вторая нода вовсе померла, и она действует в одиночку. Вот эту ситуацию и называют «split-brain» - разделение "мозга" на два полушария, каждое из которых считает себя единственным хозяином ситуации. Шизофрения, в общем.
Ну так вот, возникла у меня как раз такая ситуация. Ноды с DRBD друг друга потеряли, и оба стали primary. Решить проблему можно следующим образом (последовательность ВАЖНА!):
drbdadm secondary all
drbdadm disconnect all
drbdadm -- --discard-my-data connect all
drbdadm primary all
drbdadm disconnect all
drbdadm connect all
Профит!
Поддержите блог!