Citrix NetScaler. Load Balancing: В помощь начинающему администратору

Автор: vik_kr Дата: . Категория: Статьи

Друзья, я снова рад Вас приветствовать в цикле статей, посвящённых решениям Citrix. Но сегодня я не буду описывать, что, по результатам независимого исследования “магического квадрата Гартнера” (Gartner Magic Quadrant) в разрезе Application Delivery Controllers, описываемый ниже продукт находится в лидирующей тройке. Я хочу показать, что им можно и нужно пользоваться в разрезе “бытовых возможностей”. По моему опыту с Citrix NetScaler начинают сталкиваться администраторы средних и крупных компаний. И, как показывает практика и опыт, – в разрезе взаимодействия с Citrix XenDesktop / XenApp. А это говорит об одном: есть инструмент, который даже в бесплатной версии просто пропадает, т.к. может облегчить работу многим моим коллегам.


А именно хотел остановиться на некотором функционале, который обязательно пригодится? А именно — Балансировка нагрузки (Load Balancing). Казалось, вещь всем понятная, нужная, но к ее реализации зачастую подходим сквозь пальцы.

Кто-то скажет, зачем для небольших компаний использовать Citrix NetScaler, ведь есть решения на базе DNS — DNS Round Robin. Для балансировки нагрузки — это не самый хороший выбор. Отступая в сторону я бы сказал – это “’зло” и полная противоположность “Best Practices”. А брать в расчет Windows LBS при большом количестве более достойных альтернатив — это «не спортивно». 

А теперь я покажу почему это именно так:

image


Давайте проверим работу WEB серверов

1й:
 

image


2й:
 

image


3й:
 

image


Все готово для демонстрации.

Итак, установим критерии тестирования для выявления слабых и сильных месть обоих решений.
В диспозиции мы имеем 3 зеркальных Web сервера b настроенный MS DNS севрер с настроенным Round robin с созданными 3мя записями тестируемых серверов DNS.
 

image


Настроенный Citrix NetScaler c функционалом Load Balancing.

Прежде всего, освежим в памяти как работает DNS Round robin. Ну тут особо углубляться не буду в теорию, полагаю само название говорит само за себя. Расскажу только на “пальцах”: при включенной функции Round robin сервер DNS каждый раз выдает новый ответ за запрос от клиентов. Ниже приведена наглядная картина, при которой каждый новый запрос получает новый ответ. 
 

image


Казалось все понятно. Но давайте подумаем, что, если один из серверов недоступен и/или загружен. Усложним тестирование и выключим один из серверов:
 

image


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

Как поступить в подобной или аналогичной ситуации? Доступность для зеркальных Web серверов – это частный случай, в качестве балансировщика могут быть разнообразные сервисы и службы.
Почему как одно из решения я настойчиво рекомендую- посмотреть в сторону решения NetScaler от Citrix.

Во-первых, данную задачу может решить бесплатная версия Citrix NetScaler. А во-вторых и последующих – решение проверенное временем, простое, удобное и предоставляющее большой сторонний функционал.

Давайте посмотрим общую настройку Citrix NetScaler для балансировки доступности Web сервиса.
Имеется LB сервевр с настроенной группой серверов.
 

image


Логически схема выглядит так – балансировщик нагрузки 192.168.0.7 и 3 сервера:
 

image


Осталось проверить, как будет вести себя балансировщик нагрузки Citrix NetScaler при выходе из строя 1 или даже 2х серверов из 3х имеющихся.

На видео я буду поочередно отключать один или два сервера с одновременным мониторингом доступности по ICMP протоколу и доступностью Load Balancing сервера.
 

image


Поехали!



Поехали!

Описание производимых операций:

— На представленном видео в начале мы с Вами видим как все 3 преднастроенные Web серверы работают, работает и LB сервер.
— Проверили доступность 3х серверов
— Отключили 1-ый сервер
— LB без потери стал перенаправлять на 2-ой и 3-ий серверы.
— Отключили 2-ой сервер
— LB без потери стал перенаправлять на 3-ий сервер.
— Включили 1-ый сервер
— LB без потери стал перенаправлять на 1-ый и 3-ий серверы.

Итак, давайте подведем краткие итоги. Уверен, что найду достаточно много вариантов применения инструмента балансировки нагрузки с помощью Citrix NetScaler в большинстве организаций. Следовательно, администраторы сетей, системный администраторы могут им пользоваться. Пользоваться бесплатно, а инструмент имеет широчайший спектр применения. Кроме того, если в последующем придется сталкиваться с VDI решением от Citrix,
То Вы будите существенно подготовлены)

Лично мое мнение, обязательно стоит использовать инструмент, который может существенно повысить доступность сервисов и служб учитывая его положения на рынке, а, самое главное, в необходимой редакции он бесплатный.

P.S. В данном разделе мы не рассматриваем алгоритмы и методы балансировки, а лишь на макро уровне- откроем для себя новый инструментарий работы.

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