Опубликовано 06 декабря 2005, 00:33

Современные системы хранения данных

Что такое системы хранения данных (СХД) и для чего они нужны? В чём разница между iSCSI и FibreChannel? Почему данное словосочетание только в последние годы стало известно широкому кругу IT-специалистов и почему вопросы систем хранения данных всё больше и больше тревожат вдумчивые умы?

Думаю, многие заметили тенденции развития в окружающем нас компьютерном мире – переход от экстенсивной модели развития к интенсивной. Наращивание мегагерц процессоров уже не даёт видимого результата (см. обзор «Извечный вопрос: Intel или AMD?»), а развитие накопителей не поспевает за объёмом информации.

Если в случае процессоров всё более или менее понятно – достаточно собирать многопроцессорные системы и/или использовать несколько ядер в одном процессоре, то в случае вопросов хранения и обработки информации так просто от проблем не избавиться.

Существующая на данный момент панацея от информационной эпидемии – СХД. Название расшифровывается как Сеть Хранения Данных (SAN) или Система Хранения Данных. В любом случае – это специализированное железо и ПО, предназначенное для работы с огромными массивами ценной информации.

datastor

datastor

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

Основные проблемы, решаемые СХД

Итак, какие же задачи призвана решить СХД? Рассмотрим типичные проблемы, связанные с растущими объёмами информации в любой организации. Предположим, что это хотя бы несколько десятков компьютеров и несколько разнесённых территориально офисов.

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

2. Лавинообразный рост информации – зачастую количество жёстких дисков, которые вы можете установить в конкретный сервер, не может покрыть необходимую системе ёмкость.

Как следствие:

Невозможность полноценно защитить хранимые данные – действительно, ведь довольно трудно произвести даже backup данных, которые находятся не только на разных серверах, но и разнесены территориально.

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

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

3. Сложно или невозможно предугадать требуемый объём дискового пространства при развертывании компьютерной системы.

Как следствие:

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

Неэффективная утилизация ресурсов – порой не угадать, в каком сервере данные будут расти быстрее. В сервере электронной почты может быть свободен критически малый объём дискового пространства, в то время как другое подразделение будет использовать всего лишь 20% объёма недешёвой дисковой подсистемы (например, SCSI).

4. Низкая степень конфиденциальности распределённых данных – невозможно проконтролировать и ограничить доступ в соответствии с политикой безопасности предприятия. Это касается как доступа к данным по существующим для этого каналам (локальная сеть), так и физического доступа к носителям – к примеру, не исключены хищения жёстких дисков, их разрушение (с целью затруднить бизнес организации). Неквалифицированные действия пользователей и обслуживающего персонала могут нанести ещё больший вред. Когда компания в каждом офисе вынуждена решать мелкие локальные проблемы безопасности, это не даёт желаемого результата.

5. Сложность управления распределёнными потоками информации – любые действия, которые направлены на изменения данных в каждом филиале, содержащем часть распределённых данных, создает определённые проблемы, начиная от сложности синхронизации различных баз данных, версий файлов разработчиков и заканчивая ненужным дублированием информации.

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

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

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

Мегабайты или транзакции?

Если раньше жёсткие диски находились внутри компьютера (сервера), то теперь им там стало тесно и не очень надёжно. Самое простое решение (разработанное достаточно давно и применяемое повсеместно) – технология RAID.

raid

raid

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

С точки зрения пользователя или ПО, скорость определяется не только пропускной способностью системы (Мбайт/с), но и числом транзакций – то есть числом операций ввода-вывода в единицу времени (IOPS). Увеличению IOPS способствует, что вполне логично, большее число дисков и те методики повышения производительности, которые предоставляет контроллер RAID (к примеру, кэширование).

Если для просмотра потокового видео или организации файл-сервера больше важна общая пропускная способность, то для СУБД, любых OLTP (online transaction processing) приложений критично именно число транзакций, которые способна обрабатывать система. А с этим параметром у современных жёстких дисков всё не так радужно, как с растущими объёмами и, частично, скоростями. Все эти проблемы призвана решить сама система хранения данных – чуть ниже будет видно, как и какими методами.

Уровни защиты

Нужно понимать, что в основе всех систем хранения данных лежит практика защиты информации на базе технологии RAID – без этого любая технически продвинутая СХД будет бесполезна, потому что жёсткие диски в этой системе являются самым ненадёжным компонентом. Организация дисков в RAID – это «нижнее звено», первый эшелон защиты информации и повышения скорости обработки.

Однако, кроме схем RAID, существует и более низкоуровневая защита данных, реализованная «поверх» технологий и решений, внедрённых в сам жёсткий диск его производителем. К примеру, у одного из ведущих производителей СХД – компании ЕМС – существует методика дополнительного анализа целостности данных на уровне секторов накопителя. Секторы на жёстких дисках, установленных в системы хранения данных ЕМС, имеют размер не 512 байт (стандарт), а 520 байт – лишние 8 байт на каждый сектор играют роль своеобразной базы данных, куда СХД записывает информацию о «здоровье» каждого сектора (данная методика, насколько известно, не применяется больше ни у одного производителя).

Как известно, у жёстких дисков с интерфейсом IDE существует технология SMART, призванная предсказывать возможные проблемы в работе диска, которая зачастую работает очень неточно, что сводит её ценность практически к нулю. У дисков же, использующихся в серьёзных СХД (диски SCSI и FibreChannel), изначально не было технологии SMART – поэтому оценка целостности и верификация данных каждого конкретного сектора – большой плюс, позволяющий дополнительно защитить данные и уведомить администратора системы о возможных проблемах задолго до момента их реального наступления.

Жёсткий диск может быть и исправен, но обладать так называемыми проблемами «мягких ошибок» («soft errors») – когда данные в секторе записаны корректно, но чтение их может давать различный результат. Такой вариант неприемлем, но «remap» (подмена) такого сектора средствами самого жёсткого диска не происходит – в этом случае и спасает технология анализа каждого сектора, применяемая у EMC.

Интерфейсы подключения

Разобравшись с RAID, перейдём к структуре самих СХД. Прежде всего, СХД разделяются по типу используемых интерфейсов подключения хостов (серверов).

Рассмотрим два «простых» внешних интерфейса подключения – самый ходовой интерфейс SCSI и самый распространённый на данный момент интерфейс сетей хранения данных FibreChannel.

SCSI чем-то похож на всем известный IDE – это параллельный интерфейс, допускающий до 16 устройств на одной шине (для IDE, как вы помните – 2 устройства на канал). На данный момент максимальная скорость протокола SCSI – 320 Мбайт/с (в разработке находится версия для 640 Мбайт/с), часто так и пишут – SCSI U320. Недостатки SCSI очевидны – толстые неудобные кабели, имеющие ограничение на максимальную длину (до 25 м), не обладающие помехозащищенностью. Также ограничения накладывает сам протокол SCSI – обычно это один инициатор на шине (SCSI-контроллер) + ведомые устройства (диски, стримеры и т.д.).

scsi

scsi

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

FibreChannel очень популярен в среде IT-специалистов – они-то знают, какие преимущества несёт эта технология, почти неизвестная «домашним пользователям». Причина понятна – дороговизна оборудования и предназначение протокола FibreChannel (FCP) для развёртывания масштабных сетей хранения данных (SAN), что находит применение только в крупных компаниях. Однако такая практика является наилучшим решением для всех описанных выше проблем, в чем мы в дальнейшем убедимся.

Не стоит путать «Fiber» и «Fibre» – технология, как и протокол, специально названа FibreChannel, чтобы хоть чем-то отличаться от технологий, построенных на оптических средах передачи (fiber) – ведь FibreChannel может работать и по «меди». На практике современный FibreChannel имеет скорости 2 Гбит (FibreChannel 2 Gb) или 4 Гбит (FibreChannel 4 Gb) full- duplex, то есть такая скорость обеспечивается одновременно в обе стороны. В переводе на скорость канала получаем 200 или 400 Мбайт/с по оптическому двухжильному кабелю.

fibre

fibre

Расстояния практически не ограничены – от стандартных 300 метров на самом «обычном» оборудовании до 2000 км для мощных коммутаторов, так называемых «директоров». Главный плюс интерфейса FibreChannel – возможность объединения многих устройств хранения и хостов (серверов) в единую сеть хранения данных (SAN). Более приземлённые мелочи – большие расстояния (чем со SCSI), возможность агрегирования каналов, возможность резервирования путей доступа, «горячего подключения» оборудования, большая помехозащищенность.

Физически используются двухжильные многомодовые или одномодовые оптические кабели (с коннекторами типа LC или SC) и так называемые SFP – оптические трансмиттеры на основе светодиодных или лазерных излучателей – от этих двух компонент зависит скорость передачи и максимальное расстояние между устройствами.

Конструкция стоек

Далее мы будем использовать устоявшееся словосочетание «дисковая стойка». Им обозначают некую коробку с жёсткими дисками, к которой подключаются серверы и которая может содержать, кроме дисков, также кэш-память, процессоры, несколько блоков питания, внутреннее системное ПО и так далее.

Конструктивно дисковая стойка, то есть наша система хранения данных, рассчитана на установку в монтажный шкаф. Она включает в себя от 8 до 15 жёстких дисков «горячей замены» (на 1 дисковую полку) с интерфейсом SATA/PATA, SCSI или FibreChannel, имеет несколько внешних портов SCSI/FibreChannel для подключения хостов. Дисковая стойка может иметь несколько блоков питания «горячей замены», включать в свой состав кэш-память (и батарею резервирования кэш-памяти), контроллеры или процессорные модули, работающие на базе специализированного ПО, обеспечивающего полное управление системой и дополнительную уникальную функциональность.

Самый простой вариант внешней дисковой стойки – это SCSI+ SCSI стойка с 14 дисками, в которой установлены два блока питания и которая может подключаться одновременно к 2 серверам (каждый из них может иметь доступ к своим 7 дискам или работать в кластерном режиме со вторым сервером). Никакого кэша или процессоров в такой стойке нет – по сути, она просто расширяет внутреннюю дисковую ёмкость сервера и добавляет некоторую уникальность – позволяет создавать кластер.

При использовании таких простых стоек необходим RAID-контроллер, установленный на сервере – сама стойка в этом случае создать RAID своими силами не способна. Типичный пример – DELL PowerVault 220 S.

dell

dell

Более продвинутый вариант – стойка со своими процессорами, кэшем и ПО, которая уже способна сама создавать RAID-массив и управляться пользователем. Обычно он имеет интерфейсы SCSI+SATA, типичный пример – Axus DemonRAID.

DemonRAID

DemonRAID

Отличие в том, что уже нет надобности ставить в сервер RAID-контроллер с внешним интерфейсом – достаточно простого адаптера SCSI. В теории такие стойки обеспечивают большую производительность и функциональность, чем аналогичные неуправляемые беспроцессорные системы. Но делать управляемые стойки SCSI+SCSI особого смысла нет, а SCSI+SATA в большинстве случаев проигрывает по скорости дисковой подсистемы (SATA медленнее SCSI), хотя выигрывает по ёмкости и цене. В принципе, зная о большом числе накопителей в системах хранения данных, кэш-памяти и специализированных процессорах, можно сразу предположить, что скорости, обеспечиваемые стойкой, несоизмеримы со скоростями в любой внутренней дисковой подсистеме. Этот момент является одним из важных плюсов СХД и, естественно, позволяет работать с СХД многим хостам одновременно.

Следующий очень важный момент – обеспечение дисковой стойкой большей надёжности и уникальной функциональности, которая была недоступна (или просто практически нереализуема) при использовании в сервере внутренних дисков как основном хранилище данных. Кратко рассмотрим основные плюсы, получаемые при внедрении полноценного решения на базе СХД, а их практическую реализацию мы опишем в следующей статье, при рассмотрении конкретных моделей систем хранения:

Высокая надёжность и отказоустойчивость – реализуется полным или частичным резервированием всех компонент системы (блоков питания, путей доступа, процессорных модулей, дисков, кэша и т.д.), а также мощной системой мониторинга и оповещения о возможных и существующих проблемах;

Высокая доступность данных – обеспечивается продуманными функциями сохранения целостности данных (использование 520 байт в секторе, использование технологии RAID, создание полных и мгновенных копий данных внутри дисковой стойки, реплицирование данных на удаленную СХД и т.д.) и возможностью добавления (обновления) аппаратуры и программного обеспечения в беспрерывно работающую систему хранения данных без остановки комплекса;

Мощные средства управления и контроля – управление системой через web-интерфейс или командную строку, выбор нескольких вариантов оповещения администратора о неполадках, полный мониторинг системы, работающая на уровне «железа» технология диагностики производительности;

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

Беспроблемная масштабируемость – обычно существует возможность наращивания числа жёстких дисков, объёма кэш-памяти, аппаратной модернизации существующей системы хранения данных, наращивания функционала с помощью специального ПО, работающего на стойке, без значительного переконфигурирования или потерь какой-то функциональности СХД. Этот момент позволяет значительно экономить и более гибко проектировать свою сеть хранения данных.

Момент, которого мы до сей поры не коснулись вообще – это протоколы и программные интерфейсы взаимодействия СХД и хостов, а также всей сети хранения данных в целом. Этому вопросу, а также практической реализации всей уникальной функциональности систем хранения данных и будет посвящена следующая статья. Дополнительно мы рассмотрим различные модели систем хранения от ведущих производителей, представленных на рынке, методы построения сетей SAN и типы подключения систем хранения в существующую серверную инфраструктуру предприятия.