Современный бизнес не может себе позволить недоступность ИТ-инфраструктуры в течение долгого времени. Нередко даже минута простоя влечет за собой серьезные репутационные и финансовые убытки. Именно по этой причине сервисы и приложения, особенно чувствительные к потере доступности, развертывают на серверных решениях на базе отказоустойчивых кластеров.
Отказоустойчивый кластер серверов: что это такое
Начнем с терминологии.
Отказоустойчивый кластер (High Availability кластер, HA-кластер, кластер высокой доступности) — это группа из нескольких серверов, спроектированная в соответствии с методиками обеспечения высокой доступности и гарантирующая минимальное время простоя систем за счет аппаратной избыточности.
Принцип работы
Если говорить простыми словами, при отказе одного сервера в кластере его задачи распределяются на машины, работоспособность которых не пострадала. Это позволяет не только избежать недоступности систем при выходе оборудования из строя, но и проводить техническое обслуживание или любые другие регламентные работы без остановки ИТ-систем.
Представим ситуацию: на сервере, где развернуто бизнес-приложение, случился сбой. При отсутствии кластеризации бизнес-приложение будет недоступно вплоть до восстановления работоспособности сервера. Если компания озаботилась настройкой отказоустойчивой кластеризации, приложение будет автоматически перезапущено на рабочих узлах.
Схемы реализации High Availability кластеров
Очевидно, что для настройки отказоустойчивого кластера нужно как минимум два узла. Такая конфигурация так и называется — двухузловая. Однако на практике встречаются различные схемы реализации High Availability кластеров. Рассмотрим наиболее распространенные из них.
- Active/active
Одна из самых популярных схем реализации отказоустойчивого кластер. Если один из серверов в кластере, построенном по схеме active/active, окажется недоступным, его трафик перераспределится между оставшимися узлами. Этот способ актуален в ситуациях, когда узлы кластера однородны с точки зрения аппаратного и программного обеспечения и выполняют одинаковые задачи.
- Active/passive
Резервируется каждый узел в кластере. Резервный узел включается только при отказе основного. Несложно догадаться, что схема active/passive требует значительной избыточности.
- N+1
В кластере есть один резервный узел, который берет на себя задачи вышедшего из строя сервера. После восстановления способности оборудования узел опять становится резервным. Схема N+1 может быть реализована в кластере с неоднородными задачами, при этом "запасной" узел должен будет суметь заменить любую машину из этого кластера.
- N+M
Если одного резервного сервера недостаточно из-за разнородности сервисов и задач, которые обслуживают серверы в кластере, можно использовать схему N+M. В отличие от предыдущей она подразумевает, что в кластере будет не одна, а сразу несколько резервных машин. Такой способ построения отказоустойчивого кластера позволяет достичь компромисса между стоимостью решения и требуемым уровнем надежности.
Наиболее дорогостоящей из рассмотренных выше схем является схема active/passive. При таком способе реализации отказоустойчивого кластера компании буквально приходится платить двойную стоимость работающего оборудования.
Создание отказоустойчивого кластера
Итак, что необходимо для построения HA-кластера?
- Избыточность ресурсов
Чтобы перенести задачу с аварийного сервера на работоспособный требуются свободные вычислительные ресурсы. Простой пример: если в кластер объединены 5 серверов, нагрузка в кластере не должна быть выше, чем смогут взять на себя 4 машины. - Совместный доступ к данным каждого узла в кластере
Ключевой принцип работы отказоустойчивого кластера — распределение задач вышедшего из строя сервера между оставшимися. Соответственно, при реализации HA-кластера необходимо предусмотреть не только дублирование мощностей, но и резервирование каналов к данным и конечным пользователям. - Соответствие ПО
Далеко не каждое приложение сможет работать на базе отказоустойчивого кластера. Эта возможность должна быть заложена на этапе построения архитектуры и разработки ПО. В частности, приложения, которые планируют разворачивать в рамках отказоустойчивого кластера, должны уметь:
- использовать общее хранилище данных;
- перезапускаться на другом узле в том же состоянии, в котором они были в момент сбоя первоначально используемого сервера.
Отказоустойчивые кластеры в VMmanager
Платформа VMmanager 6 от ISPsystem позволяет создавать HA-кластеры. В случае, если один из узлов кластера станет недоступен, VMmanager автоматически перенесет виртуальные машины на работоспособные узлы, остановит ВМ нерабочем узле и изолирует его.
Узнайте больше о создании отказоустойчивых кластеров в VMmanager и логике их работы в документации по платформе.