Microsoft Cluster Service¶
Microsoft Cluster Service (MSCS) — это компонент операционных систем семейства Windows Server, предназначенный для объединения нескольких независимых серверов (узлов) в отказоустойчивый кластер. Основная цель MSCS — обеспечение высокой доступности (high availability) приложений и служб за счёт автоматического переключения нагрузки (failover) с вышедшего из строя узла на работающий, что минимизирует время простоя критически важных сервисов. MSCS является частью более широкой платформы Windows Server Failover Cluster (WSFC), которая в современных версиях Windows Server включает в себя также функции балансировки нагрузки и масштабирования.
¶История
Первая версия Microsoft Cluster Service была представлена в 1997 году в составе Windows NT 4.0 Enterprise Edition. Изначально кластер поддерживал не более двух узлов и работал в конфигурации «активный-пассивный» (один узел обрабатывает запросы, второй находится в режиме ожидания). Решение было ориентировано на небольшие и средние предприятия, которым требовалась отказоустойчивость для файловых серверов и баз данных.
В Windows 2000 Advanced Server и Datacenter Server поддержка кластеризации была расширена: появилась возможность создавать кластеры до четырёх узлов, а также была добавлена поддержка конфигурации «активный-активный» (несколько узлов одновременно обрабатывают запросы, каждый со своей нагрузкой). В Windows Server 2003 MSCS получил улучшенную интеграцию с Active Directory и возможность использования общей шины SCSI для хранения данных.
Значительные изменения произошли в Windows Server 2008, где MSCS был переименован в Windows Server Failover Cluster (WSFC) и стал частью единой платформы управления кластеризацией. В этой версии появилась поддержка кластеров с числом узлов до 16, улучшенная поддержка виртуальных машин Hyper-V, а также возможность использования файлового сервера (SMB) в качестве общего хранилища. В Windows Server 2012 и 2016 были добавлены возможности автоматического восстановления после сбоев, поддержка кластеров с несколькими доменами и улучшенная интеграция с облачными сервисами Azure.
¶Архитектура и компоненты
¶Узлы кластера
Каждый узел кластера — это отдельный физический или виртуальный сервер под управлением Windows Server (начиная с версии 2008, поддерживаются редакции Standard, Datacenter и Enterprise). Узлы соединены между собой через выделенную сеть (heartbeat network) для обмена служебными сигналами о состоянии. Для хранения данных кластер использует общее хранилище, доступное всем узлам, — это может быть Fibre Channel SAN, iSCSI, SMB-файловый сервер или Storage Spaces Direct (S2D).
¶Кворум
Кворум (quorum) — это механизм, обеспечивающий согласованность решений в кластере. Он предотвращает ситуацию «разделения мозга» (split-brain), когда из-за потери связи между узлами каждый из них считает себя единственным работоспособным. В MSCS/WSFC используются несколько моделей кворума:
- Кворум на основе диска — используется общий диск (witness disk), на котором хранится копия конфигурации кластера.
- Кворум на основе файлового сервера — роль свидетеля выполняет файловый сервер (file share witness).
- Кворум без свидетеля — большинство узлов (majority node set) — используется в кластерах с нечётным числом узлов.
- Кворум с облачным свидетелем (Cloud Witness) — в Windows Server 2012 R2 и новее, используется объект Blob в Azure для хранения копии кворума.
¶Роли и ресурсы
Кластер управляет набором ролей (ранее назывались «кластерные группы» или «приложения»). Каждая роль представляет собой логическую единицу, состоящую из одного или нескольких ресурсов (IP-адрес, диск, сетевое имя, служба, приложение). Ресурсы могут быть зависимыми друг от друга (например, приложение SQL Server зависит от диска и IP-адреса). При сбое узла все ресурсы роли автоматически перемещаются на другой узел в рамках процесса failover.
¶Сеть кластера
Для работы кластера требуется как минимум две сети:
- Сеть для обмена данными (client network) — для доступа клиентов к приложениям.
- Сеть для служебного обмена (heartbeat network) — для передачи сигналов о состоянии узлов. Обычно используется выделенная гигабитная Ethernet-сеть.
¶Применение
¶Высокая доступность приложений
MSCS (WSFC) традиционно используется для обеспечения отказоустойчивости таких критических приложений, как:
- Microsoft SQL Server — кластеризация экземпляров SQL Server (Always On Failover Cluster Instances).
- Microsoft Exchange Server — кластеризация почтовых ящиков и транспортных служб.
- Файловые серверы — обеспечение непрерывного доступа к сетевым папкам (File Server for General Use).
- Hyper-V — кластеризация виртуальных машин (Guest Clustering) и самих хостов Hyper-V.
¶Масштабирование
В конфигурации «активный-активный» кластер может распределять нагрузку между несколькими узлами, что позволяет увеличить общую производительность сервиса. Например, в кластере SQL Server Always On каждый узел может обслуживать свои базы данных, а при сбое одного узла его нагрузка перераспределяется между оставшимися.
¶Поддержка виртуализации
С выходом Windows Server 2012 и 2016 кластеризация стала ключевым компонентом платформы Hyper-V. Кластеры Hyper-V позволяют:
- автоматически перезапускать виртуальные машины на других узлах при сбое хоста;
- выполнять «живую миграцию» (Live Migration) виртуальных машин без простоев;
- использовать Storage Spaces Direct для создания отказоустойчивого хранилища на локальных дисках узлов.
¶Классификация кластеров
¶По конфигурации
- Активный-пассивный — один узел обрабатывает запросы, второй (или несколько) находится в режиме ожидания. При сбое активного узла пассивный берёт на себя его нагрузку.
- Активный-активный — все узлы одновременно обрабатывают запросы, каждый со своей нагрузкой. При сбое одного узла его нагрузка распределяется между остальными.
¶По типу хранилища
- Кластер с общей шиной (Shared Storage) — все узлы имеют доступ к одному и тому же массиву дисков (SAN, iSCSI, Fibre Channel).
- Кластер с локальным хранилищем (Storage Spaces Direct) — данные реплицируются между узлами через сеть, без использования общего дискового массива. Поддерживается в Windows Server 2016 и новее.
¶Критика и ограничения
¶Сложность настройки
MSCS/WSFC требует тщательной настройки сетевой инфраструктуры, хранилища и служб Active Directory. Ошибки в конфигурации могут привести к неработоспособности кластера или к ситуации «разделения мозга». Для корректной работы кластера необходимо, чтобы все узлы были в одном домене Active Directory, имели одинаковую версию операционной системы и обновлений.
¶Зависимость от общего хранилища
Традиционные кластеры MSCS требуют общего хранилища (SAN, iSCSI), что увеличивает стоимость и сложность инфраструктуры. Хотя Storage Spaces Direct снижает эту зависимость, он требует высокоскоростных сетевых соединений (10 Гбит/с и выше) и большого количества дисков.
¶Ограничения по числу узлов
Максимальное количество узлов в кластере WSFC зависит от версии Windows Server:
- Windows Server 2008 R2 — до 16 узлов.
- Windows Server 2012 R2 — до 64 узлов.
- Windows Server 2016 и новее — до 64 узлов (для кластеров Hyper-V — до 64 узлов, для файловых серверов — до 8 узлов).
¶Время переключения
Хотя failover происходит автоматически, процесс может занимать от нескольких секунд до нескольких минут, в зависимости от сложности приложения и объёма данных. Для некоторых критических систем (например, телекоммуникационного оборудования) это время может быть неприемлемым.
¶Интересные факты
- MSCS был одним из первых коммерческих решений для кластеризации на платформе Windows, появившись ещё до выхода Windows 2000.
- В Windows Server 2012 была добавлена возможность использования кластеров с несколькими доменами Active Directory, что упростило миграцию между доменами.
- Microsoft Cluster Service поддерживает не только отказоустойчивость, но и балансировку нагрузки (Network Load Balancing, NLB), хотя NLB является отдельным компонентом и не входит в состав WSFC.
- В Windows Server 2022 была добавлена поддержка кластеров с использованием протокола SMB over QUIC, что позволяет подключать узлы через интернет с шифрованием.
¶Источники
- Microsoft Docs: «Failover Clustering Overview» (Windows Server)
- «Windows Server 2016: Failover Clustering» — Microsoft Press
- «Windows Server 2012 R2: Failover Clustering» — Microsoft Press
- «Windows NT 4.0: Enterprise Edition» — Microsoft Knowledge Base
- «Storage Spaces Direct Overview» — Microsoft Docs
- «SQL Server Always On Failover Cluster Instances» — Microsoft Docs
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →


