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

Различия

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

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

Следующая версия
Предыдущая версия
dpi:dpi_components:platform:dpi_admin:admin_db [2018/02/02 07:15] – создано 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> 
-  - удаление БД и загрузка в нее данных заново <code> + 
-Останавливаем dpi +==== Восстановление БД с переносом данных ==== 
-service fastdpi stop +Останавливаем fastDPI <code> service fastdpi stop</code> Выполняем скрипт <code> 
-Удаляем БД +rm -rf /var/db/dpi.recover/
-/bin/rm /var/db/dpi/* +mkdir -p /var/db/dpi.recover/tmp 
-Запускаем dpi +for table in $(mdb_dump -l /var/db/dpi); do 
-service fastdpi start +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> </code>
-  - восстановление БД с переносом данным <code> + 
-Останавливаем dpi +==== Восстановление отдельных таблиц БД в формат команд fdpi_ctrl ==== 
-service fastdpi stop + 
-Выполняем скрипт +Останавливаем fastDPI <code> service fastdpi stop </code> Выполняем скрипт <code> 
-mdb_dump --f dump.txt /var/db/dpi +for table in $(mdb_dump -l /var/db/dpi); do 
-/bin/rm /var/db/dpi/* +mdb_dump --f dump.$table.sh -s $table /var/db/dpi 
-mdb_load -f dump.txt /var/db/dpi +done 
-Запускаем dpi +/bin/rm /var/db/dpi/*</code> Запускаем fastDPI <code> 
-service fastdpi start+service fastdpi start </code> Выбираем нужные нам скрипты и запускаем, **пример** <code> 
 +chmod +x dump.bindings.sh 
 +./dump.bindings.sh
 </code> </code>