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

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

Наиболее распространенные в настоящее время системы хранения данных ос­нованы на использовании магнитных и магнитооптических дисков. Простые системы основаны на использовании магнитных дисков стандарта IDE и неко­торых его разновидностей. Например, жесткий диск компании Seagate Tedmology ST340016A (Barradida ATA IV) имеет емкость 40 Гбайт, среднее время доступа 9 мс при скорости вращения 7200 оборот/мин, внешнюю ско­рость передачи данных 100 Мбайт/сек., время наработки на отказ 600000 часов. Магнитооптические диски уступают обычным жестким магнитным дискам лишь по времени доступа к данным. Стоимость хранения единицы данных на них в несколько раз меньше стоимости хранения того же объема данных на же­стких магнитных дисках, однако магнитооптика еще далека от массового при­менения, главным образом из-за высокой цены самого дисковода. Для примера, дисковод Sierra 1.3 Гбайт обеспечивает среднее время доступа 19 мс и среднее время наработки на отказ 80000 часов.

Дальнейшее повышение надежности и коэффициента готовности дисковых подсистем достигается построением избыточных дисковых массивов RAID (Redundant Array of Independent Disks). Дисковый массив - это набор диско­вых устройств, работающих вместе, чтобы повысить скорость и надежность системы ввода/вывода. Этим набором устройств управляет специальный RAID-контроллер (контроллер массива), который инкапсулирует в себе функции раз­мещения данных по массиву; а для всей остальной системы позволяет пред­ставлять весь массив как одно логическое устройство ввода/вывода. За счет па­раллельного выполнения операций чтения и записи на нескольких дисках, мас­сив обеспечивает повышенную скорость обменов по сравнению с одним боль­шим диском.

Массивы также могут обеспечивать избыточное хранение данных, с тем, чтобы данные не были потеряны в случае выхода из строя одного из дисков. В зави­симости от уровня RAID проводится зеркалирование или распределение дан­ных по дискам. Каждый из четырех основных уровней RAID использует уни­кальный метод записи данных на диски, и поэтому все уровни обеспечивают различные преимущества. Уровни RAID 1, 3 и 5 обеспечивают зеркалирование или хранение битов четности; и поэтому позволяют восстановить информацию в случае сбоя одного из дисков.

Технология RAID 0 также известна как распределение данных (data striping). При применении этой технологии информация разбивается на куски (фиксиро­ванные объемы данных, обычно именуемых блоками), эти куски записываются на диски и считываются с них в параллель. С точки зрения производительности это означает два основных преимущества: повышается пропускная способность последовательного ввода/вывода за счет одновременной загрузки нескольких интерфейсов и снижается латентность случайного доступа, поскольку несколь­ко запросов к различным небольшим сегментам информации могут выполнять­ся одновременно. Недостатком является то, что уровень RAID 0 предназначен исключительно для повышения производительности и не обеспечивает избы­точности данных. Поэтому любые дисковые сбои потребуют восстановления информации с резервных носителей.

Технология RAID 1 также известна как зеркалирование (disk mirroring). В этом случае копии каждого куска информации хранятся на отдельном диске. Обычно каждый используемый диск имеет "двойника", который хранит точную копию этого диска. Если происходит сбой одного из основных дисков, то он замеща­ется своим "двойником". Производительность произвольного чтения может быть улучшена, если для чтения информации будет использоваться тот из "двойников", головка которого расположена ближе к требуемому блоку. Время записи может оказаться несколько больше, чем для одного диска, в зависимо­сти от стратегии записи: запись на два диска может производиться либо в па­раллель (для скорости), либо строго последовательно (для надежности).

Уровень RAID 1 хорошо подходит для приложений, которые требуют высокой надежности, низкой латентности при чтении, а также если не требуется мини­мизация стоимости. RAID 1 обеспечивает избыточность хранения информации, но в любом случае следует поддерживать резервную копию данных, т.к. это единственный способ восстановить случайно удаленные файлы или директо­рии.

Технология RAID уровней 2 и 3 предусматривает параллельную ("в унисон") работу всех дисков. Эта архитектура требует хранения битов четности для каж­дого элемента информации, распределяемого по дискам. Отличие RAID 3 от RAID 2 состоит только в том, что RAID 2 использует для хранения битов чет­ности несколько дисков, тогда как RAID 3 использует только один. RAID 2 ис­пользуется крайне редко.

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

RAID 4 исправляет некоторые недостатки технологии RAID 3 за счет использо­вания больших сегментов информации, распределяемых по всем дискам, кроме диска с информацией четности. При этом для небольших объемов информации используется только диск, на котором находится нужная информация. Это оз­начает, что возможно одновременное исполнение нескольких запросов на чте­ние. Однако запросы на запись порождают блокировки при записи информации четности. RAID 4 используется крайне редко.

Технология RAID 5 очень похожа на RAID 4, но устраняет связанные с ней блокировки. Различие состоит в том, что информация четности распределяется по всем дискам массива. В данном случае возможны как одновременные опера­ции чтения, так и записи. Данная технология хорошо подходит для приложе­ний, которые работают с небольшими объемами данных, например, для систем обработки транзакций.

Каждый узел вычислительного кластера НИВЦ МГУ содержит жесткий диск IDE 4.3 Гбайт Quantum (или 10 Гбайт Fujitsu). Кроме того, предоставляется возможность использования RAID-массива из 6 дисков Ultra160 SCSI объемом по 36 Гбайт (IBM), установленного на файл-сервере. Все файлы из домашней директории пользователя хранятся на файл-сервере, для сохранения файлов на локальный диск нужно записывать файлы в каталог /tmp. На другом вычисли­тельном кластере (SKY) на каждом узле установлены два жестких диска, под­ключенные к различным IDE-каналам, что позволяет использовать их парал­лельно двумя прикладными процессами, за счет чего можно получить заметное ускорение задач, требующих интенсивного потока ввода/вывода.

Наши рекомендации