- Реализация резервирования сервера Asterisk
- Приготовление серверов для работы с R850
- Настройка кластеризации системы на базе Pacemaker, Corosync, и DRBD
- Устанавливаем Asterisk, DAHDI и LibPRI
- Приступаем к настройке Corosync на обоих серверах
- Настройка Pacemaker
- Настройка R850
- Тестирование системы
- FreePBX: Backup and Restore
- Шаблоны
- Места сохранения
- Пример создания бэкапа
- Запуск вручную
- Проверка
- Восстановление
- Синхронизация Баз Данных FreePBX
- Настройка SSH подключения
- И перейдем к настройке автоматической синхронизации FreePBX
- FreePBX 14 — резервное копирование конфигурации (BackUp)
- Техническое задание
- Описание
- Настройка сервера
- Настройка восстановления
Реализация резервирования сервера Asterisk
Одним из главных критериев при выборе новой АТС это надежность, отказоустойчивость и возможность резервирования системы. Маленьким и средним компаниям обычно хватает простого бэкапа с возможностью восстановиться в течение 24 часов, в то время как для больших компании это очень критично и не может быть и речи о простое телефонной связи. На это обычно компания тратят много ресурсов и денег. С появлением R800 и R850 от компании DIGIUM, asterisk становится действительно надежной системой с полноценным резервированием PSTN линий Е1/T1/BRI и FXO. Под катом подробности установки и настройки двух серверов Asterisk и R850.
Для этого проекта нам понадобиться железо:
- Сервер, Ubuntu 10.04 — 2 шт (для текущей версии rseries, Digium рекомендует использовать именно ubuntu 10.04 или Centos 5.6)
- Digium R850 — 1 шт.
- Платы Digium TE420 — 2 шт.
- USB флэшка (минимум 1 гб) -2 шт.
Схема нашей системы будет примерно такой
Как видно на схеме железка R850 будет принимать в себя потоки от провайдера связи и отдавать их на 2 сервера Астериск. В зависимости от состояния сервера R850 будет переключать потоки между серверами, для этого он подключен еще и USB портами.
Подключение R850:
- Подключаем Primary Е1 в плату Master Server
- Подключаем Secondary Е1 в плату Slave Server
- Primary USB, в порт Master Server
- Secondary USB, в порт Slave Server
- USB Console (не обязательно)
R850 питается от USB порта, и как только вы его подключите к серверу, он должен включится. Проверяем систему на наличие новых USB устройств
# lsusb
Bus 007 Device 003: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x Composite Device
Все что написано ниже нужно делать на обоих серверах!
Приготовление серверов для работы с R850
Установка софта для r-series:
Перед установкой нужно отключить R850 из USB порта.
Далее снова подключаем R850 к серверу и проверяем
Должны получить такой ответ
Для полного тестирования R850 можно запустить ./rtest.sh tests /dev/rseries0 железка будет пару секунд переключать потоки и щелкать при этом.
Настройка кластеризации системы на базе Pacemaker, Corosync, и DRBD
DRBD — это блочное устройство, обеспечивающее синхронизацию (RAID1) между локальным блочным устройством и удалённым. В нашем случае я буду использовать 2 флэшки.
Готовим флэшки для DRBD
1) Удаляем (осторожно у меня флэшка /dev/sdb у вас может быть другой диск)
2) Создаем партицию на 1Гб. (можно и больше)
далее n, p, 1, 1, +1024M
3) Установка Pacemaker, Corosync, и DRBD
4) Устанавливаем конфиги
если получите сообщение
то копируем его руками.
Приступаем к настройке
1) Редактируем /etc/drbd.d/asterisk.res, меняем на свой данные, e-mail, IP disk и hostname я так и оставил astnode1 и astnode2 и получилось так:
2) Меняем хост в зависимости от сервера (etc/hostname)
hostname astnode1 — на первой машине и
hostname astnode2 — на второй
3) Создаем новое блочное устройство
если все настроено верно то получите
Теперь можно запустить DRDB
Следующие шаги нужно делать только на главном сервере astnode1
Создаем партицию на DRBD
Проверяем на первом сервере astnode1
Если файл test есть значит все идет по плану, отключаем drbd
Теперь проверяем на втором сервере astnode2
Тут также мы должны увидеть файл test, далее:
На этом этапе наша система готова для установки Asterisk, Dahdi и LibPRI.
На главном сервере astnode1 создаем нужные файлы и линки:
Устанавливаем Asterisk, DAHDI и LibPRI
Установка на первом сервере astnode1
1) Установка необходимых пакетов для сборки DAHDI и Asterisk
2)Качаем Asterisk, DAHDI и LibPRI
После успешной установки
Переходим к установке на второй сервер astnode2
тут скрипт ответит что есть уже такие папки, так и должно быть.
Установка на втором сервере почти идентична первому, делаем все кроме make samples для asterisk.
1) Установка необходимых пакетов для сборки DAHDI и Asterisk
2)Качаем Asterisk, DAHDI и LibPRI
После успешной установки
Приступаем к настройке Corosync на обоих серверах
Правим memberaddr в соответствие с нашими ИП адресами серверов и bindnetaddr
вот мой конфиг:
Далее меняем в /etc/default/corosync START=no на START=yes
Настройка Pacemaker
Настроить его надо только на первом сервере astnode1
В rseries-1.0.0 есть пример настройки ее мы и отредактируем
я поменял в нем только ип адрес шлюза GatewayStatus и ocf:heartbeat:IPaddr2 ип адрес моего SIP телефона.
Конфиг:
применяем конфиг для pacemaker
На втором сервере ничего не надо делать.
Настройка R850
Для настройки используем порт Console на R850 и кабель из slave-astnode2 например
Тут должна появится меню для настройки: для E1 я настроил так:
Также для управления R850 можно использовать rctl из rseries пакета, он позволит проверить и обновить прошивку и протестировать устройство.
Тестирование системы
Сперва проверим что R850 переключен на первый астериск astnode1
alarms=OK все отлично шлюз работает, если нет то советую просто перезагрузить astnode1 и потом astnode2.
Падение Asterisk на astnode1
Запускаем killall asterisk
получаем лог
crmd запустил заново Asterisk и он работает далее, но поскольку бывают моменты когда астериск больше не поднимается. Попробуем имитировать такой тест:
Asterisk поднимается на втором сервере, R850 щелкает и переключает потоки.
Проблемы с питанием сервера.
Перед тестом я вернул astnode1 в рабочее состояние, но потоки остались на втором сервере. Проверим как сработает система если на втором сервере отключить питание.
Думаю все понятно, сервер astnode2 упал и на astnode поднялись потоки и asterisk. Также протестировал отключение USB кабеля и отключение сервера от локальной сети R850 всегда срабатывал.
Благодаря компании DIGIUM и новому продукту R850, Asterisk поднялся на новый уровень надежности и применения. Теперь астерискеры могут спать спокойно.
Источник
FreePBX: Backup and Restore
Модуль для создания резервных копий и восстановления конфигурации FreePBX.
Шаблоны
Есть несколько предустановленных шаблонов для резервирования различных данных FreepBX
Места сохранения
backup storage locations
Места сохранения бэкапов можно просмотреть и отредактировать кликнув «Servers» в правом верхнем углу страницы.
По умолчанию заданы два хранилища для резервных файлов.
Можно создать дополнительные хранилища для отправки бэкапов по e-mail, на удаленный FTP или TFTP сервер или на удаленный MySQL сервер.
Пример создания бэкапа
Запуск вручную
Проверка
Восстановление
Выберете требуемый бэкап и нажмите «Go»
Синхронизация Баз Данных FreePBX
Настроим резервный сервер (asterisk2) таким образом, чтобы он подключался к основному серверу (asterisk1) по SSH
и синхронизировал настройки asterisk, autoprovision и др.
Настройка SSH подключения
В данном примере Asterisk и Web server работают из под пользователя asterisk.
Зададим временный пароль пользователю asterisk
На основном сервере asterisk1
Сгенерируем ssh ключ на резервном сервере Asterisk2
Команда ssh-keygen создаст ключ в /home/asterisk/.ssh/ip_rsa
Не вводите passphrase, оставьте пустым:
Кода ключ создан, скопируем его на основной сервер:
Будет запрошен пароль, заданный для пользователя asterisk на основном севере.
Проверим подключение по ssh с ключом:
Если произошло подключение к основному серверу без пароля, все в порядке.
В завершении настройки SSH подключения, удалим пароль пользователя asterisk на основном сервере (asterisk1).
И перейдем к настройке автоматической синхронизации FreePBX
Выберете на резервном сервере Admin > Backup & Restore > Servers — New SSH Server
Hostname — ip адрес основного сервера Asterisk1
Port — порт ssh
User Name — пользователь, в нашем случае asterisk
Key — местонахождение ключа (/home/asterisk/.ssh/id_rsa)
Затем выберите Admin > Backup & Restore > Backups — New Backup
Задайте имя и перетащите шаблоны для настроек:
в нашем примере это Full Backup и Exclude Backup Settings
Местонахождение директории tftp сервера, где лежат файлы для autoprovision, изменена с /tftpboot на /var/lib/tftpboot.
Задайте в соответствии с вашими условиями.
И в завершении укажем созданный нами Backup Server (asterisk1)
и хранилище — Local Storage (local)
Restore Here — записать скачанный бэкап в базу данных asterisk
Disable Registered Trunks — отключить зарегистрированные транки, во избежание проблем с входящими вызовами на основном сервере.
Apply Config — Применить скачанный бэкап (записать в конфиги asterisk)
Сохраним Save и проверим немедленно and Run
Источник
FreePBX 14 — резервное копирование конфигурации (BackUp)
В данной статье мы рассмотрим автоматизированный процесс создания резервных копий системы. FreePBX 14 резервное копирование – важнейшая процедура устранения внештатной ситуации, то есть способная восстановить конфигурацию. Данный процесс возможно автоматизировать с помощью настроек модуля Backup and Restore. Следовательно, переключаемся в меню Admin → Backup & Restore.
Техническое задание
Просто так описывать поля не интересно, поэтому выполним техническое задание по примеру резервирования FreePBX 14:
- Полное резервное копирование конфигурации системы ежемесячно.
- Хранение последних трех полных копий системы на локальном носителе.
- Копирование CDR-данных ежегодно на локальный носитель и отправка их на FTP.
- Отправка копий на удаленный сервер по FTP.
- Отправка e-mail оповещения в случае ошибки
Описание
Прежде всего, необходимо удалить существующие настройки резервирования (Default backup).
Модуль позволяет создавать план резервирования через пошаговый мастер создания резервных копий. Для этого необходимо нажать кнопку Backup Wizard. Мастер установки содержит 5 шагов, в которых необходимо заполнить всю информацию и установить параметры. Мы будем использовать, тем временем простое создание копии через кнопку + New Backup.
Настройка сервера
Во-первых, необходимо создать сервер FTP, на который будем отправлять данные. Переходим в меню Servers, которое находится справа. Выбираем Add Server → New FTP server:
Далее заполняем данные, необходимые для авторизации на удаленном FTP-сервере.
Доступны следующие сервера:
- Email – отправка резервной копии на электронную почту в качестве вложения.
- FTP – отправка файлов на FTP сервер.
- Local – сохранять файлы локальном сервере.
- MySQL Server – внешний MySQL сервер, на который Asterisk будет отправлять копии базы данных.
- SSH Server – это может быть любая другая АТС, с которой вы можете также делать резервные копии (бэкапы).
Следующим шагом переходим в настройки создания плана резервного копирования – Backup.
- Backup Name – имя процесса создания резервной копии. Стоит называть интуитивно понятно, чтобы различить среди прочих процессов.
- Description – описание процесса.
- Status Email – адрес электронной почты, на которую следует отправить уведомления и ходе данного процесса.
- On Failure Only – отправлять письма только в случае неудачи.
Далее модуль предлагает выбрать области резервного копирования. Если у вас компания до 50 человек, следовательно, рекомендуем выполнять Full Backup ежемесячно .
Мы будем выполнять согласно нашего ТЗ и выберем Full Backup.
Hooks
Данный раздел позволяет подключать собственные скрипты в процесс выполнения резервного копирования. Например, это может быть скрипт, который делает отметку о бэкапе в БД, или формирует письмо, или вносит данные во внешнюю систему. Данный раздел позволяет определить, в какой момент резервного копирования или восстановления из копии подключать данные скрипты:
- Pre-Backup Hook – в этом поле можно указать путь к скрипту, который необходимо запускать перед проведением резервного копирования.
- Post-Backup Hook – путь к скрипту, который необходимо выполнить после процесса бэкапа.
- Pre-Restore Hook – скрипт запускаемый перед началом процесса восстановления сервера из бэкапа.
- Post-Restore Hook – запуск скрипта после проведения восстановления.
- Backup Server – сервер, на котором необходимо произвести процесс резервирования. Это может быть как локальный сервер с вашей АТС (This server), либо это может быть любой другой сервер. Данные сервера можно настроить в разделе Servers.
Пользователь и владелец файлов-скриптов должен быть asterisk
Мы выбираем ранее созданный сервер для отправки на FTP хранилище.
Storage Location
В данном окне настраивается хранилище для файлов резервного копирования. Вы можете настроить различные FTP, SSH, Email, MySQL и даже Amazon сервера для хранения различных экземпляров копий (бэкапов). Чтобы выбрать сервер, перенесите его из правой части (Available Servers) в поле слева, которое называется Storage.
Backup Schedule
Расписание создания резервных копий.
Run Automatically – периодичность создания копий. Доступны следующие опции:
- Never – не запускать данный скрипт.
- Hourly – запускать ежечасно. Скрипт запускается с самого начала нового часа. Например, в 02:00:00.
- Daily скрипт запускается ежедневно в полночь.
- Weekly – запуск скрипта происходит еженедельно в воскресение в полночь.
- Monthly – ежемесячно каждое первое число в полночь.
- Annually – ежегодно каждое первое января в полночь.
- Reboot – проводить бэкап при команду перезагрузки.
- Custom – собственное расписание бэкапов, позволяет определить конкретное время проведения бэкапа. При данной выборе настраиваются, минуты, часы, дни недели, месяцы и дни месяцев создания копий.
Согласно наших условий и ТЗ, нам необходимо создавать копии каждый месяц 1-го числа в 02:00. Хранить не более трех копий.
Maintenance – удаление старых копий:
- Delete After – возраст файла, который необходимо будет удалить. Например, можно удалять файлы спустя 1 месяц хранения.
- Delete After Runs -количество копий, которые необходимо хранить на сервере. Например, если вы укажите цифру 5, то после того, как сервер сделает 5 бэкапов, на 6 копирование будет удален самый старый файл. Тем самым, сервер будет поддерживать постоянное количество копий в размере 5, удаляя самый старый из них файл.
Жмем кнопку Save and Runs.
Настройка восстановления
На вкладке Restore, показаны все доступные резервные копии. Данные копии можно загрузить дистанционного, используя вкладку Import. Или копии с данного сервера, используя вкладку Browse → Local Storage.
В навигации между директориями, выберите необходимые файлы. Они буду иметь расширение .tgz:
Выбрав необходимый файл, нажмите Go. Сразу после этого, вам будет предложено галочкой отметить какие сегменты бэкапа вы хотите восстановить (CDR, голосовую почту, конфигурацию и так далее). После выбора нажмите кнопку Restore и процесс будет запущен. Отметим, что процесс восстановления из локально файла абсолютно аналогичен. Просто необходимо нажать на копку Browse и далее выбрать необходимый файл.
Подведем итог. FreePBX 14 резервное копирование по нашему техническому заданию выполнено.
Любое использование материалов сайта возможно только с разрешения автора и с обязательным указанием источника.
Источник