Changes between Version 12 and Version 13 of SoftswitchFailOver


Ignore:
Timestamp:
Mar 10, 2017, 3:31:09 PM (7 years ago)
Author:
alx
Comment:

"виртуальный" адрес заменен на "общий" адрес.

Legend:

Unmodified
Added
Removed
Modified
  • SoftswitchFailOver

    v12 v13  
    582582}}}
    583583
    584 где "eth0" - имя сетевого интерфейса, "eth0:0" - алиас виртуального адреса - меняем их в соответствии с именем интерфейса каждого сервера.
     584где "eth0" - имя сетевого интерфейса, "eth0:0" - алиас с общим адресом - меняем их в соответствии с именем интерфейса каждого сервера.
    585585
    586586Запускаем keepalived на одном из серверов:
     
    604604profiles="internal internal6";
    605605
    606 # Если виртуальный адрес еще не поднят, возвращаем успех.
     606# Если общий адрес еще не поднят, возвращаем успех.
    607607arping -q -c3 -W0.1 192.168.0.63 || exit 0
    608608
    609 # Если виртруальный адрес поднят, проверяем работоспособность FreeSwitch
     609# Если общий адрес поднят, проверяем работоспособность FreeSwitch
    610610RESULT=`/usr/bin/fs_cli -p$password -x "sofia xmlstatus"`
    611611
     
    627627profile="internal";
    628628
    629 # Если виртуальный адрес еще не поднят, возвращаем успех.
     629# Если общий адрес еще не поднят, возвращаем успех.
    630630arping -q -c3 -W0.1 192.168.0.63 || exit 0
    631631
    632 # Если виртруальный адрес поднят, проверяем работоспособность FreeSwitch
     632# Если общий адрес поднят, проверяем работоспособность FreeSwitch
    633633/usr/bin/fs_cli -p$password -x "sofia xmlstatus" | grep -q "<name>${profile}</name>" || exit 1
    634634
     
    636636}}}
    637637
    638 arping в начале скрипта нужен для разрешения проблемы яйца и курицы: keepalived не перейдет в состояние MASTER и не поднимет на сетевом интерфейсе виртуальный адрес, пока наш скрипт не вернет 0, в то же время профиль !FreeSwitch не сможет стартовать, пока в сети не поднят виртуальный адрес, так как именно этот адрес используется для подключения к базе данных. Благодаря строчке с arping при включении первого из двух серверов, когда виртуального адреса еще нет, скрипт вернет 0, keepalived успешно перейдет в состояние MASTER и активирует виртуальный адрес.
     638arping в начале скрипта нужен для разрешения проблемы яйца и курицы: keepalived не перейдет в состояние MASTER и не поднимет на сетевом интерфейсе общий адрес, пока наш скрипт не вернет 0, в то же время профиль !FreeSwitch не сможет стартовать, пока в сети не поднят общий адрес, так как именно этот адрес используется для подключения к базе данных. Благодаря строчке с arping при включении первого из двух серверов, когда общего адреса еще нет, скрипт вернет 0, keepalived успешно перейдет в состояние MASTER и активирует общий адрес.
    639639
    640640Проверим функционирование скрипта, запустив его вручную. Если все хорошо, укажем keepalived проверять работоспособность !FreeSwitch каждые 10 секунд. Для этого в /etc/keepalived/keepalived.conf добавляем секцию с описанием скрипта: