... h2. Кратко Для Carbon Reductor в сервере в основном важны три вещи: хорошие сетевые карты, хороший процессор и хорошая оперативная память. {info} Carbon Reductor должен использовать сервер исключительно один, несогласованное программное обеспечение устанавливать *запрещено*. Для установки требуется *минимум 50Гб* свободного места на диске. Рекомендуемый объём диска - 500Гб и более. Перед вводом сервера в эксплуатацию обязательно *отключите все опции связанные с энергосбережением* в BIOS/UEFI {info}\\ {toc} h2. Рекомендуемые конфигурации Все представленные примеры подобраны с учётом "поставить и не беспокоиться ни за один потенциально потерянный пакет", то есть имеет место запас производительности. При появлении новых требований Роскомнадзора по фильтрации трафика продукт может изменяться и требования для надёжной работы будут изменяться соответственно. Данные указаны по суммарному объёму отправляемого для анализа зеркала трафика. || Нагрузка, до гбит/сек || Ориентировочная цена || Тип сервера || Процессор || Оперативная память || Материнская плата, платформа || Сетевые карты || | 1 | 42000{color:#222222}₽ / {color}{color:#000000}$630{color} | 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{color:#222222}₽ / {color}{color:#000000}$1600{color} | 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{color:#222222}₽ / $670{color} | ATX | 1 x Intel Core i3 8350k, 4GHz, 4 ядра | 1 x 8Gb DDR4 2400MHz | H310M или любая другая с LGA1151v2 сокетом | 1 х Intel I350-T2, 1Гбит/сек, RJ45 | | 2 | 123500{color:#222222}₽ / $1840{color} | 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{color:#222222}₽ / $820{color} | 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{color:#222222}₽ / $3900{color} | 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{color:#222222}₽ / $1050{color} | 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{color:#222222}₽ / $6850{color} | 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{color:#222222}₽ / $8500{color} | 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{color:#222222}₽ / $2800{color} | 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{color:#222222}₽ / $7300{color} | 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{color:#222222}₽ / $10600{color} | 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{color:#222222}₽ / $10750{color} | 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Гбит/сек | h2. Типы серверов
|
|| Тип сервера || Описание || Плюсы || Минусы || | ATX | {color:#222222}Самостоятельно собранный или заказанный сервер из десктопных компонентов{color}\\ | {color:#222222}Такие сервера имеют высокую производительность за низкую цену.{color}\\
|
{color:#222222}С их помощью очень легко масштабироваться в ширину.{color}\\
|
{color:#222222}Компоненты легко приобрести.{color}\\ | Менее надёжны. \\
|
Не получится поставить в стандартную серверную стойку. |
|
| 1U, 2U | {color:#222222}Одноюнитовые и двухюнитовые сервера для установки в стойку.{color}\\ | {color:#222222}Верхний сегмент таких серверов позволяет проводить вертикальное масштабирование, то есть обрабатывать б{color}{color:#222222}{_}о{_}{color}{color:#222222}льший объём трафика в рамках одного сервера.{color}\\
|
{color:#222222}Высокая надёжность.{color}\\
|
{color:#222222}Высокая надёжность.{color}\\
|
{color:#222222}Чем меньше серверов - тем проще их администрировать.{color} | Высокая цена. \\
|
На некоторые модели сложно найти поставщика. |
|
h2. Процессоры
|
... * гипертрединг - нужно отключать. число ядер (cores) у процессоров ниже указано с учётом отключенного гипертрединга. * 4\+ ядра - хорошо * Intel - хорошо, с AMD могут быть проблемы * Чем больше L3 кэш, тем лучше. * 3GHz\+ частота - хорошо * очень много ядер, но с маленькой частотой - не хорошо. * несколько socket'ов (физических процессоров): ** если используется несколько сетевых карт для зеркала - хорошо ** если одна - имеет мало смысла и в некоторых случаях может быть хуже, чем на одном сокете. ** если у материнской платы один PCI слот или оба привязаны к одному процессору - плохо.
|
|| Трафик || Однопроцессорное решение \\ || Многопроцессорное решение \\ || | 10 Гбит/сек + \\ | Здесь не получится обойтись одним процессором. Можно масштабироваться \\
|
по числу серверов: на каждую точку съёма зеркала трафика установить \\
|
отдельный недорогой сервер. Это окажется дешевле при покупке, но, возможно, усложнит эксплуатацию (все сервера нужно администрировать). | * Intel® Xeon® Gold 6154 Processor, 3,00GHz, 4 sockets, 18 cores, 25M L3 cache
|
* Intel® Xeon® Gold 6144 Processor, 3.50 GHz, 4 sockets, 8 cores, 25M L3 cache * Intel® Xeon® E5-2687W v4 @ 3.00GHz, 2 sockets, 12 cores, 30M L3 cache
|
... * Intel® Xeon® E5-2689 v4 @3.10GHz, 2 sockets, 10 cores/socket, 25M L3 cache * Intel® Xeon® E5-2690 @ 2.90GHz, 2 sockets, 8 cores/socket, 20M L3 cache | | до 5 Гбит/сек \\ | * Intel(R) Xeon(R) CPU W-2145 @ 3.70GHz, 8 cores, 11M L3 cache * Intel(R) Xeon(R) CPU E5-1680 v4 @ 3.40GHz, 8 cores, 20M L3 cache * Intel(R) Xeon(R) E5-2667 V4 @ 3.20GHz, 8 cores, 25M L3 cache * Intel(R) Xeon(R) CPU E5-1660 v2 @ 3.30GHz, 6 cores, 16M L3 cache * Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz, 4 cores, 8M L3 cache * Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz, 4 cores, 8M L3 cache * Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz, 4 cores, 8M L3 cache * Intel(R) Xeon(R) CPU E3-1246 v3 @ 3.50GHz, 4 cores, 8M L3 cache * Intel(R) Xeon(R) CPU E3-1270 v3 @ 3.50GHz, 4 cores, 8M L3 cache * Intel(R) Xeon(R) CPU E3-1230 v5 @ 3.40GHz, 4 cores, 8M L3 cache * Intel(R) Xeon(R) CPU E3-1240 v3 @ 3.40GHz, 4 cores, 8M L3 cache * Intel(R) Xeon(R) CPU E3-1270 @ 3.40GHz, 4 cores, 8M L3 cache * Intel(R) Core(TM) i5-3570 CPU @ 3.40GHz, 4 cores, 6M L3 cache * Intel(R) Xeon(R) CPU E3-1240 @ 3.30GHz, 4 cores, 8M L3 cache * Intel(R) Xeon(R) CPU E3-1230 v3 @ 3.30GHz, 4 cores, 8M L3 cache * Intel(R) Core(TM) i5-4460 CPU @ 3.20GHz, 4 cores, 6M L3 cache * Intel(R) Core(TM) i5-4460 CPU @ 3.20GHz, 4 cores, 6M L3 cache * Intel(R) Xeon(R) CPU E3-1220 v3 @ 3.10GHz, 4 cores, 8M L3 cache | * Intel(R) Xeon(R) CPU E5-2630 v2 @ 2.60GHz, 2 sockets, 6 cores/socket, 16M L3 cache * Intel(R) Xeon(R) CPU X5650 @ 2.67GHz, 2 sockets, 6 cores/socket, 12M L3 cache * Intel(R) Xeon(R) CPU E5-2640 0 @ 2.50GHz, 2 sockets, 6 cores/socket, 16M L3 cache * Intel(R) Xeon(R) CPU E5-2609 v2 @ 2.50GHz, 2 sockets, 4 cores/socket, 10M L3 cache * Intel(R) Xeon(R) CPU X5570 @ 2.93GHz, 2 sockets, 4 cores/socket, 8M L3 cache * Intel(R) Xeon(R) CPU E5645 @ 2.40GHz, 2 sockets, 6 cores/socket, 12M L3 cache * Intel(R) Xeon(R) CPU E5530 @ 2.40GHz, 2 sockets, 4 cores/socket, 8M L3 cache | h2. Сетевые карты Большинство сетевых карт имеют неоптимальные настройки по умолчанию, что может приводить к пропускам. Carbon Reductor настраивает часть параметров автоматически при загрузке. Распределение прерываний (RSS) опасно настраивать автоматически: сетевая карта может "зависнуть", а для многопроцессорных систем сложно определить его оптимальную конфигурацию, поэтому мы настраиваем эту опцию только вручную. При установке нового оборудования обращайтесь в техническую поддержку - мы поможем исключить потери пакетов и подтвердим, что оборудование справляется с текущей нагрузкой. h3. Рекомендованные
|
|| Вендор || Модель || Тип || Число \\
|
очередей \\
|
(макс.) || Размер \\
|
буфера \\
|
(макс.) || Макс. наблюдавшаяся \\
|
нагрузка {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 | 82599ES, 82599EB (2 порта) \\
|
82599EN (1 порт) \\
|
(ixgbe driver) | 10 Гбит/сек | combined=63 | rx=4096 \\
|
tx=4096 | 3.5 гбит/сек | Нужно [отключать опции LRO и GRO|../../../../../../../../../pages/viewpage.action?pageId=65799130]. \\
|
tx=4096 | 3.5 гбит/сек | Нужно . \\
|
В остальном хороши, популярны, легко купить \\
|
замену при необходимости |
|
| 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, в противных случаях зависает. |
|
h3. Проблемные, не рекомендуется использовать в продакшне
|
... Наша компания давно работает с операторами связи. Несмотря на то что мы пишем софт, нам часто приходится помогать своим клиентам решать проблемы с оборудованием. И пришли к выводу: *категорически запрещено использовать* *D-Link* */* *Realtek{*}* и другие дешёвые сетевые карты, для чего-то кроме рабочих станций*. Возможно как железо они не так уж и плохи, но дело в их драйвере: # Одна очередь на rxtx, вне зависимости от числа доступных ядер процессора. # Отсутствие возможности задать параметры размеров ring-буферов сетевой карты (маленький буфер приводит к потерям) # Отсутствие возможности задания coalesce-параметров, нам важен rx-usecs, за счёт его уменьшения можно снизить нагрузку с сетевой карты, увеличив нагрузку на процессор.
|
# Отсутствие поддержки NAPI драйвером. || Вендор || Модель || Тип || Число \\
|
очередей \\
|
(макс.) || Размер \\
|
буфера \\
|
(макс.) || Макс. наблюдавшаяся \\
|
нагрузка {color:#000000}{*}на 1 порт *{color}с \\
|
отсутствием потерь и \\
|
др. проблем || Проблемы ||
|
| 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.|https://access.redhat.com/solutions/695443]\\
|
При превышении нагрузки в 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*
|
... {color:#333333}Из коробки иногда не хватает значения rx_frag_size, из-за чего растёт счётчик dropped пакетов, но решается очень просто:{color}echo options be2net rx_frag_size=8192 > /etc/modprobe.d/be2net.conf reboot h2. Оперативная память *Рекомендуем использовать от 8 до 16 Гб DDR4 или DDR3 памяти.* При высокой нагрузке рекомендуется использование DDR4 с высокой частотой. При использовании многопроцессорных систем обычно нужно устанавливать для каждого процессора собственную планку оперативной памяти в связанный с ним канал. Не рекомендуем использовать DDR1 или DDR2 из-за малой частоты. h2. Жёсткий диск *Рекомендуем для использовать накопители ёмкостью 128Гб и более.* Для Carbon Reductor необходимо *50Гб* для выполнения процесса установки, в противном случае установка не выполянется. h2. Материнские платы * *Supermicro X11DDW-L* -- в плате расширения один слот привязан к CPU1, другой к CPU2, это может быть неочевидно. В случае если все сетевые карты привязаны к одному процессору - воспользуйтесь вторым PCI-E слотом.
|