Традиционно, если серверу собственной подсистемы хранения данных оказывается недостаточно, то выбор ограничивается DAS (подключаемыми напрямую дисковыми полками) и сетевыми блочными или файловыми хранилищами. Но недавно к этим вариантам добавился еще одна весьма перспективная концепция — Shared DAS. Чем же она хороша?
Сперва давайте пройдемся по достоинствам и недостаткам существующих вариантов.
Начнем с самого простого, то есть Directed Attached Storage (DAS), типичным примером которых являются дисковые полки, подключаемые по SAS к контроллеру в сервере.
Cписок достоинств таков:
- Высокая производительность
- Низкая стоимость
- Простое управление
- Защита данных с помощью RAID контроллера
Недостатки:
- Невозможность масштабирования на несколько серверов
- Невозможность построения решений с высокой доступностью
Все весьма очевидно. Если требования по непрерывности работы высоки, то вместо DAS мы уже используем разделяемую СХД с портами прямого подключения, в которой предусматривается несколько контроллеров.
Плюсы такого подхода:
- Стоимость все еще ниже полноценной SAN
- Возможность расширять дисковое пространство для нескольких серверов
- Простое управление
- Отказоустойчивость с полным дублированием компонент
Минусы:
- Скромная производительность для систем начального уровня
- Привязка к проприетарным решениям и компонентам
- Масштабируемость существенно ограничена количеством портов в системе
- Сравнительно высокая стоимость
- Необходимость лицензировать многие возможности ПО
Ну и наконец сетевые хранилища в виде Storage Area Network (SAN), построенные на FC или iSCSI.
Достоинства:
- Отказоустойчивость и непрерывность обслуживания
- Широкие возможности по управлению данными
- Хорошая масштабируемость
Недостатки:
- Высокая стоимость
- Высокая сложность конфигурирования и управления
В индустрии давно ходили разные идеи, как сделать высокодоступное решение подходящим не только для крупных компаний, но и для СМБ сегмента. Количество таких предприятий на планете – сотни тысяч, огромный и пустой рынок.
Таким решением стал Shared DAS, разделяемое дисковое хранилище. От дисковых полок эта концепция впитала в себя низкую стоимость, высокую производительность и простоту управления, а от сетевых решений была взята высокая надежность и обеспечение непрерывной доступности.
Немало тут помогло развитие SAS, который из простого транспорта стал развитым сетевым протоколом с возможностью коммутации, зонирования, для обеспечения целостности данных была принята модель защиты информации Т10.
Основой стало использование SAS в качестве среды коммутации и использование самоконфигурируемых расширителей портов (SAS-экспандеров). Именно SAS обеспечивает полностью дублированный доступ к накопителям и возможность в одной системе использовать крайне разнородные накопители: смешанная среда хранения может одновременно включать в себя SATA- и SAS-диски, а также SSD накопители, причем SAS-устройства могут быть разного поколения (3G, 6G, 12G). За счет SAS-коммутаторов, которые, фактически, представляют собой те самые экспандеры во внешнем исполнении, все это богатство можно объединять в пулы, организуя многоуровневое хранение с разделением данных по требованиям к скорости обработки.
Отдельным дополнительным достоинством SAS являются крайне низкие задержки передачи данных на уровне интерфейса – если в случае жестких дисков, время отклика которых измерялось миллисекундами, этим можно было пренебречь, то в случае SSD с откликом в десятки микросекунд этот момент вышел на передний план. Коммутируемая среда SAS позволяет реализовать многоуровневое хранение данных с разделением их на «горячие», «теплые» и «холодные» по требовательности к скорости доступа самым естественным образом, масштабируя единую сеть хранения данных и оперируя накопителями на логическом уровне, без необходимости масштабировать отдельно накопители под каждую группу требований.
Отличные возможности масштабирования системы на SAS обеспечиваются каскадированием коммутаторов. Так, LSI SAS6160 обеспечивает глубину каскадирования равную 6, общее количество устройств в каскаде может доходить до 1000, при этом конфигурирование коммутаторов осуществляется внеполосно относительно среды передачи данных – по протоколам TCP/IP, Telnet. Современное состояние развития оборудования позволяет создавать сложные системы, включающие в себя десятки серверов и сотни накопителей.
Что же касается отказоустойчивости инфраструктуры, построенной на SAS, то она обеспечивается за счет полноценного дублирования всех маршрутов, включая порты непосредственно на накопителях. Здесь необходимо сделать важное примечание: использование SATA-накопителей хотя и возможно в подобной инфраструктуре при помощи интерпозеров (мультиплексоров, обеспечивающих доступ к SATA по двум путям), но все же снизит общую надежность, поскольку именно интерпозер станет той самой точкой отказа. Коммутаторы способны формировать полноценные независимые каналы доступа к дискам и в случае сбоя одного из путей автоматически перенаправлять нагрузку на другой канал. Роль ОС и управляющих приложений в этих условиях состоит в обеспечении прозрачной для пользователя отработки отказов.
Раз уж речь зашла за про операционные системы, то здесь стоит отметить тот факт, что решения в рамках концепции SharedDAS уже достаточно давно доступны на базе ZFS, но настройка таких систем требовала достаточно глубоких специфических знаний, а некоторые особенности ZFS возможно учесть лишь на уровне проектирования системы. Поэтому действительно массовым рынок отказоустойчивых решений стал с выходом Windows Server 2012, в составе которой появился компонент Storage Spaces, позволивший виртуализовать хранение данных на уровне ОС.
Пример возможностей Storage Spaces
Storage Spaces ввел пространства, которые так и называются Storage Spaces – виртуальные хранилища, работающие на основе групп физических носителей, объединяемых в пулы (Pools). Такой подход позволил отделить управление носителями информации от управления хранилищами данных. Главная ценность этого компонента состоит в том, что он поддерживает совместное использование устройств SAS, а значит в кластере серверов под управлением Windows Server 2012 общее пространство Storage Spaces будет доступно сразу всем узлам в кластере и может применяться как часть томов кластера Cluster Shared Volumes (CSV).
Storage Spaces обеспечивает:
- Создание одного или нескольких пулов накопителей, в том числе и гибридных (из комбинаций HDD и SSD), которые могут быть динамически расширены добавлением накопителей
- Постоянную доступность при помощи компонента кластеризации, доступного только для SAS-хранилищ (FC и iSCSI не поддерживаются), пулы передаются между узлами кластера по мере необходимости
- Балансировку принадлежности CSV разным узлам кластера в зависимости от нагрузки
- Различные уровни защиты данных, такие как резервные диски (Hot Spares), фоновая проверка, механизм исправления ошибок, различные уровни RAID (Simple, Mirror, Parity, Dual Parity)
- Оптимизацию использования дискового пространства (Thin Provisioning)
- Многоуровневое хранение «горячих» и «холодных» данных на гибридных пулах
- Кэширование записи на SSD
А главное – все сделано крайне просто и наглядно.
Что касается нас, то мы уже рассказывали о ETegro Fastor FS200 G3 – отказоустойчивом сервере хранения данных, построенном по этой концепции. Помимо него на основе концепции SharedDAS мы уже предлагаем ETegro Hyperion RS420 G4 — сервер класса Cluster-in-a-box, о котором будет отдельный материал, для построения отказоустойчивых решений различного типа и ряд решений на основе дисковых полок.
Если кто подумал, что мы продались Микрософту, то зря — скоро опубликуем способ поднять аналогичный кластер высокой доступности на Linux.
Автор: ETegro_Technologies