?

Log in

No account? Create an account
Previous Entry Share Flag Next Entry
(no subject)
rubuntu
CARP

Введение.
На самом деле не так часто настраиваю carp и от времени забываются мелочи, поэтому написал несколько заметок для себя, которые потом оформил. Эта статья максимально краткая по настройке carp под FreeBSD.
CARP (Common Address Redundancy Protocol) - протокол избыточности общего адреса, который позволяет нескольким машинам иметь один ip адрес. Более подробно расписано в вики и приводить ее не вижу смысла.

Настройка.
Для его настройки нам понадобится добавить в ядро устройсто carp
Добавляем в файл ядра MYCONF строчку device        carp
cd /usr/src
make buildkernel KERNCONF=MYCONF
make installkernel KERNCONF=MYCONF
reboot

Далее создадим общий интерфейс для всех машин и сконфигурируем его:
host1# ifconfig carp0 create
host1# ifconfig carp0 vhid 1 advskew 1 pass 123456 192.168.1.10/24

vhid - идентификатор группы.
advskew - приоритет, чем он ниже, тем раньше в случае сбоя он станет основным.
Тоже самое сделаем на другом сервере:
host2# ifconfig carp0 create
host2# ifconfig carp0 vhid 1 advskew 2 pass 123456 192.168.1.10/24

Чтобы CARP работал в режиме резервирования надо включить net.inet.carp.preempt=1
host1# sysctl net.inet.carp.preempt=1
host2# sysctl net.inet.carp.preempt=1

Попробуйте с еще одной машины пропингвать 192.168.1.10. После этого выключите машину host1.
Пинг должен прерваться на некоторое время и опять продолжиться. Если так и произошло, то все настроенно верно.

Чтобы CARP работал в режиме распределения нагрузки на включить net.inet.carp.arpbalance=1
host1# sysctl net.inet.carp.arpbalance=1
host2# sysctl net.inet.carp.arpbalance=1

В этом случае при обращении к 192.168.1.10 сервер будут отзываться по очереди.

Сохранение настроек.

Теперь сделаем, чтобы после перезагрузки настройки сохранились.
добавим в /etc/rc.conf
cloned_interfaces="carp0"
ifconfig_carp1="vhid 1 advskew 1 pass 123456 192.168.1.10/24"

И добавим в /etc/sysctl.conf
net.inet.carp.preempt=1 или net.inet.carp.arpbalance=1 соответственно.
Сделать это необходимо на всех машинах.
Tags: ,