Кратко
Для 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 слотом.
Метки
Страница: Виртуальные машины
Страница: Многопроцессорные системы
Страница: Подбор аппаратного обеспечения
Страница: Сетевые интерфейсы для приёма трафика на анализ