Системы хранения данных для обработки высоких нагрузок на сервере.

В одном  из наших предыдущих материалов, мы уже рассказывали как увеличить производительность сервера с помощью SSD  дисков. Сегодня мы расскажем о DAS (direct-attached storage) системах хранения данных (СХД) которые применяются для построения High Load систем.

На сегодня все СХД можно условно разделить на три типа:
> устройства с прямым подключением (DAS),
> сетевые хранилища (Network),
> сети хранения данных (SAN).

Каждое из этих направлений имеет свои преимущества и ограничения, а также определенные особенности при использовании. В этот раз речь пойдет о системах хранения данных на основе DAS.

direct-attached storage

Общая информация о DAS

DAS (direct-attached storage) – устройство долговременной памяти, напрямую подсоединенное к компьютеру. Простейший пример DAS – встроенный жесткий диск.

Принято считать, что конфигурация DAS чаще всего используется в системах начального уровня, нетребовательных к объемам, производительности и надежности систем хранения.

Чаще всего, говоря о системах хранения с прямым доступом, подразумевают сочетание сервер + внешние жесткие диски. На самом деле в качестве внешнего носителя может выступать любое запоминающее устройство. Вариантов использования DAS в нашей жизни превеликое множество. Например, система хранения резервных копий в виде сервера с подключенной к нему ленточной библиотекой также является полноправным членом семейства DAS. Внешний накопитель DVD/CD, подключенный по USB, – тоже своего рода DASсистема.

Но, если говорить о наиболее употребительном значении термина DAS, почти всегда подразумевается комплект оборудования из сервера и отдельного устройства для размещения накопителей – дискового хранилища.

Для связи сервера с внешним запоминающим устройством чаще всего используется интерфейс семейства SCSI [1], команды которого позволяют выделить определенный блок данных на специфицированном диске или смонтировать определенный картридж в ленточной библиотеке (см. рис. 1).

Рисунок 1. Классическая система DAS

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

Примечание. Строго говоря, под понятие DAS подходит не только классическая комбинация сервера с дисковой полкой. Например, хранилище SAN, подключенное однимединственным кабелем к соответствующему серверному адаптеру, по сути, представляет собой DAS-систему, несмотря на то что для взаимодействия используется протокол Fibre Channel, традиционно применяемый в распределенных сетях хранения данных.

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

сочетаться старый интерфейс SCSI, более современный SAS и напрямую подключенное дисковое хранилище по протоколу Fibre Channel [3]. С точки зрения клиента это выглядит как один общий узел для размещения информации (см. рис. 2).

Рисунок 2. Пример структуры DAS с параллельным и последовательным подключением хранилищ. Первое и второе хранилища последовательно подключены через интерфейс SAS. Третье хранилище подключено к отдельному SCSI-контроллеру параллельно двум остальным

Теперь, когда мы познакомились с основными принципами организации DAS, самое время поговорить об особенностях его использования.

Особенности применения DAS

Недорогое решение

При рассмотрении цены стоит различать первоначальное внедрение и стоимость владения (обслуживание, замену комплектующих, модернизацию и так далее).

Начальная точка входа для этого решения достаточно невысока. В минимальном варианте это стоимость одного компьютера с набором жестких дисков требуемого размера.

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

Отдельно стоит сказать о проблеме комплектующих. Если системы хранения приобретались в разные периоды без учета последующего роста требований к объему и быстродействию, то через некоторое время такая разрозненная инфраструктура превращается в настоящий «зоопарк», в котором можно встретить массу редких обитателей: от дисковой полки с PATA [4] (IDE) дисками до древних интерфейсов SCSI-2. Разумеется, при обслуживании этого «хозяйства» возникает масса проблем. Стоимость дефицитных раритетных запчастей может быть в разы больше, чем цена за недорогое сетевое хранилище.

Использовать старое оборудование – удовольствие, прямо скажем, так себе. Но гораздо хуже, если на нем завязаны актуальные бизнес-процессы, затронуть которые – значит, надолго прервать работу организации. В итоге работа персонала ИТ-подразделения по поддержанию работы начинает напоминать колдовские ритуалы для поддержания тлеющего огонька жизни в древних устройствах, которые при обычных обстоятельствах должны были давно помереть.

Простота организации

Если использовать простой комплект оборудования, то организовать классическую DAS действительно не очень сложно. Достаточно приобрести дисковую полку, соответствующий контроллер для установки в сервер и комплект интерфейсных кабелей.

Если операционная система не поддерживает «из коробки» приобретенный контроллер, то еще понадобится дополнительный драйвер для этого устройства.

Выше мы говорили о самых простейших вариантах. Более серьезные системы DAS поставляются с дополнительными интерфейсными портами, позволяющими выполнять сервисные функции. Также применяется специальное программное обеспечение для мониторинга, перезагрузки и других сервисных функций. Системы хранения с прямым доступом уровня Enterprise по своей сложности порой не уступают NAS или SAN.

Высокая скорость передачи данных

Как уже сообщалось выше, для связи сервера с хранилищем чаще всего используются интерфейсы семейства SAS (SCSI). Современные контроллеры SAS для внешних подключений позволяют получить скорость до 12 Gb/s, что является довольно неплохим показателем.

Помимо SAS, для недорогих решений могут использоваться и другие стандарты, например, eSATA (External SATA) [5], позволяющий достичь скорости 3 Gb/s.

Подключение по USB 3.0 [6] теоретически может достигать скорости 5 Gb/s, что также является неплохим показателем для недорогих систем. На практике тестовая скорость может оказаться существенно ниже, в первую очередь из-за особенностей оборудования и работы программного обеспечения.

К сожалению, мой опыт подсказывает, что подключение по USB не является надежным соединением. Я бы не рекомендовал использование таких устройств в системах с требованием высокой отказоустойчивости.

Сложности масштабирования

При всех достоинствах DAS эти системы хранения представляют собой одиночные устройства. Можно выбрать решение с сервером, вмещающим много жестких дисков, и подключить к нему несколько объемных дисковых хранилищ, но даже такой вариант имеет весьма скромные возможности для наращивания объема. Не стоит забывать, что все операции ввода-вывода будут проходить через один сервер, и любой узел DAS со временем превратится в узкое место для всей ИТ-инфраструктуры. Разумеется, если ничего при этом не предпринимать.

Для того чтобы обойти данное ограничение, используют распределенные файловые системы, самая известная из которых – DFS от компании Microsoft. Но в целом, если DAS используется «в чистом виде», без каких-либо дополнительных средств, облегчающих масштабирование, можно смело утверждать, что рано или поздно такая система достигнет своего предела и придется либо приобретать новую, либо переходить на более универсальные варианты, например SAN.

Отсутствие консолидации ресурсов

Массовое использование DAS приводит к тому, что инфраструктура, по сути, состоит из разрозненных фрагментов долговременной памяти. При этом часто возникает ситуация,

когда на каком-либо сервере с DAS-подключением заканчивается место, а на соседнем дисковое пространство практически не используется, и нет возможности компенсировать одно за счет другого.

Ограничения отказоустойчивости

Разумеется, не стоит думать, что большинство DAS-систем ненадежны и начинают сбоить сразу после включения. На практике дело обстоит чаще всего наоборот – современная, хорошо настроенная система хранения, построенная на надежном оборудовании от ведущих производителей, может работать годами без единого инцидента.

Речь идет о том, что в случае проблемы с сервером вся информация, записанная на нем, становится недоступной.

Разумеется, прогресс не стоит на месте, и существуют решения, позволяющие на базе DAS строить достаточно надежные решения, например, на основе отказоустойчивых кластеров Active-Passive и даже Active-Active. Для этого, правда, приходится задействовать дополнительные средства, например, кластерные сервисы, файловые системы общего диска или специальные RAID-контроллеры. Но надо признать, что эти решения являются скорее исключением из правил. Классическая система – сервер с дисковой полкой – не в состоянии обеспечить тот уровень отказоустойчивости, который доступен, например, при использовании SAN.

Сложность разделения ресурсов

Используя DAS, достаточно затруднительно добиться совместного использования одного тома разными клиентами в режиме разделения данных. В отличие от сетевого ресурса, когда к одной и той же директории или к одному и тому же файлу обращаются несколько пользователей с разных устройств, в DAS такой вариант имеет множество ограничений. Даже применение файловой системы общего доступа, например OCFS2 [7], для совместного подключения одного тома (LUN [8] ) к нескольким серверам не решает задачу совместного использования одного и того же ресурса несколькими пользователями. Используя DAS, можно реализовать схему отказоустойчивого кластера Active-Active. Но классический вариант создания разделяемого ресурса между несколькими клиентами в DAS практически неосуществим.

Сложность управления

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

В конце концов если использовать исключительно DAS и ничего более, то стоимость владения подобной системой хранения может оказаться значительно выше, чем внедрение более сложных и более дорогих систем хранения данных: NAS и SAN.

DAS как основа для других систем хранения

Современные системы хранения данных можно условно разделить на два типа:

> Монолитные решения в составе одного корпуса.

> Модульное решение, состоящее из нескольких устройств.

Модульное решение, в свою очередь, состоит из:
» Controller Enclosure – главного (управляющего) модуля, используемого для функций обмена данными с внешней средой и управления.
» Disk Enclosure – вместилища жестких дисков, соединенные с главным модулем интерфейсным кабелем. Еще одно название таких модулей системы – «дисковая полка». Оба термина обозначают одно и то же – место для размещения HDD-накопителей.

По своей сути, модульное решение представляет собой DAS, заточенную для более узкого применения.

Справедливости ради стоит заметить, что дисковые системы хранения изначально не представляли собой монолитные решения. Первые дисковые хранилища, подключаемые к майнфреймам вычислительных комплексов, строились на базе двух составляющих:

> набора дисковых накопителей в виде напольной тумбы с открывающейся дверцей, через которую можно было извлечь набор съемных пластин;

> контроллера дисковой подсистемы, который занимал отдельный шкаф размером примерно с современную серверную стойку.

Впоследствии, когда габариты жестких дисков значительно уменьшились, это позволило размещать и контроллер и сами диски в небольшой серверный корпус.

Но технический прогресс развивается по спирали. В связи с ростом объемов хранения данных возросли требования к вместимости оборудования и удобству обслуживания. Поэтому вновь произошло разделение, но уже на контроллер и дисковую полку.

Disk Enclosure бывают двух типов:

1) Недорогие реализации, представляющие собой только вместилище дисков с интерфейсной платой для подключения к HBA или RAID-контроллеру. Иногда их еще называют Expander (дословно означает «расширитель»). Данный термин подчеркивает тот факт, что подобные устройства необходимы в основном для увеличения количества подключаемых дисков.

Работа недорогих дисковых «полок» чаще всего строится на основе мультиплексирования, когда из нескольких подключенных дисков в один момент времени доступен только один. Из-за того, что внутренняя скорость обмена обычного HDD значительно меньше быстродействия контроллера, такие переключения не существенно снижают скорость обмена данными. Благодаря специальным функциям интерфейсной платы Expander при «переходе» на другой накопитель операции обмена с текущим HDD не прерываются, а приостанавливаются. Поэтому такие переключения остаются прозрачными для компьютерной системы в целом, что позволяет работать с множеством дисков в одной полке так, как если бы они все были локально установлены в одном сервере.

2) Более сложные Disk Enclosure имеют в своем составе дополнительные устройства, например, кэш с предварительной выборкой, более сложные контроллеры для взаимодействия с жесткими дисками и другие «хитрости», позволяющие избежать недостатков мультиплексирования и сохранить максимально возможный уровень быстродействия. Современные Disk Enclosure от ведущих производителей снабжаются средствами индикации ошибок, мониторинга, замены Firmware и другим полезным функционалом. В то же время стоимость хранилищ значительно выше простых дисковых полок с базовым функционалом.

Установка устройств хранения DAS – более дешевый вариант по сравнению с NAS и SAN

Если говорить о Controller Enclosure, то в современных системах хранения, например устройствах SAN, этот компонент представляет собой мощный компьютер, далеко не всегда построенный на базе x86 совместимых процессоров, обладающий большим объемом памяти для кэширования и собственных вычислительных нужд, снабженный специализированными контроллерами для доступа по протоколам Fibre Channel, сетевыми адаптерами семейства Ethernet и так далее.

В итоге мы фактически получаем сочетание компьютера (пусть даже узкоспециализированного) с внешним запоминающим устройством. Таким образом, модифицированные DAS являются своего рода кирпичиками для построения более сложных промышленных систем на базе сетей хранения данных (SAN) или сетевых хранилищ (NAS).

Установка устройств хранения DAS – более дешевый вариант по сравнению с двумя оставшимися направлениями: NAS и SAN, при развитии ИТ-инфраструктуры и росте объемов хранимых данных использование только одних серверов с напрямую подключенными к ним дисковыми хранилищами снижает общую эффективность работы ИТ.

Из личных наблюдений автора

Пример шаманского ритуала, подсмотренный мной в одном ВЦ довольно крупной компании. (Возможно, поможет одному из тех несчастных, кто вынужден поддерживать старые дряхлые системы на основе SCSI DAS.)

Надо заметить, что все действия, направленные на поддержание жизнедеятельности вверенных систем, ИТ-персонал выполнял старательно и в срок. Оборудование очищалось от пыли, вентиляторы заменялись, электропитание и кондиционирование содержались в норме, и за ними также был установлен соответствующий контроль. Но все равно время от времени случались странные казусы, от которых избавлялись одним из способов, приведенных ниже.

Итак, проблема – сервер перестал видеть дисковое хранилище и «потерял» все подключенные тома.

План «А». Перезагрузить сервер. Если не помогло – перезагрузить еще раз. Если тома на хранилище все еще недоступны, то все выключить (сначала сервер, потом дисковое хранилище). Отсоединить кабели питания. Выждать 15 минут. Снова подсоединить электропитание и включить дисковое хранилище. После его старта выждать 10 минут и включить сервер. Если не помогло, сбросить CMOS Setup в BIOS к настройкам по умолчанию и снова попытаться запустить систему. Если это не помогло, то переходим к плану «Б».

План «Б». Все выключить по вышеописанной схеме. Отсоединить кабели питания. Отсоединить интерфейсный SCSI-кабель. Открыть корпус сервера. Переставить SCSI-контроллер в соседний слот. Подсоединить SCSI кабель. Попытаться запустить систему (сначала хранилище, спустя 5-10 минут сервер). При отсутствии положительного результата переходим к плану «В».

План «В». Снова все выключить (сначала сервер, потом дисковое хранилище). Отсоединить кабели питания. Отсоединить интерфейсный SCSIкабель. Открыть корпус сервера. Демонтировать SCSI-контроллер. Аккуратно извлечь жесткие диски из корзин дискового хранилища, не забыв пометить каждый из них, из какой по счету корзины его вытащили, чтобы не перепутать. Выждать примерно с полчаса, чтобы все «отлежалось». Установить жесткие диски и SCSI-контроллер на те же места. Подключить кабели. Включить дисковую полку, потом через 5-10 минут – сервер.

И это отнюдь не первоапрельская шутка, а реальная статья из внутренней Knowledge Base, которая использовалась не одним поколением системных администраторов в той организации. Самое удивительное, что это работает! Возможно, кто-то из читателей может поделиться своими шаманскими вариантами реанимации старых дисковых систем с прямым доступом.

Разумеется, реализовать работу в режиме 24/7 с минимальными простоями на таких «динозаврах» не получится.

Литература:

[1] Коляденко А. Почти все о SCSI – http://citforum.ru/hardware/pc/ scsi.

[2] Зейников А. Интерфейс SAS: история, примеры организации хранения – https://habrahabr.ru/post/175313/.

[3] Касачев К. Основы Fibre Channel – https://habrahabr.ru/ post/216369.

[4] PATA, IDE – интерфейс, слот. Для чего нужен, скорость передачи данных и режимы – http://www.xtechx.ru/c40-visokotehnologichni- spravochnik-hitech-book/pata-interface.

[5] SATA – интерфейс. Виды разъемов, скорость передачи данных, ревизии и версии SATA – http://www.xtechx.ru/c40- visokotehnologichni-spravochnik-hitech-book/sata-interface-port.

[6] Сайт, посвященный USB 3.0 – http://www.usb-30.ru/interface.
[7] Описание файловой системы OCFS2 – http://xgu.ru/wiki/OCFS2. [8] LUN storage: Working with a SAN’s logical unit numbers – http://searchstorage.techtarget.com/essentialguide/LUN-storage- Working-with-a-SANs-logical-unit-numbers.

Рейтинг материала
[Голосов: 1 Рейтинг: 5]
25 января 2017, 09:05

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *