Дата публикации
ai_products

Microsoft обновляет отказоустойчивость SQL Server на Linux: Pacemaker HA Agent v2 (превью)

Что появилось / что изменилось

Microsoft представила новое поколение агента высокой доступности для SQL Server на Linux — Pacemaker HA Agent v2. Это превью‑версия, доступная начиная с SQL Server 2025 CU3 для Red Hat Enterprise Linux и Ubuntu через пакет mssql-server-ha.

Главные изменения:

  • Новая сервисная архитектура. Агент больше не просто скрипт Pacemaker. Он запускается как отдельный системный сервис mssql-pcsag и берёт на себя все операции, связанные с высокой доступностью SQL Server.
  • Ускоренное переключение (failover). Microsoft прямо говорит о сокращении времени плановых и аварийных переключений по сравнению с предыдущей версией. В v1 задержки доходили до 30 секунд–2 минут.
  • Гораздо более детальная проверка здоровья. Агент учитывает не только факт доступности процесса, но и внутренние состояния SQL Server: задержки ввода‑вывода, давление на память, внутренние дедлоки, проблемы со спинлоками и другие сбои на уровне движка.
  • Новые политики автоматического failover. Появилась поддержка уровней условий отказа (failure condition level 1–5) и таймаута проверки здоровья, синхронизированных с AlwaysOn Availability Groups на Windows (WSFC).
  • Корректная работа с write‑lease. Агент теперь активно анализирует валидность внешней write‑аренды перед переключением ролей, что помогает снизить риск split‑brain.
  • Поддержка TLS 1.3. Обновлённый агент умеет работать через TLS 1.3 для служебных проверок и операций failover, если TLS 1.3 включён в системе.

Как это работает

На Windows AlwaysOn Availability Groups завязаны на Windows Server Failover Clustering: он следит за узлами, ловит сбои и запускает автоматический failover. На Linux эту роль берёт на себя внешний кластерный оркестратор. В сценариях Microsoft это Pacemaker, а Pacemaker HA Agent выступает прослойкой между кластером и SQL Server.

В Pacemaker HA Agent v2 эта прослойка превратилась в полноценный сервис:

  • Сервис mssql-pcsag запускается и управляется стандартными средствами ОС:
    • sudo systemctl start mssql-pcsag
    • sudo systemctl restart mssql-pcsag
    • sudo systemctl status mssql-pcsag
    • sudo systemctl stop mssql-pcsag
  • Сервис общается с Pacemaker и SQL Server, собирает диагностические сигналы и принимает решения о переключении ролей.
  • Для оценки состояния базы используется sp_server_diagnostics: на его основе агент понимает, насколько критична проблема, и сопоставляет её с выбранным уровнем FAILURE_CONDITION_LEVEL.
  • Администратор может настраивать поведение через T‑SQL:
    • Уровень чувствительности к сбоям:
      ALTER AVAILABILITY GROUP pacemakerag 
      SET (FAILURE_CONDITION_LEVEL = 2);
      
    • Таймаут проверки здоровья (в миллисекундах):
      ALTER AVAILABILITY GROUP pacemakerag 
      SET (HEALTH_CHECK_TIMEOUT = 60000);
      
  • Перед переключением ролей агент проверяет write‑lease. Если аренда невалидна, это учитывается при выборе нового владельца, что помогает избежать одновременной записи на нескольких узлах.

Что это значит для вас

Если вы уже гоняете SQL Server на Linux с Pacemaker, Pacemaker HA Agent v2 решает несколько болезненных мест:

  • Меньше простоев при плановых и аварийных переключениях. Для онлайн‑сервисов и финансовых систем это прямое снижение потерь при сбоях.
  • Более предсказуемое поведение AG. Можно тонко настроить, при каких внутренних ошибках SQL Server кластер действительно должен переключиться, а при каких — подождать.
  • Лучше защита от split‑brain. Актуально, если у вас сложная сеть, нестабильные каналы или геораспределённый кластер.
  • Готовность к современным требованиям безопасности. TLS 1.3 в служебном контуре — плюс для компаний с жёсткими регуляторными требованиями.

Для кого это полезно:

  • Команды, которые уже выбрали Linux как платформу для SQL Server и строят отказоустойчивые кластеры с Pacemaker.
  • Организации, которые хотят выровнять опыт между AlwaysOn на Windows и Linux: логика health‑check и политики failover становятся ближе.

Где стоит быть осторожнее:

  • Это превью. Для строго критичных продакшн‑систем с нулевой толерантностью к рискам логичнее сначала прогнать v2 на стенде или в пилотном контуре.
  • Pacemaker и SQL Server на Linux по‑прежнему требуют грамотной настройки кластера, сетей и хранилищ. Агент не решает архитектурные проблемы сам по себе.
  • Для работы понадобится SQL Server 2025 CU3 или новее и поддерживаемые дистрибутивы Linux (RHEL 9 и Ubuntu, список уточняется в документации Microsoft). В России доступ к продуктам Microsoft может потребовать VPN и корпоративной лицензии — это стоит проверить заранее.

Место на рынке

В мире SQL Server на Linux Pacemaker остаётся основным внешним оркестратором кластеров, а Pacemaker HA Agent — стандартным способом «подружить» его с AlwaysOn Availability Groups. На Windows аналогичную роль играет WSFC, и именно с ним Microsoft синхронизирует логику health‑check и уровни отказа.

По сравнению с предыдущим Pacemaker HA Agent v1, v2 делает несколько шагов вперёд:

  • Уходит от простой проверки доступности процесса к сервисной архитектуре с плотной интеграцией диагностик SQL Server.
  • Сокращает задержки failover, которые раньше доходили до 30–120 секунд.
  • Приближает поведение AG на Linux к тому, к чему привыкли администраторы WSFC.

Прямые числовые сравнения с альтернативами вроде собственных скриптов, других кластерных стэков или коммерческих решений Microsoft не приводит. Но по функциональности и глубине интеграции с AlwaysOn именно Pacemaker HA Agent v2 сейчас выглядит основным вариантом для тех, кто строит отказоустойчивый SQL Server на Linux и хочет оставаться в официально поддерживаемой экосистеме Microsoft.


Читайте также

Microsoft обновляет отказоустойчивость SQL Server на Linux: Pacemaker HA Agent v2 (превью) — VogueTech | VogueTech