Сетевые интерфейсы для приёма трафика на анализ

Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (17)

просмотр истории страницы
Новые и старые пользователи Carbon Reductor часто просят дать рекомендацию по подбору оборудования, причём довольно таки конкретную.

Увы, тестированием большого количества разного железа в рамках компании мы заняться не можем, но хотя бы попробуем составить список уже используемого оборудования, которое ни разу не напрягало показывало себя с плохой стороны после соответствующих настроек.

{toc}


h1. Сетевые карты

Многие сетевые карты не могут до конца закрыть свой потенциал из коробки и часто приходится их немного тюнить. Не стоит считать что если вы засунули классную и дорогую 10гбит/с карту в сервер, то потерь точно не будет.
Большинство сетевых карт имеют неоптимальные настройки по умолчанию, что может приводить к пропускам. Carbon Reductor настраивает часть параметров автоматически при загрузке.

Однако после грамотной настройки на многих сетевых картах можно добиться очень высокой производительности.
Распределение прерываний (RSS) опасно настраивать автоматически: сетевая карта может "зависнуть", а для многопроцессорных систем сложно определить его оптимальную конфигурацию, поэтому мы настраиваем эту опцию только вручную.

h2. Melanox
При установке нового оборудования обращайтесь в техническую поддержку - мы поможем исключить потери пакетов и подтвердим, что оборудование справляется с текущей нагрузкой.
|| Вендор || Модель || Тип || Число \\
очередей \\
(макс.) || Размер \\
буфера \\
(макс.) || Макс. наблюдавшаяся \\
нагрузка {color:#000000}{*}на 1 порт *{color}с \\
отсутствием потерь и \\
др. проблем || Проблемы ||
| Mellanox | MT27520 Family \\
\[ConnectX-3 Pro\] | 10 Гбит/сек | rx=128 | rx=8192 | 6.5 Гбит/сек | Число очередей может быть равным  \\
только степени двойки, неоптимально \\
на 6-ядерных процессорах |
| Broadcom \\
Emulex | OneConnect 10Gb NIC (be3) \\
Device e729 | 10 Гбит/сек | combined=4 | rx=1024 \\
tx=2048 | 1 Гбит/сек | Малое максимальное число \\
очередей, малый размер rx-буфера. \\
Подойдёт для 800-900мбит/сек. \\
Нужно увеличивать параметр модуля \\
rx_frag_size *\** |
| Intel | X710 (i40e driver) | 10 Гбит/сек | combined=64 | rx=4096 | 4.5 Гбит/сек | Скорее всего способна обрабатывать и больший \\
объём трафика. |
| Intel | 82599ES, 82599EB (2 порта) \\
82599EN (1 порт) \\
(ixgbe driver) | 10 Гбит/сек | combined=63 | rx=4096 \\
tx=4096 | 3.5 гбит/сек | Нужно [отключать опции LRO и GRO|http://docs.carbonsoft.ru/pages/viewpage.action?pageId=65799130]. \\
В остальном хороши, популярны, легко купить \\
замену при  необходимости |
| Intel | I210, I211, I350 \\
(igb driver) \\
82576, 82575EB \\ | 1 Гбит/сек | combined=8 \\
(иногда rx и \\
tx очереди \\
раздельны) | rx=4096 \\
tx=4096 | 800 мбит/сек | В некоторых ситуациях требует \\
пересборки драйвера без поддержки \\
LRO, в противных случаях зависает. |
| *НЕ* | *РЕКОМЕНДОВАННЫЕ* | *СЕТЕВЫЕ* | *КАРТЫ* | *ДЛЯ* | *ИСПОЛЬЗОВАНИЯ* | *В ПРОДАКШНЕ* |
| Intel | 80003ES2LAN, \\
I217-LM, I219-V \\
82578DM, \\
82571EB, \\
82541PI, \\
82540EM | 1 Гбит/сек | other=1 | rx=4096 | ? | 1 очередь. Автоматическая настройка \\
RPS несколько сглаживает это, но для \\
высокой нагрузки это не подходит. |
| VMware | VMXNET3 | 1 Гбит/сек | combined=? | rx=4096 | 0 мбит/сек | Виртуальные машины не способны предоставлять \\
гарантированную скорость реакции. Тем не менее \\
это один из лучших драйверов для виртуальных \\
сетевых карт. |
| VMware | VMXNET | 1 Гбит/сек | other=1 | ? | | Лучше выберите VMXNET3. |
| Red Hat, Inc | Virtio | ? | ? | ? | ? | ? |
| Intel | 82574L | 1 Гбит/сек | rx=1, tx=1 | rx=4096 | ? | 1 rx-очередь |
| Broadcom \\
Emulex | NetXtreme BCM5720 | 1 Гбит/сек | rx=4 \(?) | rx=2047 | ? | |
| Broadcom | NetXtreme BCM5701 \\
NetXtreme BCM5704 \\
NetXtreme BCM5714 \\
NetXtreme BCM5715 \\ | 1 Гбит/сек | other=1 | rx=511 | ? | 1 очередь, малый буфер |
| Broadcom | NetXtreme BCM5708S | 1 Гбит/сек | other=1 | rx=2040 | ? | 1 очередь |
| Broadcom | NetXtreme II BCM5708 \\
NetXtreme II BCM5709 \\
NetXtreme II BCM5716 | 1 Гбит/сек | combined=8 \\
? | rx=2040 | ? | Возможно нормальная, а проблема была \\
в распределении прерываний при наличии \\
VPN / VLAN / QinQ в трафике, вся нагрузка \\
падала на первую очередь. |
| NVIDIA | MCP55 | 1 Гбит/сек | | rx=16384 | ? | Несмотря на огромный буфер плохо \\
справляется с нагрузкой, 1 очередь |
| Via Technologies \\
D-Link \\
Realtek \\ | | | | | | |

Все модели этого производителя очень хорошо зарекомендовали себя для работы в системе фильтрации.
*\* увеличение rx_frag_size для Emulex*


h3. Mellanox Technologies MT27520 Family \[ConnectX-3 Pro\]
{color:#333333}Из коробки иногда не хватает значения rx_frag_size, из-за чего растёт счётчик dropped пакетов, но решается очень просто:{color}

Одна из лучших сетевых карт, с которыми доводилось иметь дело.

Имеет несколько очередей и большой rx-буфер.

{code}
[root@carbon2 carbon]# ethtool -l eth2
Channel parameters for eth2:
Pre-set maximums:
RX: 128
TX: 32
Other: 0
Combined: 0
Current hardware settings:
RX: 8
TX: 12
Other: 0
Combined: 0
{code}

Но есть небольшая особенность, доставляющая небольшие неудобства в системах с 6 ядрами на процессор: не удаётся задать число RX-очередей не кратное степени двойки. При задании, к примеру 6, работают только 4 очереди, а две не получают прерывания. На 4, 8 и 16 ядерных процессорах всё идеально.

h2. Broadcom / Emulex


h3. NetXtreme BCM5720


h3. Emulex Corporation OneConnect 10Gb NIC (be3) (rev 02) / Emulex Corporation Device e729


Максимальный RX-буфер: 1024

По умолчанию имеет 4 очереди.

{code}
[root@carbon ~]# ethtool -l eth0
Channel parameters for eth0:
Pre-set maximums:
RX: 0
TX: 0
Other: 0
Combined: 4
Current hardware settings:
RX: 0
TX: 0
Other: 0
Combined: 3

[root@carbon ~]# ethtool -g eth0
Ring parameters for eth0:
Pre-set maximums:
RX: 1024
RX Mini: 0
RX Jumbo: 0
TX: 2048
Current hardware settings:
RX: 1024
RX Mini: 0
RX Jumbo: 0
TX: 2048
{code}

Из коробки иногда не хватает значения rx_frag_size, из-за чего растёт счётчик dropped пакетов, но решается очень просто:

{code}
echo options be2net rx_frag_size=4096 rx_frag_size=8192 > /etc/modprobe.d/be2net.conf
reboot
{code}

h2. Intel

Хоть они и хороши, если возникнут проблемы - [есть статья|http://docs.carbonsoft.ru/pages/viewpage.action?pageId=65799130].


h3. I210

Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03), Subsystem: Super Micro Computer Inc Device 1533

Максимальный RX-буфер: 4096

По умолчанию 4 rxtx очереди на 4 ядрах

*Внимание*: Иногда имеет проблемы при работе на дефолтном модуле ядра. В одном случае с 2xVlan в зеркале это удалось победить [установкой последней версии драйвера, собранного с опцией IGB_NO_LRO.|reductor5:Сборка драйвера IGB без LRO]

h3. I211

Ethernet controller: Intel Corporation I211 Gigabit Network Connection

h3. I350


h3. 82576


h3. 82599ES

Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP\+ Network Connection (rev 01)

Максимальный RX-буфер: 4096

По умолчанию 4 rxtx очереди на 4 ядрах

2 порта под SFP

h3. 82599EB

h3. 82599EN

1 порт под SFP