среда, 2 октября 2013 г.

LSI Syncro - новая масштабируемая архитектура хранения данных высокой доступности.


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





        Для начала давайте разберемся, что такое кластер и какие решения сейчас есть на рынке для организации отказоустойчивых кластеров.

        В информационных технологиях слово кластер (сluster) встречается в двух значениях. Первое, единица хранения на жестких дисках, относится к разбиению магнитных носителей. Второе значение - группа компьютеров, объединённых высокоскоростными каналами связи и представляющая с точки зрения пользователя единый аппаратный ресурс.

        В современном мире понятие кластер используется в основном для обозначения двух различных типов конфигураций. Это вычислительный кластер и отказоустойчивый кластер (кластер высокой доступности). Вычислительные кластера используются для научных и инженерных расчетов. Каждый год публикуется список TOP500 самых производительных вычислительных кластеров. Современные вычислительные кластера состоят из десятков тысяч узлов (серверов) нескольких типов.

       В этой статье речь пойдет о технологиях отказоустойчивых серверов. Основная задача отказоустойчивого кластера – обеспечение высокой доступности (HA, High Availability) сервиса. В качестве сервиса могут выступать многие популярные приложения. Это WEB-серверы, серверы электронной почты, системы управления базами данных (MS SQL, Oracle, MySQL), SRP и CRM-системы и другие приложения. Особая роль отводится при кластеризации службам файлового обмена (например, кластеризация служб File Server в Windows) и виртуализации (Hyper-V и VMWare как самые распространенные) ввиду их критичности для работы многих других приложений. Итак, основная задача кластеризации – взять критичную для деятельности компании службу и настроить ее работу на нескольких (2 или более) узлах отказоустойчивого кластера. В случае падения одного из узлов, остальные могут перезапустить службу кластеризации автоматически, минимизировав, или в некоторых случаях, даже исключив время простоя.


      Кластерные технологии существуют уже достаточно долгое время. Ранее принятая классификация Active/Active или Active/Passive сегодня теряет смысл. Существует также классификация по количеству узлов (2-х, 3-х и более узловые кластеры), а также классификация по географическому признаку. Кластеры, в которых узлы расположены на географически разных площадках (сайтах) называются географически распределенными или катастрофоустойчивыми (Disaster Recovery). Благодаря применению HA-DR кластеров, можно сохранить данные и сервисы в рабочем состоянии даже в случае катастрофы (пожар, землетрясение, наводнение, теракт).

      Итак, как же реализовать такое решение в железе-софте? Естественным способом с момента зарождения отказоустойчивой кластеризации была организация доступа двух (или более) узлов к одному устройству хранения. Во времена SCSI, один жесткий диск можно было подключить к двум серверам. Если на этом диске лежат данные приложения – кластер почти готов. Остается небольшая проблема – как использовать этот диск двумя серверами одновременно? Файловые системы, которые мы используем по сей день (Ext 2, 3, 4 в Linux и NTFS в Windows) не предназначены для такой работы. Если оба сервера начнут работать с файловой системой, они очень быстро эту файловую систему испортят до неузнаваемости.

       Можете провести эксперимент в «домашних» условиях. Сегодня это легко организовать через iSCSI. Попробуйте одновременно записать iSCSI target информацию с двух компьютеров по iSCSI. Файловая система такого не выдержит. Один из ответов – специальная кластерная файловая система, которая будет следить за правильной организацией хранения метаданных и будет отвечать за арбитраж при одновременном доступе на запись. Такие системы существуют, но достаточно дороги. Второй вариант – сделать диск Read-Only на одном сервере и Read-Write на другом. К сожалению, HDD так и не приобрели такой функционал. Этот механизм используется в некоторых системах репликации (Symmetrix SRDF, например) при организации географически распределенных кластеров. Также зеркалирование данных реализовано в технологии Microsoft Storage Spaces (Windows Server 2012) для организации отказоустойчивости. Ну и третий вариант – иметь кластерный софт, который будет разрешать или запрещать доступ к общему дисковому пространству. По этому пути и пошли производители системного программного обеспечения. Свои собственные решения есть у Symantec (бывший Veritas, который поглотил Symantec), EMC (бывшая компания Legato, приобретенная EMC), у Microsoft и RedHat (входит в состав ОС), а также у других производителей операционных систем (в том числе и UNIX: HP-UX, AIX и Solaris).

       Вообще, с развитием систем хранения данных, организовать HA-кластер стало легко. Все что вам надо – внешняя блочная система хранения данных (СХД), подключенная к двум серверам. СХД следит за целостностью данных, организуя диски в массивы RAID. Созданные на массивах логические тома в таком случае выдаются одновременно обоим серверам, настраивается серверное ПО (ОС). В случае с Disaster Recovery-решениями используется удаленная репликация либо с помощью специальных функций СХД, либо программным способом. Вроде бы проблема давно решена, каким же образом можно улучшить ситуацию? Дело в том, что внешние СХД обладают рядом недостатков, которые сказываются на ситуации с отказоустойчивостью сервисов в IT. Во-первых, внешние СХД дороги. Несмотря на конкуренцию между производителями, найти качественную внешнюю систему хранения данных дешевле $15-20K довольно затруднительно. Во-вторых, внешние СХД обычно значительно медленнее так называемых, DAS-систем, то есть дисков, подключенных непосредственно к серверам. Медленнее – это значит, как в MB/s, так и в IOPS (Input-Outputs per second, операций в секунду), что особенно важно для баз данных – их в основном и защищают отказоустойчивыми кластерами. Итак, десять с лишним лет эволюци привели нас к тому с чего отказоустойчивая кластеризация и начиналась – к дискам, подключенным напрямую к серверам.

       В современном мире серверов, доминирующей технологией подключения дисков является SAS (Serial Attached SCSI). Это прямой потомок SCSI, переживший уже 2 поколения (SAS, 3Gb/s и SAS-2, 6Gb/s) и готовящийся к переходу к 3му поколению (LSI уже выпускает HBA 12Gb/s, Adaptec обещает контроллеры к концу года). Одно из новшеств SAS по сравнению со SCSI – устройство коммутации, аналог сетевого коммутатора, называемое экспандером. Экспандер, в числе прочего, позволяет подключить к 8 портам контроллера (стандарт де-факто в серверных RAID- и HBA- контроллерах) до 1000 устройств (HDD или SSD или внешних СХД). Микросхемы экспандеров, в отличие от сетей Ethernet или Fibre Channel, например, обладают почти нулевыми задержками и широкой полосой пропускания (8 портов по 6Gbit/s дают теоретически до 4.8GB/s).

Итак, Syncro CS – это продукт, который LSI в течение более чем 2-х лет разрабатывала совместно с Microsoft.

         По сути, это прошивка для контроллеров MegaRAID, позволяющая использовать их в схеме два сервера с Syncro CS + 2 экспандера + SAS-диски. В итоге каждый сервер (и каждый контроллер, соответственно) получает в управление свой набор дисков, но в случае проблемы с одним из серверов, второй сервер (контроллер) возьмет на себя управление дисками другого сервера. В итоге, получается очень быстро и очень дешево по сравнению с решениями на внешних СХД. Что для этого надо – 2 сервера, 2 контроллера Syncro CS и внешний SAS-JBOD с двумя экспандерами (Just a Bunch Of Drives) и диски SAS.


         SATA здесь не подойдут, потому что они имеют только один порт на устройстве и по этой причине не работают в отказоустойчивых конфигурациях. Каждый контроллер подключен к каждому экспандеру, таким образом, через экспандеры контроллеры имеют связь. По этому каналу производится синхронизация КЭШей контроллеров. Имея когерентный КЭШ, второй контроллер по команде от ОС сможет презентовать логический том в ОС выжившего сервера. Чем принципиально такая схема отличается от внешних СХД? Здесь RAID-вычисления перенесены внутрь сервера, а в качестве внешней СХД используется дешевый внешний JBOD.

       В списке совместимости, который постоянно расширяется на момент выхода были JBOD от SuperMicro, AIC, DataOn, Quanta, NetApp. Кстати Тринити – один из нескольких российских премьер-партнеров, поставщиков таких решений.




        Технология Syncro CS несмотря на свою молодость, скоро переживет первое обновление до версии 1.1. Вдобавок к Windows, появится поддержка Linux от RedHat и SLES. Кроме вышеупомянутых достоинств, на Syncro CS можно строить гибридные массивы из HDD и SSD одновременно. Такой функционал обычно предоставляется производителями внешних СХД за отдельные деньги. В случае с Syncro он входит в базовую конфигурацию.


По материалам компании LSI.

10 комментариев:

  1. а как быть с доступностью JBOD?

    ОтветитьУдалить
    Ответы
    1. Джибодом по сути может быть любой супермикровский ящик с двумя экспандерами - с индексом E2x, например: http://www.supermicro.com.tw/products/chassis/4U/846/SC846E26-R1200.cfm
      Нужны только дополнительные провода и плата управления питанием.

      Удалить
    2. Если же Вы про доступность в плане отказоустойчивости джибодов, то дело обстоит ровно так же, как и в обычных стораджах - двойные порты на винтах, два экспандера, два хвоста к каждому серверу. По большому счету, архитектурно просто контроллеры перенесены внутрь хоста и убрана интерфейсно-хостовая логика.

      Удалить
  2. > но в случае проблемы с одним из серверов, второй сервер (контроллер) возьмет на себя управление дисками другого сервера.

    А есть ли какие нибудь данные о наличии и размере задержки в момент данного переключения?

    ОтветитьУдалить
    Ответы
    1. Как возвратить прошивку MegaRaid, если уже прошито syncro?

      Удалить
  3. Are you in the market for custom size plastic boxes packaging design and manufacture? Don’t look elsewhere! Paczone is specialized in supplying various custom plastic boxes for over 20 years! They have several models of clear rigid plastic boxes that can be used as DIY-combining plastic cases with foam for watch storage. Therefore, you can actually store anything you like simply by easily changing the die-cut foam inside! They are good at producing custom OEM plastic cases and personalised watch box.

    ОтветитьУдалить