Failover Cluster на Windows Server 2022: развёртывание двухузлового кластера с нуля
Семёнов Евгений Сергеевич, директор АйТи Фреш. За 15+ лет я собрал десятки отказоустойчивых кластеров на Windows — под файловый сервер, SQL AlwaysOn, Hyper-V, сервер печати. Принципы везде одинаковые, и я расскажу о них на примере классического двухузлового failover-кластера с общим iSCSI-хранилищем. Именно такой сценарий закрывает потребности компаний на 50–200 рабочих мест, а с правильной подготовкой разворачивается за один рабочий день.
Что даёт Failover Cluster в офисе на 50+ мест
Кластер — это два или более сервера, которые представляются одной виртуальной точкой (Cluster Name Object). Если один узел падает или перезагружается, второй автоматически подхватывает роли за 15–40 секунд. Это нужно для:
- Файлового сервера. Офисные шары доступны круглосуточно, обслуживание узла в середине дня — без простоя.
- SQL-сервера 1С. Обновления SQL не требуют окна обслуживания: мигрируем роль, обновляем, возвращаем.
- Hyper-V. Виртуалки живут на CSV, Live Migration даёт нулевой простой.
- DHCP. Failover DHCP через кластер или DHCP Failover Scope — нет больше «полофиса без сети».
Аппаратная база и сеть
Под серьёзную нагрузку я всегда беру одинаковые сервера. У нас в дата-центре МТС стандарт — Dell с Xeon Platinum 8280, 384 ГБ RAM, двумя HBA под iSCSI, сетевыми картами Mellanox 40G под трафик приложений. Минимальные требования для офисного кластера:
| Компонент | Минимум | Рекомендуется |
|---|---|---|
| Сетевые адаптеры на узел | 2 | 4 (Management, iSCSI, Cluster Heartbeat, LAN) |
| Shared storage | iSCSI LUN на NAS | FC SAN или S2D |
| Свидетель (Witness) | File Share на отдельной VM | Cloud Witness в Azure |
| Сеть iSCSI | Отдельный L2 | Отдельный VLAN + Jumbo Frames 9000 |
Подготовка узлов
Оба сервера — Windows Server 2022 Standard/Datacenter, введены в домен, одинаковые обновления, отключены SMB1, настроены firewall-правила для кластера. Стартовый чек-лист:
Install-WindowsFeature Failover-Clustering -IncludeManagementTools
Install-WindowsFeature RSAT-Clustering -IncludeManagementTools
Install-WindowsFeature Multipath-IO
# Переименовать сетевые подключения по-человечески
Get-NetAdapter | Rename-NetAdapter -NewName "MGMT" ...
# Настроить Jumbo на iSCSI
Get-NetAdapter -Name "iSCSI-*" | Set-NetAdapterAdvancedProperty -DisplayName "Jumbo Packet" -DisplayValue "9014 Bytes"
Подключение общего хранилища
На обоих узлах подключаем iSCSI-таргет с NAS или SAN-массива. Обязательно два пути (MPIO) через разные свитчи — это исключает потерю доступа к диску при сбое одного линка:
# Включить MPIO для iSCSI
Enable-MSDSMAutomaticClaim -BusType iSCSI
Set-MSDSMGlobalDefaultLoadBalancePolicy -Policy RR
# Подключение iSCSI-таргета
Start-Service MSiSCSI
Set-Service MSiSCSI -StartupType Automatic
New-IscsiTargetPortal -TargetPortalAddress 10.0.5.10
Connect-IscsiTarget -NodeAddress iqn.2025-06.local:target1 `
-IsPersistent $true -IsMultipathEnabled $true
После подключения LUN видим как обычный диск в Disk Management на обоих узлах. Инициализируем GPT, создаём NTFS или ReFS, НЕ назначаем букву — кластер заберёт диск себе.
Валидация кластера
Перед созданием обязательно прогоняем Cluster Validation Wizard — это проверяет совместимость, сеть, хранилище, драйверы. Я никогда не пропускаю этот шаг, потому что без Warning-free отчёта поддержка Microsoft не будет даже разговаривать при инциденте.
Test-Cluster -Node NODE1, NODE2 `
-ReportName "C:\Install\ClusterValidation.html" `
-Include "Inventory","Network","Storage","System Configuration"
Открываем HTML-отчёт, устраняем все предупреждения. Только потом — создание кластера.
Создание кластера
New-Cluster -Name FSCLUS01 `
-Node NODE1, NODE2 `
-StaticAddress 192.168.10.50 `
-NoStorage
# Добавить общий диск как CSV
Get-ClusterAvailableDisk | Add-ClusterDisk
Add-ClusterSharedVolume -Name "Cluster Disk 1"
В Failover Cluster Manager видим новый кластер с Heartbeat-сетью и диском в разделе Cluster Shared Volumes (путь C:\ClusterStorage\Volume1 на обоих узлах — это отказоустойчивое хранилище).
Cluster Quorum и Witness
Двухузловому кластеру для работы нужен третий голос — свидетель. Иначе при сбое одного узла второй не знает, остался ли он единственным или сеть распалась, и уходит в offline. Три варианта:
# File Share Witness на отдельном сервере
Set-ClusterQuorum -FileShareWitness "\\FS01\ClusterWitness$"
# Cloud Witness в Azure
Set-ClusterQuorum -CloudWitness -AccountName "mystorage" -AccessKey "key..."
# Disk Witness (старая схема, требует отдельный LUN 1 ГБ)
Set-ClusterQuorum -DiskWitness "Cluster Disk 2"
Я всегда рекомендую Cloud Witness — он живёт в Azure Storage, не требует отдельной инфраструктуры, ставится за 10 минут и стоит копейки.
Развёртывание ролей
После создания кластера в него добавляются роли. Примеры:
# File Server for general use
Add-ClusterFileServerRole -Storage "Cluster Disk 1" -Name "FS-SHARE-CLUS" `
-StaticAddress 192.168.10.51
# Scale-Out File Server (для Hyper-V/SQL)
Add-ClusterScaleOutFileServerRole -Name "SOFS"
# DHCP
Add-ClusterServerRole -Name "DHCP-CLUS" -StaticAddress 192.168.10.52 `
-Storage "Cluster Disk 3"
Мини-кейс: кластер для юридической компании
Весной 2025 мы разворачивали кластер файлового сервера для юридической компании из центра Москвы — 74 рабочих места, 8 ТБ документов, требование «максимум 5 минут простоя в квартал». Поставили два Dell с Xeon Platinum 8280, iSCSI-таргет на Synology, отдельный VLAN для Heartbeat и iSCSI, Cloud Witness в Azure. Все настройки через PowerShell-скрипт, который повторяется на обоих узлах.
Время развёртывания — 9 рабочих часов плюс 3 часа на миграцию данных. За первые 10 месяцев эксплуатации: 4 обновления Windows — ноль простоев, 1 замена блока питания — ноль простоев, 2 перезагрузки по регламенту — ноль простоев. Стоимость проекта — 240 000 руб. Клиент был доволен настолько, что заказал аналогичный кластер под SQL AlwaysOn в 2026 году.
Обслуживание кластера
Что делать регулярно:
- Ежемесячно — просмотр Cluster Log (
Get-ClusterLog -Destination C:\Temp), проверка валидации. - Раз в квартал — тест failover с Move-ClusterGroup и Stop-ClusterNode.
- Перед обновлением — включение Cluster-Aware Updating с поочерёдной перезагрузкой.
- Резервное копирование кластера и CSV через Veeam или Windows Server Backup.
- Мониторинг Heartbeat и iSCSI-латентности через Zabbix или Windows Admin Center.
Развернём отказоустойчивый кластер под ключ
Проектирование, закупка оборудования Dell / Supermicro, развёртывание Windows Server 2022/2025 Failover Cluster с iSCSI или S2D, валидация и обучение администратора. Москва и область, дата-центр МТС.
Телефон: +7 903 729-62-41
Telegram: @ITfresh_Boss
Семёнов Евгений Сергеевич, директор АйТи Фреш
FAQ — частые вопросы
- Сколько узлов минимально нужно для Failover Cluster?
- Два, но обязательно с внешним свидетелем. Иначе кворум развалится при первом же сбое одного узла.
- Нужен ли общий диск (shared storage)?
- Да для классики. Для Storage Spaces Direct — нет, там общее хранилище строится из локальных дисков.
- Как создать кластер через PowerShell?
- Test-Cluster → New-Cluster → Add-ClusterSharedVolume. Всё настраивается скриптом за 15 минут после валидации.
- Можно ли собрать кластер из разнородных серверов?
- Технически можно, но я всегда беру идентичные узлы — одинаковые CPU, память, сетевые карты, RAID.
- Как протестировать failover без простоя?
- Move-ClusterGroup или перевод узла в режим Drain через Cluster-Aware Updating. Пользователи не заметят.