Технологии становятся привлекательными для массового рынка, когда находятся на стыке интересов и привлекают многих игроков — в мобильной экономике успешны сторонники открытых решений на стандартных компонентах. Руководствуясь принципом бережливости, компании сдержанно относятся к долгосрочным вложениям и ценят не так продуктовую составляющую инфраструктурных проектов, как свободу маневра.
Сегодня средние и малые предприятия предъявляют спрос на такие технологии работы с данными, которые еще недавно были исключительной вотчиной больших корпораций и крупных дата-центров. Они хотят работать с операционными приложениями, интерактивными базами данных и документооборотом с минимальными задержками и быстрой обработкой отказов. При этом не хотят переплачивать за избыточную для них архитектуру сетей и мириться с ограничениями. Производительность, простое администрирование, быстрая окупаемость проектов — вот их цели. Всем требованиям по задержкам передачи данных, пропускной способности соединений, скоростной отработке отказов, переносу активности между серверными узлами, бэкапу и восстановлению данных удовлетворяют системы хранения SAS — как ядро сетевой инфраструктуры.
На демократизацию рынка отказоустойчивых серверных решений сильно повлиял выход 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.
Отказоустойчивый кластер для надежного хранения почтовых баз данных, образов виртуальных машин, папок пользователей строится средствами 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. При этом хранилища гарантируют низкую латентность доступа к данным, легко масштабируются и построены на стандартных индустриальных компонентах. Небольшие и средние предприятия могут использовать их для построения частных облаков — надежной, гибкой и быстро окупаемой инфраструктуры.
Кластер высокой доступности в задаче хостинга виртуальных машин можно построить на продуктах Nexenta — программном обеспечении на базе ZFS. Файловая система ZFS одновременно является менеджером логических томов и физических носителей. Как и Windows Storage Spaces, она не нуждается в аппаратных RAID-контроллерах для работы с пулами дисков и обеспечения целостности данных. Для построения кластера используется NAS/SAN платформа NexentaStor. Решение строится на стандартных компонентах. Встроенная поддержка кэширующих пулов на SSD, дедупликация, интеграция с системами виртуализации делает подход привлекательным в приложениях, работающих с большими массивами неструктурированных данных — как в облачном хостинге.
Реализована трехуровневая структура хранения (оперативная память — SSD — HDD). Каждый из серверов Nexenta подключается с помощью SAS HBA к JBOD. В массиве стоят диски SAS NL 7200 — ими относительно недорого набирается необходимая емкость. В сами серверы Nexenta добавляются SSD, кэширующие запросы к основным массивам данных — отсюда большой запас таких систем по IOPS. Nexenta требовательна к мощности центральных процессоров и объему оперативной памяти, используемой как кэш первого уровня. Лицензии Nexenta недешевы, их стоимость пропорциональна обслуживаемому объему данных. Настройка подобных систем требует достаточно глубокого понимания ОС, ее параметров и запросов к аппаратной части. Зато получаемое решение оставляет далеко позади по производительности промышленные СХД уровня Middle-Range, а совместимость с рядовым аппаратным обеспечением упрощает сопровождение.
Возможности встроенных программных средств 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 и бэкплейны массива.
Решение на LSI Syncro CS просто в управлении — при том, что обеспечивает непрерывную доступность, целостность данных и максимальную производительность дискового ввода/вывода. За счет прямого подключения по протоколу SAS внешний массив работает на скорости внутренней дисковой подсистемы сервера на шине PCIe. При использовании LSI Syncro CS нет нужды в дополнительных Ethernet-путях и отдельном оборудовании для развертывания виртуализированной среды. В руках пользователя — выбор процессоров и объема оперативной памяти на стороне хостов и набора накопителей SSD/HDD — на стороне массива. Основных эффекта два: резкое сокращение задержек доступа приложений (исполняемых на кластере серверов) к данным (массива) и сравнительно малые затраты пользователя, стартовые и эксплуатационные.
Первая часть статьи — Коммутируемый SAS. Часть 1. Технология.
Вторая часть статьи — Коммутируемый SAS. Часть 2. Возможности.