VMware Virtual SAN (vSAN) — это распределённая программная СХД корпоративного уровня, которая позволяет строить гиперконвергентную инфраструктуру на базе платформы виртуализации vSphere. Решение предназначено для работы с организованной на основе флеш-накопителей ИТ-инфраструктурой. Активно используется в ситуациях, когда требуется замена вышедшего из строя или устаревшего локального оборудования, масштабирование корпоративной системы хранения.
Если говорить проще, то vSAN является программной СХД, которая позволяет абстрагироваться от локального хранилища и взаимодействовать с пулами ресурсов вне зависимости от того, где именно размещены данные виртуальных машин. VMware Virtual SAN масштабируется путём добавления блока (эту роль выполняет сервер) и централизованно управляется через vCenter Server.
Благодаря vSAN технические специалисты могут собрать локальные носители хостов в один общий пул хранения с требуемыми параметрами отказоустойчивости и возможностью использования всеми хостами и виртуальными машинами кластера. Так формируется централизованное хранилище, позволяющее использовать все возможности виртуализации без обязательного внедрения и последующего технического обслуживания обычной СХД.
Альтернативой vSAN можно назвать Nutanix DSF, Dell EMC ScaleIO, Datacore Hyper-converged Virtual SAN, HPE StoreVirtual. Эти решения обладают полной совместимостью с VMware vSphere и MS Hyper-V и частично поддерживают KVM. Их особенность в том, что их нужно устанавливать и запускать на каждом хосте гиперконвергентной инфраструктуры ВМ, требуемой для работы распределённой программной СХД, а в гипервизор их не встроить.
Концепция VMware Virtual SAN
vSAN не может функционировать вне инфраструктуры VMware, запускается на уровне кластера vSphere, так как встроен и привязан к ней.
Важными особенностями гиперконвергентной инфраструктуры являются возможность горизонтального расширения и модульная структура архитектуры ИТ-систем. Связка VMware vSphere+vSAN даёт возможность создавать платформу на базе одинаковых серверных блоков, в роли которых выступают хосты или узлы. Эти блоки объединяют вычислительные ресурсы, устройства хранения данных, сетевые интерфейсы.
А если масштабироваться дальше, подобрав комплекс ПО для виртуализации (например, используя комбинацию vSphere, vSAN и средства оркестровки VMware), то можно создать программно-определяемый дата-центр (SDDC). Правда, понадобится и выделенное физическое сетевое оборудование, которое обеспечивает нормальное взаимодействие между разными хостами гиперконвергентной инфраструктуры.
vSAN поднимают на уровне кластера хостов ESXi. Каждый хост ESXi может содержать 1-5 дисковых групп. Кластер может быть:
- Гибридным. Задействовано от 1 до 7 HDD (необходимы для обеспечения capacity layer, основной ёмкости хранилища) и хотя бы один SSD или PCIe flash диск. Флэш-накопители нужны, так как используются в качестве кэша (cache layer),
- All-flash (реализовано в vSAN 6.0 и выше). Любые диски в группе могут использоваться в качестве кэша и для хранения данных.
Отказоустойчивость vSAN
Чтобы масштабировать vSAN-кластер, достаточно добавить носители в уже существующие хосты. Также можно добавить новые хосты в кластер. Не забывайте один момент: важно сохранять сбалансированность кластеров. Имеется в виду, что для нормальной работы системы необходимо предусмотреть идентичный состав носителей в хостах и самих хостов.
Носитель, который используется в vSAN и входит в дисковую группу, нельзя использовать нигде, кроме системы хранения. Сами дисковые группы объединены в доступный кластеру vSphere пул и образуют как бы внешнее отказоустойчивое хранилище с собственным протоколом передачи данных. Данные этих групп, как и блоки чётности, зеркалируются на другом хосте (одном или нескольких) — это зависит от заданных параметров отказоустойчивости.
Так, параметр Number of failures to tolerate определяет, какое количество отказов хостов кластера допустимо для виртуальной машины. А параметр Failure tolerance method даёт возможность выбрать метод обеспечения отказоустойчивости.
На базе vSAN возможны два таких метода:
- RAID1 (Mirroring). Данные дублируются на одном хосте, если параметр Number of failures to tolerate оставлен по умолчанию и равен единице. Все операции чтения и записи зеркалируются на втором хосте, что повышает нагрузку на сеть. Если один из хостов засбоит, операции чтения/записи перенаправляются на второй хост. Можно задать дублирование на двух хостах, это неэффективно с точки зрения использования дискового пространства, но гарантирует максимальную производительность. Рекомендуем использовать минимум 2-3 хоста для обеспечения одной отработки на отказ, а в идеале — четыре хоста.
- RAID5/6 (Erasure Coding). Этот метод поддерживает исключительно all-flash конфигурацию кластера и позволяет справиться с 1 или 2 отказами. Чтобы справиться с одним отказом, необходимо иметь четыре хоста, для двух отказов — 6. Рекомендуется 5 и 7 хостов соответственно. Метод RAID5/6 позволяет экономить дисковое пространство, пусть и в ущерб производительности. Хотя для all-flash вполне может хватить имеющейся производительности.
vSAN в целом удобен своей гибкостью. Он даёт возможность обеспечивать отказоустойчивость для разных ВМ и их дисков разными путями. Например, в рамках одного хранилища с требовательными к уровню производительности ВМ можно настроить политику с зеркалированием, а для виртуальных машин попроще выбрать Erasure Coding.
Организация VMware Virtual SAN
Чтобы организовать работу vSAN, можно использовать классическую схему с гипервизором VMware ESXi или выбрать два других инструмента. Как это выглядит:
- Традиционная схема: гипервизор VMware ESXi установлен на физическом серверном железе. Диски объединены в Virtual SAN.
- Схема с vSphere Virtual SAN Appliance. На базе гипервизор VMware ESXi создаётся OVA-темплейт ВМ, необходимый для развёртывания компонента vSAN на хосте ESXi.
- Схема с vSphere Storage Appliance. Фактически это облачное хранилище, позволяющее небольшим компаниям использовать средства обеспечения высокой доступности и автоматизации без подключения дополнительного сетевого оборудования, требующегося для хранения данных. Не позволяет масштабировать больше трёх хостов.