Назад | Перейти на главную страницу

Как вывести узлы DRBD из состояния подключения StandAlone (и WFConnection)?

Моя установка Debian 8.9 DRBD 8.4.3 каким-то образом перешла в состояние, когда два узла больше не могут соединяться по сети. Они должны копировать один ресурс r1, но сразу после drbdadm down r1; drbadm up r1 на обоих узлах их /proc/drbd опишите ситуацию следующим образом:

на 1-м узле (Состояние подключения либо WFConnection или StandAlone):

1: cs:WFConnection ro:Primary/Unknown ds:UpToDate/DUnknown C r-----
   ns:0 nr:0 dw:0 dr:912 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:20

на 2-м узле:

1: cs:StandAlone ro:Secondary/Unknown ds:UpToDate/DUnknown   r-----
   ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:48

Два узла могут пинговать друг друга по IP-адресам, указанным в /etc/drbd.d/r1.res, и netstat показывает, что оба прослушивают указанный порт.

Как я могу (провести дальнейшую диагностику и) выйти из этой ситуации, чтобы два узла стали Связано и снова реплицировать через DRBD?

Кстати, на более высоком уровне абстракции эта проблема в настоящее время проявляется в systemctl start drbd никогда не выходит, видимо потому, что застревает в drbdadm wait-connect all (как было предложено /lib/systemd/system/drbd.service).

Ситуация, по всей видимости, была вызвана случаем расщепления мозга.

Я не заметил этого, потому что я проверял только последние записи журнала на предмет drbd.service (sudo journalctl -u drbd), но проблема, по-видимому, была обнаружена в других журналах ядра и немного раньше (sudo journalctl | grep Split-Brain).

При этом, вручную решая разделенный мозг (как описано Вот или Вот) также разрешил неприятную ситуацию следующим образом.

На жертве с разделенным мозгом (при условии, что ресурс DRBD r1):

drbdadm disconnect r1
drbdadm secondary r1
drbdadm connect --discard-my-data r1

О выжившем с разделенным мозгом:

drbdadm primary r1
drbdadm connect r1