L2-балансировщик трафика [Документация VAS Experts]

Различия

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

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

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
dpi:load_balancer:start [2024/03/29 07:01] – [Сценарий: Балансировщик на зеркале трафика] atereschenkodpi:load_balancer:start [2024/04/10 11:01] (текущий) – [Настройка /etc/dpi/fastdpi.conf] elena.krasnobryzh
Строка 2: Строка 2:
 ======L2-балансировщик трафика====== ======L2-балансировщик трафика======
 =====Описание и сценарии===== =====Описание и сценарии=====
-СКАТ может работать как балансировщик трафика на основе IP-адресов, принадлежащих AS и определяемой как ''local'' в ''asnum.dscp''.+СКАТ может работать как балансировщик трафика на основе IP-адресов, принадлежащих к ASопределенной как ''local'' в ''asnum.dscp''.\\
 В данном случае в сети СКАТ-LB выступает как L2-bridge, отсюда название L2-балансировщик трафика. В данном случае в сети СКАТ-LB выступает как L2-bridge, отсюда название L2-балансировщик трафика.
 <note>В данном режиме функциональность DPI не работает.</note> <note>В данном режиме функциональность DPI не работает.</note>
Строка 16: Строка 16:
 in_dev=05-00.0:05-00.1:05-00.2:05-00.3 in_dev=05-00.0:05-00.1:05-00.2:05-00.3
 out_dev=01-00.0:01-00.1:01-00.2:01-00.3:02-00.0:02-00.1:02-00.2:02-00.3:03-00.0:03-00.1:03-00.2:03-00.3:04-00.0:04-00.1:04-00.2:04-00.3 out_dev=01-00.0:01-00.1:01-00.2:01-00.3:02-00.0:02-00.1:02-00.2:02-00.3:03-00.0:03-00.1:03-00.2:03-00.3:04-00.0:04-00.1:04-00.2:04-00.3
- 
-#Scale factor is about 1 for every 1 Gigabit of bandwidth 
-scale_factor=1 
-timeout_check_dev=0 
  
 #FastDPI Control #FastDPI Control
Строка 35: Строка 31:
  
 </code> </code>
-=====Настройка и управление===== +=====Настройка===== 
-Для корректной работы требуются следующие настройки: +====Настройка подсетей для балансировки==== 
-    Определение автономной системы с IP адресами, которые используются абонентами. [[dpi:dpi_options:opt_statistics:statistics_asn:startписание]] +Балансировка применяется только к IP-адресам, принадлежащим к AS, определенной как ''local'' в ''asnum.dscp''. 
-    Отметка заданной автономной системы как local. [[dpi:dpi_options:opt_priority:priority_config_as:start|Описание]] +    Определить автономную систему с IP-адресами, которые используются абонентами:<code bash>vi aslocal.txt 
-    Определение входных и выходных интерфейсов в конфигурационном файле. Входные интерфейсы задаются в параметре in_dev, а выходные интерфейсы в out_dev. Интерфейсы не образуют пары и допускаются конструкции вида:<code bash>in_dev=05-00.0:05-00.1:05-00.2:05-00.3:0b-00.0:0b-00.1:0b-00.2:0b-00.3+10.0.0.0/8 64511 
 +172.16.0.0/12 64511 
 +192.168.0.0/16 64511 
 +cat aslocal.txt | as2bin /etc/dpi/aslocal.bin</code> 
 +      - [[dpi:dpi_options:opt_statistics:statistics_asn:start#примеры_для_ipv4|Примеры для IPv4]] 
 +      - [[dpi:dpi_options:opt_statistics:statistics_asn:start#настройка_для_ipv6|Пример для IPv6]] 
 +    Отметить заданную автономную систему как local:<code bash>vi my_as_dscp.txt 
 +64511 local 
 +10415 local 
 +cat my_as_dscp.txt | as2dscp /etc/dpi/asnum.dscp</code> В качестве AS можно использовать как кастомную, так и публичную AS.\\ Подробнее [[dpi:dpi_options:opt_priority:priority_config_as:start|по ссылке]] 
 +  - Для применения параметров необходимо выполнить reload:<code bash>service fastdpi reload</code> 
 +====Настройка /etc/dpi/fastdpi.conf==== 
 +    Определить входные и выходные интерфейсы в конфигурационном файле.\\ Входные интерфейсы, на которые подается зеркало трафика задаются в параметре ''in_dev'', а выходные — в ''out_dev''.\\ Интерфейсы не образуют пары и допускаются конструкции вида:<code bash>in_dev=05-00.0:05-00.1:05-00.2:05-00.3:0b-00.0:0b-00.1:0b-00.2:0b-00.3
 out_dev=08-00.0:08-00.1:08-00.2:08-00.3</code> Или <code bash>in_dev=05-00.0 out_dev=08-00.0:08-00.1:08-00.2:08-00.3</code> Или <code bash>in_dev=05-00.0
 out_dev=out_dev=08-00.0:08-00.1:08-00.2:08-00.3</code> out_dev=out_dev=08-00.0:08-00.1:08-00.2:08-00.3</code>
-    Включить режим балансировки: ''enable_l2_lb=1''\\ \\ Вводимые параметры:\\ ''enable_l2_lb=0|1'' включить балансировщик трафика\\ ''lb_hash_out_dev_type = 0|1'' - по какому значению выполнять инициализацию hash таблицы:\\ 0 — использовать внутренний индекс выходного интерфейса\\ 1 — использовать имя интерфейса из [in|out]_dev\\ \\ В качестве ''dpdk_engine'' могут использоваться следующие типы: 0 (по умолчанию), и 2. +    Включить режим балансировки в параметре ''enable_l2_lb'', где: 
-\\ +      * ''0'' — выключить балансировку; 
-Для балансировки трафика используется ''maglev'' алгоритм с фиксированным размером hash таблицы. Определение выходного интерфейса по следующему алгоритму+      * ''1'' — включить балансировку. 
- +    Определить, по какому значению выполнять инициализацию hash таблицы в параметре ''lb_hash_out_dev_type'', где: 
-1 — если src и dst ip оба local, то рассчитывается hash на основании этих двух адресов;\\  +      * ''0'' — использовать внутренний индекс выходного интерфейса
-2 — если только src ip local, то рассчитывается hash на основании src ip;\\  +      * ''1'' — использовать имя интерфейса из [in|out]_dev
-3 — если только dst ip local, то рассчитывается hash на основании dst ip;\\  +    - Выбрать движок для работы с потоками-диспетчерами в параметре ''dpdk_engine'', где: 
-4 — рассчитывается hash на основе src и dst ip. +      * ''0'' — read/write движок **по умолчанию**, один диспетчер на все; 
- +      * ''1'' — read/write движок с двумя потоками-диспетчерами: на каждое направление по диспетчеру; 
-На основании рассчитанного hash значения производится определение выходного интерфейса путем определения индекса ячейки hash таблицы, содержащей индекс интерфейса из массива выходных интерфейсов. Значение из массива выходных интерфейсов подставляется в текущий контекст и возвращается ''pcs_accept''. +      * ''2'' — read/write движок с поддержкой RSS: для каждого направления создается ''dpdk_rss'' диспетчеров (по умолчанию ''dpdk_rss=2''), таким образом, общее количество диспетчеров = * ''dpdk_rss'' — для работы с in_dev, и отдельный диспетчер для работы с out_dev.\\ При значении параметра 2 активируется движок ''mqrx_lb_engine''. Принцип работы такой же, как и при обычном режиме ''dpdk_engine=2'', только rss включается на in_dev, а на out_dev создается только одна очередь rx. \\ \\ Подробнее о параметре ''dpdk_engine'' [[dpi:dpi_components:platform:dpi_config:start#загрузка_потока_диспетчера|по ссылке]]. 
-=====Информационные команды===== +    - Выбрать алгоритм балансировки. Для балансировки трафика используется ''maglev'' алгоритм с фиксированным размером hash таблицыгде: 
-  * ''subs prop show active'' — вывести дамп L2-свойств всех активных (не-expired) абонентов +      * ''1'' — если src и dst ip оба local, то рассчитывается hash на основании этих двух адресов; 
- +      * ''2'' — если только src ip local, то рассчитывается hash на основании src ip; 
-=====Требование к оборудованию СКАТ-LB===== +      * ''3'' — если только dst ip local, то рассчитывается hash на основании dst ip; 
-^ Max Rx трафик\\ Гбит/с  ^ Max OUT трафик\\ Гбит/с  ^ Версия СКАТ LB   ^ Количество ядер на __один__ CPU\\ c частотой от 2,5 ГГц                                                                                                                                                                                                                                                                                              ^ RAM \\ GB   ^ Тип и __минимальное__ количество портов  ^ Кол-во Public IP\\ в NAT pool  ^ Packet per second в миллионах \\ при базовой частоте CPU от 2,5ГГц +      * ''4'' — рассчитывается hash на основе src и dst ip.\\ \\ На основании рассчитанного hash значения производится определение выходного интерфейса путем определения индекса ячейки hash таблицы, содержащей индекс интерфейса из массива выходных интерфейсов. 
-| до 100                                           | **СКАТ-100-LB**  | 28 [[https://ark.intel.com/content/www/us/en/ark/products/199350/intel-xeon-gold-6258r-processor-38-5m-cache-2-70-ghz.html|Intel 6258R]], [[https://ark.intel.com/content/www/us/en/ark/products/215285/intel-xeon-gold-5320-processor-39m-cache-2-20-ghz.html|Intel 5320]], \\ 32 [[https://www.amd.com/en/products/cpu/amd-epyc-7502p|AMD 7502P]]  | 64 (8x8GB)  | 2x100G + 14x10/25G                       | 5000                           | 40M pps                                                             | +=====Требования к оборудованию СКАТ-LB===== 
-| до 200                                           | **СКАТ-200-LB**  | 64 [[https://www.amd.com/en/products/cpu/amd-epyc-9534|AMD 9534]]                                                                                                                                                                                                                                                                                    | 64 (8x8GB)  | 9x25/40/50/100G                          | 10000                          | 60M pps                                                             | +^ Max IN трафик\\ Гбит/с \\ (Зеркало на СКАТ-LB)  ^ Max OUT трафик\\ Гбит/с \\ (Отбалансированный трафик на съемники)  ^ Версия СКАТ-LB   ^ Количество ядер c частотой от 2,5 ГГц                                                                                                                                                                                                                                                                                                                ^ RAM \\ GB     ^ Тип и __минимальное__ количество портов  ^ Packet per second в миллионах \\ при базовой частоте CPU от 2,5ГГц 
-| до 300                                           | **СКАТ-300-LB**  | 96 [[https://www.amd.com/en/products/cpu/amd-epyc-9654|AMD 9654]]                                                                                                                                                                                                                                                                                    | 64 (8x8GB)  | 9x25/40/50/100G                          | 12000                          | 80M pps                                                             | +| до 100                                          до 100                                                             | **СКАТ-100-LB**  | 28 [[https://ark.intel.com/content/www/us/en/ark/products/199350/intel-xeon-gold-6258r-processor-38-5m-cache-2-70-ghz.html|Intel 6258R]], [[https://ark.intel.com/content/www/us/en/ark/products/215285/intel-xeon-gold-5320-processor-39m-cache-2-20-ghz.html|Intel 5320]], \\ 32 [[https://www.amd.com/en/products/cpu/amd-epyc-7502p|AMD 7502P]]  | 64 (8x8GB)    | 2x100G + 14x10/25G                       | 40M pps                                                             | 
-| до 400                                           | **СКАТ-400-LB**  | 128 [[https://www.amd.com/en/products/cpu/amd-epyc-9754|AMD 9754]]                                                                                                                                                                                                                                                                                   | 64 (8x8GB)  | 9x25/40/50/100G                          | 15000                          120M pps                                                            |+| до 200                                          до 200                                                             | **СКАТ-200-LB**  | 64 [[https://www.amd.com/en/products/cpu/amd-epyc-9534|AMD 9534]]                                                                                                                                                                                                                                                                                    | 64 (8x8GB)    | 9x25/40/50/100G                          | 60M pps                                                             | 
 +| до 300                                          до 300                                                             | **СКАТ-300-LB**  | 96 [[https://www.amd.com/en/products/cpu/amd-epyc-9654|AMD 9654]]                                                                                                                                                                                                                                                                                    | 64 (8x8GB)    | 9x25/40/50/100G                          | 80M pps                                                             | 
 +| до 400                                          до 400                                                             | **СКАТ-400-LB**  | 128 [[https://www.amd.com/en/products/cpu/amd-epyc-9754|AMD 9754]]                                                                                                                                                                                                                                                                                   | 64 (8x8GB)    | 9x25/40/50/100G                          | 120M pps                                                            | 
 +| до 800                                          | до 800                                                             | **СКАТ-800-LB**  | 2x128 [[https://www.amd.com/en/products/cpu/amd-epyc-9754|AMD 9754]]                                                                                                                                                                                                                                                                                 | 128 (16x8GB)  | 9x25/40/50/100G                          240M pps                                                            |