Расщепленный мозг на DRBD и Pacemaker кластере
Я хочу обратить ваше внимание на следующую ситуацию, которая в настоящее время происходит в нашем активно-пассивном кластере (DRBD, Pacemaker, Corosync, PostgreSQL)
ОС: Ubuntu server 14.04 x64 DRBD: 8.4 Кардиостимулятор: 1.1.10 Corosync: 2.3.3 PostgreSQL: 9.3
Вот проблема: когда первичный выходит из строя, вторичный выбирается в качестве первичного. Проблема возникает во время повторного введения предыдущего основного принципа, он напрямую переходит в ситуацию с раздвоенным мозгом, когда вместо этого он должен стать второстепенным. Вот подробная последовательность событий и соответствующие журналы:
A: первичный, B: вторичный
1- идет вниз
2- B становится первичным
3- начинается снова -> РАЗДЕЛИТЬ МОЗГ (мы предполагали, что в этом случае аварийное переключение может быть выполнено автоматически)
ЛОГИ ИЗ А:
Jan 28 16:15:11 node1 kernel: [ 538.025422] block drbd0: helper command: /sbin/drbdadm initial-split-brain minor-0
Jan 28 16:15:11 node1 kernel: [ 538.026185] block drbd0: helper command: /sbin/drbdadm initial-split-brain minor-0 exit code 0 (0x0)
Jan 28 16:15:11 node1 kernel: [ 538.026194] block drbd0: Split-Brain detected but unresolved, dropping connection!
DRBD статус:
service drbd status
drbd driver loaded OK; device status:
version: 8.4.3 (api:1/proto:86-101)
srcversion: F97798065516C94BE0F27DC
m:res cs ro ds p mounted fstype
0:pg StandAlone Secondary/Unknown Consistent/DUnknown r-----
AFAIS кажется, что DRBD сломал состояние этого узла.
Мои вопросы:
1- Верно ли мое предположение о том, что при событии 3 возвращающий узел может быть автоматически соединен с кластером?
2- Если это можно сделать, расскажите, пожалуйста, как.
1 ответ
1- Верно ли мое предположение о том, что при событии 3 возвращающий узел может автоматически присоединяться к кластеру?
Да, это можно сделать. DRBD не должен переходить на Primary самостоятельно, если это не указано в конфигурации ресурса; убедитесь, что определение 'startup {становиться основным-на}' не задано в конфигах ресурса.
2- Если это можно сделать, расскажите, пожалуйста, как.
Убедитесь, что верно следующее:
а. "drbd" не настроен на запуск при загрузке ("chkconfig drbd off" в RHEL, "update-rc.d drbd disable" в Debian).
б. DRBD не должен быть настроен, чтобы стать основным самостоятельно (как упомянуто выше).
В руководстве пользователя DRBD есть раздел по настройке DRBD для использования с Pacemaker, который может помочь, если мой ответ выше не сработает: https://drbd.linbit.com/users-guide/ch-pacemaker.html