Подсистема балансировки нагрузки программного обеспечения в Azure Stack HCI
Azure Stack HCI поддерживает различные типы программных подсистем балансировки нагрузки. В этом уроке описываются функциональные возможности и архитектура программных подсистем балансировки нагрузки, а также их преимущества по сравнению с их аппаратными аналогами.
Преимущества программной подсистемы балансировки нагрузки
Программные подсистемы балансировки нагрузки предоставляют следующие преимущества:
- Повышение гибкости, устойчивости, масштабируемости и производительности.
- Устранение распространенных проблем традиционных аппаратных подсистем балансировки нагрузки, таких как дорогостоящие контракты поддержки и нарушение обновлений встроенного ПО.
- Значительно уменьшите сложность настройки высокодоступных развертываний.
С помощью Azure Stack HCI Software Load Balancer виртуальные машины, на которых размещаются компоненты балансировки нагрузки, находятся в той же инфраструктуре, что и рабочие нагрузки с балансировкой нагрузки. Эта конфигурация означает, что подсистемы балансировки нагрузки получают преимущества от характеристик базовой платформы, включая быструю подготовку, с высокой пропускной способностью и низкой задержкой внутри кластерных сетевых операций.
Функциональные возможности Software Load Balancer
Подсистема балансировки нагрузки программного обеспечения Azure Stack HCI — это подсистема балансировки нагрузки уровня 4 в open Systems Interconnection (OSI). Software Load Balancer распределяет входящий трафик между ресурсами виртуальной сети в серверном пуле в соответствии с заданными правилами. Software Load Balancer предоставляет следующие возможности:
- Балансировка нагрузки сетевого трафика TCP и UDP, предназначенных для Azure Stack HCI из внешних и внутренних сетей, или трафика на юге и востоке-западе . К этим сетям относятся виртуальные сети на основе Hyper-V и логические сети на основе виртуальной локальной сети.
- Поддержка преобразования сетевых адресов (NAT) для входящего и исходящего трафика.
- Улучшения производительности, такие как Direct Server Return, пробы работоспособности на основе узла и автоматическая поддержка активного режима.
- Интеграция с командой switch Embedded Teaming (SET) или single Root Input-Output Virtualization (SR-IOV).
Архитектура Software Load Balancer
На следующей схеме показаны архитектурные компоненты Azure Stack HCI Software Load Balancer:
Архитектура Software Load Balancer (SLB) состоит из следующих компонентов инфраструктуры:
Сетевой контроллер, на котором размещен диспетчер балансировки нагрузки программного обеспечения и выполняет следующие задачи:
- Обрабатывает команды подсистемы балансировки нагрузки, исходящие из таких приложений управления, как PowerShell, Центр Администратор Windows или диспетчер виртуальных машин (VMM), предназначенные для своего api для северного трафика.
- Подготавливает политики подсистемы балансировки нагрузки для распространения на узлы кластера Azure Stack HCI и виртуальные машины мультиплексора SLB на основе команд SLB.
- отслеживает и оценивает состояние работоспособности инфраструктуры SLB.
Мультиплексоры подсистемы балансировки нагрузки программного обеспечения, которые:
- Обработка входящего сетевого трафика.
- Сопоставляйте виртуальные IP-адреса (IP-адреса) с динамическими IP-адресами, назначенными виртуальным машинам внутреннего пула.
- Перенаправьте трафик в правильные динамические IP-адреса.
Мультиплексоры используют протокол BGP для объявления IP-маршрутов к пограничным маршрутизаторам. Пробы BGP Keep Alive уведомляют мультиплексеров при сбое одного или нескольких мультиплексеров. Остальные активные мультиплексеры могут распространять нагрузку в ответ на сбой, эффективно обеспечивая балансировку нагрузки подсистем балансировки нагрузки.
Узлы кластера Azure Stack HCI с ролью сервера Hyper-V, на которых размещены виртуальные машины мультиплексера.
Агенты узла SLB на каждом узле кластера Azure Stack HCI, который входит в среду SLB. Агент узла SLB прослушивает обновления политики SLB от сетевого контроллера и применяет правила SLB к локальным виртуальным коммутаторам Hyper-V.
Виртуальный коммутатор Hyper-V с поддержкой SDN, который:
- обрабатывает путь к данным для SLB;
- принимает входящий сетевой трафик от мультиплексора;
- обходит мультиплексор для исходящего сетевого трафика, отправляя его в маршрутизатор с поддержкой BGP с помощью прямого ответа от сервера.
Маршрутизатор с поддержкой BGP, который:
- направляет входящий трафик в мультиплексор, используя многопутевую маршрутизацию с равной стоимостью;
- использует маршрут, предоставленный ролью Hyper-V, размещенной на узлах кластера Azure Stack HCI, для исходящего сетевого трафика;
- Прослушивает обновления маршрутов для IP-адресов из мультиплексера SLB.
- удаляет мультиплексоры SLB из ротации SLB в случае сбоя проверок активности.
Средства управления, такие как PowerShell, Центр Администратор Windows и VMM, которые могут взаимодействовать с сетевым API-интерфейсом северного трафика и соответствующей инфраструктурой SLB.