|
|
|||||||||||||||||||||||||||||
|
Автономное распределение нагрузки, часть 1: Cisco Content Switching ModuleИсточник: IBM developerWorks Россия Алан Бивенс, Чеким Чуор, Донна Диленбергер, Грэг Фэррис, Джон Фентон, Весли Чоу
Интегрированные системы управления системой и рабочей нагрузкой доказали свою ценность и используются для мониторинга и управления корпоративными приложениями и системами. В то время как системы могут многое знать о приложениях, обычно, они не обладают большой способностью управлять скоростью, с которой эти приложения принимают работу. В отличие от них распределители нагрузки могут управлять этой скоростью, но обычно они имеют мало информации о способности приложения успешно обработать запрос. В данной статье описана совместная работа одного из продуктов IBM по управлению рабочей нагрузкой, Enterprise Workload Manager (EWLM), и одного из продуктов CISCO по распределению нагрузки, Content Switching Module (CSM), направленные на предоставление решения по эффективному распределению нагрузки на основе производительности приложения и способности приложения достигать поставленных целей на бизнес-уровне. Для облегчения взаимодействия между распределителями нагрузки сервера, такими как CSM, и объектами управления рабочей нагрузкой, такими как EWLM, был разработан Server/Application State Protocol (SASP). EWLM следит за состоянием и нагрузкой серверов и их приложений в настроенном кластере и принимает решения, какие серверы или приложения лучше всего подходят для успешной обработки клиентских запросов. Как часть такого процесса мониторинга, EWLM назначает относительный весовой коэффициент каждому серверу в кластере и передает эти весовые коэффициенты распределителю нагрузки. Распределитель нагрузки может затем использовать эти значения для распределения клиентского трафика на наиболее подходящий сервер. В данной статье демонстрируется взаимодействие между этими двумя продуктами с целью распределения нагрузки, а также рассказывается, как настроить такое взаимодействие. В следующих статьях будет описано взаимодействие между EWLM и другими распределителями нагрузки. О компонентахContent Switching Module является первым распределителем нагрузки Cisco, поддерживающим SASP; первыми продуктами IBM, взаимодействующими с CSM с использованием SASP, являются Enterprise Workload Manager и z/OS® Load Balancing Advisor. В данной статье обсуждается только взаимодействие между EWLM и CSM. Аналогичную информацию о взаимодействии между z/OS Load Balancing Advisor и CSM можно найти в соответствующей документации по z/OS. CSM получает информацию о состоянии сервера, используя единственное выделенное для SASP соединение с EWLM. SASP не только позволяет EWLM предоставлять относительные весовые коэффициенты серверов, но также позволяет CSM или EWLM удалить сервер из службы. Это может произойти, когда сервер либо сконфигурирован как необслуживаемый, либо если на этом сервере обнаружена авария. На рисунке 1 изображена диаграмма, показывающая взаимодействие CSM и EWLM. Рисунок 1. Взаимодействие между CSM и EWLM Обзор CISCO CSMCSM раздает новые соединения к группе серверов в соответствии с алгоритмом, выбранным администратором. Если в качестве алгоритма распределения нагрузки выбран алгоритм кругового обслуживания или алгоритм наименьшего числа соединений, с каждым сервером в группе серверов ассоциируется весовой коэффициент, для того чтобы позволить администратору или менеджерам сторонних производителей (таким как EWLM) обеспечивать распределитель нагрузки характеристиками для распределения. Используя один из этих взвешенных алгоритмов, CSM распределяет клиентский трафик на серверы таким образом, чтобы количество клиентских соединений, обслуживаемых каждым сервером, соответствовало их весовому коэффициенту. Например, если три сервера (A, B и C) имеют весовой коэффициент (2, 3 и 1) соответственно, порядок, согласно которому распределялся бы трафик, мог бы быть таким: A, B, C, A, B, B. Обратите внимание на то, что в течение начального создания группы серверов CSM назначает серверам статический весовой коэффициент. По умолчанию этот весовой коэффициент равен 8, но может быть установлен в другое значение администратором. Для группы серверов, с которой был ассоциирован EWLM, весовые коэффициенты, получаемые CSM из EWLM, подменяют все статические весовые коэффициенты. Однако в случае, когда EWLM становится недоступным (из-за аварии в сети или в системе), CSM использует весовые коэффициенты, которые были сконфигурированы при создании сервера для выполнения схемы распределения нагрузки. Обзор рекомендаций по распределению нагрузки в EWLMEWLM Domain Manager имеет обобщенную схему топологии приложения, в которое распределитель нагрузки направляет трафик. Domain Manager использует статистику прикладного и системного уровня, которую получает из приложений топологии транзакций, для формирования весовых коэффициентов для группы серверов, описывающих распределение, которое распределитель нагрузки должен использовать на следующем интервале. Эти весовые коэффициенты сформированы для увеличения вероятности успешного завершения этой работы, одновременно соответствуя показателям производительности, установленным администратором. EWLM вычисляет новые весовые коэффициенты для группы серверов каждые 30 секунд. Вот некоторые прикладные и системные факторы, используемые в вычислениях:
Обратите внимание на то, что вся статистика в EWLM поступает из его компонента Managed Server, который должен быть установлен на машинах группы серверов. Если этот компонент не работает, EWLM считает, что машина остановлена, и возвращает соответствующий весовой коэффициент, равный 0. CSM рассматривает этот нулевой весовой коэффициент как признак того, что сервер больше не обслуживается, и удаляет его из анализа для распределения нагрузки. SASP, Server/Application State ProtocolEWLM посылает весовые коэффициенты в распределитель нагрузки, используя Server/Application State Protocol (SASP). SASP - это двоичный протокол, состоящий из нескольких взаимодействий запрос-ответ. Управление этими взаимодействиями по протоколу сохраняется за распределителем нагрузки, пока он явно не откажется от управления. Мы вкратце опишем типы сообщений SASP:
Детальную информацию по SASP можно найти в документе "SASP Internet Draft". Cisco сделал значительный вклад в разработку IBM спецификации SASP. Настройка распределения нагрузки с EWLM и CSMНастройка EWLM для работы с CSM и наоборот обычно осуществляется после установки EWLM-доменов управления и CSM-доменов распределения нагрузки. Важно отметить, что конфигурации и копии экранов, включенные в этот документ, взяты из EWLM Release 1, и мы предполагаем, что у вас установлен Virtualization Engine fix pack 1.1.020 или выше. Конфигурации и настройки из более свежих версий EWLM будут приведены в последующих статьях. Типичная процедура установки EWLM-домена управления выглядит так:
Обратитесь к EWLM InfoCenter за полными инструкциями по установке EWLM. Типичная процедура установки CSM-домена распределения нагрузки выглядит так:
Полные инструкции по установке CSM и распределения нагрузки приведены в руководстве пользователя по Cisco CSM. В данной статье предполагается, что вы обращались к справочной документации по подробной установке CSM и EWLM. Еще одним предположением является то, что вы уже имеете работающий EWLM-домен управления и работающий CSM-домен распределения нагрузки; это позволит сосредоточиться на изменениях в обеих конфигурациях, для того чтобы выполнить EWLM распределение нагрузки с CSM. В литературе по Cisco CSM может использоваться термин Group Workload Manager (GWM) для обращения к любому программному обеспечению, которое может назначать динамические весовые коэффициенты участникам группы серверов, используя SASP-протокол. В данном случае EWLM является типом Group Workload Manager. Настройка Catalyst 6509 и CSM для EWLMВ данном разделе описывается, что нужно сделать в существующей корректной конфигурации CSM для разрешения EWLM предоставлять весовые коэффициенты распределения нагрузки для группы сервера.
Настройка агента для SASP/EWLM соединения Должен быть настроен специальный DFP-агент, обозначенный специальным id привязки (bind id). Если этот id привязки попадает в диапазон идентификаторов привязки, назначенных для обмена данными по протоколу SASP, CSM знает, что соединение должно использовать протокол SASP для обмена данными. Например:
где синтаксис выглядит так:
CSM идентифицирует id привязки как GWM через использование переменных окружения. Переменные окружения Порт 3860 зарегистрирован в IANA для SASP (IANA Port Number Assignments). Использование этого порта уменьшает вероятность конфликтов при настройке обмена данными по протоколу SASP. CSM настраивает параметры SASP так, чтобы EWLM автоматически передавал весовые коэффициенты серверов в CSM всякий раз, когда происходит изменение весовых коэффициентов. Однако для проверки того, что соединение с EWLM не было потеряно, если весовые коэффициенты не принимались после интервала повтора, CSM передает сообщение о состоянии распределителя нагрузки в EWLM. Если вся система полностью функционирует корректно, CSM принимает сообщение о состоянии распределителя нагрузки из EWLM. Интервал повтора по умолчанию равен 180 секундам, но может быть настроен при создании соединения. Кроме того, существует счетчик повтора, который указывает количество передач CSM сообщения о состоянии распределителя нагрузки в EWLM, которые нужно сделать, прежде чем отказаться от попыток. Значение по умолчанию 0 означает, что CSM делает попытки постоянно. Например:
где синтаксис выглядит так:
Ассоциирование SASP-агента с группой серверов После инициализации EWLM-соединения группа серверов может быть ассоциирована с SASP/EWLM агентом. Используя id привязки, назначенный SASP/EWLM агенту, группа серверов становится связанной с EWLM. На данном этапе CSM регистрирует серверы в группе серверов с EWLM и запрашивает у EWLM весовые коэффициенты, представляющие состояние сервера. ID привязки представляет соединение с EWLM Domain Manager, поэтому более одной группы серверов может использовать один и тот же ID привязки, если каждая группа серверов управляется одним и тем же Domain Manager. Например:
На данном этапе состояние реальных серверов в группе серверов подстраивается в соответствии с полученной из EWLM ответной реакцией. Важное замечание: Убедитесь в том, что ассоциированный виртуальный сервер имеет IP-протокол и порт, установленные так, чтобы EWLM отображал входящие запросы в конкретный PID на каждом реальном сервере. Это позволяет сделать доступной статистику уровня приложения для вычисления лучших весовых коэффициентов. Если протокол или порт не установлены, или целевое приложение не оснащено ARM-инструментами, то вычисление весовых коэффициентов все равно работает, но оно будет основано на системной статистике, а не на статистике из приложения. Поддерживающие переменные окружения Некоторые из необходимых переменных окружения мы упоминали ранее. В таблице 1 приведен список переменных. Таблица 1. Переменные окружения
Переменные в таблице 1 изменяются при помощи следующей команды:
Настройка EWLM для распределения нагрузки Имея работающий EWLM-домен управления, для разрешения динамического генерирования весовых коэффициентов распределения нагрузки вам нужно только указать прослушивающий порт для SASP-сообщений:
где При начальной загрузке EWLM Domain Manager, если указан корректный порт распределения нагрузки, активизируется менеджер весовых коэффициентов, который ожидает соединений с распределителями нагрузки. После получения соединения и регистрации корректных групп, Domain Manager передает обновления в CSM при любом изменении. Если Domain Manager обнаруживает, что Managed Server больше не находится в оперативном режиме, или целевое приложение завершилось, он также передает CSM весовой коэффициент 0, указывающий на то, что реальный сервер находится в автономном режиме и на него не нужно перенаправлять какой-либо трафик. Предположения о восстановлении после сбояСуществует два предположения о восстановлении после сбоя, которые должны заинтересовать вас:
При отказе CSM два CSM, настроенные в конфигурации active/standby, могут гарантировать синхронизированную информацию о состоянии сервера путем подключения к одной и той же EWLM для получения идентичных обновлений динамических весовых коэффициентов. Однако для работы этой конфигурации два CSM должны быть различимы для EWLM; таким образом, они должны хранить различные значения в своих полях При отказе EWLM: В CSM только один EWLM ассоциирован с данной группой серверов. Другими словами, нет настроенной резервной EWLM. Следовательно, если CSM потеряет соединение с EWLM, он не будет способен получать динамические весовые коэффициенты для серверов. Таким образом, как было описано в предыдущих разделах, CSM использует статически настроенные весовые коэффициенты для выполнения соответствующего взвешенного алгоритма распределения нагрузки. Важно отметить, что CSM непрерывно пытается связаться с EWLM в фоновом режиме. Если обмен данными с EWLM восстанавливается, он способен немедленно использовать динамические весовые коэффициенты. Эти попытки повторного подключения производятся каждые 20 секунд (как определено в спецификации). Пример конфигурацииВ данном разделе представлен пример топологии и конфигурации, используемых для выполнения сценария тестирования распределения нагрузки. Этот сценарий состоит из CSM, распределяющего трафик по четырем транзакционным путям, каждый из которых содержит Web-сервер (IBM HTTP Server), сервер приложений (WebSphere® Application Server) и базу данных (IBM DB2®). Два пути состоят из машин AIX®, третий использует машины Windows, а четвертый использует систему Solaris. Domain Manager выполняется на выделенной машине Linux®. Распределитель нагрузки является CSM-модулем в третьем слоте CISCO Catalyst 6509 Switch. На рисунке 2 изображена топология сети и приложения. Рисунок 2. Топология сети и приложения Теперь мы рассмотрим некоторые конфигурации распределения нагрузки. Конфигурации EWLMКорректная работа EWLM-домена управления означает:
Ниже перечислены шаги по настройке EWLM Domain Manager на прослушивание и реакцию на SASP-сообщения:
Конфигурации CSMВсе эти шаги должны быть выполнены с уровнем привилегий равным 15 и использованием команды
Выученные урокиВ данном разделе описано то, что мы узнали во время тестирования и выполнения учебных примеров использования CSM весовых коэффициентов EWLM. Этот раздел включен в данную статью потому, что мы считаем, что эта статья должна использоваться в качестве справочника по обеспечению более эффективного распределения нагрузки с EWLM и CISCO CSM. Передовой опытИз нашего опыта мы сформулировали четыре основные рекомендации:
Особые выгоды использования EWLM для распределения нагрузкиВесовые коэффициенты распределения нагрузки, которые вычисляются EWLM, помогают CSM повысить производительность в типичных сценариях распределения нагрузки. Существует также несколько специальных сценариев, в которых EWLM может обеспечить особые выгоды:
Устранение неисправностейВот что мы узнали об устранении неисправностей:
В заключениеИспользуя усовершенствованную методику сбора ресурсов и статистики, EWLM может разумно назначать весовые коэффициенты на основе относительной загрузки и доступности серверов в кластере. Используя SASP, EWLM затем может передать эту информацию о состоянии в CSM, который, в свою очередь, способен распределять клиентские запросы в наиболее подходящий сервер. Результатом этого является хорошо сбалансированное, высокоэффективное распределение трафика, гарантирующее наилучшее использование имеющихся ресурсов, как определено администратором.
|
|