Аппаратный Shared DAS или зачем нужен LSI Syncro



    Решения на основе концепции Shared DAS, в последнее время получают все большую популярность. Объясняется это весьма просто. На них появился спрос со стороны широкого и весьма динамичного сектора рынка, от малого и среднего бизнеса (SMB) до уровня небольших предприятий. Их уже перестали устраивать традиционные решения с малой отказоустойчивостью, но при этом стоимость традиционных сетей хранения данных SAN для них слишком высока. А именно это, высокую отказоустойчивость за счет использования нескольких путей прохождения данных и невысокую стоимость оборудования и обеспечивают решения Shared DAS. Приятным бонусом является достаточно высокая производительность и малые задержки при передаче данных, поскольку в качестве среды коммутации используется SAS. Локомотивом выступила компания Microsoft, предложив Windows Server 2012, в состав которого вошел компонент Storage Spaces, обеспечивающий удобную и комфортную виртуализацию хранения данных на уровне ОС.

    Но что делать тем, для кого производительности Storage Spaces недостаточно, но при этом размер проекта не настолько велик, чтобы был смысл говорить о полноценной SAN? Ответ — воспользоваться LSI Syncro.

    Прежде, чем мы перейдем к рассмотрению, что же представляет собой LSI Syncro, давайте сформулируем, что именно в Storage Spaces вызывает основные нарекания:

    • накопители, входящие в состав Storage Spaces, не могут использоваться для загрузки операционной системы
    • производительность виртуальных дисков с контролем четности (Parity или Dual Parity, что является аналогом общеизвестных массивов RAID5 и RAID6, соответственно) на запись невысока из-за особенностей реализации последних
    • реализация контроля четности на программном уровне несколько увеличивает нагрузку на процессор и память сервера


    А теперь давайте вернемся к герою нашей статьи.
    LSI Syncro — это комплект из двух RAID-контроллеров, общающихся друг с другом и умеющих синхронизировать данные в кэш-памяти. Их задача — предоставлять доступ к подключенным накопителям сразу двум серверам. Помимо пары самих контроллеров комплект поставки сразу включает в себя и пару батарей CacheVault, в задачу которых входит обеспечение сохранности данных в кэш-памяти контроллеров в случае, если сервер останется без питания.

    У многих вызывает недоумение тот факт, что для обеспечения когерентности данных в кэше контроллеров используется не выделенная среда передачи данных, а те же самые SAS-каналы передачи данных, которые используются и для передачи основного потока данных между контроллерами и экспандерами. Но здраво поразмыслив можно прийти к выводу, что как раз выделенная линия для Heartbeat могла бы стать той самой единственной точкой отказа, а так мы имеем дублированный путь. Что же касается совместного использования канала, то трафик между кэшами не настолько велик, чтобы оказывать ощутимое влияние на производительность.


    LSI Syncro, внутреннее исполнение


    LSI Syncro, внешнее исполнение

    На текущий момент семейство продуктов LSI Syncro включает в себя 4 продукта: 9271-8i, 9286-8e, 9361-8i и 9380-8e. Первые два комплекта представляют собой SAS 6G решения, отличающиеся исполнением портов: на 9271-8i на каждом контроллере расположено по 2 внутренних miniSAS-порта, а на 9286-8e — по два внешних. Появившиеся совсем недавно 9361-8i и 9380-8e представляют собой дальнейшее развитие семейства LSI Syncro и отличаются от предшественников переходом на интерфейс SAS 12G. Так что если вы считаете SAS 6G уже устаревшим или недостаточно производительным и готовы рассматривать инфраструктуру только на 12G, то с этим проблем не будет.

    Немножко общих технических характеристик:
    Поддерживаемые типы RAID-массивов
    0, 1, 5, 6, 10, 50, 60
    Количество виртуальных дисков на контроллер
    до 64 в HA домене (High Availability domain, домен высокой доступности)
    Форм-фактор контроллера
    MD2 Low profile (6.6" x 2.536")
    Интерфейс
    PCI-Express v.3.0 x8
    Поддерживаемые устройства
    до 96 SAS SSD/HDD, до 31 SAS экспандера, всего до 120 SAS устройств в HA домене
    Рабочая температура
    55°C


    Начать подробный разговор о возможностях этого решения стоит с того, что в качестве поддерживаемых операционных систем заявлены не только очевидные Windows Server 2008 и 2012, но и Red Hat Enterprise Linux 6.3 и 6.4, SuSE Linux Enterprise Server 11 SP2 и SP3, CentOS 6.4 и 6.5, драйвер для которых лежит на сайте в открытом доступе. Вот оно, счастье и возможности для приверженцев открытого ПО.

    Какие же преимущества мы получаем от LSI Syncro?

    Производительность

    • Разгрузка центрального процессора и оперативной памяти за счет выноса алгоритмов контроля четности в массивах RAID 5/6 на процессор и кэш контроллера
    • Емкий и производительный кэш записи с защитой от сбоя питания и зеркалированием


    Если обратиться к данным, предоставляемым компанией LSI, то возможности (а вернее сказать превосходство) LSI Syncro в области производительности дисковой подсистемы будут выглядеть следующим образом:


    Производительность LSI Syncro в сравнении с Storage Spaces

    Что касается максимальных показателей, достигнутых на новом поколении с интерфейсом SAS 12G, то текущая прошивка 2.0 — 23.0.0-0055 позволяет получить с 48 дисков SAS 15000 об/мин в RAID0 8900 МБ/с на чтении и 4500 МБ/с на записи. О проблемах с записью в компании LSI знают, говорят, что это связано с неудачной реализацией синхронизации кэширования записи, и что в следующей прошивке 2.2 эта проблема полностью решена и производительность на записи составляет те же самые 8900 МБ/с — предел производительности самих дисков.

    Надежность

    • Независимость от программной платформы
    • Данные не зависят от сбоя сервера
    • Защита от сбоя ОС
    • Легкое и удобное построение высокозащищенных СХД с дублированием всех путей прохождения данных


    Дополнительные возможности

    Помимо перечисленного выше стоит отметить и такую важную и полезную особенность LSI Syncro, как возможность создания не только общедоступных кластерных пулов дисков, но и выделенных пулов для конкретных серверов. Такая возможность важна при построении AlwaysOn Availability Groups на основе MS SQL Server 2012.

    В отдельных случаях ценной возможностью окажется и способность загружать операционные системы с дисков, подключенных к LSI Syncro.

    Пожалуй, стоит отметить и простоту масштабирования подобных решений: SAS-экспандеры поддерживают как каскадирование, так и самоконфигурирование, а значит расширить общий пул доступных накопителей можно просто добавив еще одну недорогую дисковую полку. Причем с полной свободой выбора ее производителя.
    Насколько в принципе реально масштабирование до упора? Это не составляет проблемы: всего лишь две 60-дисковые полки позволят полностью выбрать возможности LSI Syncro и получить в свое распоряжение пул из 96 х 6 ТБ = 576 ТБ, то есть полпетабайта сырой дисковой емкости на недорогих SAS NL дисках. Это, конечно, меньше, чем возможности современных SAN или того же Storage Spaces, но нам кажется, что мало кто среди целевой аудитории сможет назвать это недостаточной масштабируемостью.

    Если вернуться к упомянутым в начале статьи недостаткам Storage Spaces, то становится очевидным, что использование LSI Syncro позволяет закрыть большинство слабых мест, расширяя общий спектр возможностей Shared DAS.

    Варианты использования


    Использование LSI Syncro 9361-8i «кластер в коробке» на примере ETegro RS420 G4

    Самым очевидным вариантом использования является применение LSI Syncro с внутренними SAS портами в решениях класса "кластер в коробке", где RAID-контроллеры LSI Syncro заменяют собой в узлах кластера SAS HBA адаптеры, использующиеся для доступа к пулу общих накопителей. Таким образом мы получаем компактное, но при этом высокопроизводительное и защищенное от сбоев решение.
    Высокодоступный и производительный файловый сервер небольшой фирмы, удаленного офиса или даже небольшого предприятия, сервер баз данных, веб-сервер, основа для мощных сетевых накопителей, сервер обработки видеоданных, сервер хранения данных виртуальной среды — все это быстро, легко и недорого можно построить на основе LSI Syncro.


    Пример использования LSI Syncro 9380-8e с двумя серверами RS530 G4 и дисковой полкой JS300 G3
    (синим обозначены линии SAS для каскадирования полок)


    Если же вычислительных возможностей «коробочных» кластеров недостаточно (памяти мало, или не хватает производительности двух процессоров узла), то можно взять и полноразмерные сервера, и вот в них уже ставить LSI Syncro с внешними портами. А дальше все ограничивается лишь фантазией системного архитектора и возможностями каскадирования SAS-экспандеров/полок. Область же применения — та же, что и у коробочных кластеров, только с более высокой вычислительной нагрузкой, плюс мощные системы анализа и обработки данных, системы для высокопроизводительных вычислений.

    Подводя итоги хочется заметить, что концепция Shared DAS вовсе не призвана стать панацеей и заменить все традиционные варианты хранения данных, а интерфейс SAS никогда не заменит и Ethernet, и FiberChannel и InfiniBand. Но во множестве случаев, когда возможностей интерфейса SAS оказывается вполне достаточно с точки зрения масштабов и дальности действия, решения Shared DAS на базе LSI Syncro могут стать самым выгодным, удобным и производительным способом хранения данных.
    • +11
    • 10,4k
    • 9
    ETegro Technologies
    0,00
    Компания
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 9

      0
      Как то не совсем понятен принцип работы «LSI Syncro, внутреннее исполнение»
      Как именно осуществляется подключение к накопителям и где находится эта «линия синхронизации», если каналы sas не пересекаются?
        0
        Смотрите, общее хранилище кластера в коробке — это два SAS-экспандера с общей дисковой полкой. С одной стороны к этим экспандерам подключаются жесткие диски (поскольку это SAS, то каждый диск можно подключить одновременно к двум экспандерам), а с другой к ним подключаются контроллеры Syncro. Соответственно, линия синхронизации (точнее две линии) это Syncro1 — SAS экспандер — Syncro 2.

        Как-то вот так:
        0
        Спасибо. Кажется разобрался. Использование «LSI Syncro, внутреннее исполнение» доступно только для многонодовых серверов, у которых есть соответствующий бэкплейн.
          0
          Абсолютно верно.

          Не за что, обращайтесь ))
          –1
          Скажите, а эта штука всё так же вешается намертво при выполнении скрипта github.com/amarao/lsi-sata-fuckup? Я всё надеюсь, что хоть кого-то в LSI волнует качество их продуктов (служба поддержки к таковым не относится)…
            0
            Оно по умолчанию не рассчитано на работу с SATA, поскольку весь Shared сразу же упрется в один канал SATA-соединения с диском.
              0
              У меня нет железобетонного доказательства (как с SATA), но по слайдам по устройству SAS'а, есть стойкое ощущение, что у SAS'ов будет такая же проблема. Более того, по отзывам коллег, с глючными sas-дисками ровно так же зависал весь бэкплейн, и приходилось искать «какой диск вынуть», чтобы бэкплейн перестал виснуть.

              Собственно, слайды www.scsita.org/library/presentations/SAS_Architecture_Overview.pdf,

              proof-картинка:

                0
                Попробовать можно, но пока это не верифицируется на уровне SAS — это автоматически вычеркивает нас из культурного разговора с вендором, потому что «не пихайте, чего нет в HCL), а глючных SAS у нас на руках нет.

                Да и жалоб на зависание бэкплейна оптом не было, так что вероятность возникновения проблемы явно небольшая (да, мы понимаем, что когда оно случится в продакшене — никому с размера вероятности легче не станет). При случае посмотрим, но пока наше мнение не изменилось: надо смотреть протокол, чтобы понимать, как именно устройство умудряется поставить в неприличную позу весь бэкплейн.

                Кстати, хороший вопрос к Вам и Вашим коллегам: а у вас среди зависших были варианты с парой экспандеров на бекплейн, то есть работающим MPIO?
                  0
                  Я это понимаю. Но тут-то вопрос другой. Не глюки с конкретной моделью HDD, а общетеоретическая проблема, когда один «плохой» диск портит жизнь всей полке. То есть даже если это HCL-диск, но, например, с битой памятью. Сама теоретическая возможность, что он может прервать работу соседних дисков, ставит крест на любых рейдах.

                  В MPIO, насколько я могу судить по искуственным конструкциям с iscsi, ситуация повторится с точностью до запятой.

                  Предположим, у нас идеальные диски в полке, все, кроме одного. Этот один, на выполнение какой-то команды (например, WRITE SAME, с флагом discard) вместо адекватного ответа, лочит канал.

                  Голова №1 посылает запрос к «плохому» диску. Экстендер устанавливает канал, диск уходит в неответ (то есть не посылает CLOSE).
                  Голова №2 перепосылает запрос (обычный multipath). Запрос к тому же плохому диску. Экстендер устанавливает канал, диск уходит в неответ.

                  Обе головы не могут больше общаться с другими дисками без посылки SCSI bus reset. Что, мягко говоря, ставит на колени любую производительность.

                  В этом и проблема — я ни разу не видел решение на extender'ах, которое бы было rock solid. Зато я точно знаю, что в режиме direct connect диск может хоть лезгинку плясать, это его личные проблемы, на соседях это никак не сказывается.

                  В принципе, на expander'ах я видел условно-надёжное решение, когда собирался raid1 из двух экспандеров, в режиме «лево-право», с мыслью, что если один зависнет, то рейд «всего лишь» потеряет половину своих дисков.

                  В контексте mpt2sas это требует ребута сервера, но в контексте задачи предполагалось, что в этой ситуации вся нагрузка быстро-быстро с оставшейся половинки raid1 (то есть raid0) утаскивается, после чего с сервером можно делать что угодно.

                  Костыли жуткие, ну а что делать?

          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

          Самое читаемое