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

SBD убивает оба узла кластера даже при небольших проблемах в сети SAN

У меня проблемы с stonith SBD в кластере на основе openais.

Немного предыстории: активный / пассивный кластер состоит из двух узлов, node1 и node2. Они настроены для предоставления пользователям службы NFS. Чтобы избежать проблем с разделенным мозгом, они оба настроены на использование SBD. SBD использует два диска емкостью 1 МБ, доступные хостам через многопутевую волоконно-оптическую сеть.

Проблемы начинаются, если что-то случится с сетью SAN. Например, сегодня один из парчовых коммутаторов был перезагружен, и оба узла потеряли 2 из 4 путей к каждому диску, в результате оба узла совершили самоубийство и перезагрузились. Это, конечно, было крайне нежелательно, потому что а) оставались пути б) даже если коммутатор отключился на 10-20 секунд, цикл перезагрузки обоих узлов занял бы 5-10 минут, и все NFS-блокировки были бы потеряны.

Я попытался увеличить значения тайм-аута SBD (до 10 секунд + значения, дамп прилагается в конце), однако сообщение «WARN: Latency: Нет живучести в течение 4 секунд превышает порог в 3 секунды» намекает, что что-то не работает так, как я ожидал .

Вот что я хотел бы знать: a) SBD работает так, как должен, убивая узлы, когда доступны 2 пути? б) Если нет, правильно ли прикреплен файл multipath.conf? Контроллер хранилища, который мы используем, - это IBM SVC (IBM 2145), должна ли быть для него какая-то конкретная конфигурация? (как в multipath.conf.defaults) c) Как мне увеличить время ожидания в SBD

вложения: Multipath.conf и sbd dump (http://hpaste.org/69537)

Вам нужно проверить различные слои:

1: параметры драйверов hba

modinfo <module_name>

2: таймауты многопутевого режима и специальная настройка параметра no_path_retry = fail

multipath -v3

из вашего дампа sbd я увидел "таймаут просмотра 10", я думаю, что тайм-аута с multipath недостаточно

Схема должна быть такой (быстро, без повтора):

failed hba(report the down)-> linux scsi says (disks on that path are down) -> multipath says that disk is failed i don't retry there any io request and start to work the no failed path.

но если у вас есть параметры по умолчанию, запрос io от вашего процесса sbd останется зависшим