События, имевшие место лет двадцать назад, удивительным образом повторяются в наши дни. Стоит напомнить, что в 1986 году группа ученых из Университета Беркли, возглавляемая Дэйвом Паттерсоном, предложила неожиданное решение. Она нашла метод, позволяющий собирать надежные дисковые накопители из дешевых дисков, а потому и назвала свое изобретение «надежным массивом из дешевых дисков» (Redundant Array of Inexpensive Disks, RAID).
Вскоре университетскую инициативу подхватили многие производители дисковых систем. В начале 90-х RAID-массивы стали весьма популярными, но сами авторы идеи оказались почти ни с чем — они оставили о себе лишь заметки в скрижалях компьютерной истории. Поначалу буква I в RAID означала именно «дешевые» (Inexpensive), в чем, собственно, и заключался ключевой момент изобретения. Однако потом, когда RAID-массивами стали комплектовать мощные серверы, маркетологи ради благозвучия заменили «дешевые» на «независимые» (Independent).
В 2002 году в другом университете, на сей раз в Университете штата Колорадо, исследователи Деннис Коларелли и Дирк Грювальд выдвинули родственное по смыслу предложение. Суть его состоит в том, что в условиях стремительного удешевления дисков можно строить огромные дисковые массивы. Но для того, чтобы не крутить шпиндели вхолостую, часть неиспользуемых в данный момент дисков можно периодически останавливать. Коларелли и Грювальд назвали такое устройство «массивом с простаивающими дисками» (Massive Array of Idle Disks, MAID).
Стоимость хранения байта данных на дисках типа SATA сравнялась со стоимостью хранения на магнитных лентах и продолжает падать, поэтому, что совершенно естественно, хотелось бы заменить ленты дисками.
Основным препятствием к созданию очень больших дисковых библиотек является более высокое энергопотребление дисков. Все диски находятся в состоянии вращения, хотя даже в RAID активно используются не более 15% хранимых данных, а в архивных библиотеках — и того меньше. Барьерами являются не только высокое потребление энергии, но и невозможность из-за необходимости отвода тепла «упаковывать» в ограниченный объем достаточно большое число шпинделей.
Дисковые массивы категории MAID призваны разрешить это противоречие. Они ориентированы на архивное применение, поэтому им достаточно работать в режиме WORO (Write Once, Read Occasionally — «записано единожды, читается изредка»). Такие массивы задумывались как дополнение к ленточным библиотекам в многоуровневых системах накопления информации, а потому априори не рассчитаны на транзакционные операции с данными.
И еще одна аналогия с событиями 20-летней давности. Вновь выясняется, что создание реально действующих дисковых массивов не по силам университетским лабораториям, поскольку возникает целый ряд сложных технических и технологических проблем, решаемых только в производственных условиях. В результате на следующем этапе, как и в случае с RAID, инициатива MAID переходит в руки коммерческих фирм. Сейчас, правда, ею непосредственно занимается лишь компания Copan. Она уже поставляет свои дисковые библиотеки Revolution 220T и Revolution 220TX.
Практическая реализация MAID в том виде, который предложили Коларелли и Грювальд, красива по замыслу, но на практике оказалась менее эффективной, чем можно было предположить. Исследователи остановились на простой двухуровневой архитектуре MAID, в которой между неработающими дисками (нулевой уровень) и внешним интерфейсом должны находиться промежуточные кэширующие диски (первый уровень). Нормальное состояние дисков нулевого уровня — выключенное; диски первого уровня работают постоянно. Диски нулевого уровня «реанимируются» в случае обращения к ним, если требуемых данных нет в кэше. Тогда данные мигрируют с простаивающих дисков на диски второго уровня. Несложный анализ показывает, что в зависимости от значения коэффициента Зипфа необходимый объем кэширующих дисков может вырасти до такой степени, что начнет «съедаться» потенциальный положительный эффект. Кроме того, при увеличении объема кэширующих дисков могут возникнуть «узкие места» в тракте между первым и вторым уровнем, и тогда суммарная производительность станет падать.
Трехуровневая модель MAID
Архитектура MAID, разработанная в Copan, отличается тем, что в ней нет специально выделенных кэширующих дисков. Обмен данными осуществляется напрямую с архивными дисками, а изюминка решения заключается в управлении включением и выключением дисков. В заданный момент должно вращаться ровно столько дисков, сколько требуется для обеспечения нужной интенсивности обмена, и получается своего рода виртуальный кэш. Хотя такая схема более энергозатратна, чем двухуровневая, все же MAID-массив потребляет минимум в два раза меньше энергии, чем традиционные массивы.
Внешне стандартная 84-дюймовая (44U) стойка накопителя Revolution 220T не отличается оригинальностью, но на самом она деле представляет собой уникальную трехуровневую сетевую инфраструктуру, в которой узлом сети является каждый из 896 (!) дисков общим объемом 224 Тбайт. Отсутствие жесткой коммутации, собственно, и позволяет реализовать логику работы MAID. В Revolution 220T все диски разделены на три уровня — и логически, и физически. Нижним, нулевым уровнем физической конструкции является коробка (canister), в которую упаковываются 14 дисков объемом по 250 Гбайт. Следующий, первый уровень представлен восемью коробками, собранными в одну полку. Верхний уровень — восемь полок в одной стойке. Итак, иерархия физической модели такова: коробка — полка — стойка. При этом на каждом уровне есть собственный блок управления.
На нулевом уровне этой модели блок управления коробки обеспечивает маршрутизацию данных и контроль над состоянием окружающей среды. На первом уровне контроллер полки обеспечивает внутреннюю организацию хранения данных по типу RAID, а также кэширование, управление питанием дисков и общее управление устройствами. На третьем уровне контроллер стойки поддерживает внешнее представление дисковой библиотеки, в том числе возможность подключения по протоколам SCSI, iSCSI, NFS и CIFS, управление логическими томами и блоками, производительностью и балансировкой нагрузки.
В результате экспериментов установлено, что оптимальное число включенных дисков в среднем должно равняться 0,27 общего числа дисков. Вызванное этим снижение тепловыделения позволяет увеличить плотность размещения дисков в MAID в 3,7 раза по сравнению с традиционными дисковыми массивами. Сетевая архитектура и наличие RAID-контроллера в каждой полке позволяют обеспечить высокую скорость обмена данными. В Revolution 220T таких контроллеров восемь, и их суммарная пропускная способность превышает возможности 2-гигабитного варианта Fibre Channel. Время доступа к данным, находящимся на вращающихся дисках (то есть в кэше), находится в пределах, принятых для обычных RAID-массивов (от 20 мс до 40 мс). Время первого обращения к остановленному диску увеличивается на 13 секунд, требуемых на раскрутку, после чего этот диск включается в виртуальный кэш.
При создании дисковых массивов большое внимание уделено надежности хранения данных. Для этого в конструкцию MAID заложено несколько оригинальных решений. Из 14 дисков, находящихся в коробке, четыре являются резервными. Каждый из них посредством измененной маршрутизации может быть «скоммутирован» для работы в составе любой другой коробки. Поскольку большая часть дисков не вращается, приложить к архитектуре Copan традиционные подходы к организации RAID 5 не удается, а потому пришлось разработать программный инструментарий Power Managed Raid. В результате Revolution 220T обеспечивает ту же степень защиты данных, что и обычные дисковые массивы. Еще одна критически важная инновация названа дисковой аэробикой (Disk Aerobics). Речь идет о процедуре профилактического включения и проверки целостности дисков, не работавших длительное время; такая процедура выполняется не реже одного раза в 30 дней.
Возможность безболезненного вывода из эксплуатации диска SATA имеет большое значение при создании крупных массивов из относительно ненадежных дисков. Наработка на отказ такого диска втрое меньше, чем у SCSI, и составляет примерно 400 тыс. часов. Если собрать массив, состоящий из 1 тыс. дисков, то в среднем раз в 18 дней один диск будет выходить из строя.
Интеллект MAID заключен в программном обеспечении Millennia Archive. Оно служит для индексации и поиска по определенным пользователем полям, для автоматического перемещения файлов, контроля над версиями документов и аудита процесса доступа к файлам.
Первое архивное устройство было предложено компанией Copan в 2004 году. Эта виртуальная ленточная библиотека состояла всего из двух полок, была рассчитана на 28 Тбайт, а стоила 108 тыс. долл. (удельная стоимость хранения — 3,75 долл. за 1 Гбайт).
Итак, в современной трехуровневой архитектуре хранения данных, состоящей из быстрых дисков SCSI, дешевых дисков SATA и лент, может появиться четвертый фигурант, занимающий промежуточное место между дисками и лентами. По своим параметрам массивы, построенные по архитектуре MAID, в наибольшей степени подходят для приложений: данные накапливаются, но в последующем бывают редко востребованы (таковы, например, задачи резервного копирования и архивирования). В применении к резервному копированию и восстановлению данных MAID-массивы совмещают достоинства лент и дисков. От лент они взяли простоту масштабирования, высокую плотность записи и минимум занимаемого пространства, простоту управления, от дисков — скорость записи и восстановления, а благодаря алгоритмам RAID — еще и повышенную надежность и защищенность данных. К тому же MAID поддерживает более широкий спектр внешних интерфейсов, чем ленточные библиотеки. Если учесть тенденцию опережающего снижения стоимости на диски по сравнению с лентами, можно предположить, что MAID-массивы со временем могут найти широкой применение для создания резервных копий.
Вторая перспективная область применения MAID-массивов — архивирования контента. С появление дешевых SATA дисков появилась возможность создания оперативных архивов, их обязательное наличие сегодня регламентируется целым рядом нормативных документов, принятых в развитых странах; в недалеком будущем подобные требования станут повсеместными. Но простые по архитектуре и одновременно большие по объему хранимых данных дисковые массивы, построенные из упрощенных дешевых дисков, обладают существенной меньшей надежностью, чем аналогичные массивы, построенные на базе SCSI-дисков. Массивы на основе MAID позволяют компенсировать этот недостаток и решить классическую задачу надежности, позволяя построить надежную систему из относительно малонадежных компонентов.