Кратко
Для Carbon Reductor в сервере в основном важны три вещи: хорошие сетевые карты, хороший процессор и хорошая оперативная память.
Carbon Reductor должен использовать сервер исключительно один, несогласованное программное обеспечение устанавливать запрещено.
Для установки требуется минимум 50Гб свободного места на диске. Рекомендуемый объём диска - 500Гб и более. Перед вводом сервера в эксплуатацию обязательно отключите все опции связанные с энергосбережением в BIOS/UEFI |
Рекомендуемые конфигурации
Все представленные примеры подобраны с учётом "поставить и не беспокоиться ни за один потенциально потерянный пакет", то есть имеет место запас производительности. При появлении новых требований роскомнадзора по фильтрации трафика продукт может изменяться и требования для надёжной работы будут изменяться соответственно. Данные указаны по суммарному объёму отправляемого для анализа зеркала трафика.
Объём трафика | Процессор | Материнская плата | Оперативная память | Сетевые карты |
---|---|---|---|---|
0-500мбит/сек | Intel(R) Core (TM) Core i3 8100 CPU @ 3.6MHz, 4 cores, 6M L3 Cache (≈12000р) | Любая с сокетом LGA 1151v2, например H310M (≈5000р) |
любая 1x8Gb или 2х4Gb DDR4 2400MHz (≈5000р) |
1 х Intel I350-T2, 1 порт для ответов, 1 для приёма зеркала. (≈9000р) |
500мбит/сек - 2гбит/сек | Intel(R) Core(TM) Core i7-4790K CPU @ 4.00GHz, 4 cores, 8M L3 cache |
Base Board Supermicro X10SLM-F |
1x8 Gb DDR3 1600MHz+ |
1 х на чипе Intel 82599ES или 1 х Network Mellanox ConnectX-3 VPI MCX353A-FCBT |
2гбит/сек - 5гбит/сек | 8-ядерный процессор Intel с частотой не ниже 2.6GHz и поддержкой DDR4 | Любая подходящая под сокет процессора материнская плата | 1x8 Gb DDR4 2133MHz+ |
1 х Network Mellanox ConnectX-3 VPI MCX353A-FCBT |
5гбит/сек - 10гбит/сек | 10гбит/сек: 2 x Intel® Xeon® E5-2690 @ 2.90GHz, 8 cores/socket, 20M L3 cache | Любая с двумя FCLGA2011 сокетами | 2x8 Gb DDR3 1600MHz+ |
Network Mellanox ConnectX-3 VPI MCX353A-FCBT из расчёта 5гбит/сек на порт. |
10гбит/сек - 16гбит/сек | 10гбит/сек: 2 x Intel(R) Xeon(R) CPU E5-2687W v4 @ 3.00GHz, 12 cores/socket, 30M L3cache |
Любая с двумя FCLGA2011 сокетами |
2x8 Gb DDR3 1600MHz+ |
Network Mellanox ConnectX-3 VPI MCX353A-FCBT из расчёта 5гбит/сек на порт. |
16+ гбит/сек | Intel(R) Xeon(R) Gold 6154 Processor, 3,00GHz, 4 sockets, 18 cores, 25M L3 cache |
Любая поддерживающая сокет FCLGA3647. | 4 х 8Gb DDR4 3000MHz |
4 x Network Mellanox ConnectX-3 VPI MCX353A-FCBT с привязкой каждой к отдельному процессору |
Процессоры
- гипертрединг - нужно отключать. число ядер (cores) у процессоров ниже указано с учётом отключенного гипертрединга.
- 4+ ядра - хорошо
- Intel - хорошо, с AMD могут быть проблемы
- Чем больше L3 кэш, тем лучше.
- 3GHz+ частота - хорошо
- очень много ядер, но с маленькой частотой - не хорошо.
- несколько socket'ов (физических процессоров):
- если используется несколько сетевых карт для зеркала - хорошо
- если одна - имеет мало смысла и в некоторых случаях может быть хуже, чем на одном сокете.
Трафик | Однопроцессорное решение |
Многопроцессорное решение |
---|---|---|
16 Гбит/сек + |
|
|
до 6 Гбит/сек |
|
|
до 200 Мбит/сек |
|
|
Сетевые карты
Большинство сетевых карт имеют неоптимальные настройки по умолчанию, что может приводить к пропускам. 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 | 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. В остальном хороши, популярны, легко купить замену при необходимости |
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, I217 |
1 Гбит/сек | other=1 | rx=4096 | ? | Хоть мы и рекомендуем Intel, но конкретно эти модели брать не советуем. Только одна очередь, в итоге всем будет заниматься только одно ядро процессора. Автоматическая настройка RPS сглаживает это, но как правило проблемы сохраняются. Для рабочей станции эти сетевые карты подходят, но для сервера фильтрации - не очень. |
VMware | VMXNET3 | 1 Гбит/сек | combined=? | rx=4096 | 0 мбит/сек | Виртуальные машины не способны предоставлять гарантированную скорость реакции. Тем не менее это один из лучших драйверов для виртуальных сетевых карт. |
VMware | VMXNET | 1 Гбит/сек | other=1 | ? | Лучше выберите VMXNET3. | |
Red Hat, Inc | Virtio | ? | ? | ? | ? | ? |
Broadcom Emulex |
NetXtreme 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, BCM5722 |
1 Гбит/сек | combined=8 ? |
rx=2040 | ? | Возможно нормальная, а проблема была в распределении прерываний при наличии VPN / VLAN / QinQ в трафике, вся нагрузка падала на первую очередь. |
NVIDIA | MCP55 | 1 Гбит/сек | rx=16384 | ? | Несмотря на огромный буфер плохо справляется с нагрузкой, 1 очередь |
|
Via Technologies D-Link, Realtek, Qualcomm Atheros 3Com, Marvell, QLogic, NC326i |
* увеличение 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Гб для выполнения процесса установки, в противном случае установка не выполянется.