VMware Virtual SAN

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 16:07, 23 января 2019.
Open book.svg Авторство
С. А. Гончаров
Согласовано: 23.01.2019
VMware Virtual SAN
Virtualsan1.jpg
VMware Virtual SAN View.png
"Economical, convenient and fast"
Разработчики: VMware
Выпущена: August 2013; 6 years ago (2013-08)
Постоянный выпуск: 6.7 / October 2018; 1 year ago (2018-10)
Операционная система: Кросс-платформенное
Платформа: Хосты, версии не ниже ESXi 6.0
Тип ПО: Виртуальное хранилище данных
Лицензия: Proprietary
Веб-сайт Official website

VMware Virtual SAN — это радикально упрощенное общее хранилище корпоративного класса для гиперконвергированной инфраструктуры, оптимизированное для работы с современными системами на основе флэш-накопителей.[Источник 1] Система VMware Virtual SAN (vSAN), ставшая дебютом компании в сфере виртуализации хранилищ, предоставляет пространство для виртуальных дисков, которые содержат необходимые при запуске виртуальных машин[1] данные.

Архитектура на основе флеш-накопителей обеспечивает кэширование, устойчивость данных и высокую предсказуемую производительность. А поскольку Virtual SAN встраивается в ядро vSphere, происходит оптимизация путей ввода-вывода и снижается воздействие на центральный процессор. Тогда как распределенная архитектура на основе гипервизора повышает производительность самих приложений. Благодаря встроенной интеграции Virtual SAN в гипервизор не требуется устанавливать дополнительный софт, а подход на основе политик значительно упрощает управление стандартными процессами. Достаточно сделать пару кликов, и система готова к работе. Кроме этого Virtual SAN интегрируется со всеми компонентами vSphere и управляется с помощью веб-клиента vSphere.

История

Впервые компания VMware анонсировала продукт vSAN на международной конференции VMworld в августе 2013 года. Кроме того, VMware выпустила несколько бета-версий программы, чтобы будущие заказчики смогли заранее ее протестировать. Первые пользователи технологии отметили ее преимущества по целому ряду показателей. Например, специалисты Adobe Systems смогли благодаря встроенным механизмам реализации политик в vSAN избежать покупки нового аппаратного хранилища за счет более эффективного применения хранилищ, уже существующих на серверах организации. Сервис-провайдеру Itrica новое решение от VMware помогло выполнить масштабирование хранилища в ответ на потребности клиентов, а также позволило организовать управление этим хранилищем через тот же интерфейс, что использовался для контроля виртуальных машин. 10 февраля 2016 года VMware выпустила vSAN 6.2. Он создан специально для разворачивания хранилищ на основе флэш-памяти NAND и пополнил линейку гиперконвергентных продуктов компании.

Описание

Гиперконвергентная компьютерная система объединяет в одном комплексе не только управление вычислительными ресурсами, хранением данных и сетевыми функциями, что присуще конвергентным системам, но также дополнительные функции: дедупликация [2], компрессия[3] и распределение данных по уровням хранения, шифрование данных и/или высокоуровневая аутентификация пользователей в рамках системы безопасности, гипервизор и т.п.

Архитектура

Архитектура, объединенная с гипервизором: компонент Virtual SAN встроен в ядро vSphere, что обеспечивает оптимизацию ввода-вывода и высочайший уровень производительности при минимальной нагрузке на ЦП.

Возможности архитектуры

Гибридная архитектура или архитектура, содержащая только флэш-накопители: Virtual SAN можно развернуть в качестве архитектуры, содержащей только флэш-накопители, где подключенная к серверу флэш-память используется и для кэширования, и для обеспечения устойчивости данных, предоставляя чрезвычайно высокий и стабильный уровень производительности. Кроме того, Virtual SAN может использоваться в качестве гибридного хранилища, в котором флэш-накопители на стороне серверов объединяются в пулы и выступают в роли кэша чтения/записи, а подключенные к серверу жесткие диски обеспечивают устойчивость данных.

Тип управления

Управление, основанное на политиках и ориентированное на ВМ: требования к хранилищу привязываются к индивидуальным виртуальным машинам или виртуальным дискам в виде политик хранения. Virtual SAN использует эти политики хранения для автоматизации выделения ресурсов и их балансировки. Таким образом, каждая виртуальная машина получает те ресурсы,которые были ей назначены.Управление с помощью единой консоли vSphere:Virtual SAN устраняет необходимость в обучении работе со специализированными интерфейсами хранилищ или в связанных с их использованием расходах. Инициализация теперь запускается двумя нажатиями кнопки.

Тип кеширования

Кэширование операций чтения и записи на стороне сервера:Virtual SAN сокращает время ожидания за счет ускорения операций ввода-вывода чтения и записи диска с помощью встроенного кэширования на основе использования флэш-накопителей на стороне сервера.

Возможности масштабирования

Гибкое горизонтальное и вертикальное масштабирование[4] без нарушения работы: увеличение емкости и повышение производительности хранилища данных Virtual SAN без прерывания рабочих процессов путем добавления узлов в кластер (горизонтальное масштабирование) или дисков в узел (вертикальное масштабирование).

Отказоустойчивость

Встроенная отказоустойчивость: Virtual SAN эффективно использует распределенные RAID-массивы и зеркалирование кэша для защиты от потерь данных в случае сбоя диска, узла,сети или стойки.Снимки и клоны Virtual SAN: новый дисковый форматVirtual SAN обеспечивает чрезвычайно эффективное создание масштабируемых снимков и клонов ВМ. Для одной ВМ поддерживается до 32 снимков и клонов.

Лояльность к оборудованию

Независимость от оборудования: компонент Virtual SANможет быть развернут на оборудовании любых поставщиков серверных решений. Это обеспечивает гибкость при формировании специализированных систем хранения в разнородных аппаратных средах.

Совместимость с другими продуктами

Взаимная совместимость с продуктами VMware: VirtualSAN эффективно использует компоненты VMware vSphereData Protection™ и vSphere Replication™ для защиты данных, резервного копирования, репликации и аварийного восстановления. Компонент Virtual SAN совместим с vRealizeAutomation и может быть установлен в сочетании с VMware®Horizon View™ в VDI-средах и с vCenter Site Recovery Manager в средах аварийного восстановления.

Концепция vSAN

Концепция vSAN заключается в том, что на каждом хосте ESXi может быть от 1 до 5 дисковых групп, которые в свою очередь содержат[Источник 2]:

  • Гибридная конфигурация: от 1 до 7 магнитных диска и обязательно — минимум один SAS/SATA SSD, или PCIe flash диск. Магнитные диски используются для хранения данных, а SSD, или Flash — в качестве кэша данных.
  • “All-flash” конфигурация (доступна в vSAN 6.0 и выше): все диски группы могут использоваться, как для кэша, так и для хранения данных.

Носитель, отданный для организации vSAN и объединенный в дисковую группу, используется полностью для организации системы хранения, его нельзя совместно использовать для других целей. Дисковые группы объединяются в пул, доступный всему кластеру vSphere, и организуют общее “внешнее” и отказоустойчивое хранилище, для передачи данных которого используется собственный протокол (FC[5], iSCSI[6] или NFS для обмена данными не нужны). Данные дисковых групп и блоки “четности” дублируются на одном, или нескольких хостах, в зависимости от выбранных параметров отказоустойчивости vSAN:

  • Number of failures to tolerate — количество допустимых отказов, определяет количество хостов кластера отказ которых сможет пережить ВМ.
  • Failure tolerance method — метод обеспечения отказоустойчивости.

vSAN предоставляет два метода обеспечения отказоустойчивости:

  • RAID1 (Mirroring). По умолчанию Number of failures to tolerate равен одному, то есть данные дублируются на одном хосте: все операции чтения записи моментально синхронизируются на втором хосте (таким образом накладывая серьезные требования на пропускную способность сети, но об этом ниже). В случае отказа одного из хостов все операции чтения/записи будут перенаправлены на “зеркало”. Если Number of failures to tolerate равен двум, то данные реплицируются уже на двух хостах. Данный метод неэффективно использует дисковое пространство, однако обеспечивает максимальную производительность. Минимально необходимое количество хостов — 2–3 (для опеспечения одной отработки на отказ), рекомендуемое — 4 хоста (при отказе одного их хостов дает возможность ребилда).
  • RAID5/6 (Erasure Coding). Поддерживается только “all-flash” конфигурация кластера. Позволяет кластеру отработать 1 (аналог RAID5), или 2 отказа (аналог RAID6). Минимальное количество хостов для отработки 1 отказа равно 4, для отработки 2-х отказов равно 6, рекомендуемые минимумы 5 и 7, соответственно, для возможности ребилда. Данный метод позволяет достичь значительно экономии дискового пространства в ущерб производительности, однако при “all-flash” конфигурации данной производительности может оказаться достаточно.

vSAN позволяет по-разному обеспечивать отказоустойчивость для различных ВМ или их дисков: в рамках одного хранилища можно для критичных к производительности ВМ привязать политику с зеркалированием, а для менее критичных ВМ — настроить Erasure Coding.

vSAN представляет из себя объектное хранилище[7], данные в котором хранятся в виде объектов, или “гибких контейнеров” (flexible containers), распределенных по всему кластеру. Управление хранением осуществляется с помощью политик Storage Policy Based Management. vSAN допускает изменение политики хранения без остановки ВМ, запуская в фоне процессы перераспределения. При распределении объектов по кластеру vSAN контролирует, чтобы компоненты корректно распределялись по разным узлам, или доменам отказа (fault domain).

Для организации Virtual SAN можно использовать:

  • Классическая схема: гипервизор VMware ESXi, установленный на физическом серверном железе, диски которого объединяются в Virtual SAN.
  • vSphere Virtual SAN Appliance. Идея заключается в том, что на базе гипервизора VMware ESXi создан OVA-темплейт виртуальной машины, который предназначен для разворачивания компонента vSAN на хосте ESXi.
  • vSphere Storage Appliance. Предоставляет возможности общего хранилища, с помощью которых малые и средние компании могут воспользоваться средствами обеспечения высокой доступности и автоматизации без использования дополнительного сетевого оборудования для хранения данных. Имеет ряд недостатков, таких как, отсутствует возможность масштабирования более 3-х хостов.

Решаемые задачи

  • Упрощение и ускорение инициализации ресурсов хранения и оптимизация управления ими с помощью единой консоли управления в средах vSphere и средств точного, ориентированного на ВМ управления уровнями обслуживания хранилища
  • Архитектура хранилища, объединенная с гипервизором, оптимизированная для флэш-накопителей и обеспечивающая чрезвычайно высокую производительность и быстрое реагирование
  • Балансировка ресурсов хранения с помощью автоматизированного процесса саморегуляции для обеспечения соответствия уровням обслуживания хранилища, назначенным виртуальным машинам
  • Интеграция с продуктами VMware
  • Низкий уровень начальных расходов — постепенное расширение с гибким линейным масштабированием производительности, ресурсов и издержек
  • Существенное снижение совокупной стоимости владения (до 50%)
  • Техническая поддержка со стороны VMware и основных OEM-поставщиков[8] серверных решений.

Пример работы

Поскольку возможности Virtual SAN достаточно многогранны, рассмотрим один из актуальных сценариев: конфигурации кластера хранилища VMware Virtual SAN 6.1 для удаленного офиса. Процедура достаточно простая. Для первоначальных шагов необходимо переключиться в консоль управления VMware vSphere Web Client и запустить процесс добавления двух физически доступных хостов в кластер (см. рисунок 1):

Рисунок 1 - Перемещение выбранных хостов в кластер

При перемещении хостов в кластер в окне Move Host into This Cluster необходимо определить, что именно вы хотите сделать с виртуальными машинами и пулом ресурсов. Возможен следующий вариант: поместить все виртуальные машины хоста в корневой пул кластера или создать новый пул. В приведенном примере оставляем значение по умолчанию. Далее предлагаем рассмотреть, как добавляется диск, используемый в качестве хранилища. Для этого следует зайти в свойства кластера, выбрать закладку Manage и выполнить редактирование настроек как показано на рисунке. Есть два варианта добавления диска: ручной и автоматический (рисунок 2):

Рисунок 2 - Редактирование параметров Virtual SAN

Далее переходим к конфигурации расширяемого кластера VSAN, для этого необходимо перейти в закладку Fault Domains. Первоначально необходимо настроить домены отказа, обозначив предпочтительный, первичный (Preferred fault domain) и вторичный домены отказа, задав каждому из них имена и закрепив за каждым соответствующий хост или набор хостов (рисунок 3):

Рисунок 3 - Настройка VSAN-кластера

Дальше предлагается настроить Witness Host, который будет определять и дифференцировать вышедший из строя узел. В окне Select a witness host необходимо выбрать узел, который будет хранить все Witness-компоненты VSAN-кластера (рисунок 4):

Рисунок 4 - Определение диск-группы

В окне Ready to complete следует проверить заданные параметры и, если все верно, завершить работу мастера. Теперь, когда настроена основная конфигурация, самое время выполнить проверку функциональности. Для этого создадим новую виртуальную машину и посмотрим на ее физическое расположение. В контекстном меню кластера выбираем опцию New Virtual Machine и создаем новую виртуальную машину. Используем политику VM Storage, заданную по умолчанию (рисунок 5):

Рисунок 5 - Обзор политики хранилища

После того как виртуальная машина была успешно развернута, проверим, где располагаются ее компоненты. В закладке Physical Disk Placement видно, что компоненты виртуальной машины разнесены должным образом согласно выполненной конфигурации (рисунок 6):

Рисунок 6 - Проверка «разнесенности» виртуальной машины

Преимущества и недостатки vSAN

Преимущества

Сравнивая vSAN с традиционными внешними СХД следует отметить, что:[Источник 3]

  • vSAN не требует организации внешнего хранилища и выделенной сети хранения;
  • vSAN не требует нарезки LUN-ов[9] и файловых шар[10] , презентования их хостам и связанной с этим настройки сетевого взаимодействия; после активации vSAN сразу становится доступной всем хостам кластера;
  • Передача данных vSAN осуществляется по собственному проприетарному протоколу; стандартные протоколы SAN/NAS (FC, iSCSI, NFS) для организации и работы vSAN не нужны;
  • Не нужен выделенный администратор СХД; настройка и сопровождение vSAN осуществляется администратором vSphere.

Недостатки

vSAN также имеет ряд недостатков по сравнению с другими хранилищами:[Источник 4]

  • vSphere 6.0

Для использования VSAN 6 вы должны также использовать VMware vSphere 6. Нельзя использовать VSAN 6 на, например, vSphere 5.5U2. Однако не все готовы, или могут, прямо вот так, сейчас, перейти на новую vSphere. Тут и вопросы совместимости, и факт того, что из HCL vSphere 6 пропало множество популярных систем, да и просто, для многих компаний такое обновление затратно по времени и усилиям. Но — если вы не хотите мириться с многочисленными недостатками VSAN 5 — готовьтесь к переходу на vSphere 6, и никак иначе.

  • Функциональная бедность

VSAN использует network RAID (а не распределенное хранение, как у Nutanix), со всеми присущими ему минусами. Он использует SSD как кэш, а не как storage tier (это значит, что емкость SSD не прибавляется к емкости хранения HDD, и не увеличивает ее, как увеличивает тиринг у Nutanix). Там отсутствует поддержка VAAI, Shadow Clones, меньше эффективная емкость SSD (всего 600GB write buffer максимум). Снэпшоты по-прежнему приводят к существенному (меньшему, чем в v5, но все равно весьма заметному) падению производительности. Также явно плохо реализована изоляция задач (проблема «шумного соседа») в рамках одного кластера, ресурсоемкая задача может сильно повлиять на работу других VM того же кластера.

  • Доступ к данным через сеть/отсутствие Data Locality

Важная особенность VSAN в том, что доступ к данным штатным образом осуществлятся через 10G сеть. Данные пишутся и читаются через сеть и коммутатор в нормальном, рабочем режиме (а не только при нештатной недоступности данных локально, как у Nutanix), что может вести к повышенному времени задержек и перегрузке «межнодовой» 10G-магистрали, а также меньшей надежности.

Проектирование VSAN

Относительная простота развертывания отнюдь не отменяет тщательного проектирования архитектуры VSAN. Вот несколько моментов, на которых стоит остановиться подробнее:[Источник 5]

  1. Совместимость с аппаратным обеспечением. Хотя VSAN и дает определенную свободу в выборе «железа», имеет смысл оставаться в рамках списка гарантированно совместимого с VMware VSAN оборудования. Так не придется наугад подбирать совместимые контроллеры, адаптеры и пр.
  2. Сеть. В конфигурации с VSAN ВМ может работать в одном месте, а храниться – в другом. Это предъявляет достаточно высокие требования к сети: у вас должна быть как минимум 10 GB сеть.
  3. Производительность дисковых контроллеров. Дисковый контроллер должен обеспечивать объемный буфер для большой очереди команд. Нагрузка на него будет значительная: контроллер будет отдавать данные, нужные не только этому серверу, но и всему кластеру. Например, при восстановлении выбывшей дисковой группы на новую группу нужно записать большой объем данных за короткое время. Скорость записи как раз и будет зависеть от производительности контроллера.
  4. Объем дисков. В данной ситуации больше не означает лучше. Скорее наоборот. Хотя сейчас доступны диски по 4, 6 ТБ, VSAN лучше строить из дисков объемом 1 ТБ. Давайте представим аварийную ситуацию, когда в кэш ничего не попадает (замена «полетевшей» дисковой группы, бэкап или восстанавление бэкапа): 6 ТБ диски будут восстанавливаться в 6 раз дольше, чем 1 ТБ диски (если отталкиватьcя от отношения скорости чтения к объему хранимых данных – IOPS/GB).
  5. Соотношение объема SSD к объему жесткого диска. Оно будет напрямую влиять на итоговую производительность дисковой группы: чем больше емкость SSD (чем больше данных будет в кэше), тем выше производительность. В CloudLITE для кэширования используются PCIe флеш-карты — они обладают меньшими задержками по сравнению с SSD. Кстати, в VSAN версии 6.0 поддерживаются дисковые группы, состоящие только из SSD.
  6. Соотношение вычислительных мощностей к дисковому пространству. При проектировании VSAN нужно все тщательно просчитывать: соотношение процессоров, памяти и количество дисковых групп, а также рассчитать, в каком соотношении наращивать вычислительные мощности, чтобы это было экономически выгодно.

При работающем решении уже нельзя будет на лету добавить дискового пространства под VSAN (storage node), не добавив при этом нового сервера, а значит процессоров и памяти. Вариант, когда сервер используется только в качестве хранилища (т. е. вычислительный узел этого сервера простаивает), возможен, но экономически невыгоден: фактически это возврат к традиционной конфигурации и отказ от преимуществ конвергентного решения.

Примечания

Источники

  1. vSAN // Официальный сайт VMware. [2018]. Дата обновления: 16.01.2019. URL: https://www.vmware.com/ru/products/vsan.html (дата обращения: 16.01.2019)
  2. Развертывание VMware Virtual SAN // A Medium Corporation. [2017]. Дата обновления: 16.01.2019. URL: https://medium.com/@alexander.bazhenov/%D1%80%D0%B0%D0%B7%D0%B2%D0%B5%D1%80%D1%82%D1%8B%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-vmware-virtual-san-1b8be790fbb3 (дата обращения: 16.01.2019)
  3. Теоретические основы VMware Virtual SAN // Habr. [2017]. Дата обновления: 16.01.2019. URL: https://habr.com/ru/post/318980/ (дата обращения: 16.01.2019)
  4. Nutanix или VMware VSAN? Критерии выбора // Nutanix — гиперконвергенция и web-scale. [2015]. Дата обновления: 16.01.2019. URL: http://blog.in-a-nutshell.ru/nutanix-or-vsan/ (дата обращения: 16.01.2019)
  5. VMware Virtual SAN (VSAN): зачем он вам и как его готовить // Habr. [2015]. Дата обновления: 16.01.2019. URL: https://habr.com/ru/company/dataline/blog/258059/ (дата обращения: 16.01.2019)