Подкоп Microsoft под рынок систем хранения данных

25 февраль, 2014 - 16:08Андрій Тищенко

Что бы мы ни делали, объемы сохраняемых данных растут, и с ними — спрос на системы хранения, адаптируемые под природу данных и окружение. Интерес к складированию и сортировке информационного мусора, с быстрой доставкой ценных вытяжек потребителю, фокусируется не столько на самих устройствах хранения, сколько на управляющих ими программных средствах. А где есть массовые приложения — туда идет Microsoft.

Ход кластером

Дело было перед выходом Windows Server 2012. Microsoft провела ряд публичных показов с необычно высоким содержанием «железа». Прежним презентациям обычно хватало проекторов с экранами. На этот раз для отражения новых представлений о месте и роли серверной ОС в инфраструктуре предприятия были мобилизованы с пол-десятка ODM’ов со своими кластерными решениями.

Основное внимание привлек cluster-in-a-box (CIB) Quanta CB220. В монокорпусном 2U-исполнении поместились массив на 12 дисков фронтального доступа и две серверные ноды с тыла. Microsoft представляла его как отказоустойчивый кластер файловых серверов с разделяемым дисковым доступом Shared DAS под управлением Windows Storage Server 2012 Standard Edition.

Подкоп Microsoft под рынок систем хранения данных

CIB был хорошо оснащен: два процессора Intel Xeon E5 2600 в каждой ноде, SAS SSD корпоративного уровня в разделяемом массиве и Infiniband-адаптеры для включения кластера в окружение. С таким потенциалом производительности продукт был явно рассчитан на большее. Вспомнили о давнем интересе Microsoft ко встраиванию поддержки устройств прямого доступа DAS в приложения класса SQL или Exchange.

Со временем Fujitsu начала продавать CB220 как Primergy CX420 — уже как компактный кластер приложений под управлением Windows Server 2012. Объективно, двух узлов на процессорах Intel Xeon E5 2600 c общим хранилищем на 12 SAS-дисках достаточно для обслуживания серверной инфраструктуры большинства SMB. Fujitsu и подает его как «готовое решение для обеспечения непрерывности работы бизнес-приложений в компаниях среднего и малого бизнеса, пока обделенных выбором недорогих отказоустойчивых решений».

Подтянулись попутчики. LSI развернула пропаганду коммутируемого SAS — открытой инфраструктуры производительных серверов и хранилищ прямого (DAS, с низкими задержками) доступа. В сочетании с технологиями кластеризации Microsoft Windows Server 2012, Shared DAS обеспечивает mission-critical приложениям скоростной ввод-вывод данных и устойчивость к отказам. Сопоставимая по производительности инфраструктура на Fibre Channel или iSCSI обойдется заметно дороже. Об этом подробно написано в серии статей Коммутируемый SAS.

Для объединения серверов кластера с хранилищами Shared DAS JBOD в приложениях с высокой нагрузкой произвольного доступа LSI предлагает аппаратное решение Syncro CS. Это спаренные RAID-комплекты, где оба контроллера работают с единым дисковым пространством, синхронизируют транзакции и состояние кэш-памяти на узлах кластера — то есть, в каждый момент времени обеспечивают состоятельность данных. Автоматизация отработки отказов и набор сервисных процедур Syncro CS привычные, как у стандартных RAID-контроллеров.

Еще меньше по затратам кластеры, где узлы подключаются к общему JBOD с помощью SAS HBA, а управление хранением берет на себя операционная система. Windows Server 2012 — пример ОС с расширенными сервисными возможностями по работе с данными, включая их восстановление при отказе дисков, интеграцию общих томов в составе кластера, анализ обращений, оптимизацию производительности.

Windows Server 2012 и хранение данных

При проектировании Windows Server 2012 в Microsoft ставили задачу реализовать в серверной ОС такую функциональность, чтобы приложения уровня SQL Server или Hyper-V вышли на сопоставимый уровень производительности и надежности подсистемы хранения с теми, что дают специализированные СХД — но с использованием относительно недорогих, лишенных «интеллекта», дисковых массивов.

ОС получила файловую систему ReFS для управления большими распределенными массивами данных, обновленный протокол совместного файлового доступа SMB 3.0, организацию дополнительных сетевых путей между клиентом и сервером SMB Multichannel, службу дедупликации данных на файловом уровне, службу динамического изменения объема томов Thin Provisioning. На качественно новый уровень ОС вывел механизм Storage Spaces централизованного управления едиными виртуальными пулами физических накопителей, включая общие тома кластера CSV (Cluster Shared Volume).

Storage Spaces

Технология Storage Spaces лежит в основе работы с хранением данных Windows Server 2012. По выходу ОС ее воспринимали как «еще один программный RAID», посягательство Microsoft на рынок нетребовательных систем хранения — с целью перетягивания части ИТ-расходов в начальном сегменте серверов на программное обеспечение. Storage Spaces может больше. Сегодня она подбирается к возможностям аппаратных RAID-контроллеров и, вместе с остальной ОС — к территории сетей хранения SAN.

Во второй ревизии ОС Windows Server 2012 R2 у Storage Spaces появилась весомая прибавка в лице Automatic Tiering, Write-Back Cache, Dual Parity. Первые две технологии относятся к реализации автоматического многоуровневого хранения: внутри логических томов на смешанных наборах дисков SSD/HDD добавляются механизмы ускорения работы с данными. При конфигурировании Storage Spaces порция SSD назначается кэширующим уровнем массиву HDD. Automatic Tiering отслеживает предшествующие обращения к файлам и определяет, какие сегменты файлов стоит перенести на более быстрые носители (и переносит, по расписанию). Для Write-Back Cache назначается часть доступного пространства SSD для кэширования операций записи перед выгрузкой данных на HDD. Детализация (гранулирование) всего объема хранения с выбором подходящего устройства, основанная на потребностях и сценариях доступа, оптимизирует производительность ввода-вывода.

Изначально Storage Spaces обеспечивали избыточность двух типов: Mirror (зеркало, двух- или трехстороннее, напоминающие классические уровни RAID 1 и 1Е) и Parity (четность, пересчет контрольных сумм для восстановления данных, аналог RAID 5). Parity дает минимальный перерасход пространства, но и отказоустойчивость его невелика. Появившаяся в 2012R2 Dual Parity по своей сути напоминает RAID 6, устойчивый к отказам двух дисков. Поскольку вычисление дополнительной четности увеличивает затраты на запись (write penalty), Microsoft предлагает ограничиться использованием этой опции в архивах и хранилищах с преобладанием чтения.

Отказоустойчивый кластер под Windows Server 2012

High-Availability Cluster («кластер высокой доступности») — не то же самое, что Failover Cluster («отказоустойчивый кластер»). В кластере доступности сервис, оказываемый клиенту конкретным узлом, в случае нештатного выхода этого узла из строя, прервется. Сессии поднимутся на другом узле кластера и обслуживание клиентов продолжится, без вмешательства администратора. Но простой в обслуживании будет, пусть на короткое время. Потери клиента зависят от используемого сервиса и стадии сессии, на которой произошел отказ.

В Windows Server 2012 реализована технология Continuously Available File Shares (CAFS). Она расширяет на кластеры возможности Windows совместного использования файлов. В кластере, выполняющем роль файл-сервера, отказ узла не прерывает обслуживание клиента — файл продолжит отдавать другой узел кластера. CAFS использует возможности SMB 3.0 для размещения документов и поддержки приложений, задействуя SMB Scale-Out, SMB Direct, SMB Multichannel. В отказоустойчивом кластере под Windows Server 2012 серверы-узлы работают с данными томов общего доступа CSV (Cluster Shared Volumes).

Кластеризация под Windows Server 2012 описана в статье Кластеры «сделай сам». Если коротко, Storage Space и Failover Clustering дают эластичное, эффективное по стоимости решение высокой доступности. Его строительной основой является небольшой набор серверов, обычно 2-4, и хранилища разделяемого доступа Shared DAS JBOD — дисковые контейнеры (enclosures) с дублированным (dual path) доступом всех серверов ко всем дискам. В контейнерах стоит два независимых экспандера, диски SAS SSD/HDD c двухпортовым подключением, сдвоенные источники питания. Активной электроники и «интеллектуальных прошивок» в них нет, используются стандартные компоненты с массового рынка.

Таким образом, Windows Server 2012 поддерживает комплексное и полностью программируемое управление системами хранения данных, с администрированием в удаленном режиме. Унифицированный интерфейс дает единый механизм управления локальными томами и внешними подсистемами хранения. Средствами серверной платформы теперь можно создавать хранилища данных для критичных служб, таких как SQL, Exchange или Hyper-V, на основе открытых стандартов. Без единой точки отказа.

Microsoft вышла на важный рубеж, верстовой столб на дорожной карте. Уже видна цель — организация высокодоступной и масштабируемой инфраструктуры хранения со значительно более низкой стоимостью владения, чем на специализированных СХД.

Анатомия систем хранения

В ответственном хранении используются системы без единой точки отказа (Single Point of Failure, SPOF) — где диски собраны в RAID-массив, дублированы контроллеры, блоки питания и система вентиляции, а штатное ПО обрабатывает, незаметно для пользователя, отказы оборудования.

Стандартная система хранения состоит из четырех функциональных блоков: контроллеров front end, кэш-памяти, контроллеров back end и набора физических дисков.

Подкоп Microsoft под рынок систем хранения данных

Front end отвечает за подключение к хостам, реализацию транспортного протокола (FC, SAS, iSCSI), пересылку данных хостов в кэш-память и назад. Кэш-память увеличивает производительность, изолируя хосты от влияния механических задержек HDD. Back end подключен портами к соединительной плате (backplane) и через нее — к физическим дискам. Его RAID-контроллеры выполняют операции чтения и записи на диски, коррекцию ошибок и восстановление данных в соответствии с назначенным уровнем RAID. Два контроллера работают с общим набором физических дисков и страхуют друг друга. Могут балансировать нагрузку. Физические диски подключаются к бэкплейну. Средствами back end контроллеров диски разбиваются на RAID-группы и объединяются в логические тома, Logical Unit Numbers (LUNs).

СХД отличаются между собой фронтальным типом подключения, исполнением и производительностью контроллеров, реализацией RAID, набором служб, но почти все из них построены на стандартных дисках с интерфейсом SAS. Контроллеры и ПО уникальны для каждой СХД. Диски — нет. Косметические отличия прошивок дисков, особенности бэкплейнов, источников питания, схем охлаждения и конструктивных элементов не в счет.

А теперь представим в роли СХД тот самый cluster-in-a-box из позапрошлогодних презентаций Microsoft. Роль двух одноплатных контроллеров с кэш-памятью и логикой RAID в нем играют два сервера х86 — на стандартных процессорах, оперативной памяти, контроллерах на шине PCIe. Два узла собраны в кластер и управляются встроенными средствами ОС Windows Server 2012.

Подкоп Microsoft под рынок систем хранения данных

В инфраструктуру SAN серверы подключаются фронтальными контроллерами ввода-вывода на шине PCIe (FC, 1-10G, Infiniband). К набору физических дисков SAS серверы-узлы обращаются через сдвоенные каналы SAS HBA или SAS RAID — в точности как у промышленных СХД. Однако, применимость СХД ограничена не вариантами дисков, а стандартом и дизайном (проприетарных) контроллеров, их прошивками. Их производительность, совместимость, наборы реализованных служб достаточно жестко предопределены. В отличие от СХД, у кластера под Windows Server 2012 есть запас процессорной мощности и оперативной памяти, простор для выбора накопителей, а сервисам ОС позавидуют владельцы СХД среднего уровня (mid range), не говоря уже о начальном. Немаловажно, что ОС кластера — стандартная, компонентная база серверов и диски тоже.

Продолжаем. В дисковом отсеке кластера нет ничего, кроме самих накопителей, бэкплейнов, питания и вентиляции. Почему бы не вынести дисковое хозяйство в отдельный корпус SAS JBOD — благо коробок разного типоразмера на рынке много. Те же четыре соединения SAS c хостами, только теперь уже внешних, сохранят отказоустойчивую схему подключения JBOD — по два на каждый из двух экспандеров. Организовав отдельное жилье для дисков, ничто не мешает реализации двух серверных узлов в виде дискретных серверов (стандартных, «с полки»), с двухканальным SAS HBA или SAS RAID внешнего подключения JBOD в каждом.

Подкоп Microsoft под рынок систем хранения данных

Дальше — больше. Масштабируемость топологии SAS, связывающей серверы и SAS JBOD, логика работы ОС с томами общего доступа CSV позволяет множить серверы, JBOD’ы, вводить в инфраструктуру SAS-коммутаторы, зонировать хранение — расширять инфраструктуру под запросы приложений.

Подкоп Microsoft под рынок систем хранения данных

Важно помнить, что траты на специализированные СХД не избавляют от покупки серверных хостов для исполнения приложений и администрирования инфраструктуры. В кластерной реализации Windows Server 2012 хосты уже есть, и у них большой потенциал производительности. Даже если ошибся в оценках необходимой вычислительной мощности, поменять процессоры и добавить оперативной памяти в них много дешевле, чем поменять СХД на другую. Про выбор дисков и говорить нечего, владелец СХД всегда будет заложником ограничений производителя и его ценовой политики. В SAS JBOD ставится то, чего требуют приложения, а не производитель коробок. Комбинируя SSD и HDD, можно настраивать производительность ввода-вывода в широких пределах. Если не хватает возможностей программного RAID Windows Server 2012, в узлы всегда можно поставить LSI Syncro CS, аппаратные контроллеры для кластеров, с высоким уровнем производительности и автоматизации служебных операций.

Стоимость владения TCO складывается из капитальных и операционных затрат. Сравнение «СХД против кластера» по стартовым вложениям — не в пользу специализированных СХД, и разрыв тем больше, чем выше требования к производительности систем хранения. Разумеется, сопровождение кластерных решений под Windows 2012 требует навыков администрирования Windows. Но разве наличие СХД отменяет необходимость администрировать Windows? Нет — для получения высокой доступности все равно надо поднимать кластер. Кто в состоянии это сделать, тот справится и с кластерными службами ОС по управлению физическими томами дисков JBOD.

При оценке обязательств поставщиков по сервисным контрактам на оборудование не лишним будет вопрос-провокация. Кто окажется проворнее: уполномоченный сервис-центр диагностирует проблему и заменит вышедший из строя контроллер СХД, или администратор поднимет службы Windows на резервном сервере, импортировав мета-данные дисков RAID-массива?

Получится ли у Microsoft?

В обслуживании растущих объемов неструктурированных данных есть объективные тенденции:

  • Пересматриваются подходы к проектированию систем хранения, с приходом SSD.

  • Модель хранения строится под запросы приложений, гибкость конфигурирования становится ресурсом производительности.

  • Запас мощности современных процессоров позволяет реализовать на уровне операционных систем и их надстроек управление вводом-выводом и хранением данных: реализацию и восстановление RAID-массивов, многоуровневое кэширование, тонкую инициализацию, дедупликацию, компрессию, проверки состоятельности данных и т.д.

  • Масштабируемая архитектура SAS становится перспективной транспортной моделью связи серверов и хранилищ данных.

Microsoft — в тренде. У компании есть основания расширить свое присутствие на рынке доступных производительных и отказоустойчивых решений хранения — при наличии развитой экосистемы серверных приложений.