Как распределители нагрузки вписываются в центр обработки данных с гораздо более высокой пропускной способностью, чем они могут обрабатывать?

10

У вас есть дата-центр, стандартизированный по соединениям 10GE. Скажем, с ядром Nexus 7000, агрегацией Nexus 5000 и некоторыми матричными расширителями для пограничного доступа к серверам (в качестве примера я использую механизм Cisco, потому что это то, что находится в моей конкретной лаборатории). Некоторые балансировщики нагрузки ACE 4710 висят на вашем Nexus 5000s, но они имеют только интерфейсы 1GE. Все ваши коммутаторы имеют 10GE-соединение, необходимое для массового трафика восток-запад (VM-to-VM) в современных виртуализированных центрах обработки данных.

Разве балансировщики нагрузки не становятся узким местом в определенных условиях движения? Я могу видеть, как некоторому локальному трафику восток-запад даже не нужно достигать балансировщика нагрузки, но есть другие ситуации, когда вам нужно пересечь ядро ​​и, возможно, даже соединить центр обработки данных.

В принципе, я знаю, что балансировщики нагрузки используются в трафике клиент-сервер (север-юг), и такие вещи, как HTTP GET, не требуют 10GE, но есть ситуации, в которых ваш балансировщик нагрузки 1GE может помешать в противном случае полностью Путь трафика 10GE и проблемы для таких вещей, как vMotion (например)?

страж
источник
1
ACE 4710 был EOL / EOS с 2010 года. Вы привязаны к этому балансировщику нагрузки или открыты для использования современного балансировщика нагрузки, который может масштабироваться гораздо выше? (Многие производители делают их.) Нет никаких причин искусственно ограничивать пропускную способность, как вы описываете. Ну, нет никаких причин, кроме стоимости, но на самом деле, если вы купили описанную инфраструктуру, у вас, скорее всего, остались бы деньги для реальной настройки балансировщика нагрузки.
Бретт Лайкинс,
На самом деле это не производственная среда, а реальный «лабораторный» сценарий, содержащий эти конкретные устройства. В более общем смысле, мой вопрос, учитывая нагрузку на трафик типичного центра обработки данных, как вы гарантируете, что балансировщик нагрузки не станет узким местом в вашем проекте? Это влияет на ваш дизайн, как, например, если ваш центр обработки данных многоуровневый, на каком уровне вы выполняете балансировку нагрузки и т. Д. В моем конкретном примере, который я не могу изменить, поскольку это не мой дизайн, имеет ли смысл иметь эти Устройства ACE однорукие от Nexus 5000, которые намного мощнее.
Страж

Ответы:

6

Разве балансировщики нагрузки не становятся узким местом в определенных условиях движения?

Конечно, но это обычно не так в хорошо спроектированной сети.

Вы должны быть в состоянии спроектировать свою сеть таким образом, чтобы пропускать большую часть внутреннего трафика между серверами (как вы выразились «восток-запад»), даже если он действительно должен пересекать ваше ядро ​​или между центрами обработки данных.

Хотя часто балансировщик нагрузки является шлюзом по умолчанию для серверов, стоящих за ним, я видел установки, где используется протокол маршрутизации (т.е. OSPF или RIP), позволяющий трафику «восток-запад» обходить балансировщик нагрузки, или в небольших развертываниях. где использовались статические маршруты.

Если балансировщики нагрузки будут узким местом даже при хорошем дизайне (т. Е. Объем трафика настолько высок), то есть также способы балансировки нагрузки между несколькими балансировщиками нагрузки.

YLearn
источник
4
Верно. Если на вашем пути vMotion есть LB, вы потерпели неудачу как инженер.
Рикки Бим
«... есть способы распределения нагрузки между несколькими балансировщиками нагрузки», - например, выбрать балансировщик сетевой нагрузки из DNS?
Андрей Ринея
2

Это действительно узкое место и ограничит вашу пропускную способность "самым слабым звеном в цепочке", которым являются ваши LB. Тем не менее, вы можете обойти это. Если вы используете что-то, известное как «switchback» или «direct server return», вы можете выполнять асинхронные потоки трафика. Вот как это работает:

а) клиент делает http запрос к 2.2.2.2

b) LB отвечает по 2.2.2.2 и передает входящий запрос на сервер - поскольку LB и сервер находятся в одной локальной сети, это делается на уровне 2.

c) Сервер принимает это входящее соединение, так как IP 2.2.2.2 находится на псевдонимном интерфейсе обратной связи (в противном случае он отбросит пакет, который не соответствует интерфейсу).

г) Сервер отвечает непосредственно клиенту.

Запрос составляет несколько байтов. Контент может быть любого размера. Исходящий трафик не проходит через LB, поэтому вы можете обрабатывать ПУТЬ больше трафика.

Ура,

--tc

Томас Кэннон
источник
1
Имейте в виду, что это подходит только для кластеров L4. Для кластеров L7 это нарушит перезапись заголовка, вставку cookie (постоянство), прекращение SSL, любой вид сопоставления URL и любые другие более продвинутые функции многих балансировок нагрузки.
YLearn