Changes between Version 8 and Version 9 of SoftswitchFailOver


Ignore:
Timestamp:
Feb 27, 2017, 12:53:55 PM (7 years ago)
Author:
alx
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SoftswitchFailOver

    v8 v9  
    466466}}}
    467467
     468== Синхронизация файлов конфигурации и записей переговоров ==
     469
     470Синхронизацию файлов конфигурации и записей переговоров сделаем с помощью rsync. Чтобы схема была симметричной, каждый из серверов будет копировать свои обновившиеся файлы на другой сервер. Копирование будет производиться по SSH.
     471
     472Для начала проверим, что в /etc/passwd пользователю freeswitch установлен реальный shell (а не /bin/false или что-то аналогичное). При необходимости установим шелл командой:
     473
     474{{{
     475$ sudo usermod -s /bin/sh freeswitch
     476}}}
     477
     478Генерируем пользователю freeswitch rsa ключ для ssh:
     479
     480{{{
     481$ sudo su -l freeswitch
     482$ ssh-keygen -t rsa -b 4096
     483}}}
     484
     485В результате в домашнем каталоге пользователя freeswitch будет создан файл {{{.ssh/id_rsa.pub}}}. Добавляем содержимое этого файла в файл {{{.ssh/authorized_keys}}} в домашнем каталоге пользователя freeswitch на другом сервере. Проверим, что пользователь freeswitch с одного сервера может войти по ssh на другой сервер без ввода пароля:
     486
     487{{{
     488$ sudo su -l freeswitch
     489$ ssh <address>
     490Welcome to Ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-62-generic x86_64)
     491
     492 * Documentation:  https://help.ubuntu.com
     493 * Management:     https://landscape.canonical.com
     494 * Support:        https://ubuntu.com/advantage
     495Last login: Wed Feb 22 11:27:59 2017 from 192.168.0.61
     496$
     497}}}
     498
     499Теперь, когда каждый из серверов может соединиться по SSH со своим собратом, настроим синхронизацию файлов конфигурации и записей переговоров. Для этого добавим в /etc/crontab каждого сервера такие записи:
     500
     501{{{
     502*/5 * * * * freeswitch rsync -au -e ssh /etc/freeswitch/ <address>:/etc/freeswitch/
     503*/5 * * * * freeswitch rsync -au -e ssh /var/lib/freeswitch/recordings/ <address>:/var/lib/freeswitch/recordings/
     504}}}
     505
     506В вышеприведенном примере файлы синхронизируются каждые 5 минут.
     507
     508Для более равномерного распределения нагрузки на сеть можно настроить серверам разное время синхронизации, например:
     509
     510{{{
     5110-59/5 * * * * freeswitch rsync -au -e ssh /etc/freeswitch/ .......
     5121-59/5 * * * * freeswitch rsync -au -e ssh /var/lib/freeswitch/recordings/ ........
     513}}}
     514
     515на первом сервере и
     516
     517{{{
     5182-59/5 * * * * freeswitch rsync -au -e ssh /etc/freeswitch/ .......
     5193-59/5 * * * * freeswitch rsync -au -e ssh /var/lib/freeswitch/recordings/ ........
     520}}}
     521
     522на втором сервере.
     523
     524Проверим работу синхронизации: на первом сервере создадим новый файл в /var/lib/freeswitch/recordings/ и изменим какой-нибудь файл в /etc/freeswitch/. Подождем 5 минут и убедимся, что на втором сервере появился новый файл в /var/lib/freeswitch/recordings/ и отразилось изменение файла в /etc/freeswitch/. Аналогично