в debian, ubuntu

Отказоустойчивый IP-адрес с использованием ucarp

ucarp
Одно из самых простых решений для обеспечения отказоустойчивости ip-адреса в debian — утилита ucarp (user-space реализация протокола отказоустойчивой маршрутизации CARP). Давайте разберемся с настройкой отказоустойчивого ip-адреса в ОС Debian Wheezy!

В нашем примере для решения задачи будем использовать два сервера под управлением ОС Debian Wheezy. Настройки сети на первом:

cat /etc/network/interfaces
auto eth0
iface eth0 inet static
    address 192.168.0.23
    netmask 255.255.255.0
    gateway 192.168.0.5
    dns-nameservers 192.168.0.1 192.168.0.13

на втором:

cat /etc/network/interfaces
auto eth0
iface eth0 inet static
    address 192.168.0.11
    netmask 255.255.255.0
    gateway 192.168.0.5
    dns-nameservers 192.168.0.1 192.168.0.13

Прежде всего установим необходимый пакет ucarp на оба сервера:

aptitude install ucarp

Теперь приведем конфигурационный файл /etc/network/interfaces на первом сервере к следующему виду:

auto eth0
iface eth0 inet static
    address 192.168.0.23
    netmask 255.255.255.0
    gateway 192.168.0.5
    dns-nameservers 192.168.0.1 192.168.0.13
    ucarp-vid 1
    ucarp-vip 192.168.0.15
    ucarp-password cff9987d8b260afb0
    ucarp-advskew 10
    ucarp-advbase 1
    ucarp-master yes

iface eth0:ucarp inet static
    address 192.168.0.15
    netmask 255.255.255.255

На втором сервера конфигурационный файл /etc/network/interfaces должен выглядеть так:

auto eth0
iface eth0 inet static
    address 192.168.0.11
    netmask 255.255.255.0
    gateway 192.168.0.5
    dns-nameservers 192.168.0.1 192.168.0.13
    ucarp-vid 1
    ucarp-vip 192.168.0.15
    ucarp-password cff9987d8b260afb0
    ucarp-advskew 10
    ucarp-advbase 1
    ucarp-master no

iface eth0:ucarp inet static
    address 192.168.0.15
    netmask 255.255.255.255

И выполняем:

/etc/init.d/networking restart

Подробнее об использованных параметрах:

  • ucarp-vid — номер группы (число от 1 до 255) одинаковый для всех серверов;
  • ucarp-vip — отказоустойчивый ip-адрес;
  • ucarp-password — пароль (ключ) для шифрования сетевого протокола, одинаковый для серверов в пределах группы;
  • ucarp-advskew — управление приоритетом выбора мастера из нескольких кандидатов группы;
  • ucarp-advbase — интервал оповещения хостов в группе о своем статусе;
  • ucarp-master — используется для повышения приоритета при выборе мастера.

Выбор ucarp-мастера среди нескольких кандидатов происходит следующим образом:

  • проверяется директива ucarp-master, если установлена в yes — больший приоритет;
  • рассчитывается формула advbase + advskew/255, меньшее значение — больший приоритет;
  • сравниваются ip-адреса хостов, меньший ip-адрес — больший приоритет.

Проверка правильности настройки отказоустойчивости ip-адреса.
Убедиться, что на обоих серверах запущен экземпляр процесса ucarp можно с помощью команды:

ps axww | grep ucarp

Убедиться, что на первом сервере появился новый интерфейс можно с помощью команд:

ip a

или

ifconfig

Далее на тестовом компьютере запускаем

ping 192.168.0.15

и при наличии доступа к физической консоли первого сервера выполняем на нем:

/etc/init.d/networking stop

На тестовом компьютере пинг возобновится спустя пару секунд.

На этом все, настройка отказоустойчивого ip-адреса с использованием ucarp закончена.

Добавить комментарий