Администрирование БД [Документация VAS Experts]

Различия

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

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

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
dpi:dpi_components:platform:dpi_admin:admin_db [2018/02/13 12:14] lexx26dpi:dpi_components:platform:dpi_admin:admin_db [2024/09/26 15:29] (текущий) – внешнее изменение 127.0.0.1
Строка 1: Строка 1:
-====== Администрирование БД ======+====== Администрирование БД ======
 {{indexmenu_n>2}} {{indexmenu_n>2}}
  
 +UDR (встроенная база данных, user data repository) предназначена для постоянного хранения данных об услугах и настройках
 +полисинга для абонентов оператора.\\
 +
 +**Список таблиц в БД**
 +^ Таблица            ^ Назначение                                                   ^
 +| bindings           | Связь login и адреса                                         |
 +| bindings_multi     | Связь login и адреса для мультиабонентов (с несколькими IP)  |
 +| ip_props           | Свойства абонентов BRAS                                      |
 +| policing           | Настройки полисинга для абонентов                            |
 +| profile_names      | Имена профилей                                               |
 +| profiles           | Профили услуг и полисинга                                    |
 +| services           | Настройки услуг для абонентов                                |
 +| vchannel_policing  | Настройки полисинга для каналов                              |
 +
 +
 +==== Активация встроенной БД ====
 +
 + <note important>Активация UDR требуется в обязательном порядке при использовании
 +динамических IP адресов и для поддержки абонентов с несколькими IP.</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>
 +
 +==== Увеличение размера БД ====
 +По умолчанию размер БД ограничен 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>