Различия
Показаны различия между двумя версиями страницы.
Следующая версия | Предыдущая версия | ||
dpi:bras_bng:replication [2024/09/26 15:29] – создано - внешнее изменение 127.0.0.1 | dpi:bras_bng:replication [2025/09/29 09:05] (текущий) – [Описание алгоритма переключения для BRAS L2 (DHCP, Static IP)] atereschenko | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== Резервирование BRAS L2 в режиме | + | ====== Резервирование BRAS Active-Standby |
{{indexmenu_n> | {{indexmenu_n> | ||
- | < | + | ===== Описание алгоритма переключения для BRAS L2 (DHCP, Static IP) ===== |
- | {{youtube> | + | * Резервирование BRAS L2 для IPoE (DHCP и Static IP) рекомендуется |
+ | * Master является активным сервером и обрабатывает трафик во время нормальной работы сети. Backup находится в состоянии ожидания и не пропускает трафик через себя, интерфейсы DPDK в сторону абонентов (IN порты) административно выключены (down). | ||
+ | * Backup сервер осуществляет мониторинг работы Master сервера с помощью скрипта (heartbeat) через выделенные порты управления. При регистрации сбоя Master сервера Backup сервер в автоматическом режиме активирует (up) DPDK интерфейсы в сторону абонентов (IN порты) и начинает обрабатывать трафик. | ||
+ | * Реализовано одиночное переключение трафика на Backup сервер и остановка Master сервера с целью избежать множественного перевода трафика и влияния на сеть. Обратное переключение трафика на Master осуществляется сетевым администратором в ручном режиме. | ||
+ | * Для корректной работы необходимо, | ||
+ | * Необходимо обратить внимание, | ||
- | Резервирование BRAS в режиме L2 предполагает включение двух СКАТ в один широковещательный L2 домен. | + | {{ : |
- | Один в режиме Master, другой в режиме Slave. | + | |
- | Master осуществляет обработку трафика, | + | |
- | Slave не пропускает трафик через себя, интерфейсы DPDK находятся в режиме ожидания трафика (down). Синхронизация информации об абонентах происходит через PCRF сервер. | + | |
- | Slave отслеживает доступность и работоспособность Master, при сбое в работе Slave в автоматическом или ручном режиме активирует (up) DPDK интерфейсы и начинает обрабатывать трафик. | + | |
- | Пример включения и прохождения трафика представлено на схеме. | + | |
- | {{ : | + | |
- | ===== Репликация данных авторизации и Синхронизация базы данных нескольких BRAS===== | + | ===== Скрипт мониторинга состояния работы |
- | В СКАТ BRAS состоит из компонент | + | Скрипт должен быть установлен на Backup |
- | * fastDPI - обработка трафика абонентов. | + | Используется **4 проверки** для подтверждения нормальной работы |
- | * fastPCRF - интеграция | + | |
- | + | ||
- | Возможны две схемы | + | |
- | - Два fastDPI и один вынесенный fastPCRF и - есть возможность синхронизировать данные UDR двух fastDPI | + | |
- | - На каждом сервере fastDPI свой fastPCRF - нет возможности синхронизировать данные UDR двух fastDPI, после переключения идет наполнение UDR из ответов от Radius сервера. | + | |
- | + | ||
- | Для первого варианта применяется следующая схема репликации для согласования данных об абонентах на всех fastDPI-серверах: | + | |
- | <note important> | + | |
- | + | ||
- | ==== Применение данных на fastDPI при синхронизации UDR==== | + | |
- | При приеме данных авторизации сервер fastDPI видит, его это был запрос или | + | |
- | + | ||
- | + | ||
- | ===== Описание алгоритма переключения для BRAS L2===== | + | |
- | **Концепция резервирования СКАТ — MASTER-SLAVE: | + | |
- | MASTER является активным сервером и обрабатывает трафик во время нормальной работы сети. SLAVE в свою очередь находится в состоянии ожидания | + | |
- | + | ||
- | **Нормальная работа сети:**\\ | + | |
- | Через MASTER проходит обработка всего трафика, | + | |
- | * Проверка, | + | |
- | * Проверка, | + | |
- | | + | |
- | + | ||
- | Если все проверки прошли успешно, | + | |
- | В случае обнаружения ошибки SLAVE берет на себя роль MASTER. | + | |
- | + | ||
- | **Переключение MASTER→SLAVE: | + | |
- | При обнаружении на MASTER ошибки SLAVE начинает обрабатывать трафик самостоятельно, | + | |
- | + | ||
- | **Переключение SLAVE→MASTER: | + | |
- | После устранения проблем на основном сервере необходимо выключить интерфейсы резервного сервера, | + | |
- | + | ||
- | ===== Скрипт для активного резервирования fastDPI===== | + | |
- | Скрипт должен быть установлен на резервном fastDPI, где он работает в непрерывном цикле, мониторя состояние основного fastDPI через SSH.\\ | + | |
- | Этот скрипт использует **4 проверки** для подтверждения того, что основной fastDPI работает: | + | |
- Сервер доступен по сети (pingcheck) | - Сервер доступен по сети (pingcheck) | ||
- Процесс fastDPI присутствует | - Процесс fastDPI присутствует | ||
- PID процесса fastDPI не изменился (нет неконтролируемого перезапуска процесса) | - PID процесса fastDPI не изменился (нет неконтролируемого перезапуска процесса) | ||
- | - Состояние ссылки на основном fastDPI не изменилось (необязательная проверка). Эта проверка отключена по умолчанию, | + | - Состояние ссылки на основном fastDPI не изменилось (необязательная проверка). Эта проверка отключена по умолчанию, |
- | **Процесс установки: | + | **Процесс установки |
- | - Скачать все файлы из {{: | + | - Скачать все файлы из {{: |
- | - Настроить IP-адрес | + | - Настроить IP-адрес |
- | - Создать пару SSH-ключей на резервном | + | - Создать пару SSH-ключей на Backup |
- | - Создать нового пользователя с правами sudo на основном | + | - Создать нового пользователя с правами sudo на Master |
- | - Скопировать приватные SSH-ключи с резервного | + | - Скопировать приватные SSH-ключи с Backup |
- Добавить права на выполнение установочного скрипта с помощью команды <code bash> | - Добавить права на выполнение установочного скрипта с помощью команды <code bash> | ||
- | - Запустить | + | - Запустить |
**Управление сервисом: | **Управление сервисом: | ||
Строка 69: | Строка 33: | ||
- Остановка сервиса: | - Остановка сервиса: | ||
- Проверка логов сервиса: | - Проверка логов сервиса: | ||
+ | |||
+ | =====Скрипт синхронизации профилей услуг===== | ||
+ | Скрипт синхронизирует профили услуг [[dpi: | ||
+ | Скрипт запускается на Master сервере, | ||
+ | |||
+ | Требования к системе: | ||
+ | * SSH | ||
+ | * Bash | ||
+ | * Jq | ||
+ | * установенный СКАТ | ||
+ | * Rsync | ||
+ | |||
+ | Логика работы скрипта: | ||
+ | Скрипт получает текущий профиль услуги от Master сервера и затем отправляет его на указанный Backup сервер. Затем скрипт подключается к Backup серверу и получает данные для профилей, | ||
+ | |||
+ | ====Установка и управление==== | ||
+ | - Настроить авторизацию через сертификат: | ||
+ | - Загрузить {{: | ||
+ | - Добавить разрешения для скрипта с помощью команды <code bash> | ||
+ | - Настроить пользователя и IP Backup сервера внутри скрипта. Пользователь должен иметь возможность записи в каталог ''/ | ||
+ | - Настроить cron для выполнения скрипта с желаемыми интервалами **(опционально)**:< | ||
+ | 0 * * * * * /bin/bash / | ||
+ | - Добавить псевдоним bash для запуска скрипта по желанию:< | ||
+ | - Создать каталог ''/ | ||
+ | |||
+ | Работа скрипта: | ||
+ | Скрипт запускается crontab с указанными интервалами или вручную с помощью команды '' | ||
+ | |||
+ | Обратите внимание, |