новости
статьи
.технологии

высокопроизводительная отказоустойчивая масштабируемая кластерная ферма с балансировкой нагрузки

В этом материале описана кластерная ферма, разработанная и используемая в вычислительном центре Министерства торговли для обеспечения бесперебойного проведения торгов Белорусской универсальной товарной биржи и выполнения ряда других отраслевых задач (торговый реестр). Ферма построена на базе трехзвенной архитектуры приложений с применением многоуровневой кластеризации. Прикладные уровни включают в себя:

1. Веб-сервер.

2. Сервер приложений.

3. Сервер базы данных.

Кроме прикладных уровней в систему входит также служебный уровень балансировки нагрузки. Каждый уровень представляет собой двухнодовый кластер. На верхнем уровне находятся два балансировщика нагрузки, реализованные на базе LVS в комбинации с Keepalived, которые выполняют следующие функции:

- поддержание внешних виртуальных IP-адресов;

- распределение клиентских запросов по веб-серверам и серверам приложений;

- отслеживание и оповещение состояния рабочих сервисов;

- резервирование друг друга.

В случае отказа одного из балансировщиков все его функции берет на себя другой.

Для коммутации узлов используются сетевые (витая пара) и волоконно-оптические соединения. И те и другие соединения продублированы; кроме того сетевые соединения на каждом сервере объединены попарно по протоколу LACP.



Рис. 1. Схема физических соединений фермы.

Маршрут движения потоков данных, изображенный на рис. 2, включает следующие этапы:

1. Клиентские запросы поступают на один из балансировщиков, который держит виртуальный IP-адрес веб-сервиса системы.

2. Балансировщик распределяет запросы по веб-серверам.

3. Веб-сервера обращаются по виртуальному IP-адресу сервера приложений, который принадлежит второму балансировщику. Для организации веб-серверов использован Apache.

4. Второй балансировщик распределяет запросы веб-серверов по серверам приложений.

5. Запросы серверов приложений распределяются по серверам базы данных подсистемой Oracle RAC.

Назад данные следуют тем же маршрутом только в обратном направлении.



Рис. 2. Схема движения потока данных.

Рисунок 2 также наглядно иллюстрирует изменение маршрутов данных при отказе одного из балансировщиков.

Работа кластера серверов баз данных организована средствами Oracle 10g RAC и OCFS2. Серверы приложений обращаются по виртуальному адресу, который держит Oracle Cluster Ready Service. Серверы базы данных имеют одновременный доступ к базе, находящейся на разделе с файловой системой OCFS2, позволяющей одновременный доступ к файлам нескольким компьютерам. Сам раздел с базой данных принадлежит тому дисковой стойки с RAID-5. Система мониторинга и диагностики использует как HP Systems Insight Manager, так и систему Ganglia.

Корректное завершение работы в случае сбоя питания и автоматический запуск всей системы при восстановлении питания обеспечивается при помощи APC PowerChute Network Shutdown и NUT.



Александр Шубник, системный администратор, «Белторгинфосервис», a.shubnik@btis.by
обсудить статью
© сетевые решения
.
.