Кратко
Для Carbon Reductor в сервере в основном важны три вещи: хорошие сетевые карты, хороший процессор и хорошая оперативная память.
| Carbon Reductor должен использовать сервер  исключительно один, несогласованное программное обеспечение устанавливать запрещено.
 Для установки требуется минимум 50Гб свободного места на диске. Рекомендуемый объём диска - 500Гб и более. Перед вводом сервера в эксплуатацию обязательно отключите все опции связанные с энергосбережением в BIOS/UEFI  | 
Рекомендуемые конфигурации
Все представленные примеры подобраны с учётом "поставить и не беспокоиться ни за один потенциально потерянный пакет", то есть имеет место запас производительности. При появлении новых требований Роскомнадзора по фильтрации трафика продукт может изменяться и требования для надёжной работы будут изменяться соответственно. Данные указаны по суммарному объёму отправляемого для анализа зеркала трафика.
| Нагрузка, до гбит/сек | Ориентировочная цена | Тип сервера | Процессор | Оперативная память | Материнская плата, платформа | Сетевые карты | 
|---|---|---|---|---|---|---|
| 1 | 42000₽ / $630 | ATX | 1 x Intel Core i3 8100 3.6GHz, 4 ядра | 1 x 8Gb DDR4 2400MHz | H310M или любая другая с LGA1151v2 сокетом | 1 х Intel I350-T2, 1Гбит/сек, RJ45 | 
| 1 | 108000₽ / $1600 | 1U | 1 x Intel Xeon E3-1240v6, 3.7GHz, 4 ядра | 2 x 4Gb DDR4 2133MHz, ECC | SL1000/1U2G4 | 1 x Intel I350-T2, 1Гбит/сек, RJ45 | 
| 2 | 45000₽ / $670 | ATX | 1 x Intel Core i3 8350k, 4GHz, 4 ядра | 1 x 8Gb DDR4 2400MHz | H310M или любая другая с LGA1151v2 сокетом | 1 х Intel I350-T2, 1Гбит/сек, RJ45 | 
| 2 | 123500₽ / $1840 | 1U | 1 x Intel Xeon E3-1285v6, 4.1GHz, 4 ядра | 2 x 4Gb DDR4 2133MHz, ECC | SL1000/1U2G4 | 1 x Intel I350-T2, 1Гбит/сек, RJ45 | 
| 3 | 55000₽ / $820 | ATX | 1 x Intel Core i5-9600k, 3.7GHz, 6 ядер | 1 x 8Gb DDR4 2400MHz | H310M или любая другая с LGA1151v2 сокетом | 1 x Intel 82599en, single port, 10Гбит/сек, SFP+ | 
| 3 | 260000₽ / $3900 | 1U | 1 x Intel Xeon E5-1680v6, 3.4GHz, 8 ядер | 1x8Gb DDR4 2400MHz, ECC | SL1500/1U2G4 | 1 x Intel 82599, dual port, 10Гбит/сек, SFP+ | 
| 4 | 70500₽ / $1050 | ATX | 1 x Intel Core i7 9700k, 3.6GHz, 8 ядер | 1 x 8Gb DDR4 2400MHz | H310M или любая другая с LGA1151v2 сокетом | 1 x Mellanox ConnectX-3 MCX311A-XCCT, single-port, 10Гбит/сек | 
| 5 | 458000₽ / $6850 | ATX | 2 x Intel Xeon E5-2667 V4, 3.2GHz, 8 ядер | 2 x 8Gb DDR4 2400MHz | HP Proliant ML350 G9 SFF CTO | 2 x Mellanox ConnectX-3 MCX311A-XCCT, single-port, 10Гбит/сек | 
| 5 | 568000₽ / $8500 | 2U | 2 x Intel Xeon E5-2667V4, 3.2GHz, 8 ядер | 2 x 8Gb DDR4 2666MHz ECC | SL2500/2U8LG3 | 2 x Intel 82599, dual port, 10Гбит/сек, SFP+ | 
| 6 | 186000₽ / $2800 | ATX | 1 x Intel Core i9-7960X, 2.8GHz, 16 ядер | 1 x 8Gb DDR4 2666MHz | MSI X299 SLI PLUS или любая другая с LGA2066 сокетом | 1 x Mellanox ConnectX-3 MCX311A-XCCT, single-port, 10Гбит/сек | 
| 7 | 490000₽ / $7300 | ATX | 2 x Intel Xeon E5-2687W v4, 3GHz, 12 ядер | 2 x 8Gb DDR4 2400MHz | HP Proliant ML350 G9 SFF CTO | 2 x Intel 82599, dual port, 10Гбит/сек, SFP+ | 
| 10 | 710000₽ / $10600 | 1U | 2 x Intel Xeon Gold 6154, 3GHz, 18 ядер | 2 x 8Gb DDR4 2666MHz | SuperServer 1029P-WT | 2 x Mellanox ConnectX-3 MCX311A-XCCT, single-port, 10Гбит/сек | 
| 16 | 720000₽ / $10750 | 1U | 2 x Intel Xeon Gold 6154, 3GHz, 18 ядер | 2 x 8Gb DDR4 2666MHz | SuperServer 1029P-WT | 2 x Mellanox ConnectX-3 MCX312B-XCCT, dual-port, 10Гбит/сек | 
Типы серверов
| Тип сервера | Описание | Плюсы | Минусы | 
|---|---|---|---|
| ATX |  Самостоятельно собранный или заказанный сервер из десктопных компонентов | 
 Такие сервера имеют высокую производительность за низкую цену. С их помощью очень легко масштабироваться в ширину. Компоненты легко приобрести.  | 
 Менее надёжны.  Не получится поставить в стандартную серверную стойку.  | 
| 1U, 2U |  Одноюнитовые и двухюнитовые сервера для установки в стойку. | 
 Верхний сегмент таких серверов позволяет проводить вертикальное масштабирование, то есть обрабатывать больший объём трафика в рамках одного сервера. Высокая надёжность. Чем меньше серверов - тем проще их администрировать.  | 
 Высокая цена.  На некоторые модели сложно найти поставщика.  | 
Процессоры
- гипертрединг - нужно отключать. число ядер (cores) у процессоров ниже указано с учётом отключенного гипертрединга.
 - 4+ ядра - хорошо
 - Intel - хорошо, с AMD могут быть проблемы
 - Чем больше L3 кэш, тем лучше.
 - 3GHz+ частота - хорошо
 - очень много ядер, но с маленькой частотой - не хорошо.
 - несколько socket'ов (физических процессоров):
	
- если используется несколько сетевых карт для зеркала - хорошо
 - если одна - имеет мало смысла и в некоторых случаях может быть хуже, чем на одном сокете.
 - если у материнской платы один PCI слот или оба привязаны к одному процессору - плохо.
 
 
| Трафик |  Однопроцессорное решение  | 
 Многопроцессорное решение  | 
|---|---|---|
|  10 Гбит/сек +  | 
 Здесь не получится обойтись одним процессором. Можно масштабироваться  по числу серверов: на каждую точку съёма зеркала трафика установить отдельный недорогой сервер. Это окажется дешевле при покупке, но, возможно, усложнит эксплуатацию (все сервера нужно администрировать).  | 
  | 
|  до 5 Гбит/сек  | 
  | 
  | 
Сетевые карты
Большинство сетевых карт имеют неоптимальные настройки по умолчанию, что может приводить к пропускам. Carbon Reductor настраивает часть параметров автоматически при загрузке.
Распределение прерываний (RSS) опасно настраивать автоматически: сетевая карта может "зависнуть", а для многопроцессорных систем сложно определить его оптимальную конфигурацию, поэтому мы настраиваем эту опцию только вручную.
При установке нового оборудования обращайтесь в техническую поддержку - мы поможем исключить потери пакетов и подтвердим, что оборудование справляется с текущей нагрузкой.
Рекомендованные
| Вендор | Модель | Тип |  Число  очередей (макс.)  | 
 Размер  буфера (макс.)  | 
 Макс. наблюдавшаяся  нагрузка на 1 порт с отсутствием потерь и др. проблем  | 
Проблемы | 
|---|---|---|---|---|---|---|
| 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 |  82599ES, 82599EB (2 порта)  82599EN (1 порт) (ixgbe driver)  | 
10 Гбит/сек | combined=63 |  rx=4096  tx=4096  | 
3.5 гбит/сек |  Нужно отключать опции LRO и GRO.  В остальном хороши, популярны, легко купить замену при необходимости  | 
| Intel | X710 (i40e driver) | 10 Гбит/сек | combined=64 | rx=4096 | 4.5 Гбит/сек |  Скорее всего способна обрабатывать и больший  объём трафика.  | 
| Intel |  I210, I211, I350  (igb driver) 82576, 82575EB  | 
1 Гбит/сек |  combined=8  (иногда rx и tx очереди раздельны)  | 
 rx=4096  tx=4096  | 
800 мбит/сек |  В некоторых ситуациях требует  пересборки драйвера без поддержки LRO, в противных случаях зависает.  | 
Проблемные, не рекомендуется использовать в продакшне
Наша компания давно работает с операторами связи. Несмотря на то что мы пишем софт, нам часто приходится помогать своим клиентам решать проблемы с оборудованием.
И пришли к выводу: категорически запрещено использовать D-Link / Realtek и другие дешёвые сетевые карты, для чего-то кроме рабочих станций.
Возможно как железо они не так уж и плохи, но дело в их драйвере:
- Одна очередь на rxtx, вне зависимости от числа доступных ядер процессора.
 - Отсутствие возможности задать параметры размеров ring-буферов сетевой карты (маленький буфер приводит к потерям)
 - Отсутствие возможности задания coalesce-параметров, нам важен rx-usecs, за счёт его уменьшения можно снизить нагрузку с сетевой карты, увеличив нагрузку на процессор.
 - Отсутствие поддержки NAPI драйвером.
Вендор Модель Тип Число 
очередей
(макс.)Размер 
буфера
(макс.)Макс. наблюдавшаяся 
нагрузка на 1 порт с
отсутствием потерь и
др. проблемПроблемы Intel 80003ES2LAN, 82541GI 
82541PI, 82574L, 82540EM
82545EM, 82579LM, 82578DM
82571EB, 82573L, 82573E
82578DC, 82546EB, 82546GB
I219-V, I2171 Гбит/сек other=1 rx=4096 ? Хоть мы и рекомендуем Intel, но конкретно эти модели брать 
не советуем. Только одна очередь, в итоге всем будет заниматься только одно ядро процессора. Автоматическая настройка RPS
сглаживает это, но как правило проблемы сохраняются.
Для рабочей станции эти сетевые карты подходят,
но для сервера фильтрации - не очень.VMware VMXNET3 1 Гбит/сек combined=? rx=4096 0 мбит/сек Виртуальные машины не способны предоставлять 
гарантированную скорость реакции. Тем не менее
это один из лучших драйверов для виртуальных
сетевых карт.VMware VMXNET 1 Гбит/сек other=1 ? Лучше выберите VMXNET3. Red Hat, Inc Virtio ? ? ? ? ? Broadcom 
EmulexNetXtreme BCM5720 1 Гбит/сек rx=4 (?) rx=2047 ? Broadcom NetXtreme: BCM5701, BCM5704 
BCM5714, BCM5715, BCM5719 (?)1 Гбит/сек other=1 rx=511 ? 1 очередь, малый буфер 
Не распределяют нагрузку между ядрами, если поступает
тегированный (VLAN, QinQ) или VPN трафик.
Broadcom NetXtreme BCM5708S 1 Гбит/сек other=1 rx=2040 ? 1 очередь Broadcom NetXtreme II: BCM5708, BCM5709 
BCM5716, BCM5721, BCM57221 Гбит/сек combined=8 
?rx=2040 ? Возможно нормальная, а проблема была 
в распределении прерываний при наличии
VPN / VLAN / QinQ в трафике, вся нагрузка
падала на первую очередь.NVIDIA MCP55 1 Гбит/сек rx=16384 ? Несмотря на огромный буфер плохо 
справляется с нагрузкой, 1 очередьVia Technologies 
D-Link, Realtek,
Qualcomm Atheros
3Com, Marvell,
QLogic, NC326i,
TP-LinkChelsio (cxgb3) n320e 
10 Гбит/сек 4 rx=1024 
(потенциально
rx=16384)900мбит/сек Не получается увеличить размер буфера до максимально возможного, любые действия направленные 
на изменение размера буферов с помощью ethtool всегда возвращают ошибку Device is busy.
При превышении нагрузки в 1.2Гбит/сек при задействовании 4 ядер 3.5GHz возникают time squeeze.
Нагрузка на CPU при этом довольно высокая, ≈180000 пакетов/сек приводят к ≈55000 прерываний/сек.
В top нагрузка от обработки прерываний (%si) отображается пиками, 3-10% поднимаются до 30-45%.
В теории решение проблемы с увеличением буфера до максимума должно помочь.
Игнорирует параметры ethtool -C eth0 rx-usecs.
* увеличение rx_frag_size для Emulex
 
Из коробки иногда не хватает значения rx_frag_size, из-за чего растёт счётчик dropped пакетов, но решается очень просто:echo options be2net rx_frag_size=8192 > /etc/modprobe.d/be2net.conf
reboot
Оперативная память
Рекомендуем использовать от 8 до 16 Гб DDR4 или DDR3 памяти.
При высокой нагрузке рекомендуется использование DDR4 с высокой частотой. При использовании многопроцессорных систем обычно нужно устанавливать для каждого процессора собственную планку оперативной памяти в связанный с ним канал.
Не рекомендуем использовать DDR1 или DDR2 из-за малой частоты.
Жёсткий диск
Рекомендуем для использовать накопители ёмкостью 128Гб и более.
Для Carbon Reductor необходимо 50Гб для выполнения процесса установки, в противном случае установка не выполянется.
Материнские платы
- Supermicro X11DDW-L – в плате расширения один слот привязан к CPU1, другой к CPU2, это может быть неочевидно. В случае если все сетевые карты привязаны к одному процессору - воспользуйтесь вторым PCI-E слотом.
 
Метки
Страница: Виртуальные машины
Страница: Многопроцессорные системы
Страница: Подбор аппаратного обеспечения
Страница: Сетевые интерфейсы для приёма трафика на анализ
