Устранение split-brain в DRBD кластере при использовании primary/primary режима

Несколько дней назад в DRBD кластере одного из наших клиентов возник split-brain:

node2 kernel: block drbd1: Split-Brain detected, dropping connection!
node2 kernel: block drbd1: helper command: /sbin/drbdadm split-brain minor-1
node2 kernel: block drbd1: helper command: /sbin/drbdadm split-brain minor-1 exit code 0 (0x0)

Кластер работает в режиме primary/primary. И поскольку мы не используем механизм автоматического решения этой проблемы, необходимо в ручном режиме выполнить ряд действий.

В соответствии с официальной документаций DRBD, split-brain решается следующим образом.

drbdadm secondary
drbdadm connect --discard-my-data

Однако, проблема в том, что у команды drbdadm нет ключа ‘—discard-my-data’, поэтому она завершается с ошибкой:

[root@node2 ~]# drbdadm connect --discard-my-data wwwdata
drbdadm: unrecognized option '--discard-my-data'
try 'drbdadm help'
[root@node2 ~]#

Проблема может быть решена двумя способами.

1. Выполнить команду так, как показано ниже, то есть передать ключ непосредственно  drbdsetup:

drbdadm -- --discard-my-data connect wwwdata

2.  Использовать ключ —verbose для получения низкоуровневого вывода команды  drbdsetup, после чего выполнить ее с ключем ‘—discard-my-data’ :

drbdsetup 1 net 10.209.1.1:7789 10.209.1.2:7789 C --set-defaults --create-device --allow-two-primaries  --discard-my-data

После завершения синхронизации DRBD, split-brain victim можно переключить в режим primary.

drbdadm primary wwwdata

Проблема решена.

[root@node2 ~]# cat /proc/drbd
version: 8.3.7 (api:88/proto:86-91)
GIT-hash: ea9e28dbff98e331a62bcbcc63a6135808fe2917 build by root@node2.example.com, 2010-01-28 08:37:51
1:cs:Connected ro:Primary/Primary ds:UpToDate/UpToDate C r----
ns:125609294 nr:194649913 dw:320259208 dr:36731102 al:34129 bm:4042 lo:0 pe:0 ua:0 ap:0 ep:1 wo:d oos:0
[root@node2 ~]#

Добавить комментарий

Ваш e-mail не будет опубликован.