рубрики

Резервирование сервера Elastix с помощью heartbeat и rsync

Одним из простых способов построения отказоустоичивой системы телефонии на основе elastix является использование heartbeat для резервироания серверов и rsync для синхронизации конфигурации. Для начала устанавливаем и настраиваем heartbeat и rsync.

После настройки heartbeat и rsync создаем на основном сервере файл mysqldump.sh 

mysqldump -u root -ppassword asterisk > /home/backup/asterisk.sql
mysqldump -u root -ppassword asteriskcdrdb > /home/backup/asteriskcdrdb.sql
mysqldump -u root -ppassword meetme > /home/backup/meetme.sql
cp /etc/sysconfig/iptables /home/backup/ 

Изменяем права на запуск:

chmod 750 /home/mysqldump.sh

Добавляем его в cron, для этого в файл /var/spool/cron/root добавляем строчку

00 00 * * * * /home/mysqldump.sh

 Перезапускаем крон.

/etc/init.d/crond restart

 На резервном сервере создадим скрипт который будет синхронизировать конфигурацию с основным сервером. 

nano /home/sync_config.sh

Его содержание

rsync  -rc --exclude=Thumbs.db -t -e ssh --rsync-path=/usr/bin/rsync --temp-dir=/tmp root@server1:/home/backup/ /home/backup
rsync  -rc --exclude=Thumbs.db -t -e ssh --rsync-path=/usr/bin/rsync --temp-dir=/tmp root@server1:/etc/asterisk/ /etc/asterisk
rsync  -rc --exclude=Thumbs.db -t -e ssh --rsync-path=/usr/bin/rsync --temp-dir=/tmp root@server1:/var/lib/asterisk/ /var/lib/asterisk
rsync  -rc --exclude=Thumbs.db -t -e ssh --rsync-path=/usr/bin/rsync --temp-dir=/tmp root@server1:/var/spool/asterisk/monitor/ /var/spool/asterisk/monitor
mysql -u root -ppassword asterisk < /home/backup/asterisk.sql
mysql -u root -ppassword meetme < /home/backup/meetme.sql
mysql -u root -ppassword meetme < /home/backup/asteriskcdrdb.sql
cp /home/backup/iptables /etc/sysconfig/iptables service iptables restart /bin/asterisk.reload

Изменяем права

chmod 750 /home/sync_config.sh

 И тоже добавляем его в cron 

30 00 * * * * /home/sync_config.sh

Для корректной работы астериска, нужно прописать в  /etc/asterisk/sip.conf 

bindaddr=192.168.0.12

Где 192.168.0.12 - общий ip адрес на который переключается сервер с помощью heartbeat.

Для этого в WEB интерфейсе elastix заходим во вкладку PBX->Unembedded freePBX. И на вкладке Tools в меню Asterisk Sip Seting в самом низу есть строка Bind Address. Здесь прописываем наш адрес.

Так же настраиваем авторизацию по ключу. Чтобы работала синхронизация конфигурации через cron.

 

Рубрика: VoIP | Теги: Elasix, Asterisk, heartbeat, rsync, кластер
Система Orphus
-->