Software-defined storage. Варить или не варить? — KorP`s blog

Software-defined storage. Варить или не варить?

В попытке экономии на приобретаемом и обслуживаемом оборудовании, компании находятся в состоянии поиска новых технологических решений для удовлетворения собственных потребностей. Направление хранения данных является одним из наиболее востребованных направлений в этом плане, ввиду высокой стоимости классических систем хранения данных.
Технология SDS далеко не нова и начала развиваться ещё в начале 2000-х годов, но за все эти годы так пока и не смогла заменить классические СХД, как это предрекали в самом начале, да и основной бум развития данной технологии приходится лишь на последние годы.

Концепция данного решения крайне интересна и превлекательна:

  • Абстрагирование от аппаратной платформы
  • Отличная масштабируемость
  • Низкая цена решений
  • Упрощение инфраструктуры

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

И так, вернёмся к SDS. Условно их можно разделить на несколько категорий:

  • Классические SDS (CEPH, Red Hat Storage Server, EMC ScaleIO)
  • SDS на основе традиционных систем хранения (NetApp Data ONTAP Select, HP StoreVirtual VSA)
  • SDS в составе вычислительных комплексов (Vmware vSAN, Nutanix)

Так же стоит отметить, что некоторые вендоры предлагают свои решения как «All in one», так и только «софтверную» часть (Huawei, Nutanix, EMC). Это даёт некую гибкость в подборе решений, а так же возможность использования морально устаревшего «вычислительного» оборудования под менее ресурсоёмкие задачи хранения данных. Опять-таки одним из толчков к реализации программного хранилища стала, как раз-таки, постоянно растущая вычислительная способность ЦП которая далеко не всегда, даже на младших моделях процессоров, бывает востребована и зачастую — просто простаивает.
Ещё одной заслугой, технологии SDS стала возможность в некоторых классических СХД использования «виртуализации» дисковых массивов.

Крупные провайдеры услуг хранения, такие как Dropbox, Amazon, Google, Apple и др., давно уже поняли перспективность данного направления и располагают достаточным количеством ресурсов, для реализации этой технологии для собственных нужд.

Архитектурно, решения строятся по двум принипам: слабо связанные и распределённые, без общих элементов. Слабо связанные системы обеспечиваются транзакционность данных, а отказоустойчивость обеспечивается за счёт распределённых копий данных, а вот минусом данного решения можно считать большое количество коммуникаций между нодами, что в свою очередь негативно сказывается на скорости записи. Критичным местом в такой архитектуре является сеть передачи данных, по этому такие решения строятся обычно на основе Infiniband. По такому принципу построены решения VMware VSAN, HP StoreVirtual VSA, EMC ScaleIO, Nutanix.
Что же касается систем без общих элементов, то здесь идёт на одну ноду, а уже в последствии с некой периодичностью копируется на другие, для обеспечения отказоустойчивости. При этом записи не являются транзакционными. Это наиболее дешёвый подход к построение систем, по этому в основном использует Ethernet. Данная архитектура наиболее удобна с точки зрения масштабируемости. Наиболее яркой представитель: Ceph.

Сравнение возможностей SDS решений.

 Vmware vSANHP StoreVirtual VSANetApp DataONTAP SelectEMC ScaleIOHuawei FusionStorageStarWind Virtual SANDatacore SANsymphony
Поддерживаемые гипервизорыESXiESXi, Hyper-V, KVMESXiESXi, Hyper-V, KVM, XenESXiESXi, Hyper-V, KVM, XenESXi, Hyper-V, KVM
Удаленная асинхронная репликацияДа, через vSphere ReplicationДаДаДаНетДаДа
Мгновенные снимкиДаЧтение/ЗаписьЧтение/ЗаписьЧтение/ЗаписьЧтениеЧтение/ЗаписьЧтение/Запись
Шифрование данныхvSphere 6.5 - шифрование vmdk в vSphere на уровне vmdk, vSAN - на уровне всего datastore - public betaНетНетДаНетНетДа
ДедупликацияПри перемещении из кэша на capacity tierНетДаНетНетДаДа
СжатиеТолько на All FalshНетДаНетНетНетДа
Flash-CacheДа, обязательное требованиеДаДаДаДаДаДа (RAM)
TieringНетДаНетНетНетНетДа
VAAIvSAN использует внутреннюю интеграциюДаДаДаДаДаДа
VASAДаДаДаДаНетДаДа
VVOLНетНетДаНетНетTechical PreviewДа
СнэпшотыДаДаДаДаДаДаДа
Автоматическая балансировка нагрузки между узламиДаНетНетНетНетДаДа
QoSIOPS Limit (отдельный от SIOC)ДаНетДаНетДаДа
Файловый доступНетНетCIFS, NFSNFSNFSSMB3, NFSSMB3, CIFS, NFS
Схема лицензированияпо CPU, по ВМ (ROBO, до 25 на площадку), по конкурентным подключениям (для VDI)За узел. Ограничение по объему на узел.За узел.По объёму.По объёму полезного пространства.По объёму/узлам.За узел + TB полезной емкости
ОсобенностиVirtual Tape Library (VTL)Виртуализация физических СХД (SAN, NAS, DAS)
Презентация виртуальных дисков любым внешним хостам / гипервизорам
RWA - преобразование случайно записи в последовательную
Parallel IO - параллельная обработка IO запросов, включает все доступные ядра CPU

Конечно Nutanix немного выбивается из общей массы сравниваемых продуктов, но SDS это всё-таки достаточно большая часть гиперконвергентных решений, о которых я ещё буду говорить в дальнейшем. Да и сама компания Nutanix предлагала нам свои решения в том числе и под SDS.

Это далеко не полный список производителей SDS решений на рынке. Почти у каждого «железного» вендора на данный момент в портфеле имеется и SDS решение той или иной «продвинутости», но помимо этого на рынке есть и немалое количество компаний, которые занимаются именно SDS (как в только софтверной части, так и all-in-one решениями), в том числе имеются и продукты с открытым исходным кодом. Думаю с большой долей уверенности можно назвать решение от компании StarWind одним из лидеров рынка, как по его возможностям, так и по модели лицензирования, которая в итоге получается наиболее привлекательной в пересчёте на 1Гб данных.
В любом случае, пока это наша лишь первая теоретическая часть по SDS решениям, и конечно без практического тестирования производительности, отказоустойчивости, восстановления после сбоев, расширяемости и тд картина не полная. К сожалению на проведение этих испытаний требуется на много больше времени, по этому данный материал пришлось разделить на 2 части.

11 комментариев

  • Привет. Поправлю про Nutanix.
    Файловый доступ: если мы говорим про именно SDS-функциональность, то сейчас в Acropolis File Service (AFS) у Nutanix «наружу», внешним потребителям, отдается SMB 2.1, и вскоре, вероятно, будет NFS. «Внутри», как внутренний сервис узлов, есть SMB 3.0 и NFS, но это уже не «SDS-функциональность», а внутренние фичи.
    Кроме этого QoS у Nutanix как такового нет. Странно, но факт 🙂 Обусловлено это тем, что в принятой в Nutanix архитектуре нет большой нужды в QoS, так как в пределах кластера влияние нагрузок минимально. Но, как факт, QoS как такового — нет.

  • В StarWind нет таеринга, есть кеширование — L1 (память) и L2 (флеш).
    И в ScaleIO таеринга нет. Хотя в документации слово упоминается. Но возможность создавать пулы на разных дисках — это не таеринг 🙂

  • Хорошая статья.
    Дополню, но только для общей картины, по Datacore:
    1. Гипервизоры — любые (не только Hyper-V) в т.ч., RH / Oracle
    2. Асинхронная репликация + синхронная.
    3. Мгновенные снимки + Continious Data Protection до 14 дней.
    4. КЭШ — RAM важно что на чтение и запись до 8TB
    5. Тирринг — в режиме real time, до 15 уровней.
    6. Файловый доступ + SMB 3.0 + Блочные.
    7. Схема лицензирования на узел + TB полезной емкости
    8. RWA — преобразование случайно записи в последовательную
    9. Parallel IO — параллельная обработка IO запросов, включает все доступные ядра CPU.
    10. Виртуализация любых дисковых подсистем SAN, NAS, DAS.
    11. Презентация виртуальных дисков любым внешним хостам / гипервизорам.

    Добавил бы колонку кол-во копий данных, поддержка VAAI APIs и VVOLs (ESX встречается сегодня чаще всего, быть может это важно) и обеспечение высокой доступности, т.к. у Nutanix с этим, к примеру все очень красиво. Возможно, не помешает добавить наличие файловой системы, опять же как у Nutanix NDFS.

    Про Scale IO читал, что внешние СХД не все виртуализирует, ранее диски внешним хостам не выдавал, только тем кто участвует в самом vSAN Scal IO. Поправьте пожалуйста.

  • vSAN:
    Асинхронная репликация — да, через vSphere Replication (RPO=5 минут)
    Мгновенные снимки — да, расширение стандартных снепшотов vSphere
    Шифрование данных — тут нужна детализация для всех решений, т.к. шифрование бывает разное. Для vSAN — SED диски да, в рамках RPQ (хотя в России SED все равно не актуальны), vSphere 6.5 — шифрование vmdk в vSphere на уровне vmdk, vSAN — на уровне всего datastore — public beta
    VAAI — нет, vSAN использует внутреннюю интеграцию
    VVOL — vSAN нет (хотя, если мы говорим, про управление через SPBM, то да), Nutanix — нет, Starwind — пока нет, Techical Preview
    QoS — IOPS Limit (отдельный от SIOC)
    Лицензирование — по CPU, по ВМ (ROBO, до 25 на площадку), по конкурентным подключениям (для VDI)

    P.S. А где SimpliVity?

  • Про SimpliVity есть данная ветка:
    http://blog.korphome.ru/2016/10/31/%D1%81%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B3%D0%B8%D0%BF%D0%B5%D1%80%D0%BA%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D0%B3%D0%B5%D0%BD%D1%82%D0%BD%D1%8B%D1%85-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8/

    В целом, в данной таблице ни Nutnanix, ни Simplivity быть не должно. Т.к. сравниваются SDS решения, софтовые. А не готовые гиперконвергентные коробки, в которых SDS лишь одна из составляющих.

    • В целом — я готов с вами согласиться, но с другой стороны — мы же не обсуждаем стоимость решений, TCO и тд, да и сравниваем не всю коробку, а лишь возможности по части стораджа, так что почему бы и нет? Там где сравнивают возможности гиперконвергентных коробок — там всё же не только про sds идёт речь и сравнение. Учитывая что SDS это неотъемлемая часть данных решений — я посчитал логичным включение их в данное сравнение

      • В целом соглашусь, но с другой стороны, в гиперконвергенции во многом концепция vSAN, то есть все функциональные прелести, к примеру, Nutanix работают только с дисками самого Nutanix. Я так понимаю, к нему же нельзя подцепить просто любую другую хранилку и распространить функционал на нее?

Добавить комментарий

11.07.2016

Posted In: Основная

Метки: , , , , , , , , ,

11 комментариев