Добрый день!Задача:
Организовать отказоустойчивый с балансировкой нагрузки сервер для ПО разработчиков.
Реализовано:
2 сервера, каждый с 2-мя eth гигабитными интерфейсами. Один интерфейс eth1 - в сеть с клиентами, второй eth2 - используется для кросс-кабельного соединения между обоими серверами.
на каждом сервере создаются раздел под drbd, сам drbd настраивается в режиме pri-pri, на клиентах оба сервера прописываются в настройках клиентского ПО с равным приоритетом и поэтому загружены приблизительно равномерно. Поверх раздела drbd настроена ocfs2 файловая система. Для синхронизации drbd и ocfs используется внутренняя сеть через кросс кабель на вторых интерфейсах серверов.
Вроде всё работает замечательно, но вот непонятно как отрабатывать ситуацию, если например в одном из серверов выгорит интерфейс eth1. Т.е. прервётся синхронизация drbd и ocfs, наступит split-brain. По идее каждый сервер будет продолжать отдельно обслуживать клиентов и тем самым увеличивать разницу между расщеплёнными половинками drbd. И потом станет невозможным выбрать с кого синхронизировать данные при устранении split-brain.
Что посоветуете? Или придётся переходить на pri-sec и отказаться от балансировки нагрузки ?