Администрирование Баз Данных: UDR и SDR [Документация VAS Experts]

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
dpi:dpi_components:platform:dpi_admin:admin_db [2018/02/13 12:14] lexx26dpi:dpi_components:platform:dpi_admin:admin_db [2025/07/17 07:24] (текущий) elena.krasnobryzh
Строка 1: Строка 1:
-====== Администрирование БД ======+====== Администрирование Баз Данных: UDR и SDR ======
 {{indexmenu_n>2}} {{indexmenu_n>2}}
  
 +До 14 версии используется только одна встроенная база данных **UDR (User Data Repository)** предназначена для постоянного хранения данных об услугах, полисингах и других настройках FastDPI.\\
 +
 +С 14 Версии вводится разделение UDR на UDR и SDR. Разделение происходит автоматически при обновлении версии. \\
 +**SDR (System Data Repository)** предназначена для хранения настроек FastDPI, не связанных с абонентами.
 +Можно считать, что SDR является продолжением fastdpi.conf. Никакой специальной активации SDR не требуется - необходимые .mdb-файлы создаются автоматически при включении соответствующего режима в fastdpi.conf.
 +
 +<note warning>Глобальные правила для vlan drop/pass/hide/permit, заданные прежней CLI-командой vlan group, будут сконвертированы и перенесены из UDR в SDR c удалением из UDR. При даунгрейде с 14 на 13 версию данные из SDR будут потеряны, нужно делать ручной перенос через сохранение копии SDR перед обновлением.</note>
 +
 +**Список таблиц в UDR**
 +^ Таблица            ^ Назначение                                                   ^
 +| bindings           | Связь login и адреса                                         |
 +| bindings_multi     | Связь login и адреса для мультиабонентов (с несколькими IP)  |
 +| ip_props           | Свойства абонентов BRAS                                      |
 +| policing           | Настройки полисинга для абонентов                            |
 +| profile_names      | Имена профилей                                               |
 +| profiles           | Профили услуг и полисинга                                    |
 +| services           | Настройки услуг для абонентов                                |
 +| vchannel_policing  | Настройки полисинга для каналов                              |
 +
 +**Структура SDR** \\
 +В каталоге SDR /var/db/dpisdr, в зависимости от включенных режимов, находятся файлы базы данных:
 +  * fdpi.mdb: общие данные
 +  * bras.mdb: данные, относящиеся к режиму BRAS
 +  * router.mdb: данные, относящиеся к режиму роутера
 +Содержимое этих БД для 14 версии:
 +
 +fdpi.mdb:
 +  * acl_vlan_rule - хранит VLAN правила (правила задаются CLI-командами группы vlan rule)
 +  * acl_qinq_rule - хранит QinQ правила (правила задаются CLI-командами группы vlan rule)
 +
 +bras.mdb:
 +  * l2tp_server_props - L2TP-сервера, обслуживаемые BRASом, и их свойства. (правила задаются CLI-командами группы l2tp server)
 +
 +router.mdb:
 +  * neighbor4 - IPv4 neighborDB, [[dpi:dpi_components:router#arp_менеджмент|подробнее в разделе "ARP менеджмент"]]
 +  * neighbor6 - IPv6 neighborDB, [[dpi:dpi_components:router#arp_менеджмент|подробнее в разделе "ARP менеджмент"]]
 +
 +<note tip>Максимальный размер каждого из .mdb-файлов задается параметром udr_size.</note>
 +
 +Backup: сохранение копий .mdb-файлов каталога SDR (желательно при остановленном fastDPI)
 +Восстановление: копирование .mdb-файлов в каталот SDR
 +
 +==== Активация встроенной UDR ====
 + <note important>Активация UDR требуется в обязательном порядке при использовании
 +динамических IP адресов и для поддержки абонентов с несколькими IP. Никакой специальной активации SDR не требуется - необходимые .mdb-файлы создаются автоматически при включении соответствующего режима в fastdpi.conf.</note>
 +Активация UDR осуществляется настроечным параметром в файле **///etc/dpi/fastdpi.conf//**
 +<code>
 +udr=1
 +</code>
 +Созданная база данных размещается в каталоге **///var/db/dpi //** 
 +
 +<note important>Сделать копию БД можно без остановки DPI командой резервного копирования
 +<code>mdb_copy /var/db/dpi ./DB</code>
 +и выполнять дальнейшие манипуляции над копией БД.
 +</note>
 +
 +==== Увеличение размера БД UDR и SDR ====
 +По умолчанию размер БД UDR и SDR ограничен 1GB, 
 +если у вас количество профилей полисинга превышает 1 млн,
 +то потребуется увеличить размер по умолчанию:
 +<code>udr_size=2147483648</code>
 +установит размер БД в 2GB
 +
 +
 +<note>Встроенная БД не требует администрирования и устойчива к отказам.
 +Тем не менее в редких случаях происходило повреждение встроенной БД.
 +В этом случае возможны следующие варианты действий:</note>
 +
 +==== Восстановление БД с переносом данных ====
 +Останавливаем fastDPI <code> service fastdpi stop</code> Выполняем скрипт <code>
 +rm -rf /var/db/dpi.recover/*
 +mkdir -p /var/db/dpi.recover/tmp
 +for table in $(mdb_dump -l /var/db/dpi); do
 +mdb_dump -f /var/db/dpi.recover/tmp/dump.$table.load -s $table /var/db/dpi
 +mdb_load -f /var/db/dpi.recover/tmp/dump.$table.load /var/db/dpi.recover
 +done
 +rm /var/db/dpi/lock.mdb
 +mv /var/db/dpi/data.mdb /var/db/dpi.recover/data.mdb.backup
 +cp -f /var/db/dpi.recover/data.mdb /var/db/dpi/</code> Запускаем fastDPI <code> service fastdpi start </code>
 +==== Удаление БД и загрузка в нее данных заново из внешнего источника (биллинга и т.п.) ====
 +\\ Останавливаем fastDPI<code> service fastdpi stop </code> Удаляем БД <code> /bin/rm /var/db/dpi/* </code> Запускаем fastDPI <code> service fastdpi start </code> Загружаем в БД заново все настройки с помощью своих скриптов
 +
 +===== Экспериментальный раздел =====
 +
 +==== Восстановление БД в формат команд fdpi_ctrl ====
 +
 +Останавливаем fastDPI <code> service fastdpi stop </code> Выполняем скрипт <code>
 +mdb_dump -p -a -f dump.sh /var/db/dpi
 +/bin/rm /var/db/dpi/*</code> Запускаем fastDPI <code> service fastdpi start </code> Запускаем скрипт <code>
 +chmod +x dump.sh
 +./dump.sh
 +</code>
 +
 +==== Восстановление отдельных таблиц БД в формат команд fdpi_ctrl ====
 +
 +Останавливаем fastDPI <code> service fastdpi stop </code> Выполняем скрипт <code>
 +for table in $(mdb_dump -l /var/db/dpi); do
 +mdb_dump -p -f dump.$table.sh -s $table /var/db/dpi
 +done
 +/bin/rm /var/db/dpi/*</code> Запускаем fastDPI <code>
 +service fastdpi start </code> Выбираем нужные нам скрипты и запускаем, **пример** <code>
 +chmod +x dump.bindings.sh
 +./dump.bindings.sh
 +</code>