В мире корпоративной ИТ-инфраструктуры уже много лет существует дискуссия. На одном полюсе — проверенная временем классическая трёхуровневая архитектура (серверы, сеть, внешняя СХД). На другом — гиперконвергентная инфраструктура (HCI), которая объединяет все компоненты в единую программно-определяемую систему. Выбор между ними — это не просто вопрос «что новее», а стратегическое решение, влияющее на управляемость, масштабируемость, отказоустойчивость и совокупную стоимость владения .
В чём различие?
Классическая модель: раздельные компоненты
Традиционная виртуальная инфраструктура строится по принципу «лучший компонент в каждой категории». Серверы – это вычисление. На них все для вычислений. СХД — для надежного хранения информации, а также максимально быстрой записи и чтения. Сетевое оборудование — для передачи информации с минимальными задержками и с максимальной полосой пропускания. Это три независимых уровня: compute (серверы), storage (внешняя СХД) и network (коммутаторы). Каждый элемент по отдельности делает свою функцию максимально хорошо.
Такой подход предполагает, что Compute ноды не хранят данные — вся информация находится на внешней СХД, доступной по сети. Это делает серверы stateless: любой узел может взять на себя нагрузку отказавшего, так как данные хранятся централизованно. Результат – ваши виртуальные машины защищены с помощью механизмов автоматического рестарта виртуальных машин от аппаратных сбоев, а от потери данных они защищены ровно в той степени, которую может предоставить СХД (ведь в конце-концов виртуальная машина – это файлы на диске). Ну а СХДзащищает информацию как на уровне дублирования аппаратных компонент (несколько контроллеров, RAID, етс.), так и с помощью механизмов репликации.
В результате, если у вас получается грамотно собрать все компоненты, у вас получается система, которая позволяет из каждого компонента выжать максимум.
HCI: единый программно-определяемый комплекс
Гиперконвергентная инфраструктура объединяет вычисления, хранилище и сеть в единую систему, работающую на стандартных x86-серверах. Локальные диски каждого сервера объединяются в общий пул хранения с помощью программно-определяемого слоя, а данные реплицируются между узлами для обеспечения отказоустойчивости.
Ключевое отличие: в HCI узлы – stateful, то есть каждый сервер одновременно является и вычислительным ресурсом, и частью распределённой системы хранения. А это значит, что во-первых, требуется обеспечить достаточную скорость записи и чтения, а также требуется как-то защищать эти локальные данные.
В результате HCI системы обрастают «ньюансами». Во-первых, требуется быстрая система ввода-вывода. Тут нельзя экономить на NVMe дисках и контроллерах. Кроме того, ПО HCI имеет гораздо больший overhead (количество ресурсов, которое тратится на обеспечение виртуализации, и которые нельзя отлать виртуальным машинам). Overhead этот нужен для того, чтобы во-первых, оптимизировать чтение-запись, а во-вторых для обеспечения защиты данных.
Защита данных в HCI обычно обеспечивается хитрым механизмом репликации – когда данные, записанные на один хост, сразу же реплицируются на другой. Иногда и не раз. С одной стороны это дает защиту от аппаратного сбоя любого из хостов. С другой – места для хранения требуется в 2-3-4(смотря какой у вас уровень паранойи) раза. Пропускной способности ваших коммутаторов тоже требуется больше, ведь вы копируете все, что пишете тоже 2-3-4 раза. Это, кстати, причина, по которой почти любой, кто строит HCI в России должен ментально приготовиться к переходу с 10G на 25G как минимум.
Все это вместе делает хосты и сопутствующую инфраструктуру для HCI радикально дороже. С другой стороны вам больше не нужна СХД. Впрочем, как не трудно заметить, все зависит от размеров инфраструктуры. Потому что сначала HCI дешевле классики, потом, если она растет, она становится гораздо дороже, а потом… опять дешевле! Но об этом позже.
Кстати, бонус! Вся HCI инфраструктура управляется через единую панель, и вы можете уволить своего Storage админа (шутка… почти…)
Pro и Contrа HCI решений
|
Аспект |
Преимущества HCI |
Недостатки HCI |
|
Управление и администрирование |
Единая панель управления. Вся инфраструктура (вычисления, сеть, диски) управляется из одного интерфейса. Узких специалистов надо меньше. |
Единая точка отказа в управлении. К сожалению довольно часты ситуации, когда отказ одного софтового компонента ведет к отказу всего кластера и даже потере данных. Кроме того, программная компонента сложна и требует очень высокой квалификации персонала и очень хорошей технической поддержки |
|
Скорость развертывания |
«Из коробки» за часы. Разворачивается как единый комплекс. Не требует долгой инженерной интеграции серверов и СХД разных вендоров. |
Предъявляет очень высокие требования к хостам. Даже минимальная конфигурация может быть очень дорогой |
|
Масштабирование |
Линейное. С каждым новым хостом растет и Capacity, и Performance. Само масштабирование может производиться в очень широких пределах – до сотен хостов. Это основное преимущество HCI систем перед классическими. Потому что классические системы расширяемы настолько, насколько расширяемы СХД – пока вы наращиваете полки, это дешево. Но однажды придется купить дополнительные контроллеры, а это очень большие инвестиции. Кроме того, именно контроллеры часто становятся бутылочными горлышками влияющими на производительность СХД. HCI лишены этих недостатков. |
Минимальная конфигурация – 4 хоста. Легкого старта не получится. |
|
Отказоустойчивость |
Встроенная самовосстанавливаемость. Репликация и автомиграция ВМ при сбое узла. |
Расход ресурсов на репликацию. Чтобы обеспечить надежность, нужно держать «лишние» копии данных (обычно 2–3). Повышенная нагрузка на сеть |
|
Производительность |
Локальность данных. ВМ работает с дисками своего же узла по локальной шине (без задержек сети SAN). Бутылочные горлышки отсутствуют – каждый хост пишет данные локально и передает данные самостоятельно. Нет единого «бутылочного горлышка» |
Нестабильность при Неравномерных нагрузках — если одна ВМ на узле нагружает диск, страдают все ВМ на этом же узле. бОльшая уязвимость к мисконфигурациям – даже небольшие задержки в сети генерируют большие проблемы на ВМ. |
|
Стоимость (CAPEX) |
Ниже порог входа. Покупаются стандартные x86-серверы. Нет дорогой внешней СХД с специализированными контроллерами |
Высокая стоимость на пиковых каждого конкретного хоста. Необходимость апгрейда сети |
|
Эксплуатация (OPEX) |
Экономия на специалистах. Один администратор управляет кластером. Меньше времени на диагностику «на стыке» разных систем. |
Сложный апгрейд ПО. Сложное ПО. Высокий риск, что баги в ПО приведут к серьезным проблемам. Большая зависимость от качественной поддержки вендора |
|
Специфические нагрузки (БД, 1С, OLTP) |
— (нет прямого преимущества) |
Уступает выделенной СХД. Для высоконагруженных транзакционных БД с жесткими требованиями к задержкам (латентности) внешняя СХД с NVMe и выделенными контроллерами часто стабильнее и быстрее HCI. |
Когда выбирать HCI
Инфраструктура строится с нуля или требует существенного обновления. HCI позволяет быстро развернуть современную платформу без многомесячных интеграционных работ.
Важна скорость масштабирования. Для быстрорастущего бизнеса или проектов с неясными требованиями к ресурсам —узлы добавляются по мере необходимости. Идеально для Cloud-провайдеров!
Когда выбирать классическую схему с СХД
Высоконагруженные базы данных и специфические рабочие нагрузки. Для транзакционных баз данных с жёсткими требованиями к задержкам выделенная СХД может обеспечить более предсказуемую производительность.
Необходимость независимого масштабирования хранилища и вычислений. Если вам требуется добавить только ёмкость без увеличения вычислительных мощностей — классическая архитектура позволяет это сделать
Существующие крупные инвестиции в СХД. Если у вас уже есть дорогостоящая СХД и вы не готовы к замене — нет смысла отказываться от работающей. инфраструктуры.
Специфические требования к управлению данными. Некоторые задачи требуют особых функций, которые есть только у конкретных СХД-вендоров. Например кластера с использованием SCSI примитивов.
Заключение
HCI и классическая архитектура с внешней СХД — это не «плохое» против «хорошего», а разные инструменты для разных задач. Для большинства современных корпоративных нагрузок, особенно при строительстве инфраструктуры с нуля, HCI предлагает лучшее соотношение простоты управления, надёжности и совокупной стоимости владения. Однако классическая трёхуровневая архитектура сохраняет преимущества в специализированных сценариях с экстремальными требованиями к производительности или в среде со сложившейся инфраструктурой и накопленной экспертизой.
Рынок активно движется в сторону HCI, но в каждом конкретном случае необходимо точно понимать все сильные и слабые стороны обоих вариантов.
ссылка на оригинал статьи https://habr.com/ru/articles/1059606/