Хочу обратить ваше внимание на следующую ситуацию, которая сейчас происходит в нашем активно-пассивном кластере (DRBD, Pacemaker, Corosync, PostgreSQL).
ОС: сервер Ubuntu 14.04 x64 DRBD: 8.4 Pacemaker: 1.1.10 Corosync: 2.3.3 PostgreSQL: 9.3
Вот проблема: когда первичный отключается, вторичный выбирается как первичный. Проблема возникает во время повторного введения предыдущего первичного, она напрямую связана с ситуацией расщепления мозга, когда вместо этого он должен стать вторичным. Вот подробная последовательность событий и соответствующие журналы:
1- А идет вниз
2- B становится ПЕРВИЧНЫМ
3- A запускается снова -> SPLIT BRAIN (мы предположили, что в этом случае переключение может быть выполнено автоматически)
ЖУРНАЛЫ из A:
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. Верно ли мое предположение, что в событии 3 возвращающийся узел может быть автоматически присоединен к кластеру?
Да, это можно сделать. DRBD не должен переходить в Первичный самостоятельно, если это не указано в конфигурации ресурса; убедитесь, что определение 'startup {begin-primary-on}' не установлено в конфигурациях ресурсов.
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