Русский
Русский
English
Статистика
Реклама

СХД, которая не устаревает. Никогда

image

Поначалу история звучит довольно просто: СХД хорошо работает три года на расширенной гарантии, относительно нормально живёт четвёртый, а на пятый покупается новая вместо устаревшей. Вендоры выжимают из вас деньги повышением стоимости поддержки и всякими платными фичами вроде поддержки VDI. Можно поломать эту схему? Наверное, да.

Компания вышла на рынок с интригующим предложением: железяка всегда работает, всегда делает это быстро, стоимость поддержки каждый год одна и та же, все фичи доступны сразу. Ну то есть просто взяли коробку и время от времени меняют в ней комплектующие так, что они устаревают примерно со скоростью замены. Раз в три года обновляются контроллеры, есть возможность замены старых дисков на более современные, т. е. занимаемое СХД в стойке место может не только расти, но и уменьшаться, при этом объём и производительность увеличиваются.

Собственно, первое, что вы видите в стойке это ручки с названием модели, за которые можно и нужно дёргать контроллеры из массива.

image

Делается это без выключения, наживую, и запас производительности такой, чтобы банковские системы не тормозили во время замены. Чтобы так получилось, понадобилось написать собственную файловую систему (точнее, аналог RAID), собрать внутри кластер и сделать ещё пару улучшений, заодно выкидывая оверхед, доставшийся от жёстких дисков.

Давайте посмотрим, что получилось и как получилось. Начнём с архитектуры.

Для начала процедура работы с массивом не предусматривает кнопок питания. Совсем. Не понадобится. Для выключения достаточно просто выдернуть кабели из PDU.

image

Архитектура Pure Storage


Компания начинала с того, что разработала с нуля очень хорошую архитектуру, заточенную под флеш (c 2017 года NVMe), и эффективные алгоритмы дедупликации и компрессии данных. Расчёт был такой: на рынке тогда были массивы из жёстких дисков, гибридные решения и SSD all-flash. Флешовые были дорогие, а дисковые медленные. Соответственно, они ворвались в конкурентное окружение с флешовыми массивами по цене владения дисковых.

image

Сделали вот что:

  1. Написали собственную ОС для дисков. Главная особенность быстрое сжатие данных перед записью, а потом постпроцессинг с мощным дедупом, который позволяет утрамбовать их ещё плотнее и точнее.
  2. Взяли только флешовые диски (сейчас это вообще строго NVMе) и мощное железо для вычислений.

Первые внедрения были под VDI-среды, поскольку данные там очень хорошо сжимаются. Алгоритмы дедупликации и сжатия давали выигрыш в шестьдевять раз по используемому месту, то есть при всех преимуществах all-flash скидывали цены примерно на порядок. Плюс подкупала экономическая модель: фиксированная стоимость на поддержку и возможность не менять железку. Тогда я увидел первые замены двух стоек на трёх или шестиюнитовые исполнения, но всё ещё не верил, что эта железяка будет использоваться где-то за пределами VDI.

И тут LinkedIn начал хранить на этих железках. Подключился AT&T. Топ банков и телекомов в США тоже закупил в прод.

Оказалось, алгоритмы сжатия достаточно хорошо подходят для сред разработки и тестирования. После замены SSD на NVME внезапно началась конкуренция в обычных транзакционных базах данных в банковском сегменте. Потому что массив получался быстрым и надёжным из-за своей архитектуры в любой момент можем потерять два любых флеш-модуля. Потом вышел флеш-массив на более дешёвых чипах (QLC) со временем отклика 24 мс, а не 1 мс как в топовых моделях, и я начал наблюдать вынос тех же VNX и Compellent. Стало понятно, что железка вполне себе конкурентоспособная.

Естественно, стоимость ТБ будет по-прежнему высокой там, где есть несжимаемые данные: это шифрование, хранение архивов, видеопотоки (видеонаблюдение) и библиотеки изображений, но иногда и такие внедрения случаются, когда клиенту требуется большая производительность. Знаю случай, когда сжали видео (казалось бы, сжатые данные) дополнительно на 10 %.

Но даже для обычных баз данных оказалось вполне рабочей по цене за гигабайт.

И вот тут-то начала подкупать модель вечнозелёной СХД.

Постоянный апгрейд


За пять лет в железке из старого остаётся только шасси и блоки питания, по сути. Можно переезжать рывками с переносами, а можно менять комплектующие как в кластере. Собственно, это и есть кластер, только собранный в одной трёхюнитовой (или шестиюнитовой) коробке. Железо делали с нуля для себя. Сначала давайте посмотрим на архитектуру, а потом перейдём к тому, почему удобно менять её по кускам.

image

Интересные решения такие:

  • Вычислительная мощность всегда в два раза избыточная: это нужно для замены контроллера без деградации производительности. При этом на фронте работают оба контроллера, а на бэкенде для записи на флеш-модули используется один контроллер.
  • RAID-массив заложен на уровне ОС контроллеров, он N + 2, то есть можно без остановки вытаскивать два любых диска. Что самое смешное, как вытаскиваешь можно поменять их местами и воткнуть обратно, и всё продолжит работать. Это я на тестах проверил.
  • Поскольку дисков N + 2, всегда можно восстанавливать данные, используя наименее занятые диски. То есть если данные хранятся на пяти дисках, то достаточно трёх из них для полноценного чтения. И RAID, собственно, читает с трёх дисков, потому что восстановить данные, используя процессорную мощность второго контроллера (который стоит в запасе фактически) быстрее, чем прочесть полный набор.
  • И можно выбирать для чтения наименее занятые диски! То есть если в нашем примере данные на пяти дисках, то мы будем читать с тех, куда не идёт запись. Система приоритетов тоже на уровне ОС контроллера, и это какая-то чёртова магия.
  • Как вы помните, кэша контроллера нет! Есть буфер на запись, установленный отдельно в шасси, он маленький (несколько ГБ), и он задействуется доли секунды во время онлайн-сжатия данных. Защищён он, кстати, большими конденсаторами, которые позволяют успеть записать всё из буфера при отключении питания. Это я тоже несколько раз проверил. Буфер защищён зеркалированием двойным, там четыре модуля в RAID 10.
  • Вместо кэша контроллера на чтение сами NVMe-диски, на запись модули NVRAM. Дополнительно возможна установка модулей Optane. Архитектура не похожа на мидрейндж не зеркалирует кэш, нет классического кэша (но есть SCM-память), нет накладных расходов на это.
  • Вместо кнопки питания просто гнездо кабеля. Если его вдруг нужно куда-то перевозить, то есть процедура выключения, но можно просто дёрнуть кабель. Страшно, но работает.
  • На первичной записи в буфере лёгкая компрессия примерно уровня 3:1, дальше данные пишутся на диск и потом на постпроцессинге прогоняются тяжёлыми алгоритмами и дедупом. Гранулярность блока 512 байт при том, что норма в индустрии 8 КБ. Если блоки повторяются они плавающие, то есть на повторах границы раздвигаются. Это даёт лучшие коэффициенты сжатия по сравнению с другими вендорами. Старые архитектуры заточены на HDD, новые же позволяют менять время процессоров на более плотную упаковку.
  • Приложение может прозрачно переезжать без переключения томов на другие такие же устройства (это для удалённой репликации). Весь софт входит в базовую поставку, апдейты приходят в виде обновлений прошивки.

image

Но компании оказалось мало собрать свою архитектуру и написать к ней фактически серверную ОС. Они залезли ещё в низкий уровень самих флеш-чипов и выпустили свои. Но при этом совместимые со стандартами. Сверху интерфейс NVMe, внутри чипы своей разработки.

image

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

image

Если в обычной дисковой полке каждый SSD или NVMe-модуль это маленький чёрный ящик для контроллера, то тут он видит вообще всё. Понадобилось это при решении проблемы большого адресуемого объёма, потому что проблемы flash-массивов всё те же: управление износом, сбор мусора и т. п. Это делается прошивкой контроллеров.

image

image

То есть, как видите, пазл складывается так: дешёвое место достигается за счёт обмена на производительность. Высокая производительность означает постоянное избыточное число процессоров и RAID. Избыточное число процессоров означает мощный постпроцессинг сжатия и возможность терять любую часть без потери производительности. RAID сочетается с этой идеей. То есть все эти преимущества чуть ли не бесплатно дают фишку вынимать любую часть наживую.

Дальше приходит маркетинг и предлагает громкое заявление нестареющая СХД. Фиксированный ценник поддержки, включено всё ПО, никаких дополнительных бандлов. За счёт отдельного уровня сервиса можно делать замену контроллеров бесплатно раз в три года (Evergreen GOLD-уровень). Есть апгрейды по мере повышения требований: я видел, как XR2 поменяли на XR3. Поработал год, потом пришёл бизнес, сказал, нам нужно новое. У вендора есть вариант сдать старые контроллеры трейд-ином и получить новые раньше времени. Хороший апгрейд. Контроллеры просто меняются по одному.

Апгрейд дисков интереснее. Приходит сервисная полка дополнительная с дисками с завода. На полку мигрируются данные без остановки все данные с тех носителей, что подлежат замене. Полка работает с основными контроллерами (у неё есть и свои). Фактически это юнит-датапак, временное хранилище. Когда миграция кончается, диски помечаются как ОК, инженер их вынимает из шасси. На место старых вставляет новые и запускает обратную миграцию. Это занимает день и больше, но приложения и сервера не замечают. Поскольку эти СХД часто стоят у сервис-провайдеров, есть возможность одновременной замены и апгрейда: в рамках Evergreen GOLD можно старые диски поменять на несколько новых ёмких и быстрых, плюс докупить таких же.

Так, хорош заливать, слабое место всегда компрессия!


Это мы привыкли слышать от пользователей дисковых СХД. Там история стандартная функционал не предусматривался при разработке архитектуры включили сжатие, приложение остановилось, дальше потратили много времени на то, чтобы всё заново восстановить под ругань руководства. Как уже говорили, в Pure Storage пошли другим путём дедупликацию с компрессией сделали базовым неотключаемым функционалом. Результат сейчас Pure Storage cтоит более чем в 15 тысячах инсталляциях. Во время инициализации можно поставить галочку давать обезличенную статистику, и тогда ваша СХД будет отправлять в систему мониторинга Pure 1. Гарантия для баз данных, например, 3,5:1. Есть конкретные особенности тот же VDI от 7:1 и выше. Массивы продаются не по сырому месту, а по полезной ёмкости с гарантией допоставки, то есть если у вас при миграции окажется уровень сжатия ниже гарантируемого, вендор ставит больше физических дисков бесплатно. Вендор говорит, что диски доставляются в примерно 9-10 % случаях, и ошибка редко превышает пару накопителей. В России я такое ещё не видел, коэффициенты совпадали на всех инсталляциях кроме случая, когда вскрываются шифрованные данные, про которые заказчик не сказал, что они шифрованные.

Из-за особенностей снапшотов тестовые среды получаются очень эффективными. Есть пример клиента, который делал сайзинг 7:1 в расчёте, а получил 14 с копейками к одному.

Вендор заявляет следующее:

  • 3,5:1 базы данных (Oracle, MS SQL).
  • 4,2:1 виртуализация серверов (VMware, Hyper-V).
  • 7,1:1 VDI (Citrix, VMware).
  • 5:1 средний коэффициент по всей инсталлированной базе.

Также из интересного функционала: автоматизация и интеграция с модными молодёжными штуками типа Kubernetes, а также полная поддержка VMware vvol. Здесь всё просто большая часть западных клиентов Pure Storage облачные провайдеры типа ServiceNow, кейс по которым, кстати, выложен на сайте. Они привыкли всё максимально автоматизировать.

Итого


Получилась интересная штука, которая сначала выглядит странно, а потом всё радостнее и радостнее. Пять лет в Гартнере:

image

Конечно, экономическая модель Evergreen не такая, что прямо дёшево-дёшево, но от ряда геморроев спасает и при расчёте стоимости владения на несколько лет выглядит вполне конкурентоспособно.

P.S. По ссылке доступен онлайн-митап: Системы хранения данных по подписке: правда или вымысел.
Источник: habr.com
К списку статей
Опубликовано: 17.09.2020 10:15:44
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Блог компании крок

It-инфраструктура

Хранение данных

Схд

Evergreen

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru