HA кластер для Abills
-
- Сообщения: 27
- Зарегистрирован: Пн янв 31, 2011 4:37 pm
HA кластер для Abills
Хочу построить HA кластер для Abills. Система FreeBSD. Кто-то уже такое делал? В какую сторону копать?
Re: HA кластер для Abills
А чего копать-то?
Поднимаете HA mysql кластер (к примеру на pacemaker), ну и для http/radius тем же pacemaker делаете резервирование (IP, привязаный к мастеру). Поднимаете 2 копии биллинга на одной базе. Единственный момент - скрипты (periodic/billd) должны выполняться только на мастере; делаете им простую обвязку для проверки мастер нода или нет.
P.S. сам не поднимал еще, но в todo в ближайшем будущем есть эта задача.
Поднимаете HA mysql кластер (к примеру на pacemaker), ну и для http/radius тем же pacemaker делаете резервирование (IP, привязаный к мастеру). Поднимаете 2 копии биллинга на одной базе. Единственный момент - скрипты (periodic/billd) должны выполняться только на мастере; делаете им простую обвязку для проверки мастер нода или нет.
P.S. сам не поднимал еще, но в todo в ближайшем будущем есть эта задача.
Re: HA кластер для Abills
Я использовал freebsd 8.2. Берем 2 или больше желательно стоечных сервера. И идентично их настраиваем. На каждом серевере было 2 сетевых интерфейса. Можно использовать вланы, но я сделал по другому. По одному интерфейсу включил в в свич к серверам доступа для радиуса, а вторые включил в свич к абонентам для web. Дополнительно было установлено по 1 сетевой карте в каждый сервер и соеденены патчкордом напрямую для зеркалирования mysql. Далее поднимаем на обоих серверах mysql в режиме master+master с обменом через тот самый патчкорд. А на остальных интерфейсах поднимаем carp с разным приоритетом. Должно получиться, что 1 интерфейсы у обоих сереров имеют общий ip, но приоритет выше у серера "A". Интерфесы 2 также имеют общий ip, но приоритет выше у сервера "В". В итоге имеем 2 сервера с общей бд, но на одном работает радиус, а на другом вэб. Если один из них выключить, то его вункции выполняет оставшийся.
Re: HA кластер для Abills
Вы забыли о скриптах
+ ко всему - советую не патч-корд, а бондинг из того самого ифейса с патч-кордом + влана через 2й ифейс, режим - на ваш вкус уже (либо round robin либо backup с приоритетом на патч-корд). Чтобы раздвоение личности не случилось у кластера в случае проблем с патч-кордом (всякое ведь бывает, благое дело резервирование элементарное).
+ ко всему - советую не патч-корд, а бондинг из того самого ифейса с патч-кордом + влана через 2й ифейс, режим - на ваш вкус уже (либо round robin либо backup с приоритетом на патч-корд). Чтобы раздвоение личности не случилось у кластера в случае проблем с патч-кордом (всякое ведь бывает, благое дело резервирование элементарное).
Re: HA кластер для Abills
Я забыл о них упомянуть Это вызывается из крона на обоих серверах вместо billd.sh
И аналогично с абонплатами. Можно и в этот добавить. Можно конечно и бондинг сделать, только эталонная база все равно та, что на сервере с web мордой. Там же снимаются и абонплаты. А вот на втором база с которой работает радиус. Если кластер и расподется, то не велика беда - снова соберется по bin логам как падчкорд поменяют.
Код: Выделить всё
#!/bin/sh
command=`ifconfig carp1 | grep MASTER | wc -l`
if [ $command = 1 ]; then
/usr/abills/libexec/billd -all;
fi
Re: HA кластер для Abills
Не факт что соберется. Особенно если обе железки возомнят себя мастерами. Особенно весело будет когда оба радиуса обработают старт-пакет к примеру - изумительный винегрет получится на выходе ввиду отсутствия транзакций и прочих важных вещей. А еще весело будет, если снятие денег на обеих машинах произойдет. Тут разве что "главной" ноде stonith приделывать...sopov писал(а):Если кластер и расподется, то не велика беда - снова соберется по bin логам как падчкорд поменяют.
Re: HA кластер для Abills
сегодня начал делать по тихой )
пока работает в режиме "мастер - слейв"
пока работает в режиме "мастер - слейв"