Я хочу поместить в Ваше внимание следующую ситуацию, которая в настоящее время происходит на нашем активно-пассивном кластере (DRBD, Кардиостимулятор, Corosync, PostgreSQL)
ОС: сервер Ubuntu 14,04 x64 DRBD: 8.4 Кардиостимулятор: 1.1.10 Corosync: 2.3.3 PostgreSQL: 9.3
Вот проблема: Когда основной идет вниз, вторичное устройство избрано основным. Проблема входит во время повторного введения предыдущего основного устройства, это переходит непосредственно к мозговой разделением ситуации, когда это должно стать вторичным устройством вместо этого. Вот подробная последовательность событий и соответствующих журналов:
1-A идут ВНИЗ
2-B становятся ОСНОВНЫМИ
3-A запускаются снова-> МОЗГ РАЗДЕЛЕНИЯ (Мы предположили, что на этом случае обработка отказа могла быть сделана автоматически),
ЖУРНАЛЫ от 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 не должен переходить в Primary самостоятельно, если это не указано в конфигурации ресурса; проверьте, что определение 'startup {begin-primary-on}' не установлено в конфигурациях ресурсов.
2- Если это можно сделать, расскажите, как.
Убедитесь, что выполняются следующие условия:
а. 'drbd' не настроен на запуск при загрузке ('chkconfig drbd off' в RHEL, 'update-rc.d drbd disable' в Debian).
b. DRBD не следует настраивать так, чтобы он сам стал первичным (как упоминалось выше).
В руководстве пользователя DRBD есть раздел о настройке DRBD для использования с Pacemaker, который может помочь, если мой ответ выше не поможет: https://drbd.linbit.com/users-guide/ch-pacemaker.html