Сущность концепций хранения данных Преодоление Топей:

Преодоление Топей:
Сущность концепций хранения данных
В наших ранних приключениях в Дебрях Хранения Storeland мы рассмотрели устройства низкого уровня, используемые при построении решений хранения: конструкцию диска, метрики дисковой производительности, ATA и SCSI шинные протоколы. На этот раз мы рассмотрим технологию и основные модели хранения данных, которые нам просто необходимы, чтобы последовательно перейти к системам хранения. В следующий раз мы изучим детали и соответствующее применение различных типов RAID, после чего вторгнемся на холмистую территорию страны Storeland в поиске более продвинутых концепций хранения данных. Маршрут путешествия предполагает, что где-то дальше находится SAN Водопад.

При ознакомлении с вводными понятиями классифицируем и расположим их в порядке от легкого к сложному. Если рассматривать развитие новых парадигм Storeland со всех точек зрения, то можно заметить, что перспективность серверов следующего поколения (особенно кластерных серверов) заложена в SAN-архитектуре. Для комплексного управления всем этим постоянно ведутся разработки как многосторонних, так и специализированных инструментов разной сложности.
Итак, возьмем самое необходимое — и вперед в путешествие... Снимем обувь, если это не болотные сапоги, закасаем джинсы и начнем преодоление Топей (конечно, вброд!). SAVE AS: "Знание — сила, а незнание — сюрпизы в карьере админа!"

Термины физического диска
Для характеристики различных физических и логических аспектов диска перечислим следующие термины и их значения, объединенные общей темой.
Сектор: Обычно 512 байтов; наименьшая адресная часть на диске.
Блок: Еще одно обозначение сектора. Обычно используется в контексте рассмотрения всех секторов на диске как единичный линейный адресный ряд, не затрагивая такие аспекты, как поверхность и дорожка.
Дорожка: Все секторы, которые вошли в единичную "колею" на одной поверхности дисковой пластины.
Цилиндр: Вертикальное множество дорожек, которые размещаются на всех дисковых поверхностях в одной колее.
Раздел: Логическая группа последовательных блоков или цилиндров на диске, наглядно представленная в форме "крышки" (верхней части) диска, в зависимости от порядка и периода цилиндров.
Еще раз отметим, что если разделов множество, то "первый" раздел (внешняя группа цилиндров) будет иметь самую высокую скорость передачи и относительно наибольшую емкость, в то время как раздел, лежащий глубоко внутри, — наименьшие оба показателя. Причиной этого служит изменение числа физических секторов в дорожке. Эта информация изложена в сжатом виде. В самом первом выпуске рубрики Storeland вы могли более полно и детально ознакомиться с физическими и логическими компонентами винчестера, а заглянув на веб-сайт издательства "Нестор" — еще и с производительными и операционными характеристиками.
Разделы распознаются и используются файловыми системами, ПО управления дисковым пространством и определенными приложениями (обычно базами данных). Диск должен иметь один и более разделов до того, как на нем начнут работу. Для того чтобы создать раздел(ы), можно указать в командной строке fdisk (Windows) или format (UNIX). Это просто. Для этих целей можно воспользоваться как интегрированными инструментами, так и GUI третьих фирм, как, например, Partition Magic от PowerQuest Corp.
Номер логического подразделения (LUN): составляющая SCSI протокола. Это аппаратный способ адресации к устройству с помощью 7 подадресов с добавлением бычного SCSI ID (адрес цели). Почти у всех устройств LUN имеет значение NULL. В то же время можно использовать "ненулевое" значение LUN, чтобы различать несколько логических вспомогательных устройств в пределах одного физического. Приведу другой пример: EMC Corp. применяет возможности SCSI LUN для моделирования (искусственного создания) физических адресов разделов HVE-дисков в своих модулях симметричного хранения информации. Это нужно по причине того, что эти внутренние дисковые разделы (каждый ограничен 8,5 ГБ вследствие эмуляции дисков мэйнфрэймов IBM 3390-9) должны быть отображены внешним каналам — как если бы они являлись физическими накопителями — для использования менеджером тома. Отсюда и потребность в отдельном физическом адресе. Многие ОС требуют патчи, чтобы распознавать "ненулевые" значения LUN.

RAID термины
При рассмотрении характерных возможностей аппаратной части управления дисковым пространством (т.е. возможностей RAID контроллеров) перейдем к следующим базовым понятиям.
Ячейка: Таким незамысловатым термином я буду называть атомный размер записи в пределах RAID массива. Выборочно назначению ячейки можно придавать смысл ширины страйпа, элемента страйпа или глубины страйпа. Типично, размер ячейки от 16 до 64 Кб. Выбрав необходимую величину ячейки, можно качественно выровнять основную структуру массива. Ячейка — весьма важный и неотъемлемый эквивалент страйповой единице на поддиске в соответствии с типом управления пространства.
Своему директору, чтобы долго не объяснять рациональность подогнанных элементов страйпа, можно сказать, что это ваш стиль!
Страйповый набор (множество): Одноразмерная группа дисков формирует страйповое пространство RAID. (Отметим, что зеркальная конфигурация RAID-1 не считается страйповым множеством).
Страйп: "ряд" ячеек, входящих в состав страйпа, один из образующих составную часть диска. Ряд является отображением поворота столбца, созданного менеджером тома, на 90 градусов.
Зеркализация: Это самый упрощенный тип RAID, где один элемент (обычно дисковый раздел) в реальном времени в точности копирует другой. Все операции записи по отношению к обоим элементам ведутся одновременно. В случае сбоя, когда произошло уничтожение зеркального элемента на диске, положение не катастрофическое. Изначальные данные на втором элементе будут не затронуты. Но если в результате действий хоста (или юзера!) произойдет искажение данных или их повреждение, то обе копии будут одинаково изменены в то же время. Но, может быть, прошлой ночью была сделана резервная копия?
Пространство аппаратного RAID: Виртуальный диск, представленный RAID контроллером хосту компьютера. В отличие от ПО управления пространства хранилища, ни один из элементарных дисков (образующих составную часть диска) невидим хосту, и ни одна из операций управления RAID не требует какой-либо обработки и вмешательства хоста.
RAID: Вкратце, RAID нацелен на обеспечение защиты данных при сбое работы диска для предоставления N-большей вместительности информации, чем доступно на индивидуальном диске, и для улучшения производительности (через страйпинг).
На сегодняшний день отметим, что RAID уровня 0 (RAID-0) — простой страйпинг через множество дисков; RAID-1 — простая зеркализация на паре дисков. Другие уровни отличаются более сложным совмещением страйпинга, затем зеркализации (RAID-0+1), или зеркализации и страйпинга (RAID-10, превосходящее решение), страйпинга с особой OR(XOR) паритетностью страйпов (RAID-3,4,5), или более современная форма — RAID-0 страйп, состоящий из нескольких RAID-5 массивов (RAID-50).

Термины управления пространством
Констатируем базовые термины, необходимые нам при обсуждении программных способов управления пространством.
Менеджер тома: Программное обеспечение, которое позволяет создавать и управлять пространством "хранилища". Менеджер тома существует как определенный слой между физическими устройствами и файловой системой (или приложений, использующих ряд устройств).
Диск тома: Имя раздела физического диска, который используем для хранения. Диск тома имеет 2 возможных компонента: общий регион и зарезервированное пространство.
Системная область: Имя, присвоенное небольшому разделу на каждом физическом диске, где находятся карты и контрольные таблицы. Это описывает один и более дисков тома, принадлежащих физическому диску, так же как и копии глобальной информации тома.
Поддиск: Один и более логических разделов в пределах общего региона. Это образование служит построительным блоком следующей, более высокого уровня конструкции, структурного "сплетения".
Страйповая единица (страйповый элемент): Определяемый пользователем логический блок поддиска фиксированного размера. Манипулирование с объектом доступно с помощью инструмента управления именно структурным сплетением (см. ниже), а не инструментами поддискового управления. Страйповая единица является ключом в программном управлении пространством как понятие элементарной ячейки в отношении к пространству аппаратного RAID. Стандартная размерность страйпового элемента 64 Кб.
Столбец: Все страйповые блоки, размещающиеся на поддиске. К примеру, поддиск размеров 10 Гб будет иметь 163 840 страйповых блоков (если размер страйпа как образования 64 Кб). В соответствии с аппаратной организацией массива такое же число 64 Кб ячеек формирует 10 Гб диск.
Структурное сплетение: Группа из одного и более поддисков, выделенных из разных физических дисков, сконфигурированных определенной связью между собой. В структуре сплетения общее поддисковое пространство будет организовано каскадным соединением каждого поддиска или страйпингом через столбцы поддиска.
Каскадное соединение (spanning): Один способ организации поддискового пространства в пределах структурного сплетения. Когда информационное пространство этой структуры образовано соединением поддисков вместе по принципу end-to-end с целью формирования виртуального пространства, это называется каскадным соединением (цепью). Принцип работы: заполнение первого поддиска, затем переход на следующий и т.д. Использование очередного поддиска возможно лишь после того, как в связке будет полностью заполнен предыдущий. Такая структура будет всегда характеризоваться медленной скоростью записи по отношению к единичному поддиску. В то же время, когда структурное сплетение сформируется, больше дисков смогут одновременно отвечать на запросы чтения, производимые случайно через соединение поддисков в пределах структуры.
Страйпинг (striping): Другой способ организации поддискового пространства. К примеру, когда два и более столбцов (от разных физических дисков) обозначены в пределах структурного сплетения и они сконфигурированы как RAID-0 или RAID-5 страйпы. Страйповые элементы из ряда через столбцы используются для распределения хранения в манере "перескока" (в сравнении), как с аппаратной RAID системой. Это будет равнозначно ряду ячеек в аппаратном RAID. Такой технический прием страйпинга позволяет производительности чтения/записи массива приблизиться к максимальному значению объединенных скоростей группы задействованных физических дисков. Это предполагает, что каждый поддиск сконфигурирован как целый диск (единичный раздел охватывает целый общий регион). Если на каждом диске множество поддисков и каждый отображен в структурном сплетении в разном объеме, тогда производительность будет понижена пропорционально (если все они в равной степени активны). На самом деле, ощутимые потери в производительности будут больше, чем предполагаемая пропорциональная сумма, так как надо учитывать физическое перемещение магнитных головок. Чем удаленнее будет движение головок, тем более вероятно, что они не попадут на интересующий нас сектор. Поэтому на производительность будет влиять не один определяющий фактор.
Том: Это название одного или нескольких структурных сплетений, используемых при построении единого виртуального пространства. Оно включает единичную структуру "data" и (опционально) соответствующую структуру "log". Иной паре структурных решений можно дать определение зеркального отображения первой пары в этом же томе.
Большинство людей понимают том как название механизма, который связывает единичное страйповое структурное сплетение данных или пару зеркальных структурных сплетений. Файловый менеджер (или приложение, которое выполняет ряд операций ввода-вывода) распознает том как физический диск. Пары структурных сплетений в пределах этого тома могут быть установлены как множество зеркал, но хостом воспринимается только одно из них. В определенной литературе говорится: "каждое структурное сплетение — это одна копия тома, с которым структурное сплетение связано". Это значит, что каждое структурное сплетение после первого станет еще одним зеркалом в N-мерном зеркале, отражая исходное структурное сплетение.
Тома создаются, чтобы построить большее рядное пространство, чем есть на отдельном диске; чтобы применить зеркализацию и паритетную защиту; чтобы добиться увеличения производительности, применяя страйпинг в пределах структурного сплетения. Менеджер тома может повысить гибкость над пространством аппаратного RAID, но и увеличит стоимость общей производительности ввода-вывода и дополнительную нагрузку на систему. Вкратце, гибкость возможна при знании динамического микроуправления размером структурных сплетений, используя спаренные поддиски. Этот технический прием требует использования каскадных структур, отчего, впрочем, пострадает производительность.

Категории хранилищ
Теперь обратим внимание на те типы решений, на которых вы можете остановить свой выбор, и чем они различаются. На сегодняшний день существует 4 основных типа решений хранения: JBOD, EJBOD, программный RAID и аппаратный RAID. Каждый имеет свое место... Но если вы выберите для вашей системы ошибочное решение, это может отразиться низкой производительностью, плохой управляемостью и ненадежностью (например, для корпоративного почтового сервера).
Поговорим о форме Just a Bunch of Disk (JBOD). Хост системы имеет независимые и внешние диски, подключенные к контроллеру стандартной шины. JBOD — самая старая дисковая конфигурация, применяемая и поныне. На каждом диске может быть один или несколько разделов. На каждом разделе — по файловой системе. Для файловых систем нет отдельной защиты, кроме как через резервные ленты (кто использует, тот знает, что такое регулярное резервирование, верно?).
Enhanced JBOD (EJBOD) — термин, появившийся в 1998 году, который характеризует класс продуктов, обладающих некоторыми возможностями, которые рассчитаны на полное RAID решение. Для EJBOD-устройства все еще необходимо хостовое ПО (обычно менеджер тома). Этими средствами могут располагать хостовый адаптер или, как более распространенный вариант, внешняя дисковая система. EJBOD-продукты могут обладать определенными свойствами вне уровня протокола: незначительная кэш-память; одна или несколько ATA/SCSI шин, которые контролируются хостом не напрямую; и, возможно, стоящая отдельно поддержка для дисковой зеркализации. Несмотря на все возможности аппаратного RAID контроллера со страйпингом и паритетным управлением "на лету", такое "железо" ускоряет ввод-вывод, обеспечивая write-back кэширование и кэширование при чтении. Однако, хост компьютера распознает отдельные диски, так как построение страйповых томов из этих дисков происходит с помощью софта.
Термин EJBOD наилучшим образом характеризует системы симметричного распределения EMC серий 3600/3800/3900. В этих системах Hyper Volume Extension (HVE) разделы могут быть сконфигурированы под операции JBOD или RAID-1. Чтобы создавать страйповые тома из этих виртуальных дисков, необходимо использование менеджера тома. Несмотря на то, что симметричные системы не могут поддерживать страйпинг, имеется опция создания мета-тома. Это поможет уменьшить число дисков, управляемых хостом, но мета-том будет показывать такую же невысокую производительность, как и любой том из (внутреннего) каскадного соединения группы HVE разделов, созданный менеджером тома. В своей более поздней линейке продуктов EMC предлагает уникальную 4*HVE конфигурацию, получившую название RAID-S и очень похожую на не страйповую форму RAID-4. Так как в симметричной архитектуре отсутствует RAID контроллер, инженерным решением было поместить операцию XOR вычисления паритета в сами накопители. Углубленная специализация Seagate и IBM привела к созданию нескольких специфических моделей накопителей с поддержкой RAID-S команд.
Когда RAID том конструируется на системе JBOD, для установления и вычисления его используется менеджер тома (программный RAID). За исключением RAID-0 и зеркализации, производительность выполнения RAID-функций в программном окружении не эффективна, увеличивает дополнительную нагрузку на процессор и поток ввода-вывода на диск. Если в такой ситуации заменить принцип работы RAID-0 на RAID-5 — скорость записи снизится еще на 20-50%. ПО должно управлять хранением блоков данных (страйповых элементов) в страйпах и выполнять все операции вычисления паритетов, где требуется. В случае с зеркализацией, весь трафик записи снизится в 2 раза.
В MS Windows NT Server 4.0 есть поддержка зеркализации и двух форм страйпинга (RAID-0 и RAID-5). NT Workstation может только поддерживать простой RAID-1. Эффективность управления паритетом в ОС Linux — интересная и отдельная тема.
Основное неудобство программного RAID в том, что хост видит и управляет каждым физическим диском. Для примера, большой сервер с 10 ТБ распределенной базой данных потребует 570 JBOD-дисков (по 36 Гб каждый), сконфигурированных в RAID-0+1. Используя 6 EMC 3830-36 модулей (где HVE разделы будут составлять 8,5 Гб), получится 1152 видимых + 1152 скрытых HVEs! С аппаратным RAID решением видимы будут только 1/2 виртуальных дисков и количество видимых дисков (1152) сократится до 40 виртуальных (модули Sun T300).

Выводы
Завершая тему, мы пришли к выводу, что намного сложнее вести мониторинг дисковой производительности, где управление томами происходит на уровне софта, гланым образом из-за количества видимых устройств.
Выбор страйпинга или каскадной связи к структурному соединению и выравнивание тома может сильно воздействовать на производительность. Также можно встретить современные формы программного RAID и аппаратного RAID с целью организации единого большого виртуального пространства. Каждая часть RAID будет представлять собой единичный виртуальный диск, который затем будет сконфигурирован как поддиск. Эти поддиски могут быть связаны каскадной цепью (для более легкого управления пространством) или страйпингом (для достижения более высокой производительности, как в конструкции RAID-50) в пределах структурного сплетения. Поддиски могут быть элементарно добавлены или перенесены в/из структуру(ы). Перемещение возможно, если пространство под данные меньше, чем размер сокращенного структурного сплетения.
В аппаратном решении RAID присутствует внутренний дисковый контроллер со встроенными RAID-функциями или внешняя дисковая подсистема с внутренним RAID контроллером. Это самая распространенная форма RAID. Контроллером конфигурируется то, что представляет собой один или несколько полных тома с типом защиты данных и желаемой "горячей" заменой дисков.
Успешное архитектурное проектирование, отвечающее современным требованиям, и планирование будущего заставляют определиться в выборе тех решений хранения данных, в концепциях которых заложены специализированность средств и многосторонность применяемых технологий.

Al, al.leon@usa.net


(c) компьютерная газета




Компьютерная газета. Статья была опубликована в номере 17 за 2001 год в рубрике hard :: hdd

©1997-2024 Компьютерная газета