Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
dpi:faq:fastdpi:administrator:start [2024/07/29 14:03] – elena.krasnobryzh | dpi:faq:fastdpi:administrator:start [Дата неизвестна] (текущий) – удалено - внешнее изменение (Дата неизвестна) 127.0.0.1 | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== Вопросы администрирования ====== | ||
- | {{indexmenu_n> | ||
- | |||
- | < | ||
- | < | ||
- | Командой <code bash> | ||
- | </ | ||
- | |||
- | < | ||
- | Командой <code bash> | ||
- | </ | ||
- | |||
- | < | ||
- | Пример отката с 2.7 версии на 2.6: <code bash>yum downgrade fastdpi-2.6</ | ||
- | </ | ||
- | |||
- | < | ||
- | Ошибка выводится из-за отсутствия DSCP по автономным системам. Можно проигнорировать. | ||
- | </ | ||
- | |||
- | < | ||
- | fdpi_ctrl для общения с dpi использует обычный linux стек, так что рекомендации по тюнингу аналогичны как для web серверов (типа nginx) под высокой нагрузкой\\ | ||
- | |||
- | Настройки подобны для nginx, которые рекомендуют вставить в файл / | ||
- | |||
- | # Оптимизация работы сетевого стека ОС | ||
- | net.core.netdev_max_backlog=10000 | ||
- | net.core.somaxconn=262144 | ||
- | net.ipv4.tcp_syncookies=1 | ||
- | net.ipv4.tcp_max_syn_backlog = 262144 | ||
- | net.ipv4.tcp_max_tw_buckets = 720000 | ||
- | net.ipv4.tcp_tw_recycle = 1 | ||
- | net.ipv4.tcp_timestamps = 1 | ||
- | net.ipv4.tcp_tw_reuse = 1 | ||
- | net.ipv4.tcp_fin_timeout = 30 | ||
- | net.ipv4.tcp_keepalive_time = 1800 | ||
- | net.ipv4.tcp_keepalive_probes = 7 | ||
- | net.ipv4.tcp_keepalive_intvl = 30 | ||
- | net.core.wmem_max = 33554432 | ||
- | net.core.rmem_max = 33554432 | ||
- | net.core.rmem_default = 8388608 | ||
- | net.core.wmem_default = 4194394 | ||
- | net.ipv4.tcp_rmem = 4096 8388608 16777216 | ||
- | net.ipv4.tcp_wmem = 4096 4194394 16777216 | ||
- | |||
- | для 1Гбит интерфейса: | ||
- | | ||
- | для 10Гбит интерфейса: | ||
- | | ||
- | |||
- | Чтобы не делать ребут их можно изменить на лету, применив команду | ||
- | sysctl -w настройка, | ||
- | |||
- | Это должно решить проблему\\ | ||
- | |||
- | **Для CentOS 7.* **\\ | ||
- | пример: | ||
- | # Оптимизация работы сетевого стека ОС | ||
- | net.core.netdev_max_backlog=65536 | ||
- | net.core.optmem_max=25165824 | ||
- | net.core.somaxconn=1024 | ||
- | net.ipv4.tcp_max_orphans = 60000 | ||
- | net.ipv4.tcp_no_metrics_save = 1 | ||
- | net.ipv4.tcp_window_scaling = 1 | ||
- | net.ipv4.tcp_timestamps = 1 | ||
- | net.ipv4.tcp_sack = 1 | ||
- | net.ipv4.tcp_syncookies=1 | ||
- | net.ipv4.tcp_max_syn_backlog = 262144 | ||
- | net.ipv4.tcp_max_tw_buckets = 720000 | ||
- | net.ipv4.tcp_tw_recycle = 1 | ||
- | net.ipv4.tcp_timestamps = 1 | ||
- | net.ipv4.tcp_tw_reuse = 1 | ||
- | net.ipv4.tcp_fin_timeout = 30 | ||
- | net.ipv4.tcp_keepalive_time = 1800 | ||
- | net.ipv4.tcp_keepalive_probes = 7 | ||
- | net.ipv4.tcp_keepalive_intvl = 30 | ||
- | net.core.wmem_max = 33554432 | ||
- | net.core.rmem_max = 33554432 | ||
- | net.core.rmem_default = 8388608 | ||
- | net.core.wmem_default = 4194394 | ||
- | net.ipv4.tcp_rmem = 4096 8388608 16777216 | ||
- | net.ipv4.tcp_wmem = 4096 4194394 16777216 | ||
- | |||
- | команда обновления: | ||
- | sysctl –system | ||
- | [[https:// | ||
- | |||
- | |||
- | |||
- | [[http:// | ||
- | </ | ||
- | |||
- | < | ||
- | | ||
- | | ||
- | ps -p `pidof fastdpi` H -o %cpu, | ||
- | ** Пример** вывода: | ||
- | <code bash> | ||
- | | ||
- | | ||
- | | ||
- | 35.8 23148 41 0 fastdpi_ajb | ||
- | 32.7 23152 41 1 fastdpi_rx_1 | ||
- | 34.1 23165 41 2 fastdpi_wrk0 | ||
- | 34.1 23170 41 3 fastdpi_wrk1</ | ||
- | В dpi задачи COMMAND функционально разделены по ядрам PSR, чтобы не мешать работе друг друга: | ||
- | - потоки wrk выполняют анализ данных в сетевых пакетах\\ | ||
- | - поток rx ответственен за транзит данных между сетевыми портами\\ | ||
- | - остальные потоки выполняют прикладные и вспомогательные задачи (генерация netflow, прием управляющих команд, | ||
- | </ | ||
- | |||
- | < | ||
- | В DPI все предварительно аллоцировано, | ||
- | | ||
- | | ||
- | mem_ip_metadata_recs=500000 | ||
- | потребуется рестарт | ||
- | service fastdpi restart | ||
- | </ | ||
- | |||
- | < | ||
- | cp / | ||
- | cp /etc/dpi / | ||
- | mdb_copy /var/db/dpi / | ||
- | (с mdb_copy можно делать бекап при работающем fastdpi) | ||
- | </ | ||
- | |||
- | < | ||
- | echo 100 > / | ||
- | чтобы настройка не потерялась при перезагрузке сервера эту команду можно добавить в / | ||
- | </ | ||
- | |||
- | < | ||
- | dpi в процессе работы производит самодиагностику и если один рабочих потоков завис и больше не может проводить обработку трафика, | ||
- | <note important> | ||
- | | ||
- | | ||
- | <code bash> | ||
- | echo deadline > / | ||
- | </ | ||
- | |||
- | < | ||
- | dpi выделяет память статически: | ||
- | ОС Linux различает резидентную (обозначена в top как RES) и виртуальную (обозначена в top VIRT) память процесса, | ||
- | | ||
- | </ | ||
- | |||
- | < | ||
- | <code bash> | ||
- | 166206 ? Z 0:00 \_ [wd_fastdpi.sh] < | ||
- | 166219 ? Z 0:00 \_ [wd_fastpcrf.sh] < | ||
- | </ | ||
- | | ||
- | service watchdog restart | ||
- | </ | ||
- | |||
- | < | ||
- | В случае проблем детектирования протоколов или сигнатур необходимо выполнить по три теста на каждом из перечисленных устройств: | ||
- | * персональный компьютер | ||
- | * смартфон на операционной системе IOS | ||
- | * смартфон на операционной системе Android | ||
- | |||
- | Следующие рекомендации позволят избавиться от лишнего трафика: | ||
- | * тест на ПК рекомендуется проводить в браузере в режиме инкогнито | ||
- | * выполняя тест на смартфоне, | ||
- | </ | ||
- | |||
- | < | ||
- | - Проверьте, | ||
- | trace_ip=“ip абонента” | ||
- | ajb_save_ip=“ip абонента” | ||
- | plc_trace_ip=“ip абонента” | ||
- | </ | ||
- | - Выполните команду < | ||
- | - Очистите все файлы из / | ||
- | - Откройте в текстовом редакторе файл / | ||
- | trace_ip=“ip абонента” | ||
- | ajb_save_ip=“ip абонента” | ||
- | plc_trace_ip=“ip абонента” – Для работы этого параметра на тестовом абоненте должен быть установлен профиль полисинга | ||
- | </ | ||
- | - Подготовьте тестового абонента к запуску, | ||
- | - Сделайте '' | ||
- | - Начните генерировать трафик. Записывайте трафик в течение 1 минуты. | ||
- | - Откройте файл fastdpi.conf. Закомментируйте параметры: | ||
- | trace_ip=“ip абонента” | ||
- | ajb_save_ip=“ip абонента” | ||
- | plc_trace_ip=“ip абонента” | ||
- | </ | ||
- | - Сделайте '' | ||
- | - Подготовьте вывод следующих команд в файлы: < | ||
- | “fastdpi -ve” | ||
- | “dscp2lst / | ||
- | “fdpi_ctrl list --policing --ip “ip абонента” | ||
- | “dscp2as / | ||
- | </ | ||
- | - Подготовьте архив с файлами из пункта 10, а также с файлом fastdpi.conf. \\ Из / | ||
- | - Повторите необходимое количество тестов с разными устройствами. В названии архива или в самом архиве в файле readme.txt обозначьте, | ||
- | - Прикрепите архивы к тикету. Если архивы получились слишком большие – загрузите их на любой облачный файлообменник и пришлите нам ссылку. | ||
- | </ | ||
- | </ | ||
- | |||
- | |||