Службы терминалов балансировки нагрузки: все, что вы хотели знать, но боялись спросить (часть 2)

Опубликовано: 24 Апреля, 2023

Балансировка сетевой нагрузки Microsoft (NLB) с каталогом сеансов

Теперь, когда вы знаете, что означает NLB и как он работает, пришло время добавить к этой картине еще один инструмент Microsoft: Session Directory. Прежде всего, Session Directory доступен только в Windows 2003 Server Enterprise Edition и более поздних версиях (поэтому вам придется заплатить дополнительные деньги, чтобы получить его). А что это такое? Я не буду объяснять это подробно (если вам нужно это объяснение, прочтите его здесь), но дам вам хороший обзор. По сути, это служба, которая поддерживает базу данных с информацией о ваших пользователях и о том, на какой TS они работают, обновляемую в момент нового подключения к любой TS. Это означает, что если ваше соединение прервется и вы попытаетесь переподключиться, решение для балансировки нагрузки проверит эту базу данных и найдет, где вы были, а затем снова подключит вас к нужному серверу.

PRO

  • Переподключение работает!

Минусы

  • Требуется Windows 2003 Enterprise ($$$$).
  • Не на основе ресурсов.
  • Непредсказуемое поведение (поскольку в этом примере NLB является частью всей сделки; обратите внимание, что NLB НЕ требуется. У вас может быть Session Directory с другими балансировщиками нагрузки — подробнее в следующих разделах).
  • Ограничено до 32 серверов (ограничение NLB).
  • Все серверы должны находиться в одной подсети (ограничение NLB).
  • Некоторые люди считают, что это PITA для реализации (обратная связь NLB).
  • Может не работать с клиентами, отличными от Windows. Проблема здесь проста: Session Directory использует своего рода токен для передачи информации балансировщику нагрузки и/или клиенту RDP; поэтому, если ваш балансировщик нагрузки и/или RDP-клиент не знает, что делать с этим токеном, переподключение не сработает. Так обстоит дело, например, с некоторыми клиентами Linux. Даже официальный RDP-клиент Microsoft для Mac OS X не поддерживает Session Directory (возможно, они изменили это…)!

Сторонние инструменты

Под сторонними инструментами я подразумеваю программные решения, разработанные сторонними компаниями. Мы обсудим аппаратный маршрут в отдельном разделе. Прежде чем мы продолжим и даже упомянем какое-либо программное решение от третьей стороны, я должен уточнить, что я никоим образом не связан ни с одной из компаний и / или продуктов, которые я могу упомянуть. Кроме того, я должен сказать, что на сегодняшний день я не нашел ни одного решения, которое учитывало бы все варианты/требования/проблемы балансировки нагрузки (например, переподключение, использование ресурсов и т. д.). Некоторые из них довольно близки, но не полностью на момент написания этой статьи.

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

PRO

  • Дополнительные функции, такие как шифрование SSL от клиента до устройства балансировки нагрузки, на котором работает программное обеспечение.
  • На основе ресурсов.
  • В некоторых случаях переподключение работает.

Минусы

  • Дополнительные $$$ в некоторых случаях (поскольку некоторые инструменты могут быть бесплатными).
  • Может потребоваться дополнительное оборудование (некоторые инструменты рекомендуют устанавливать их на отдельный компьютер).
  • Может не поддерживать все платформы. В зависимости от функции инструмента (например, SSL) может потребоваться собственный клиент; в этом случае перед покупкой любого инструмента убедитесь, что поставщик программного обеспечения поддерживает все целевые платформы в вашей компании.
  • Может потребоваться установка дополнительного программного обеспечения на стороне клиента. Как объяснялось выше, для поддержки некоторых дополнительных функций может потребоваться клиентский компонент. Здесь речь идет не только о поддержке всех необходимых вам платформ, но и о том, как вы развернете это новое программное обеспечение на всех машинах, которым оно понадобится. У некоторых поставщиков для этого есть более совершенные подходы (например, настраиваемые файлы MSI, которые можно развернуть с помощью групповых политик). Убедитесь, что вы точно понимаете все варианты, которые предлагает поставщик в этом случае.

Некоторые из инструментов, которые я знаю (не то, чтобы я пробовал их все):

  • 2X LoadBalancer (http://www.2x.com). На основе ресурсов, поддержка повторного подключения (только для клиентов, которые НЕ находятся за брандмауэром/NAT), SSL. Для использования некоторых функций требуется клиент (доступен только для Windows). Полнофункциональная демо-версия доступна на их сайте.
  • Балансировщик нагрузки RDP Clusteresis (http://www.clusteresis.com). На основе ресурсов, поддержка повторного подключения (очевидная из любого места), возможности публикации приложений и единый вход (поэтому пользователям НЕ нужно снова вводить свои имена пользователей и пароли!). Требуется клиентский компонент. Программное обеспечение полностью бесплатное.
  • Tunnel2 Secure Terminal Server Gateway (http://www.lmis.de/productDescription.do)Поддержка повторного подключения, SSL. Требуется клиентский компонент. Демо-версия доступна на их сайте.

Аппаратные опции

Как вы можете себе представить, многие компании (Cisco, F5 и т. д.) осознали важность серверных вычислений и начали выпускать специализированное оборудование для предоставления услуг балансировки нагрузки RDP. Обычно это небольшие автономные устройства, работающие под управлением какой-либо проприетарной ОС (например, некоторые брандмауэры — например, SonicWall и Cisco PIX) и со всевозможными возможностями (например, некоторые из них могут иметь встроенную поддержку SSL VPN).

PRO

  • Дополнительные функции, такие как SSL VPN, RDP на SSL и многое другое.
  • В некоторых случаях переподключение работает.
  • Может быть основано на ресурсах. Убедитесь, что вы связались с поставщиком оборудования и спросили его, знает ли их продукт о терминальных службах LOAD, а не просто о том, работает ли TS.
  • Обычно одна коробка может сбалансировать нагрузку сотен терминальных серверов без дополнительных затрат.

Минусы

  • В некоторых случаях ОГРОМНЫЕ дополнительные $$$. Некоторые из этих аппаратных устройств стоят тысячи долларов.
  • Еще одна часть оборудования для управления.
  • Может быть не так просто настроить/поддержать. Чем более проприетарным является бокс (хорошим примером является ОС, работающая на нем), тем труднее поддерживать его. В вашей компании может даже не быть человека, обладающего необходимыми знаниями для его настройки/поддержки. Это приводит к увеличению общей стоимости решения.
  • Может не поддерживать все платформы. Если решение полностью без клиента, то все в порядке. Но если требуется клиент, убедитесь, что вы понимаете, в каком формате этот клиент доступен (некоторые, которые я видел, являются компонентом ActiveX, например, что означает только Windows) и для каких платформ.
  • Может потребоваться клиентский компонент, так как некоторые из этих блоков добавляют всевозможные навороты.
  • Может потребоваться Session Directory -> $$$$$. Некоторые из этих блоков полагаются на каталог сеанса для своих возможностей повторного подключения. Это означает дополнительные деньги, так как теперь вам нужна Windows 2003 Server Enterprise Edition на всех ваших терминальных серверах. Убедитесь, что вы спросили поставщика, поддерживается ли переподключение из любого места, любого клиента и, что более важно, требуется ли в этом случае что-то вроде каталога сеанса.

Некоторые из аппаратных опций, о которых я знаю (некоторые я пробовал сам, другие не пробовал, поэтому я НЕ одобряю/рекомендую какой-либо конкретный продукт):

  • AEP Netilla SSL VPN, http://www.aepnetworks.com.
  • Aventail SSL VPN, http://www.aventail.com.
  • Устройство NTavo, http://www.ntavo.com/ntaappliance.php.
  • Интеллектуальный шлюз приложений Whale, http://www.whalecommunication.com/site/Whale/Corporate/Whale.asp?pi=30.
  • F5 BigIP, http://www.f5.com/products/bigip.

Вывод

Как видите, вариантов много. Некоторые из них прямо здесь, из коробки, и в некоторых случаях могут очень хорошо сработать. Ключевым моментом при размышлении о балансировке нагрузки является понимание бизнес-требований и того, насколько критично решение в целом. В некоторых местах можно использовать циклический перебор DNS для своих двух терминальных серверов и не возражать против того факта, что пользователи могут быть перенаправлены на мертвый сервер; служба поддержки просто скажет: «Попробуйте хотя бы дважды, и все будет в порядке». ?

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

Как я всегда говорю, читайте, читайте и еще раз читайте обо всем этом и попробуйте столько продуктов, сколько сможете, прежде чем выбрать лучший способ. И, если возможно, наймите достойного консультанта по ТС вроде меня, чтобы он вам помог. Я всегда доступен и по очень доступным ценам. ?

Серьезно, если у вас, ребята, есть какие-либо вопросы по этой статье, не стесняйтесь обращаться ко мне в любое время. Моя контактная информация находится на веб-сайте MSTerminalServices.org. Ваше здоровье!

«Службы терминалов балансировки нагрузки: все, что вы хотели знать, но боялись спросить (часть 1)