Один порт на 10 гигов такой же, как десять портов на 1 гиг


17

Я спрашивал меня об этом в течение нескольких дней, и после долгих поисков я не смог придумать приемлемого ответа, даже теоретического, который имеет смысл в моей голове.

Я играю с решениями для хостинга Mac, и мне было интересно, могу ли я добавить Ethernet-карты Thunderbolt к Mac и связать их в VLAN, и, следовательно, частично устранить узкие места пропускной способности для машин, чтобы увеличить скорость доступа к БД или внешнему хранилищу ,

Например: подключите две карты Ethernet в Mac Mini, соедините их и получите VLAN с пропускной способностью 2 Гбит / с.


8
N 1-гигабитные порты - это не то же самое, что 1-гигабитный порт.
EEAA

1
Это не называется VLAN - VLAN означает что-то другое.
user253751

1
То, что вы ищете, - это агрегация каналов, некоторые коммутаторы поддерживают это, вам нужно найти совместимые адаптеры с драйверами, которые поддерживают это.
Гизмо

Ответы:


39

Проще говоря, нет, они разные

  • с интерфейсом 10 Гбит / с вы получаете пропускную способность 10 Гбит / с даже для одного подключения
  • с 10x интерфейсами 1GbE (и с использованием протокола 802.ad) одно соединение / сеанс ограничивается только 1 Гбит / с. С другой стороны, вы можете обслуживать 10 одновременных сеансов с пропускной способностью 1 Гбит / с.

Другими словами, соединение, как правило, не увеличивает скорость одного соединения. Единственным исключением является тип связывания Linux 0 (balance-rr), который отправляет пакеты циклически, но имеет существенные недостатки и ограниченное масштабирование. Для практического примера, посмотрите здесь


16
Нет, это не то, как работает склеивание.
EEAA

2
Отличный и правильный ответ, но давайте поможем. Хотя он теоретически отличается и OP может не быть семантически точным, агрегация каналов все еще является очень подходящим решением для исходной проблемы, узких мест в полосе пропускания.
Эса Йокинен

4
@ConstantinJacob Bonding обычно хеширует некоторые поля в заголовке и использует их для выбора ссылки в комплекте. Если в хешируемых полях достаточно различий, трафик будет равномерно распределен. Если все хешируемые поля одинаковы, будет использоваться только одна ссылка в пакете. Поля, включенные в хэш, зависят от реализации, но обычно включают в себя такие поля, как MAC-адрес / порт / порт источника / назначения и номер протокола.
Касперд

5
@ConstantinJacob написано немного по-другому. Каждое TCP-соединение, которое вы запускаете через свой пакет, будет назначено случайной ссылке в комплекте. Если у вас есть 10 TCP-соединений, возможно, вам повезет, и они получат по одной ссылке. Но гораздо более вероятно, что будет одна или несколько свободных ссылок, и некоторые из соединений TCP будут разделять ссылки. Это случай проблемы со сборщиком купонов, и вы должны ожидать около 30 соединений TCP, прежде чем вы даже начнете использовать все ссылки, и даже больше, прежде чем трафик станет ровным.
Касперд

8
С точки зрения бизнеса, есть еще одно важное отличие. Во-первых, один 48-портовый коммутатор 10GbE по-прежнему стоит меньше, чем десять 48-портовых 1-гигабитных коммутаторов. Подключение и управление 48 кабелями значительно проще, чем 480. Серверы имеют ограниченное количество слотов для карт, поэтому одна карта 10 Гбит / с может легко переносить 20 Гбит / с, может быть, 40 Гбит / с, но одна карта 1 Гбит обычно может передавать только 4 Гбит / с. Если мы называем все это чем-то вроде «плотности полосы пропускания», то увеличение плотности полосы пропускания в 10 GbE имеет реальные инженерные и ценовые преимущества.
Тодд Уилкокс

20

10 Гбит / с через порты x10 1 Гбит / с

Я отвечаю только ради полноты и чтобы избавить вас от головной боли. У меня более 20 тысяч серверов, делающих что-то похожее на это, и я могу сказать, что это плохая идея. Этот метод добавляет много сложности, которая в дальнейшем приведет к проблемам в работе. Мы сделали это с 4 NIC на один сервер. В то время это действительно имело больше смысла, чем идти на 10 гигов. В то время, 10 гигов везде были бы во много раз дороже при очень небольшом выигрыше. Наши недавние версии наших центров обработки данных больше не делают этого.

Соединение LACP ( режим 4 ) с одним партнером LAG даст вам 10 Гбит / с, почти столько же, сколько один порт 10 Гбит / с. На самом деле это можно сделать, используя более 1 коммутатора, но они должны поддерживать MLAG, в противном случае вам нужно подключиться только к одному коммутатору. Если они не поддерживают MLAG, то вы получаете только 1 переключатель полосы пропускания. Другие интерфейсы будут в режиме ожидания. (так что 5 Гбит / с, если у вас есть 2 переключателя).

Одно соединение будет использовать только одну ссылку, но вы можете разделить трафик там, где это необходимо, на уровне 7, если вам нужно, или вы можете посмотреть MPTCP, но поддержка этого является новой в недавних ядрах, и я не уверен, что она готова в прайм-тайм. Вы можете разделить синхронизацию данных, используя LFTP + SFTP и зеркальную подсистему LFTP. Он может даже разбить один файл на несколько потоков. Также есть битторрент.

Вы не сможете использовать DHCP на этих портах с точки зрения клиента, чтобы PXE загрузил установщик ОС , если вы не активируете eth0 на стороне сервера, что технически нарушает мониторинг LACP. Это может быть сделано, но не должно быть , и это будет сделать устранение проблем более трудной , если вы заставляете интерфейс вверх.

В вашей конфигурации соединения вы должны будете сгенерировать уникальный MAC-адрес, который отличается от всех ваших физических интерфейсов, или у вас будут условия гонки из-за работы PXE / DHCP, при условии, что в вашей настройке есть DHCP / PXE. В Интернете есть много примеров того, как сгенерировать уникальный MAC bond0 на лету.

Это также требует конфигурации на стороне коммутатора, которая соответствует конфигурации каждого из ваших серверов. Вы захотите установить демон LLDP, чтобы устранять неполадки, а также включить LLDP на своих коммутаторах.

Если вы сделаете это, ваша маркировка и маркировка должны быть безупречными. Ваша автоматизация коммутатора должна быть надежной. Смещение одного кабеля, объединяющее 2 сервера, вызовет очень веселые проблемы.

Благодарю Джея из IBM за то, что он сделал код связывания таким же хорошим, как он, и за то, что помог нам понять, как заставить DHCP работать в этой конфигурации.


1
Мне несколько любопытно, где вы работаете, чтобы иметь 20 тыс. Узлов со связанными ссылками 4х1 ... это некоторая нетривиальная инфраструктура, которую вы описываете lol.
Кайтар

«Вы не сможете использовать DHCP на этих портах» - это клиент или сервер DHCP , или оба?
MSalters

На клиенте. Если вы запускаете свои серверы, вам придется активизировать eth0 и запустить порт коммутатора eth0, или вам придется использовать другой метод для загрузки ОС.
Аарон

1
@Kaithar Я второй нетривиальный аспект. Я бы предположил, что это было академическое упражнение, которое зашло слишком далеко, чтобы вместить два класса серверов. Однородность доминировала в общем дизайне. Теперь, когда все идет со скоростью 10 Гбит / с, мы по-прежнему выполняем LACP с одним партнером MLAG, так что всего 20 Гбит / с, и больше не нужно форсировать интерфейсы.
Аарон

0

По-разному. Если основной протокол трафика имеет встроенную многолучевую балансировку нагрузки, например, iSCSI, это работает очень хорошо. У склеивания есть множество проблем, которые уже описаны в других ответах.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.