Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных


Данное руководство касается версии keepalived 1.3.6

Ввиду того, что на версии 1.2.15 не стабильно работают некоторые критически важные функции, рекомендуется использовать в проектах именно эту версию


Описание пакета

Пакет keepalived это open source программное обеспечение, предназначенное для обеспечения функций высокой надежности (high availabilitty) и балансировки нагрузки (load-balancing). За первую функцию отвечает реализация протокола VRRP, а вторая основывается на модуле ядра Linux Vitrual Server (IPVS). Keepalived не разрабатывается сотрудниками Eltex и не включает доработок, за исключением конфигурации, выполняется сборка из исходных кодов из официального репозитория на GitHub (https://github.com/acassen/keepalived) необходимой версии под используемую операционную систему.

Keepalived используется для организации резервирования контроллеров SoftWLC, при этом используется только функционал VRRP.

Пакет keepalived для Ubuntu 14.04 можно запросить в Сервисном центре Wi-Fi и БШПД.

Установка

Для установки пакета необходимо загрузить его на сервер и выполнить следующую команду:

root@master:/# dpkg -i keepalived_1.3.6-eltexu14_amd64.deb

Установка должна производиться от имени суперпользователя root


Способ запуска/остановки

Для запуска сервиса воспользуйтесь командой:

service keepalived start

Ответ об успешном запуске будет такой:

keepalived start/running, process 2471

Остановка сервиса:

root@master:/# service keepalived stop

Ответ системы:

keepalived stop/waiting

Проверить состояние сервиса можно командой:

root@master:/# service keepalived status

Ответ:

keepalived start/running, process 2809

Конфигурация

Конфигурация keepalived состоит из следующих файлов

ФайлОписание
/etc/keepalived/keepalived.conf

главный файл конфигурации сервиса

/etc/keepalived/check_ping.shскрипт проверки состояния службы EMS
/etc/keepalived/keep_notify.shскрипт, который выполняется при смене состояния (при переходе в MASTER, BACKUP, FAULT)
/etc/sysconfig/keepalivedфайл конфигурации параметров запуска процесса keepalived

Основной файл конфигурации

Листинг основного файла конфигурации по умолчанию

/etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   notification_email {
      admin@example.org
   }
   notification_email_from softwlc@example.org
   smtp_server mail.example.org
   smtp_connect_timeout 30
   router_id ems1
   enable_traps
}

vrrp_script check_network {
    script "/etc/keepalived/check_ping.sh"
    interval 10
    weight 50
    fall 2
    rise 2
    init_fail
    user root
}

vrrp_instance VI_EMS {
    state BACKUP
    interface eth0
    virtual_router_id 1
    track_script {
        check_network
    }
    track_interface {
        eth0 weight 50
    }
    priority 50
    advert_int 1
    preempt_delay 180
    authentication {
        auth_type PASS
        auth_pass eltex
    }
    virtual_ipaddress {
        10.62.8.40 dev eth0 label eth0:1
    }

    notify_master "/etc/keepalived/keep_notify.sh master"
    notify_backup "/etc/keepalived/keep_notify.sh backup"
    notify_fault "/etc/keepalived/keep_notify.sh fault"

    unicast_peer {
    10.62.8.43
    }
}

Конфигурационный файл состоит из трех основных секций: global_defs, vrrp_script, vrrp_instance. Первая определяет глобальные параметры, вторая содержит конфигурацию скрипта проверки состояния, а третья описывает сам VRRP инстанс.


Тест-скрипт

check_ping.sh

что зачем и почему так

Конфигурация смены роли

keep_notify.sh

с доделками и пояснениями

Конфигурация демона keepalived

параметры запуска etc

Выделение лога в отдельный файл

По умолчанию keepalived записывает лог в файл /var/log/syslog . Для удобства отладки, мониторинга и контроля работы keepalived можно настроить ведение собственного, отдельного лог-файла. Ниже приведен пример настройки rsyslog:

nano -w /etc/rsyslog.d/10-keepalived.conf
if $programname contains 'Keepalived' then /var/log/keepalived.log
if $programname contains 'Keepalived' then ~

Затем нужно перезапустить rsyslog командой:

root@swlc01-server:/# service rsyslog restart

Теперь сообщения от демона keepalived попадут только в лог-файл /var/log/keepalived.log и не попадут в /var/log/syslog .

  • Нет меток