Кластеризация серверов
- Самые производительные кластеры
- Программные средства
- Кластеры высокой доступности
- Кластеры распределения нагрузки
- Вычислительные кластеры
- Кластер серверов, организуемых программно
- Балансировка нагрузки
- Кластеры на виртуальных машинах
- Кластеры на физических серверах
- Геокластеры
- Проверка предварительных требований
- Установка средства отказоустойчивости кластеров
- Проверка конфигурации
- Создание отказоустойчивого кластера
- Создание кластерных ролей
- Возможности
- Модели формирования
- Примеры реализации вычислительного кластера
- Алгоритмы балансировки нагрузки
Защита сервисов компаний от сбоев обеспечивается кластеризацией серверов и использованием для этого высокоскоростного соединения. Кластер – это объединение нескольких узлов в логическую группу, которая воспринимается как одно целое. Если один сервер выходит из строя, его функции начинают выполнять другие из общей системы.
Актуальность использования кластеров возрастает, когда сервисная компания обязана оказывать услуги в режиме постоянного доступа без отказов, перерывов на техобслуживание и профилактику. Клиентов не интересуют проблемы оператора, ему нужны услуги без сбоев и ожиданий.
Самые производительные кластеры
По данным рейтинга организации TOP500, относящимся к ноябрю 2022 года, самыми мощными суперкомпьютерами являются:
- Frontier, находящийся в Окриджской национальной лаборатории в США. Наивысший результат производительности – 1102 петафлопс. Операционная система Linux.
- Фугаку из института физико-химических исследований в Японии. Имеет чуть более 442.010 петафлопс.
- Самый мощный в Европе. Находится в IT-центре науки в Финляндии. Производительность 309.10.
Из российских систем выделяются Червоненкис, Галушкин, Ляпунов от Яндекса, которые входят в первую сотню рейтинга.
Программные средства
Для операционных систем серверов есть ряд программных решений при работе по созданию кластеров. Среди них выделяются:
- Windows Server Failover Clustering (WSFC);
- Veritas InfoScale Availability;
- IBM PowerHA System Mirror;
- Percona XtraDB Cluster;
- SUSE Linux Enterprise High Availability Extension (HAE);
- InfoScale Availability;
- Red Hat Cluster Suite;
- DRBD;
- Oracle Real Application Clusters (RAC).
Большая часть программного обеспечения ориентирована на кластеры высокой доступности и работу с определенной ОС. Однако имеется софт, предназначенный для других видов кластеров.
Кластеры высокой доступности
Для обозначения используется HA (от High Availability), что и переводится с английского как высокая доступность. Работа обеспечивается за счет повышенного числа узлов, которые гарантируют непрерывность в функционировании приложений и сервисов.
Отказоустойчивые кластеры HA востребованы для серверов, поддерживающих:
- базы данных;
- системы управления предприятиями;
- СМС-сообщения, электронную почту;
- CRM и веб-приложения.
Постоянная доступность – ключевая особенность кластеров, ориентирующихся на обслуживание клиентов. Для них недопустимы малейшие сбои.
Кластеры распределения нагрузки
Особенность работы кластера NLB заключается в том, что серверными узлами принимается поступающая информация для последующего равномерного ее распределения на вычислительные системы. Итогом этого становится значительное повышение производительности, рационализация использования кластера. При этом также возрастает надежность работы.
Относительно часто к подобным конструкциям применяется название “кластерные фермы”. Преимущество вида заключается в масштабируемости, возможности использовать недорогие серверы стандартной архитектуры.
Вычислительные кластеры
Для получения быстрых результатов расчетов используются серверные узлы, имеющие многоядерные процессоры, собственную оперативную память. Принцип работы HPC Cluster основан на разделении вычислительных задач на несколько параллельно выполняемых операций, между которыми осуществляется координация и обмен данными.
Типовыми задачами для вычислительных кластеров являются:
- моделировать сложные физические и химические процессы, реакции;
- обрабатывать цифровые сигналы, производить визуализацию данных;
- проводить математический, финансовый анализ.
Основное качество HPC – высокая производительность.
Кластер серверов, организуемых программно
Особенностью кластера такого типа является применение программного модуля. С его помощью осуществляется взаимодействие между разными серверами системы. Также кластер отличается тем, что для его работы система должна:
- синхронизировать информацию, содержащуюся на разных узлах кластера;
- распределять нагрузку между входящими в конфигурацию серверами.
Чаще такой кластер предусматривает использование нескольких раздельных компьютеров. Благодаря распределению нагрузки повышается производительность, и обеспечивается отказоустойчивость.
Балансировка нагрузки
При объединении серверов в кластер между ними распределяется нагрузка. Делается это с помощью балансировки, которая включает комплекс специальных алгоритмов и методов. Основная задача – выравнивание объема операций между узлами.
Балансировка осуществляется на уровнях:
- сетевом, при котором за один IP-адрес отвечают разные аппараты;
- транспортном, ориентированном на автоматическое распределение запросов балансировщиком;
- прикладном, обеспечивающем распределение в зависимости от поступающего контента.
Посредством балансировки повышается производительность кластера, ускоряется обработка запросов.
Кластеры на виртуальных машинах
Подверженность физических узлов сбоям преодолевается за счет оперативного подключения виртуальных машин. Они получают доступ к необходимым узлам и обеспечивают бесперебойную работу системы. Кластеризация виртуальных машин актуальна для сервисов, работающих с важными базами данных. Это гарантирует надежность резервного копирования информации и процессов.
Поведение узлов в виртуальном кластере не отличается от действия физического. При этом происходит экономия на оборудовании, необходимом для создания сети, упрощается техническое обслуживание.
Кластеры на физических серверах
Физические серверы не уступают свои позиции виртуальным при создании кластеров. Они представляют собой локальную сеть объединенных между собой узлов. Для такой группы характерно следующее:
- используется один IP-адрес;
- применяются высокоскоростные сети для обмена информацией.
Для формирования кластера удобно размещать оборудование в относительно компактном пространстве. Это упрощает подключение узлов в общую группу. Применяется также дополнительное оборудование, включая стойки, полки, стеллажи для физического и компактного размещения оборудования, удобства обслуживания.
Геокластеры
Предназначение геокластеров – в обеспечении доступа к информации в случаях, когда происходит сбой в работе сервиса центра обработки данных. Алгоритм действий при этом следующий:
- запрос с клиентского приложения поступает на геокластер;
- узел направляет его в основной центр обработки данных;
- если ЦОД недоступен, запрос перенаправляется в резервную копию объекта.
Данные в обоих центрах обработки находятся в актуально-обновляемом состоянии.
Геокластер – важный инструмент в работе онлайн-сервисов, обеспечивающий бесперебойность их функционирования и обслуживания клиентов.
Проверка предварительных требований
Создание кластера высокой доступности начинается с контроля предварительных требований. Для этого требуется:
- убедиться в совместимости серверов, которые должны выступать узлами кластера, использовании ими одинаковых операционных систем для управления;
- проверить оборудование на предмет поддержки создаваемой конфигурацией;
- обеспечить доступ узлов к хранилищу, которое можно добавить позже.
Следует также проверить требования к учетным записям, чтобы имелись все необходимые права доступа ко всем серверам и на проведение кластеризации.
Установка средства отказоустойчивости кластеров
Параметры отказоустойчивости устанавливаются на узлы, которые включаются в общую структуру. Алгоритм действий выглядит примерно следующим образом, хотя может иметь свои отличительные особенности:
- запускается диспетчер серверов, делается переход в управление;
- выбираются компоненты, расставляются необходимые отметки;
- указывается тип отказоустойчивой кластеризации;
- подтверждаются совершенные действия и выбор;
- производится выход из системы.
Перед проведением процедуры важно произвести обновление применяемых программ.
Проверка конфигурации
Настройки оборудования должны быть совместимы с отказоустойчивым кластером. Для этого необходимо произвести специальное тестирование. Выполнение операции требует не менее двух узлов, иначе невозможно провести отдельные тесты.
Для тестирования конфигурации на сервере следует:
- запустить диспетчер отказоустойчивости кластера;
- выбрать соответствующую задачу проверки;
- дождаться завершения тестирования, изучить результаты.
Переходить к созданию кластера следует при условии отсутствия несоответствий в конфигурации. Если отчет содержит информацию о недочетах или сбоях, то сначала принимаются меры по их устранению.
Создание отказоустойчивого кластера
Процесс формирования HA кластера зависит от используемой операционной системы. Для Windows Server операции выполняются в диспетчере отказоустойчивости кластеров. Здесь:
- выбирается меню создания кластеров;
- вводятся имена серверов, которые необходимо добавить в систему при кластеризации;
- проверяются все совершенные действия на странице подтверждения;
- запускается формирование кластера;
- делается проверка успешного завершения операции.
После создания конфигурации выполняется ее полное тестирование, делается проверочный запуск.
Создание кластерных ролей
При создании кластера или в ходе его использования доступна функция, которая позволяет задавать всем или отдельным узлам набор выполняемых действий или ролей. Это позволяет дифференцировать выполнение операций разными серверами, повысить производительность системы.
Распространенным вариантом является роль файлового сервера, которая зачастую присваивается всем узлам. Для ее назначения достаточно установить соответствующую отметку при администрировании кластера и сохранить изменения. Одному и тому же серверу можно назначить несколько ролей в зависимости от их востребованности при работе системы.
Возможности
Отказоустойчивые кластеры наделены всеми возможностями иных систем и инфраструктур, которые обеспечивают их надежное функционирование. HA Clusters способны резервировать:
- диски, что исключает системные сбои в работе;
- внешние сети, исключая полное отключение кластера от сети при поврежденном кабеле, выходящем из строя оборудовании;
- внутренние соединения с хранилищем, обеспечивая целостность архитектуры.
Бесперебойность в работе определенных узлов помогают свести к минимуму нагрузку на кластер, которая может повышаться при неполадках отдельных элементов системы
Модели формирования
При создании кластеров высокой доступности применяется одна из возможных моделей:
- Active/active. Запросы перераспределяются работающим узлам при отказе одного из них.
- Active/passive. Используется резервное копирование узла, которое подключается при неполадках основного.
- N + 1. Вместо резервных копий каждого сервера задействуется только одна, способная заменять вышедший из строя узел.
- N + M. Предполагается использование нескольких резервных копий. Однако их количество меньше числа базовых единиц.
Существуют также промежуточные модели с разными вариантами нагрузки на узлы и их резервные копии.
Примеры реализации вычислительного кластера
Типичной конфигурацией вычислительного кластера является набор серверов с ОС Linux. Между собой они связываются сетями Ethernet, InfiniBand или Myrinet. Такая базовая модель называется кластером Beowulf.
В настоящее время суперкомпьютеры могут быть построены с использованием сотен вычислительных узлов, оснащенных обычными процессорами. При этом задействуются миллионы процессорных ядер на тысячах серверов. Ряд систем к своим ядрам добавляет вычислительную мощность графического процессора. В конструкции учитывается, как планировать нагрузку между узлами для повышения эффективности работы.
Алгоритмы балансировки нагрузки
Существует несколько алгоритмов балансировки, среди которых выделяются:
- Round Robin. Отличается круговым обслуживанием запросов к серверам от первого в очереди до последнего.
- Weighted Round Robin. Усовершенствованный вариант предыдущего с более гибкой системой определения последовательности запросов.
- Least Connections. Работает с учетом количества подключений. Запрос направляется самому свободному узлу.
- Destination Hash Scheduling определяет сервер по IP-адресу получателя. Source Hash Scheduling – адресу отправителя.
- Sticky Sessions. Распределяет входящие запросы на один сервер группы.
Выбор алгоритма определяется особенностями использования кластера.
IT-инженеры ittelo.ru имеют большой опыт по кластеризации серверов для бесперебойной работы сервисов компаний, поэтому без труда подберут оптимальное решение в разумные сроки и по приемлемой цене.