Серверные сетевые карты 10, 25 и 100 Гбит/с: как выбрать
Коротко: Серверная сетевая карта выбирается не только по скорости порта. Решающими оказываются три других параметра: пропускная способность шины PCIe, в которую карта установлена, поддержка прямого доступа к памяти по сети (RDMA) и набор аппаратных разгрузок. Карта на 100 Гбит/с в слоте PCIe 3.0 x8 физически не сможет выдать больше примерно 63 Гбит/с, сколько бы ни было заявлено на коробке. Скорость 25 Гбит/с вытеснила 10 Гбит/с как массовый выбор для новых серверов, поскольку использует одну линию передачи вместо четырёх и опирается на ту же кабельную основу, что и 100 Гбит/с.
Почему 25 Гбит/с пришло на смену 10
Интерфейс 10 Гбит/с строился на одной линии передачи со скоростью 10 Гбит/с, а 40 Гбит/с собирался из четырёх таких линий. Развитие приёмопередатчиков позволило поднять скорость одной линии до 25 Гбит/с, и это изменило всю линейку скоростей.
Появился интерфейс 25 Гбит/с на одной линии и 100 Гбит/с на четырёх. Для оборудования это означало рост плотности в два с половиной раза при той же физической основе: то же волокно, та же конструкция разъёмов, сопоставимое энергопотребление.
Практическое следствие для выбора сервера: при закупке нового оборудования карта на 25 Гбит/с обычно оказывается рациональнее карты на 10 Гбит/с. Она подключается к той же кабельной системе, оставляет запас по скорости и соответствует коммутаторам доступа, которые в новых проектах ЦОД строятся на портах 25 Гбит/с с аплинками 100 Гбит/с.
Интерфейс 40 Гбит/с, собранный из четырёх линий по 10, сегодня рассматривается как переходный: при равном числе волокон 100 Гбит/с даёт в два с половиной раза больше.
Скорости, разъёмы и кабели
| Скорость | Формат разъёма | Линий передачи | Типовое применение |
| 1 Гбит/с | RJ45 или SFP | 1 | Управление, вспомогательные серверы |
| 10 Гбит/с | SFP+ или RJ45 | 1 | Существующий парк, бюджетные узлы |
| 25 Гбит/с | SFP28 | 1 | Массовый выбор для новых серверов |
| 40 Гбит/с | QSFP+ | 4 по 10 | Переходный, в новых проектах редко |
| 100 Гбит/с | QSFP28 | 4 по 25 | Узлы хранения, вычисления, ИИ |
| 200 и 400 Гбит/с | QSFP56, QSFP-DD | 4 или 8 | Кластеры ИИ, магистральные узлы |
Разъёмы SFP28 и SFP+ механически совместимы, поэтому карта на 25 Гбит/с принимает модули и кабели для 10 Гбит/с и способна работать на пониженной скорости. Это удобно при поэтапной модернизации: карты ставятся заранее, а переход на 25 Гбит/с происходит при замене коммутаторов.
Варианты с разъёмом RJ45 на 10 Гбит/с существуют, но потребляют заметно больше оптических и в машинном зале применяются реже. Выбор кабельного решения разобран в материале о DAC, AOC и трансиверах.
Шина PCIe: самое частое узкое место
Карта подключается к процессору по шине PCIe, и её пропускная способность определяется поколением шины и числом линий в слоте. Если шина уже сетевого интерфейса, карта не выдаст заявленной скорости, и никакая настройка этого не изменит.
| Конфигурация слота | Примерная полоса в одну сторону | Какую карту обеспечивает |
| PCIe 3.0 x4 | Около 31 Гбит/с | 10 Гбит/с, один порт 25 Гбит/с с ограничением |
| PCIe 3.0 x8 | Около 63 Гбит/с | Два порта 25 Гбит/с |
| PCIe 3.0 x16 | Около 126 Гбит/с | Один порт 100 Гбит/с |
| PCIe 4.0 x8 | Около 126 Гбит/с | Один порт 100 Гбит/с |
| PCIe 4.0 x16 | Около 252 Гбит/с | Два порта 100 Гбит/с, один 200 Гбит/с |
| PCIe 5.0 x16 | Около 504 Гбит/с | Один порт 400 Гбит/с |
Отсюда несколько практических правил. Двухпортовая карта на 100 Гбит/с в слоте PCIe 3.0 x16 не обеспечит полной скорости обоих портов одновременно — суммарно требуется около 200 Гбит/с против доступных 126. Такая конфигурация имеет смысл для отказоустойчивости, когда порты работают в режиме резервирования, а не для суммарной полосы.
Отдельная ловушка — физический и электрический размер слота. Слот может иметь длину x16, но быть разведённым на x8 или x4 линий. Карта встанет и заработает, но на пониженной скорости. Разводку слотов уточняют по документации на конкретную модель сервера, поскольку она различается даже между конфигурациями одной платформы.
Вторая ловушка — распределение линий между процессорами в двухпроцессорных серверах. Слот привязан к одному процессору, и обращения из другого идут через межпроцессорную шину, добавляя задержку. Для чувствительных к задержке задач карту ставят в слот того процессора, на котором исполняется нагрузка.
Форм-факторы: обычная карта и OCP
Карты выпускаются в двух основных исполнениях.
Обычная плата расширения PCIe устанавливается в стандартный слот. Достоинства — универсальность и доступность: такая карта подходит к любому серверу с подходящим слотом. Недостаток — занимает слот, который может потребоваться для других устройств.
Исполнение OCP разработано в рамках открытого проекта и устанавливается в выделенный разъём на системной плате, не занимая слотов расширения. Распространена редакция OCP 3.0, пришедшая на смену OCP 2.0; они механически несовместимы. Карты этого типа обычно извлекаются снаружи корпуса без снятия крышки, что упрощает обслуживание.
Практическое замечание: наличие разъёма OCP и его редакцию проверяют по документации на конкретную модель сервера. Карта в исполнении OCP 3.0 не встанет в разъём OCP 2.0, а в серверах без такого разъёма применима только обычная плата расширения.
RDMA, RoCE и iWARP
При обычной передаче данные проходят через сетевой стек операционной системы с копированием между буферами и прерываниями на каждом этапе. На скоростях от 25 Гбит/с эти накладные расходы становятся заметными: процессор тратит существенную долю ресурсов на обслуживание сети.
RDMA (Remote Direct Memory Access) позволяет карте записывать данные напрямую в память удалённого узла, минуя ядро операционной системы и лишние копирования. Результат — снижение задержки и высвобождение процессорного времени.
Реализаций две. RoCE переносит операции RDMA поверх сети Ethernet; актуальная версия RoCEv2 использует UDP и потому маршрутизируется между подсетями. iWARP переносит те же операции поверх TCP, что делает его терпимее к потерям, но обычно даёт большую задержку.
RDMA применяется в распределённых хранилищах, кластерах баз данных, системах виртуализации при миграции машин и особенно в кластерах для задач искусственного интеллекта, где обмен между узлами определяет время расчёта. Для обычных приложений выигрыш может не окупить усложнения сети.
Что RoCE требует от сети
Это главное, что следует знать до закупки карт с поддержкой RoCE: технология предъявляет требования не только к картам, но и к коммутаторам.
Операции RDMA плохо переносят потери пакетов: повторная передача обходится дорого и сводит выигрыш на нет. Поэтому сеть должна быть близкой к непотерьной, а для этого нужны два механизма.
Приостановка передачи по классам трафика позволяет перегруженному коммутатору попросить соседа временно приостановить отправку определённого класса, вместо того чтобы отбрасывать пакеты.
Явное уведомление о перегрузке позволяет пометить пакеты при приближении очереди к пределу, чтобы отправитель снизил темп до того, как начнутся потери.
Оба механизма настраиваются согласованно на всех коммутаторах пути и на картах. Непоследовательная настройка приводит к трудно диагностируемым проблемам: от падения производительности до остановки передачи по классу.
Практический вывод: внедрение RoCE — проект уровня сети, а не замена карт. Если такой работы не планируется, поддержка RoCE в карте остаётся неиспользованной возможностью. Требования к фабрике разобраны в материале об архитектуре leaf-spine.
SR-IOV и виртуализация
В виртуальной среде трафик машин обычно проходит через программный коммутатор гипервизора, что расходует процессорное время и добавляет задержку.
Технология SR-IOV позволяет карте представиться операционной системе несколькими независимыми устройствами. Виртуальная машина получает такое устройство напрямую, минуя программный коммутатор, и работает с картой почти как с физической.
Выигрыш — снижение нагрузки на процессор и задержки. Цена — ограничения в управлении: миграция машины между серверами усложняется, а часть функций виртуального коммутатора становится недоступной.
Для работы требуется поддержка со стороны карты, гипервизора и платформы: в настройках сервера должны быть включены средства виртуализации ввода-вывода. Число доступных виртуальных устройств ограничено и различается между моделями карт — этот параметр уточняют, если планируется плотное размещение машин.
Аппаратные разгрузки
Разгрузка означает перенос части работы с процессора на карту. Набор поддерживаемых разгрузок заметно различается между моделями и влияет на реальную производительность сильнее, чем заявленная скорость порта.
Подсчёт контрольных сумм — базовая и повсеместно поддерживаемая функция.
Сегментация крупных блоков позволяет передать карте большой блок данных, который она сама разделит на пакеты. Это заметно снижает число операций для процессора при передаче объёмных потоков.
Распределение по очередям раскладывает входящие потоки по нескольким очередям, обслуживаемым разными ядрами процессора. Без этого обработка всего трафика ложится на одно ядро, и оно становится узким местом задолго до исчерпания полосы.
Разгрузка наложенных сетей позволяет карте обрабатывать инкапсуляцию VXLAN аппаратно. В средах с наложенной сетью её отсутствие ощутимо снижает производительность. Механика инкапсуляции разобрана в материале о VXLAN и EVPN.
Поддержка разгрузок зависит не только от карты, но и от версии драйвера и операционной системы. Проверять следует сочетание, а не карту отдельно.
Как выбрать карту
- Определите скорость портов коммутатора доступа — карта должна ей соответствовать. Для новых проектов это обычно 25 Гбит/с, для узлов хранения и вычислений 100 Гбит/с.
- Проверьте доступные слоты сервера: поколение PCIe и электрическую разводку линий, а не только физическую длину слота.
- Сверьте требуемую полосу с таблицей возможностей шины. Карта на 100 Гбит/с требует PCIe 3.0 x16 или PCIe 4.0 x8 как минимум.
- Решите, нужен ли RDMA. Если да, планируйте настройку коммутаторов, а не только закупку карт.
- Определите потребность в SR-IOV и проверьте поддержку со стороны гипервизора и платформы.
- Уточните набор разгрузок, существенных для вашей нагрузки, прежде всего распределение по очередям и разгрузку наложенных сетей.
- Проверьте форм-фактор: наличие разъёма OCP в сервере и его редакцию, либо свободный слот расширения нужного размера.
- Проверьте поддержку драйверов в вашей операционной системе и наличие обновлений встроенного программного обеспечения карты.
- Учтите энергопотребление и охлаждение: карты на 100 Гбит/с заметно греются и требуют продуманного продува, особенно в корпусах малой высоты.
Подобрать карты можно в разделе серверных комплектующих; подберём модели под конкретную платформу и планируемую нагрузку.
Типичные ошибки
Карта быстрее шины. Самая частая ошибка: карта на 100 Гбит/с в слоте PCIe 3.0 x8 выдаёт около 63 Гбит/с. Проверять нужно электрическую разводку слота, а не его физический размер.
Два порта по 100 Гбит/с в слоте на 126 Гбит/с. Одновременной полной скорости обоих портов не будет. Такая конфигурация оправдана для резервирования, но не для суммарной полосы.
RoCE без подготовки сети. Карты закуплены, коммутаторы не настроены, выигрыша нет, а при частичной настройке появляются трудно диагностируемые сбои.
Не проверено распределение по очередям. Полоса есть, а обработка упирается в одно ядро процессора.
Перепутаны редакции OCP. Карта OCP 3.0 не встаёт в разъём OCP 2.0, они механически несовместимы.
Не учтено охлаждение. Карты высоких скоростей чувствительны к продуву; в корпусах малой высоты при недостаточном потоке воздуха они снижают производительность.
Карта в слоте не того процессора. В двухпроцессорном сервере обращения через межпроцессорную шину добавляют задержку, заметную для чувствительных задач.
Что учесть при закупке
Партномера. Фиксируйте точный артикул: карты одной линейки различаются числом портов, типом разъёмов и форм-фактором при схожем названии.
Планки крепления. Карты поставляются с планкой полной или низкопрофильной высоты. Для серверов высотой 1U нужна низкопрофильная, и она не всегда входит в комплект. Это распространённая причина задержки ввода.
Комплектность. Оптические модули и кабели в комплект карт не входят и считаются отдельными позициями. Для карты с двумя портами нужны два модуля и два кабеля.
Совместимость модулей. Часть карт ограничивает работу модулей сторонних производителей. Проверяйте на образце до закупки партии.
Версия встроенного программного обеспечения. Часть возможностей появляется только в определённых версиях, а обновление может требовать утилит производителя. Уточняйте установленную версию при поставке.
Вторичный рынок. Карты — одна из удобных позиций для закупки восстановленного оборудования: движущихся частей нет, а износ практически отсутствует. Проверяйте комплектность планок, отсутствие следов перегрева и возможность обновления встроенного программного обеспечения. Соображения собраны в материале о новом, б/у и refurbished, а порядок подготовки закупки — в материале о планировании закупки.
Смотреть комплектующие серверов в наличии →