Аварийное переключение отказоустойчивого кластера MSSQL FCI: траблшутинг
- Ресурс
SQL Server (MSSQLSERVER)в Windows Server Failover Cluster (WSFC) переходит в статусFailed. - Автоматическое аварийное переключение (Failover) на резервную ноду завершается отказом.
- В журнале кластера регистрируется ошибка
Cluster resource 'SQL Server' of type 'SQL Server' in clustered role failed. - Потеря доступа к общему кластерному диску (Shared Disk) или Cluster Shared Volumes (CSV).
1. Анализ журнала кластера Windows (Cluster.log)
Сгенерируйте и выгрузите лог кластера за последние 20 минут со всех нод:
Get-ClusterLog -TimeSpan 20 -Destination C:\ClusterLogs2. Проверка состояния ресурсов и владельца группы в PowerShell
Import-Module FailoverClusters
Get-ClusterGroup -Name "SQL Server (MSSQLSERVER)" | Format-List *
Get-ClusterResource | Where-Object {$_.OwnerGroup.Name -like "*SQL*"} | Select Name, State, OwnerNode3. Проверка параметров проверки жизнеспособности (LooksAlive / IsAlive)
Кластер регулярно опрашивает инстанс с помощью запроса sp_server_diagnostics. Если система перегружена и не отвечает в течение таймаута (по умолчанию 300 000 мс), инициируется перезапуск.
-- Проверка результатов внутренней диагностики состояния FCI
EXEC sp_server_diagnostics;4. Ручной перевод и тестирование переключения ноды
# Принудительный перенос группы на целевую ноду Node02
Move-ClusterGroup -Name "SQL Server (MSSQLSERVER)" -Node "Node02" Частые вопросы (FAQ)
В чем отличие Always On FCI от Always On Availability Groups (AG)?
FCI обеспечивает отказоустойчивость на уровне всего экземпляра (Instance-level) с использованием общего дискового хранилища (Shared Storage). AG защищает базы данных на уровне групп без необходимости общего диска (каждая нода имеет свою копию).
Почему после падения ноды кластерный диск не может примонтироваться на второй ноде?
Частая причина — SCSI Persistent Reservations (SCSI PR), зависшие на упавшей ноде. Убедитесь, что сеть Heartbeat функционирует исправно, а драйверы контроллеров HBA поддерживают корректную очистку резерваций.
Что произойдет с подключениями клиентов 1С при аварийном переключении FCI?
Все текущие TCP-сессии обрываются. Инстанс стартует на новой ноде, производит откат незавершенных транзакций (Undo) и накат зафиксированных (Redo), после чего кластер 1С переподключается заново.
Как предотвратить ложное срабатывание Failover при пиковых нагрузках на CPU?
Увеличьте значение свойства HealthCheckTimeout ресурса SQL Server в диспетчере отказоустойчивого кластера (например, до 60000 мс) и настройте FailureConditionLevel.