Коммутируемый SAS. Часть 3. Применение

18 сентябрь, 2013 - 14:52Юрий Жуковский

Технологии становятся привлекательными для массового рынка, когда находятся на стыке интересов и привлекают многих игроков — в мобильной экономике успешны сторонники открытых решений на стандартных компонентах. Руководствуясь принципом бережливости, компании сдержанно относятся к долгосрочным вложениям и ценят не так продуктовую составляющую инфраструктурных проектов, как свободу маневра.

Малый бизнес многого хочет

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

Microsoft Windows Server 2012 как поворотная точка

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

В Windows Server 2012 появился компонент Storage Spaces, в котором Microsoft воплотила принцип «Пространств» (spaces) — ввела уровень абстракций применительно к хранению данных. Пользователь работает с виртуальными хранилищами — «Пространствами». Лежащие в основе «Пространств» физические носители объединены в «Пулы» (pools), управляются отдельно и скрыты. Windows берет на себя в том числе традиционные функции RAID-контроллеров: восстановление данных при отказе дисков за счет избыточности, тонкую подготовку (thin provisioning) и многое другое. Реализована интеграция с общими томами кластера Cluster Shared Volumes (CSV). Структура хранилища в кластере может быть зеркальной (данные дублируются на дополнительных дисках, аналог RAID 1) либо с тройным резервированием.

Ценность Storage Spaces — в том, что технология поддерживает совместное использование устройств Serial Attached SCSI (SAS). В кластере серверов под управлением Windows Server 2012 пространство Storage Spaces на накопителях SAS будет доступно одновременно всем узлам в кластере и может применяться как часть томов CSV.

Как это работает

Чтобы понять, как работает Storage Spaces поверх аппаратного слоя SAS, необходимо помнить, что в сегодняшней реализации стандарт SAS 2.0 — это сеть. В ней все инициаторы могут видеть все таргеты в пределах сети (либо в пределах своей зоны — если используется зонирование). При использовании SAS-дисков, двухканальных контроллеров и бэкплейнов, а на более высоком уровне — сдвоенных коммутаторов SAS, получаем полностью дублированную аппаратную часть отказоустойчивой (без единой точки отказа) и масштабируемую (можно подключать сотни узлов) SAS SAN.

Функции арбитража в этой сети выполняет Window Server 2012. Технология Scale-Out File Server позволяет создать файловый кластер в режиме Active-Active. Все узлы кластера в этом режиме способны обрабатывать запросы по протоколу SMB 3.0 к общим папкам и файлам, расположенным на томах CSV. SMB Scale-Out, вместе с технологией прозрачной отработки отказа SMB Transparent Failover, позволяет выстраивать горизонтально масштабируемые, отказоустойчивые файловые хранилища для различных серверных приложений. Под режимом Active-Active файлового кластера серверов под Windows Server 2012 понимается одновременный доступ к общему «пространству» именно узлов кластера, а не одновременный доступ 2-х узлов к одному и тому же файлу на редактирование.

Для построения отказоустойчивого файлового кластера Active-Active под управлением Windows Server 2012, как минимум, нужны:

  • два вычислительных узла с Windows Server 2012;

  • сеть хранения данных на SAS, в минимальном варианте — разделяемый SAS JBOD (Shared DAS)

  • одна и более общих папок с признаком «continuous availability», созданных на CSV-томе;

  • клиент под управлением Windows Server 2012 или Windows 8, которые поддерживают SMB 3.0 (для клиентов SMB 2.0 не поддерживается механизм прозрачной отработки отказа).

Отказоустойчивые кластеры можно было создавать и до Windows Server 2012, и без Windows (например, под управлением ZFS — файловой системы, когда-то созданной Sun Microsystems в рамках проекта OpenSolaris). Их можно строить на стандартных компонентах и даже без выделенных СХД. Но именно с появлением разделяемых хранилищ SAS, стало возможным делать отказоустойчивые структуры высокопроизводительными и наращиваемыми.

Рассмотрим три простых сценария отказоустойчивых кластеров на основе разделяемых SAS JBOD: два под Windows и один под ZFS.

Сценарий 1. «Доступная реализация». Отказоустойчивое хранилище данных под управлением Windows Storage Server 2012

Коммутируемый SAS. Часть 3. Применение

Отказоустойчивый кластер для надежного хранения почтовых баз данных, образов виртуальных машин, папок пользователей строится средствами Microsoft Windows Server 2012 (или ее embedded-версии для систем хранения данных, Windows Storage Server 2012). В минимальном исполнении кластер состоит из двух серверов WSS 2012, двухпортовые SAS HBA которых подключены к массиву разделяемого доступа SAS JBOD. У массива — два независимых экспандера. JBOD заполняется SAS дисками (HDD 15K rpm, HDD 7.2K rpm или SSD) с двухпортовым подключением к бэкплейну. Устойчивость к отказам дисков обеспечивает Windows Storage Spaces (программный аналог RAID 1). Дублирование путей и компонентов, сдвоенные источники питания, избыточная вентиляция и отсутствие активной электроники минимизируют риски потери информации на дисках.

Отказы узлов отрабатывает операционная система. Ее протокол общего доступа к файлам SMB 3.0 позволяет располагать в общих папках данные серверных приложений: базы данных, почтовые базы или контейнеры виртуальных машин. Технология SMB Transparent Failover отвечает за прозрачное переключение SMB-приложений на другой узел отказоустойчивого кластера в случае аппаратного или программного сбоя текущего узла. С помощью компонента Scale-Out File Server (SOFS) создается файловый кластер в режиме Active-Active, позволяющий распределять нагрузку между узлами кластера. Комбинируя возможности SMB 3.0, хранилища можно горизонтально масштабировать.

Отказоустойчивые хранилища такого класса сравнимы по производительности и функциональным возможностям с дорогими проприетарными СХД. В них для управления дисками может использоваться как аппаратный RAID-контроллер (с построением различных уровней Raid), так и soft-RAID средствами Windows Storage Spaces. При этом хранилища гарантируют низкую латентность доступа к данным, легко масштабируются и построены на стандартных индустриальных компонентах. Небольшие и средние предприятия могут использовать их для построения частных облаков — надежной, гибкой и быстро окупаемой инфраструктуры.

Сценарий 2. «Высокая производительность». Облачный хостинг на продуктах Nexenta

Кластер высокой доступности в задаче хостинга виртуальных машин можно построить на продуктах Nexenta — программном обеспечении на базе ZFS. Файловая система ZFS одновременно является менеджером логических томов и физических носителей. Как и Windows Storage Spaces, она не нуждается в аппаратных RAID-контроллерах для работы с пулами дисков и обеспечения целостности данных. Для построения кластера используется NAS/SAN платформа NexentaStor. Решение строится на стандартных компонентах. Встроенная поддержка кэширующих пулов на SSD, дедупликация, интеграция с системами виртуализации делает подход привлекательным в приложениях, работающих с большими массивами неструктурированных данных — как в облачном хостинге.

Коммутируемый SAS. Часть 3. Применение

Реализована трехуровневая структура хранения (оперативная память — SSD — HDD). Каждый из серверов Nexenta подключается с помощью SAS HBA к JBOD. В массиве стоят диски SAS NL 7200 — ими относительно недорого набирается необходимая емкость. В сами серверы Nexenta добавляются SSD, кэширующие запросы к основным массивам данных — отсюда большой запас таких систем по IOPS. Nexenta требовательна к мощности центральных процессоров и объему оперативной памяти, используемой как кэш первого уровня. Лицензии Nexenta недешевы, их стоимость пропорциональна обслуживаемому объему данных. Настройка подобных систем требует достаточно глубокого понимания ОС, ее параметров и запросов к аппаратной части. Зато получаемое решение оставляет далеко позади по производительности промышленные СХД уровня Middle-Range, а совместимость с рядовым аппаратным обеспечением упрощает сопровождение.

Сценарий 3. «Низкие задержки». High Availability для производительных приложений на платформе MS Windows Server 2012

Возможности встроенных программных средств Windows по обслуживанию нагрузки ввода/вывода, особенно в случаях высоконагруженных баз данных в кластере, ограничены. В транзакционных системах уровня MS SQL запросы к RAID-массивам на скоростных накопителях порождают интенсивный поток обращений произвольного доступа, с жесткими требованиями по латентности. Парировать нагрузку могут аппаратные RAID- контроллеры с производительными процессорами и развитыми политиками кэширования.

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

Коммутируемый SAS. Часть 3. Применение

Решение на LSI Syncro CS просто в управлении — при том, что обеспечивает непрерывную доступность, целостность данных и максимальную производительность дискового ввода/вывода. За счет прямого подключения по протоколу SAS внешний массив работает на скорости внутренней дисковой подсистемы сервера на шине PCIe. При использовании LSI Syncro CS нет нужды в дополнительных Ethernet-путях и отдельном оборудовании для развертывания виртуализированной среды. В руках пользователя — выбор процессоров и объема оперативной памяти на стороне хостов и набора накопителей SSD/HDD — на стороне массива. Основных эффекта два: резкое сокращение задержек доступа приложений (исполняемых на кластере серверов) к данным (массива) и сравнительно малые затраты пользователя, стартовые и эксплуатационные.

Первая часть статьи — Коммутируемый SAS. Часть 1. Технология.

Вторая часть статьи — Коммутируемый SAS. Часть 2. Возможности.