Кратко
Для Carbon Reductor в сервере в основном важны три вещи: хорошие сетевые карты, хороший процессор и хорошая оперативная память.
Carbon Reductor должен использовать сервер исключительно один, несогласованное программное обеспечение устанавливать запрещено.
Для установки требуется минимум 50Гб свободного места на диске. Рекомендуемый объём диска - 500Гб и более. Перед вводом сервера в эксплуатацию обязательно отключите все опции связанные с энергосбережением в BIOS/UEFI |
Рекомендуемые конфигурации
Все представленные примеры подобраны с учётом "поставить и не беспокоиться ни за один потенциально потерянный пакет", то есть имеет место запас производительности. При появлении новых требований Роскомнадзора по фильтрации трафика продукт может изменяться и требования для надёжной работы будут изменяться соответственно. Данные указаны по суммарному объёму отправляемого для анализа зеркала трафика.
Типы серверов:
- ATX - «tower» (в том числе mATX и другие) - самостоятельно собранный или заказанный сервер из десктопных компонентов. Такие сервера имеют высокую производительность за низкую цену.
- 1U, 2U - одноюнитовые и двухюнитовые сервера для установки в стойку. С ростом необходимой производительности одного сервера его цена растёт нелинейно, но верхняя планка производительности - выше. Как правило более надёжны и меньшее число серверов проще администрировать.
Нагрузка, до гбит/сек | Ориентировочная цена | Тип сервера | Процессор | Оперативная память | Материнская плата, платформа | Сетевые карты |
---|---|---|---|---|---|---|
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Гбит/сек |
Процессоры
- гипертрединг - нужно отключать. число ядер (cores) у процессоров ниже указано с учётом отключенного гипертрединга.
- 4+ ядра - хорошо
- Intel - хорошо, с AMD могут быть проблемы
- Чем больше L3 кэш, тем лучше.
- 3GHz+ частота - хорошо
- очень много ядер, но с маленькой частотой - не хорошо.
- несколько socket'ов (физических процессоров):
- если используется несколько сетевых карт для зеркала - хорошо
- если одна - имеет мало смысла и в некоторых случаях может быть хуже, чем на одном сокете.
- если у материнской платы один PCI слот или оба привязаны к одному процессору - плохо.
Трафик | Однопроцессорное решение |
Многопроцессорное решение |
---|---|---|
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 | 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, 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, TP-Link |
|||||||
Chelsio (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 слотом.