Top.Mail.Ru
КОНФИГУРАТОР Серверы
Сетевое оборудование
СХД
IP-телефоны IP-камеры Источники бесперебойного питания (ИБП) Комплектующие Готовые решения Серверы под задачу
О компании Купить в лизинг Блог Отзывы Доставка Гарантия Контакты Работа у нас Реквизиты Спецпредложения Игровые ПК на ISKRAPC Заявка в тех поддержку
Эксперты в подборе IT-оборудования

Кластеризация серверов и High Availability: как обеспечить 99.99% аптайма

31 августа 2026
Кластеризация серверов и High Availability: как обеспечить 99.99% аптайма

52 минуты в год. Именно столько простоя допускает уровень 99.99% - то, что принято считать «нормальным» для серьёзной инфраструктуры. Звучит немного? До первого инцидента в пятницу вечером, когда упал платёжный шлюз и служба поддержки уже принимает звонки от агрессивных клиентов.

Но прежде чем говорить о том, как эти минуты не тратить, нужно разобраться с терминологией - потому что «кластер» и «HA-кластер» в большинстве разговоров используются как синонимы, хотя это два принципиально разных понятия.

Кластер vs HA: в чём разница и почему это важно

Что такое HA-кластер простыми словами

HA-кластер - это группа серверов, которая продолжает обслуживать запросы при отказе любого из узлов. Три факта, которые из этого следуют:

  1. Узлы постоянно проверяют живость друг друга и знают, кто работает.
  2. При отказе узла его сервисы автоматически поднимаются на оставшихся, без участия человека.
  3. Данные должны быть доступны всем узлам - через общее хранилище или репликацию.

Классический кластер решает другую задачу - это горизонтальное масштабирование. Вы добавляете узлы, чтобы обслуживать больше запросов: тысячи пользователей, параллельные вычисления, распределённые базы данных. Главная цель - производительность. Если нужен разбор кластеризации вообще, без привязки к отказоустойчивости, у нас есть отдельная статья про то, что такое кластер серверов.

HA-кластер (отказоустойчивый кластер) целится не в «выдержать нагрузку», а в «не упасть». Репликация состояния, автоматический failover, мониторинг живости узлов - всё это про то, чтобы при отказе одного сервера система продолжала работать без вмешательства человека.

Часто эти подходы комбинируют: балансировка нагрузки через HAProxy или DNS round-robin распределяет трафик по нескольким активным узлам, а под капотом работает HA-механизм, который следит за тем, чтобы ни один узел не выпал незаметно. Такая конфигурация даёт и запас по нагрузке, и гарантии доступности - но и настраивать её сложнее, чем каждую часть по отдельности.

Архитектура: active-passive и active-active

Два фундаментальных подхода к построению ha cluster, и у каждого своя цена и своя логика. Выбор между ними - вопрос не столько технический, сколько бизнесовый: что для вас дороже, простаивающее железо или риск просесть по производительности в момент пиковой нагрузки.

ПараметрActive-PassiveActive-Active
Использование ресурсовРезервный узел простаиваетВсе узлы под нагрузкой
Сложность настройкиНижеВыше (нужна синхронизация состояния)
Время failover1-10 секПочти мгновенно (нет переключения)
Типичный стекPacemaker + CorosyncHAProxy + Keepalived, Kubernetes
СтоимостьПлатите за железо, которое «спит»Эффективнее по железу

Active-passive проще в реализации и надёжнее в предсказуемости: основной узел работает, резервный - ждёт. При падении основного Pacemaker поднимает сервисы на резервном за считанные секунды. Это классика для баз данных - PostgreSQL + Patroni, MySQL + MHA.

Active-active сложнее: все узлы одновременно принимают трафик, и вам нужно решить вопрос конфликтов записи, если речь о БД. Зато при отказе одного узла остальные просто берут его долю нагрузки - никакого «тёплого старта».

Режимы работы HA-кластера

На практике под «режимом работы кластера» понимают три разных состояния, и путать их дорого.

РежимЧто происходитЧто делать
ШтатныйВсе узлы живы, кворум есть, ресурсы распределены по правиламНичего, только следить за heartbeat
ДеградацииУзел выпал, сервисы переехали, кластер работает - но запаса больше нетЧинить немедленно: следующий отказ станет фатальным
Обслуживания (maintenance)Переводят вручную перед обновлением узлаВключать до работ, иначе Pacemaker примет плановую остановку за аварию

Самое опасное здесь - режим деградации: система выглядит рабочей, мониторинг зелёный по внешним признакам, а второго шанса уже нет. Алерт нужен именно на переход в это состояние, а не на момент самого failover - тот как раз отрабатывает штатно.

Отдельный сценарий - split-brain, когда узлы потеряли связь и каждый считает себя основным. Это не режим, а авария, и от неё защищают кворум и fencing (см. ниже).

Три компонента, без которых HA не работает

Heartbeat - это пульс кластера. Узлы постоянно обмениваются сигналами: «я живой, я живой, я живой». Если сигнал пропадает дольше заданного таймаута - запускается процедура failover. В Corosync этот механизм реализован через кольцевой протокол Totem, который умеет переживать потерю одного из каналов связи.

Shared storage - общее хранилище данных, к которому получают доступ все узлы кластера. Ceph даёт распределённое блочное хранилище с репликацией на уровне объектов, GlusterFS проще в развёртывании и хорошо работает для файловых хранилищ. Без этого компонента active-passive кластер либо бесполезен, либо превращается в дорогую игрушку.

Fencing (STONITH) - самый недооценённый компонент, который спасает от split-brain. Представьте: два узла потеряли связь друг с другом, но оба считают себя основными. Оба начинают писать в shared storage. Данные повреждены. STONITH (Shoot The Other Node In The Head) решает это радикально - изолирует «сомневающийся» узел через IPMI, iDRAC или аппаратный PDU, физически отключая его от питания или сети. Жёстко, но работает.

HA-кластер переключается на резервный узел за 1-10 секунд - быстрее, чем дежурный администратор успевает увидеть алерт в телефоне.

Keepalived или Pacemaker: в чём разница

Вопрос всплывает постоянно, и путаница стоит дорого, потому что инструменты решают разные задачи.

Keepalived не переносит ресурсы. Он реализует протокол VRRP и умеет ровно одно: держать виртуальный IP-адрес и перекидывать его на резервный узел, когда основной перестаёт отвечать. Это один демон, минимум настройки, отличный выбор перед балансировщиком - HAProxy или nginx получают плавающий IP, и клиент не замечает переключения.

Pacemaker управляет ресурсами. Для него виртуальный IP - лишь один из типов ресурса наравне с сервисом, файловой системой, монтированием тома. Он знает зависимости между ними, порядок запуска и остановки, умеет ограничения размещения и вызывает fencing. Цена - связка из двух компонентов (Corosync плюс Pacemaker), агенты ресурсов и заметно более высокий порог входа.

Практический вывод простой. Нужен только плавающий IP перед парой балансировщиков - берите Keepalived, Pacemaker здесь избыточен. Нужно поднимать на резервном узле стек сервисов в правильном порядке (СУБД, потом приложение, потом IP) - это задача Pacemaker. И довольно часто их ставят вместе: Pacemaker держит прикладной кластер, Keepalived - плавающий IP на фронте.

99.99% аптайм: что за этим стоит в цифрах

Красивый SLA в договоре - это одно. Реальное понимание метрик - другое. Когда в договоре появляется «99.99% аптайма», редко кто из подписывающих представляет, что конкретно эта цифра означает для инфраструктуры и что будет, если её не выдержать.

Начнём с самого простого - сколько простоя прячется за каждой девяткой:

УровеньПростой в годВ месяцВ неделю
99,9% («три девятки»)8 ч 46 мин43,8 мин10,1 мин
99,95%4 ч 23 мин21,9 мин5,0 мин
99,99% («четыре девятки»)52,6 мин4,4 мин1,0 мин
99,999% («пять девяток»)5,3 мин26 сек6 сек

Разница между 99,9% и 99,99% - это разница между «успели приехать и починить» и «должно переключиться само». Между 99,99% и 99,999% - между кластером в одной серверной и распределённой системой с резервной площадкой. Каждая девятка дорожает кратно, поэтому цифру выбирают под задачу, а не «побольше».

Теперь метрики, которыми это меряют.

MTBF (Mean Time Between Failures) - среднее время между отказами. Чем выше, тем лучше. Для серверного оборудования производители заявляют MTBF в 100 000+ часов, но реальная эксплуатация - другая история, особенно если речь о дисках под интенсивной нагрузкой.

MTTR (Mean Time To Recovery) - среднее время восстановления. Вот тут HA-кластер и показывает себя: Pacemaker в правильно настроенной конфигурации укладывается в MTTR менее 10 секунд. Для сравнения - ручное восстановление даже опытным администратором редко занимает меньше 15-30 минут.

RTO и RPO - метрики для бизнеса, которые нужно обсуждать до настройки кластера, а не после первого инцидента. RTO (Recovery Time Objective) - сколько времени допустимо не работать. RPO (Recovery Point Objective) - сколько данных допустимо потерять. Для 99.99% RTO должен быть меньше минуты, RPO - в идеале нулевым (синхронная репликация) или близким к нулю. Синхронная репликация дороже асинхронной: она добавляет задержку к каждой записи, ожидая подтверждения от реплики, зато при failover потеря данных - ноль.

ПараметрЦель для 99.99%Инструмент
MTTR< 10 секундPacemaker
RTO< 1 минутыHAProxy
Минимум узлов3 (кворум)Corosync
Простой в год≤ 52 минут-
Простой в месяц≤ 4,4 минут-

Про кворум отдельно: почему минимум три узла? Два узла создают неразрешимую ситуацию при split-brain - каждый считает себя правым. Три узла дают возможность принять решение большинством голосов: 2 против 1, и кластер продолжает работу. Это же объясняет, почему etcd в Kubernetes и ZooKeeper в Kafka требуют нечётного числа узлов.

Если бюджет есть только на два узла, третий голос добавляют отдельно - арбитром. В Corosync это qdevice, в Proxmox VE - QDevice на любой третьей машине, в Windows Server - диск-свидетель или файловая шара. Полноценным узлом кластера арбитр не становится и нагрузку не несёт, его задача - разрешить спор при потере связи. Обходится это заметно дешевле третьего сервера, а от самого опасного сценария защищает.

Кворум работает строже, чем кажется: при потере связи между двумя узлами из трёх система не «зависает» - меньшинство изолируется, большинство продолжает обслуживать запросы.

Практика: инструменты и мониторинг

На Linux основой большинства production HA-конфигураций остаётся связка Corosync + Pacemaker. Corosync обеспечивает групповую коммуникацию и кворум, Pacemaker управляет ресурсами кластера - знает, какие сервисы должны работать, где и в каком порядке запускаться при failover.

Для Proxmox VE HA встроен из коробки: в интерфейсе виртуальные машины назначаются HA-ресурсами, там же задаются приоритеты и политики failover. Под капотом - тот же Corosync, но без необходимости ковыряться в конфигах вручную. Для небольших команд это существенная экономия времени при первоначальной настройке. Если платформа виртуализации ещё не выбрана, перед настройкой HA стоит изучить полный разбор популярных гипервизоров.

Балансировка нагрузки через HAProxy или Nginx добавляется поверх HA-кластера для распределения входящего трафика. HAProxy работает на L4/L7, умеет health checks и автоматически исключает упавший бэкенд из ротации быстрее, чем пользователь замечает ошибку. Keepalived добавляет к этому виртуальный IP - при отказе основного балансировщика адрес мигрирует на резервный узел за доли секунды. Связка HAProxy + Keepalived - де-факто стандарт для высоконагруженных сервисов без бюджета на enterprise-балансировщик.

Мониторинг такой конфигурации собирается из трёх уровней:

УровеньЧемЧто смотреть
УзлыZabbix или PrometheusCPU, RAM, дисковая латентность, сетевые интерфейсы. В Zabbix есть готовые шаблоны под Corosync и Pacemaker; в Prometheus базу закрывает node_exporter, состояние Kubernetes - kube-state-metrics
Сам кластерcrm_mon -1, метрики хранилищаСтатус кворума, состояние ресурсов Pacemaker, задержка репликации. Для Ceph - ceph health, OSD latency, заполненность пулов: статус WARN даёт время отреагировать до CRITICAL
ОповещенияAlertmanagerМаршрутизация с учётом времени суток и ответственных. Без неё HA-инфраструктура превращается в генератор тревожных сообщений, которые все научились игнорировать

Предиктивный анализ через ELK Stack связывает события между собой: если диск начинает давать ошибки SMART, а одновременно растёт латентность Ceph - это повод для превентивного обслуживания, а не для ночного аварийного восстановления. По настройке самого сбора метрик есть пошаговый разбор - мониторинг серверов на Zabbix.

Автоматизация развёртывания через Ansible снижает риск человеческой ошибки при настройке новых узлов и гарантирует идентичность конфигурации во всём кластере. Расхождение конфигураций - одна из частых причин «странного поведения» кластера через год после запуска: playbook на добавление узла выполняется воспроизводимо каждый раз, в отличие от ручной настройки по инструкции, которую последний раз обновляли полтора года назад.

Что доступно в России в 2026 году

Здесь решает не сравнение функциональности. Вопрос один: можно ли это купить и получить поддержку.

Red Hat прекратил продажи, услуги и партнёрские отношения в России и Беларуси в марте 2022 - RHEL High Availability Add-On с официальной подпиской и SLA сейчас недоступен. VMware после перехода к Broadcom официально в РФ не поставляется, и vSphere HA попадает в ту же категорию. Если эти стеки у вас уже развёрнуты, они продолжают работать, но планировать на них новые проекты - значит закладывать риск без поддержки и без легального пути обновления.

Открытый стек от поставок не зависит вовсе: Corosync с Pacemaker и Proxmox VE HA разворачиваются и обслуживаются самостоятельно. Для большинства on-premise сценариев этого достаточно, а коммерческая подписка Proxmox при необходимости покупается отдельно.

Если нужен реестр и сертификаты, вариантов три:

ПлатформаОсноваЧто важно для HAСертификация
zVirt (Orion Soft)KVM, управление унаследовано от oVirtВ версии 5.0 живая миграция ВМ между площадками без общей СХД. Штатного программно-определяемого хранилища внутри нет - под HCI берут продукт стороннего вендора, то есть два договора поддержкиРедакция zVirt Max - ФСТЭК, 4 уровень доверия, сертификат №4780 от 19.02.2024 до 19.02.2029; допуск в КИИ, ГИС, ИСПДн
ROSA VirtualizationoVirt/KVM, единый вендор на ОС, гипервизор и VDIВ версии 4.0 от 29.12.2025 появился встроенный Disaster Recovery - среди российских платформ это редкостьФСТЭК, лицензирование по числу ВМ или по хостам
«Альт Виртуализация» (Базальт СПО)Proxmox VE, пересобранный под ОС «Альт»Вендор делает стабильные сборки и поддержку, а не переписывает функциональность - поведение предсказуемо тем, кто знает ProxmoxИдёт через ОС «Альт СП» с правом виртуализации. Формулировка в сертификате отличается от zVirt Max, и проверяющий смотрит именно на неё

Выбор между ними для HA сводится к трём вопросам: нужен ли сертификат ФСТЭК и какой именно, нужен ли штатный DR из коробки, и готовы ли вы держать хранилище отдельным продуктом.

TCO и аргументы для руководства

HA-кластер стоит денег - дополнительное железо, лицензии, время на настройку. Но посчитайте иначе.

Час простоя интернет-магазина с оборотом 5 млн рублей в день - это порядка 200 тысяч рублей недополученной выручки, если считать по среднему часу. Плюс репутационный ущерб, штрафы по SLA с партнёрами, стоимость работы команды на восстановление. Если HA-кластер предотвращает два таких инцидента в год, арифметика начинает складываться в его пользу.

Механика экономии простая и без ссылок на исследования. HA сокращает MTTR, потери от простоя прямо пропорциональны его длительности. Ручное восстановление - это 15-30 минут в лучшем случае, автоматический failover - секунды. Разница в стоимости инцидента получается в сотни раз, и она тем заметнее, чем дороже час простоя именно у вас.

Отдельный аргумент для финансового директора - страховая логика. HA-кластер работает как страховка: вы платите регулярный «взнос» в виде стоимости резервных узлов, чтобы не платить разово и непредсказуемо при каждом серьёзном сбое. Разница в том, что эта страховка ещё и добавляет запас производительности в штатном режиме.

Следующий уровень: Kubernetes и geo-replication

Контейнерные рабочие нагрузки меняют правила игры. Kubernetes с правильно настроенными Deployment и PodDisruptionBudget даёт HA для приложений без отдельного уровня кластеризации серверов - планировщик сам перераспределяет поды при отказе узла. PodDisruptionBudget гарантирует, что при обновлении или дренировании узла одновременно не упадут все реплики: если у вас три пода и minAvailable=2, обновление пойдёт по одному поду за раз. Но это не отменяет необходимость HA для самого control plane: три мастер-узла, etcd с репликацией (etcd крайне чувствителен к дисковой латентности - ставьте его на NVMe), внешний балансировщик для kube-apiserver.

Geo-replication выводит отказоустойчивость на уровень катастрофоустойчивости. Синхронная репликация между дата-центрами в пределах одного города (задержка меньше 5 мс) даёт RPO близкий к нулю. Асинхронная между регионами - компромисс между RPO и стоимостью канала: задержка 50-100 мс означает, что при мгновенной катастрофе вы потеряете несколько секунд данных, но сервис поднимется в резервной локации по заранее отработанному плану.

Безопасность в HA-кластерах часто оказывается последним пунктом - и зря. Трафик между узлами нужно шифровать (TLS для Corosync, mTLS в Kubernetes через cert-manager или Istio), heartbeat-сеть изолировать в отдельный VLAN, а доступ к IPMI/iDRAC закрывать от production-сети - всё это базовые требования при подготовке серверной инфраструктуры к ИБ-аудиту. Если атакующий получает доступ к BMC-интерфейсу, он может выключить STONITH в нужный момент и устроить split-brain намеренно.

Для крупных инсталляций добавляется инженерная часть: при плотности 20-30 кВт на стойку воздушное охлаждение перестаёт справляться без серьёзных затрат на инфраструктуру серверного помещения, и в ход идут жидкостные решения. Для кластера из трёх-четырёх узлов в обычной серверной комнате это неактуально - там хватает грамотной организации потоков воздуха.

Частые вопросы

Что такое HA-кластер?

Группа серверов, которая продолжает обслуживать запросы при отказе любого из узлов: они следят за живостью друг друга, а сервисы упавшего автоматически поднимаются на оставшихся.

Чем HA-кластер отличается от обычного кластера?

Обычный кластер решает задачу производительности - добавляет узлы, чтобы обработать больше запросов. HA-кластер решает задачу доступности - чтобы отказ узла не остановил сервис. На практике их часто совмещают.

Keepalived делает миграцию ресурсов, как Pacemaker?

Нет. Keepalived через VRRP переносит только виртуальный IP-адрес. Pacemaker управляет ресурсами целиком - сервисами, файловыми системами, порядком запуска и зависимостями между ними, а также вызывает fencing.

Сколько узлов нужно для HA-кластера?

Минимум три - для кворума. С двумя узлами при потере связи каждый считает себя основным, и решить спор большинством голосов не получается. Если серверов только два, третий голос добавляют арбитром (qdevice в Corosync, QDevice в Proxmox VE, диск-свидетель в Windows Server) - он не несёт нагрузку и стоит дешевле полноценного узла.

Сколько простоя допускает 99,99%?

52,6 минуты в год, 4,4 минуты в месяц, около минуты в неделю. Уровень 99,9% допускает уже 8 часов 46 минут в год.

В чём разница active-active и active-passive?

В active-passive резервный узел ждёт и включается при отказе основного - проще и предсказуемее. В active-active нагрузку несут все узлы одновременно - эффективнее по железу, но требует решать конфликты записи.

Коротко

Высокая доступность - это не конечное состояние, которое «настроили и забыли». Это дисциплина: регулярные тесты failover в боевой среде (да, намеренные), обновление узлов по rolling-стратегии без окна обслуживания, алерты на режим деградации, а не на одну аварию.

Кластер, который не тестировали в условиях реального сбоя, - это дорогое оборудование с иллюзией надёжности. Первый раз, когда failover отрабатывает по-настоящему, не должен быть сюрпризом.

Собираете отказоустойчивый кластер?

Инженеры ITTELO подберут узлы под нужный уровень доступности, соберут и протестируют конфигурацию под задачу перед отгрузкой, с гарантией и поддержкой после продажи. На рынке серверов 11+ лет.

Сервер для виртуализации · +7 (800) 551-80-12 · info@ittelo.ru

ПОДПИСКА

НА РАССЫЛКУ
ПОЛЕЗНЫЕ СТАТЬИ, АКЦИИ
И ЗАКРЫТЫЕ РАСПРОДАЖИ
Котик подписка
Похожие статьи
Вам также может быть интересно

ТОП-5 ошибок при выборе сервера
Товар добавлен в список сравнения
Перейти в сравнение
Продолжить просмотр
Заявка в тех поддержку
Загрузка формы…
Не удалось загрузить форму. Обновите страницу или свяжитесь с нами по телефону.
Консультация
ИТ-специалиста
Оставьте контакты — свяжемся с вами в течение нескольких минут и подготовим коммерческое предложение
IT-архитектор подберет сервер под вашу задачу
Заполните форму — наш специалист свяжется с вами в течение 15 минут, уточнит задачу и подготовит коммерческое предложение
Заказать сервер
Отправим конфигурацию вам на почту. Менеджер перезвонит в течение 15 минут
Зарегистрироваться в бонусной программе
Консультация
ИТ-специалиста
Оставьте контакты — свяжемся с вами в течение нескольких минут и подготовим коммерческое предложение