Что такое Software Load Balancer (SLB) для SDN?
Применимо к: Локальные версии Azure, версии 23H2 и 22H2; Windows Server 2022, Windows Server 2019, Windows Server 2016
Поставщики облачных служб (ПОСТАВЩИКи облачных служб) и предприятия, развертывающие программное обеспечение, могут использовать Software Load Balancer (SLB) для равномерного распределения сетевого трафика клиента и клиента между ресурсами виртуальной сети. SLB позволяет размещать одну и ту же рабочую нагрузку на нескольких серверах, что обеспечивает высокий уровень доступности и масштабирования.
Программное подсистема балансировки нагрузки может обеспечить мультитенантную, унифицированную границу, интегрируя с технологиями SDN, такими как шлюз RAS, брандмауэр центра обработки данных и отражатель маршрутов.
Примечание.
Мультитенантность для виртуальных ЛС не поддерживается сетевым контроллером. Однако виртуальные локальные сети можно использовать с SLB для управляемых рабочих нагрузок поставщика услуг, таких как инфраструктура центра обработки данных и веб-серверы с высокой плотностью.
С помощью Software Load Balancer можно масштабировать возможности балансировки нагрузки с помощью виртуальных машин SLB на одних вычислительных серверах Hyper-V, используемых для других рабочих нагрузок виртуальных машин. Из-за этого Software Load Balancer поддерживает быстрое создание и удаление конечных точек балансировки нагрузки, необходимых для операций CSP. Кроме того, Software Load Balancer поддерживает десятки гигабайт на систему, предоставляет простую модель подготовки и легко масштабировать и в ней.
Сведения об управлении политиками Software Load Balancer с помощью Центра администрирования Windows см. в статье "Управление подсистемой балансировки нагрузки программного обеспечения для SDN".
Что такое Software Load Balancer?
Software Load Balancer включает следующие возможности:
Службы балансировки нагрузки уровня 4 (L4) для трафика TCP/UDP на севере, юге и востоке и западе.
Балансировка нагрузки на общедоступный сетевой трафик и внутренний сетевой трафик.
Поддержка динамических IP-адресов (DIPs) в виртуальных локальных сетях (VLAN) и виртуальных сетях, создаваемых с помощью виртуализации сети Hyper-V.
Поддержка проб работоспособности.
Готовы к масштабированию облака, включая возможности горизонтального масштабирования и возможности масштабирования для мультиплексеров и агентов узлов.
Дополнительные сведения см . в статье о функциях Software Load Balancer.
Как работает подсистема балансировки нагрузки программного обеспечения
Software Load Balancer работает путем сопоставления виртуальных IP-адресов (VIPs) с DIPs, которые являются частью набора ресурсов облачной службы в центре обработки данных.
ВИРТУАЛЬНЫЕ IP-адреса — это отдельные IP-адреса, предоставляющие общедоступный доступ к пулу подсистем балансировки нагрузки виртуальных машин. Например, IP-адреса — это IP-адреса, предоставляемые в Интернете, чтобы клиенты и клиенты клиентов могли подключаться к ресурсам клиента в облачном центре обработки данных.
DIPs — это IP-адреса виртуальных машин-членов пула с балансировкой нагрузки за виртуальным ip-адресом. DiPs назначаются в облачной инфраструктуре ресурсам клиента.
IP-адреса находятся в мультиплексе SLB (MUX). Многомерный набор состоит из одной или нескольких виртуальных машин. Сетевой контроллер предоставляет каждый многомерный ip-адрес с каждым ВИРТУАЛЬНЫм IP-адресом, и каждый многомерный шлюз, в свою очередь, использует протокол BGP для объявления каждого IP-адреса маршрутизаторам в физической сети в виде маршрута /32. BGP позволяет маршрутизаторам физической сети:
Узнайте, что виртуальный IP-адрес доступен в каждой многомерной сети, даже если многомерные модули находятся в разных подсетях в сети уровня 3.
Распределяйте нагрузку для каждого виртуального IP-адреса по всем доступным мультиплексам с помощью маршрутизации с равными затратами (ECMP).
Автоматически обнаруживает сбой или удаление многомерных выражений и останавливает отправку трафика в неисправное многомерное выражение.
Распределить нагрузку из неудачной или удаленной многомерной подсистемы по здоровым многомерным выражениям.
Когда общественный трафик поступает из Интернета, SLB MUX проверяет трафик, который содержит ВИРТУАЛЬНЫй IP-адрес в качестве назначения, и сопоставляет и перезаписывает трафик, чтобы он прибыл в отдельный DIP. Для входящего сетевого трафика эта транзакция выполняется в двухфакторном процессе, разделенном между виртуальными машинами MUX и узлом Hyper-V, где находится целевой DIP:
Балансировка нагрузки — MUX использует виртуальный IP-адрес для выбора DIP, инкапсулирует пакет и перенаправляет трафик на узел Hyper-V, где находится DIP.
Преобразование сетевых адресов (NAT) — узел Hyper-V удаляет инкапсуляцию из пакета, преобразует ВИРТУАЛЬНЫй IP-адрес в DIP, перенаправит порты и перенаправит пакет на виртуальную машину DIP.
MuX знает, как сопоставить IP-адреса с правильными dips из-за политик балансировки нагрузки, определяемых с помощью сетевого контроллера. К этим правилам относятся протокол, интерфейсный порт, внутренний порт и алгоритм распределения (5, 3 или 2 кортежа).
Когда виртуальные машины клиента реагируют и отправляют исходящий сетевой трафик обратно в Интернет или удаленные расположения клиентов, так как NAT выполняется узлом Hyper-V, трафик проходит мультиплекс и передается непосредственно к пограничному маршрутизатору с узла Hyper-V. Этот процесс обхода MUX называется direct Server Return (DSR).
И после установки первоначального сетевого трафика входящий сетевой трафик полностью передает многомерный подсистемы балансировки нагрузки.
На следующем рисунке клиентский компьютер выполняет DNS-запрос для IP-адреса сайта SharePoint компании , в данном случае вымышленной компании Contoso. Происходит следующий процесс:
DNS-сервер возвращает IP-адрес 107.105.47.60 клиенту.
Клиент отправляет HTTP-запрос на ВИРТУАЛЬНЫй IP-адрес.
Физическая сеть имеет несколько путей, доступных для доступа к ВИРТУАЛЬНОму IP-адресу, расположенному на любом мультиплексе. Каждый маршрутизатор вдоль пути использует ECMP для выбора следующего сегмента пути, пока запрос не будет доставлен в многомерный набор.
MuX, получающий настроенные политики проверки запроса, и видит, что в виртуальной сети доступно два diPS: 10.10.10.5 и 10.10.20.5 в виртуальной сети для обработки запроса на ВИРТУАЛЬНЫЙ IP-адрес 107.105.47.60
MuX выбирает DIP 10.10.10.5 и инкапсулирует пакеты с помощью VXLAN, чтобы он смог отправить его на узел, содержащий DIP с помощью физического сетевого адреса узла.
Узел получает инкапсулированный пакет и проверяет его. Он удаляет инкапсуляцию и перезаписывает пакет, чтобы назначение теперь было DIP 10.10.10.5 вместо ВИРТУАЛЬНОго IP-адреса, а затем отправляет трафик на виртуальную машину DIP.
Запрос достигает сайта Contoso SharePoint в ферме серверов 2. Сервер создает ответ и отправляет его клиенту с помощью собственного IP-адреса в качестве источника.
Узел перехватывает исходящий пакет в виртуальном коммутаторе, который запоминает, что клиент, теперь назначение, сделал исходный запрос к ВИРТУАЛЬНОму IP-адресу. Узел перезаписывает источник пакета, чтобы он был ВИРТУАЛЬНЫМ IP-адресом, чтобы клиент не видел DIP-адрес.
Узел перенаправит пакет непосредственно в шлюз по умолчанию для физической сети, которая использует стандартную таблицу маршрутизации для перенаправления пакета клиенту, который в конечном итоге получает ответ.
Балансировка нагрузки внутреннего трафика центра обработки данных
При балансировке сетевого трафика внутри центра обработки данных, например между ресурсами клиента, работающими на разных серверах, и являются членами одной виртуальной сети, виртуальный коммутатор Hyper-V, к которому подключены виртуальные машины, выполняют NAT.
При балансировке нагрузки внутреннего трафика первый запрос отправляется и обрабатывается многомерным модулом, который выбирает соответствующий DIP, а затем направляет трафик в DIP. С этого момента установленный поток трафика проходит многомерный трафик и переходит непосредственно с виртуальной машины на виртуальную машину.
Зонды работоспособности
Software Load Balancer включает пробы работоспособности для проверки работоспособности сетевой инфраструктуры, включая следующие:
Tcp-проба через порт
Проверка HTTP на порт и URL-адрес
В отличие от традиционного устройства подсистемы балансировки нагрузки, в котором проба возникает на устройстве и перемещается по проводу к DIP, проба SLB возникает на узле, где находится DIP, и передается непосредственно из агента узла SLB в DIP, дальнейшее распределение работы между узлами.
Инфраструктура Подсистемы балансировки нагрузки программного обеспечения
Перед настройкой Программного подсистемы балансировки нагрузки необходимо сначала развернуть сетевой контроллер и одну или несколько виртуальных машин многомерной подсистемы балансировки нагрузки.
Кроме того, необходимо настроить локальные узлы Azure с виртуальным коммутатором Hyper-V с поддержкой SDN и убедиться, что агент узла SLB запущен. Маршрутизаторы, обслуживающие узлы, должны поддерживать маршрутизацию ECMP и протокол BGP, и они должны быть настроены для приема запросов пиринга BGP из многомерных модулей балансировки нагрузки.
На следующем рисунке представлен обзор инфраструктуры SLB.
В следующих разделах приведены дополнительные сведения об этих элементах инфраструктуры Software Load Balancer.
Сетевой контроллер
Сетевой контроллер размещает диспетчер SLB и выполняет следующие действия для программного балансировщика нагрузки:
Обрабатывает команды SLB, поступающие через API Northbound из Windows Admin Center, System Center, Windows PowerShell или другого приложения управления сетями.
Вычисляет политику распространения на локальных узлах Azure и многомерных подсистем балансировки нагрузки.
Предоставляет состояние работоспособности инфраструктуры Software Load Balancer.
Вы можете использовать Windows Admin Center или Windows PowerShell для установки и настройки сетевого контроллера и другой инфраструктуры SLB.
Многомерная подсистема балансировки нагрузки
Подсистема балансировки нагрузки обрабатывает входящий сетевой трафик и сопоставляет IP-адреса с dips, а затем перенаправляет трафик в правильный DIP. Каждый MX также использует BGP для публикации IP-маршрутов на пограничных маршрутизаторах. BGP Keep Alive уведомляет многомерные потоки при сбое многомерных выражений, что позволяет активным многомерным потокам перераспространять нагрузку в случае сбоя многомерных выражений. Это, по сути, обеспечивает балансировку нагрузки для подсистем балансировки нагрузки.
Агент узла SLB
При развертывании Software Load Balancer необходимо использовать Windows Admin Center, System Center, Windows PowerShell или другое приложение управления для развертывания агента узла SLB на каждом сервере узла.
Агент узла SLB прослушивает обновления политики SLB из сетевого контроллера. Кроме того, правила агента узла для SLB в виртуальные коммутаторы Hyper-V с поддержкой SDN, настроенные на локальном компьютере.
Виртуальный коммутатор Hyper-V с поддержкой SDN
Для обеспечения совместимости виртуального коммутатора с SLB расширение виртуальной платформы фильтрации (VFP) должно быть включено на виртуальном коммутаторе. Это выполняется автоматически с помощью сценариев развертывания PowerShell SDN, мастера развертывания Windows Admin Center и развертывания System Center диспетчер виртуальных машин (SCVMM).
Сведения о включении VFP на виртуальных коммутаторах см. в командах Get-VMSystemSwitchExtension и Enable-VMSwitchExtension.
Виртуальный коммутатор Hyper-V с поддержкой SDN выполняет следующие действия для SLB:
обрабатывает путь к данным для SLB;
Получает входящий сетевой трафик из muX.
Проходит многомерный трафик для исходящего сетевого трафика, отправляя его маршрутизатору с помощью DSR.
Маршрутизатор BGP
Маршрутизатор BGP выполняет следующие действия для Software Load Balancer:
Маршрутизирует входящий трафик в muX с помощью ECMP.
Для исходящего сетевого трафика используется маршрут, предоставленный узлом.
Прослушивает обновления маршрутов для IP-адресов из SLB MUX.
Удаляет многомерные подсистемы балансировки нагрузки из поворота SLB, если не удается сохранить работоспособность.
Функции Подсистемы балансировки нагрузки программного обеспечения
В следующих разделах описаны некоторые функции и возможности Software Load Balancer.
Базовая функциональность
SLB предоставляет службы балансировки нагрузки уровня 4 для трафика TCP/UDP на север, юг и восток и запад.
SLB можно использовать в сети на основе виртуализации сети Hyper-V.
SLB можно использовать с сетью на основе виртуальной локальной сети для виртуальных машин DIP, подключенных к виртуальному коммутатору Hyper-V с поддержкой SDN.
Один экземпляр SLB может обрабатывать несколько клиентов.
SLB и DIP поддерживают масштабируемый и низкий путь возврата задержки, как реализовано DSR.
Функции SLB при использовании функции switch Embedded Teaming (SET) или Single Root Input/Output Virtualization (SR-IOV).
SLB включает поддержку протокола Internet Protocol версии 6 (IPv6) и версии 4 (IPv4).
Для сценариев шлюза типа "сеть — сеть" SLB предоставляет функциональные возможности NAT для включения всех подключений типа "сеть — сеть" для использования одного общедоступного IP-адреса.
Масштаб и производительность
Готовы к масштабированию облака, включая возможность горизонтального масштабирования и масштабирования для многомерных выражений и агентов узлов.
Один активный модуль сетевого контроллера диспетчера балансировки нагрузки может поддерживать восемь экземпляров MUX.
Высокая доступность
SLB можно развернуть на более чем двух узлах в активной или активной конфигурации.
Многомерные выражения можно добавлять и удалять из пула многомерных выражений, не влияя на службу SLB. Это обеспечивает доступность SLB при исправлении отдельных мультиплексов.
Отдельные экземпляры многомерных выражений имеют время простоя в 99 процентов.
Данные мониторинга работоспособности доступны для сущностей управления.
Следующие шаги
Дополнительные сведения см. также: