Active/Passive кластер
Active/Passive кластер — это архитектура отказоустойчивого кластера, в которой один или несколько узлов находятся в активном состоянии и обслуживают запросы, а один или несколько узлов — в пассивном (резервном) состоянии и не обрабатывают нагрузку до момента отказа активного узла. Такая конфигурация обеспечивает высокую доступность (High Availability, HA) сервисов и приложений за счёт автоматического переключения (failover) нагрузки на резервный узел при сбое основного.
Архитектура и принцип работы
В Active/Passive кластере чётко разделены роли узлов. Активный узел (Active node) выполняет все операции: обрабатывает запросы клиентов, управляет данными, выполняет вычисления. Пассивный узел (Passive node) находится в режиме ожидания (standby) и не участвует в обслуживании трафика. Он может быть настроен на синхронизацию состояния с активным узлом (например, через репликацию данных или общую файловую систему) для обеспечения возможности быстрого переключения.
При отказе активного узла (аппаратная неисправность, сбой программного обеспечения, потеря сетевой связности) система мониторинга кластера инициирует процедуру failover. Пассивный узел переводится в активное состояние, принимает на себя сетевые адреса (IP-адреса) и начинает обслуживать запросы. Время переключения может варьироваться от нескольких секунд до нескольких минут в зависимости от сложности приложения и объёма данных, которые необходимо восстановить.
Классификация
По типу резервирования
- Active/Passive с горячим резервом (Hot Standby). Пассивный узел постоянно синхронизирован с активным, имеет актуальную копию данных и готов к немедленному переключению. Время простоя минимально.
- Active/Passive с тёплым резервом (Warm Standby). Пассивный узел получает обновления с некоторой задержкой (например, через асинхронную репликацию). После переключения может потребоваться дополнительное время на синхронизацию.
- Active/Passive с холодным резервом (Cold Standby). Пассивный узел не содержит актуальных данных и не запущен. При отказе активного узла требуется ручное или автоматическое развёртывание приложения и восстановление данных из резервной копии. Время простоя максимально.
По количеству узлов
- Двухузловой кластер (2-node cluster). Базовая конфигурация: один активный узел, один пассивный. Наиболее распространённый вариант для небольших и средних систем.
- Многоузловой кластер (N+1). Один пассивный узел резервирует несколько активных. При отказе любого из активных узлов пассивный принимает его нагрузку. Такая схема экономит ресурсы, но требует более сложного управления.
- Кластер с несколькими пассивными узлами (N+M). Несколько активных узлов резервируются несколькими пассивными. Обеспечивает более высокую степень отказоустойчивости, но увеличивает стоимость.
Применение
Active/Passive кластеры широко используются в критически важных системах, где простой недопустим или крайне нежелателен. Основные области применения:
- Базы данных. Кластеры СУБД (например, Microsoft SQL Server Always On Failover Cluster Instance, Oracle RAC в режиме Active/Passive, PostgreSQL с Patroni) обеспечивают непрерывность доступа к данным.
- Серверы приложений. Веб-серверы (Apache, Nginx), серверы приложений (JBoss, WebSphere) могут быть объединены в Active/Passive кластер для обеспечения доступности веб-сайтов и корпоративных приложений.
- Файловые серверы и хранилища. Кластеры NAS (Network Attached Storage) и SAN (Storage Area Network) используют Active/Passive архитектуру для обеспечения доступа к файлам и блочным устройствам.
- Сетевые устройства. Маршрутизаторы, коммутаторы и межсетевые экраны (например, в протоколе VRRP — Virtual Router Redundancy Protocol) работают в режиме Active/Passive для обеспечения бесперебойной работы сети.
- Почтовые системы. Microsoft Exchange Server, Postfix и другие почтовые серверы могут быть кластеризованы для обеспечения непрерывной доставки почты.
Преимущества и недостатки
Преимущества
- Простота реализации. Архитектура Active/Passive относительно проста в настройке и управлении по сравнению с Active/Active кластерами.
- Предсказуемость. Отсутствие конкуренции за ресурсы между узлами, так как пассивный узел не обслуживает запросы.
- Снижение риска рассинхронизации. При горячем резервировании данные на пассивном узле всегда актуальны, что упрощает процедуру failover.
- Экономия лицензий. Для некоторых программных продуктов лицензирование может быть дешевле, так как пассивный узел не выполняет активную работу.
Недостатки
- Неэффективное использование ресурсов. Пассивный узел простаивает, не принося пользы в нормальном режиме работы. Это увеличивает совокупную стоимость владения (TCO).
- Время переключения. Даже в конфигурации с горячим резервом переключение занимает время, в течение которого сервис недоступен.
- Ограниченная масштабируемость. Добавление новых активных узлов требует добавления соответствующих пассивных узлов, что увеличивает затраты.
- Единая точка отказа в управлении. Если система управления кластером выходит из строя, failover может не сработать корректно.
Сравнение с Active/Active кластером
Основное отличие Active/Passive кластера от Active/Active заключается в том, что в Active/Active все узлы одновременно обрабатывают запросы, распределяя нагрузку между собой. Active/Passive обеспечивает более простую модель отказоустойчивости, но менее эффективно использует оборудование. Active/Active требует более сложной синхронизации данных и балансировки нагрузки, но позволяет достичь большей производительности и утилизации ресурсов. Выбор между архитектурами зависит от требований к доступности, производительности, стоимости и сложности управления.
Примеры реализации
- Microsoft Failover Cluster. Встроенная функция Windows Server, позволяющая создавать Active/Passive кластеры для различных ролей (файловый сервер, SQL Server, Hyper-V).
- Pacemaker + Corosync. Открытое программное обеспечение для Linux, используемое для построения отказоустойчивых кластеров, в том числе в конфигурации Active/Passive.
- Keepalived. Демон для Linux, реализующий протокол VRRP, часто используется для создания Active/Passive кластеров веб-серверов.
- Veritas Cluster Server. Коммерческое решение для управления кластерами, поддерживающее как Active/Passive, так и Active/Active конфигурации.
Источники
- Microsoft Docs. Failover Clustering in Windows Server.
- Red Hat Enterprise Linux. Configuring and Managing High Availability Clusters.
- Oracle. Oracle RAC Concepts and Administration.
- PostgreSQL Documentation. High Availability, Load Balancing, and Replication.
- RFC 3768. Virtual Router Redundancy Protocol (VRRP).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →