Changes between Version 12 and Version 13 of SoftswitchFailOver
- Timestamp:
- Mar 10, 2017, 3:31:09 PM (8 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
SoftswitchFailOver
v12 v13 582 582 }}} 583 583 584 где "eth0" - имя сетевого интерфейса, "eth0:0" - алиас виртуального адреса- меняем их в соответствии с именем интерфейса каждого сервера.584 где "eth0" - имя сетевого интерфейса, "eth0:0" - алиас с общим адресом - меняем их в соответствии с именем интерфейса каждого сервера. 585 585 586 586 Запускаем keepalived на одном из серверов: … … 604 604 profiles="internal internal6"; 605 605 606 # Если виртуальный адрес еще не поднят, возвращаем успех.606 # Если общий адрес еще не поднят, возвращаем успех. 607 607 arping -q -c3 -W0.1 192.168.0.63 || exit 0 608 608 609 # Если виртруальный адрес поднят, проверяем работоспособность FreeSwitch609 # Если общий адрес поднят, проверяем работоспособность FreeSwitch 610 610 RESULT=`/usr/bin/fs_cli -p$password -x "sofia xmlstatus"` 611 611 … … 627 627 profile="internal"; 628 628 629 # Если виртуальный адрес еще не поднят, возвращаем успех.629 # Если общий адрес еще не поднят, возвращаем успех. 630 630 arping -q -c3 -W0.1 192.168.0.63 || exit 0 631 631 632 # Если виртруальный адрес поднят, проверяем работоспособность FreeSwitch632 # Если общий адрес поднят, проверяем работоспособность FreeSwitch 633 633 /usr/bin/fs_cli -p$password -x "sofia xmlstatus" | grep -q "<name>${profile}</name>" || exit 1 634 634 … … 636 636 }}} 637 637 638 arping в начале скрипта нужен для разрешения проблемы яйца и курицы: keepalived не перейдет в состояние MASTER и не поднимет на сетевом интерфейсе виртуальный адрес, пока наш скрипт не вернет 0, в то же время профиль !FreeSwitch не сможет стартовать, пока в сети не поднят виртуальный адрес, так как именно этот адрес используется для подключения к базе данных. Благодаря строчке с arping при включении первого из двух серверов, когда виртуального адреса еще нет, скрипт вернет 0, keepalived успешно перейдет в состояние MASTER и активирует виртуальный адрес.638 arping в начале скрипта нужен для разрешения проблемы яйца и курицы: keepalived не перейдет в состояние MASTER и не поднимет на сетевом интерфейсе общий адрес, пока наш скрипт не вернет 0, в то же время профиль !FreeSwitch не сможет стартовать, пока в сети не поднят общий адрес, так как именно этот адрес используется для подключения к базе данных. Благодаря строчке с arping при включении первого из двух серверов, когда общего адреса еще нет, скрипт вернет 0, keepalived успешно перейдет в состояние MASTER и активирует общий адрес. 639 639 640 640 Проверим функционирование скрипта, запустив его вручную. Если все хорошо, укажем keepalived проверять работоспособность !FreeSwitch каждые 10 секунд. Для этого в /etc/keepalived/keepalived.conf добавляем секцию с описанием скрипта: