Как показано на рис. 9.1, при использовании массива RAID 0 данные по очереди записываются на разные диски. Приложение выдает несколько запросов на запись. В данном случае предполагается, что приложение всегда выдает запрос на запись с фиксированным буфером и размер буфера совпадает с размером единицы записи в массиве RAID. Данные на рис. 9.1 распределены по нескольким дискам поочередно (каждое число в прямоугольнике представляет собой запрос на запись).
Массив RAID 0 особенно эффективен в аспекте производительности операций ввода-вывода, так как чтение и запись на разные диски может выполняться параллельно. Однако самый большой недостаток RAID 0 – это отсутствие устойчивости к ошибкам. Если окажется неисправным один диск в массиве RAID 0, данные будут утрачены и на других дисках, следуя правилу «потерял один – потеряли все».
Более того, чередование может повысить быстродействие, но при чрезмерном использовании или в неподходящий момент ситуация фактически
Рис. 9.1. Массив RAID 0
становится прямо противоположной и быстродействие снижается. Приложения, ориентированные на транзакции, обычно выполняют ввод-вывод небольшими блоками размером 1 Кбайт и меньше. Приложения, обрабатывающие поточные данные, обычно осуществляют ввод-вывод гораздо большими блоками. Несмотря на это, устройства хранения достигают наивысшей пропускной способности, когда ввод-вывод выполняется блоками намного большего размера, например до 512 Кбайт. Если в такой ситуации воспользоваться восьмикратным чередованием, то размер блока данных для каждого диска составит 64 Кбайт, что приведет к снижению общей производительности.
9.1.2 Массив RAID 1
В массиве RAID 1 операция записи зеркально отражается на первичный и вторичный накопители. На рис. 9.2 показана конфигурация массива RAID 1. Приложение выдает запрос на запись буфера, обозначенного как буфер 1. Данные буфера 1 записываются на два отдельных физических диска. Точно так же приложение выдает запрос на запись буфера 2. Эти данные также записываются не на один, а на два жестких диска.
В идеальных условиях основной и вторичный диски могут быть идентичными. Это означает эффективное выполнение операций чтения в том случае, если они распределены между первичным и вторичным диском. Массив RAID 1 обеспечивает наилучшую скорость чтения среди всех массивов RAID. К его недостаткам относится требование к свободному дисковому простран-
Рис. 9.2. Массив RAID 1
ству: для RAID 1 требуется, как минимум, вдвое больший объем дискового пространства, чем для других массивов. Снижение стоимости жестких дисков несколько уменьшает значимость этого недостатка. Существенное преимущество RAID 1 состоит в мгновенной доступности данных на вторичном диске в случае неисправности первичного диска. Массив RAID 1 – идеальный выбор при использовании в массиве только двух дисков.
9.1.3 Массив RAID 2
Массив RAID 2 больше не используется. В массиве вычисляется код коррекции ошибок (error correction code – ЕСС) для чередующихся записей, однако современные жесткие диски и без того содержат подобную информацию.
9.1.4 Массив RAID 3
Массив RAID 3 обеспечивает чередование с выделенной четностью. При этом информация о четности всегда хранится на определенном выделенном диске, а данные распределены по нескольким дискам.
На рис. 9.3 показана конфигурация массива RAID 3. Приложение выдает один запрос записи, который содержит буфера 1, 2 и 3. Эти данные размещаются на разных дисках. Кроме того, массив RAID 3 вычисляет информацию о четности (Pi), охватывающую все три буфера. Информация о четности записывается на отдельный диск, отличный от дисков, на которые были записаны данные буферов 1, 2 и 3. Точно так же буфера данных 4, 5 и б записываются на различнее диски, а информация о четности для этих буферов
Рис. 9.3. Массив RAID 3
называется Р2; буфера 7, 8 и 9 аналогичным образом записываются на разные диски, данные о четности этих буферов называются РЗ и т.д. Обратите внимание, что информация о четности записывается на один и тот же диск.
Массив RAID 3 обычно требует участия всех дисков массива в операции чтения или записи. Если диск оказывается неисправным, в массив добавляется новый диск и данные с потерянного диска восстанавливаются на основе данных других дисков и информации о четности. Хотя массив RAID 3 имеет слабую поддержку в мире персональных компьютеров (например, не поддерживается контроллерами Adaptec), подобные ему часто применяются в высокопроизводительных суперкомпьютерах.
9.1.5 Массив RAID 4
Массив RAID 4 напоминает массив RAID 3, но при чередовании используются ббльшие единицы записи. Операции чтения распределяются между несколькими дисками, а операции записи выполняются последовательно. Массив RAID 4 также практически не поддерживается производителями, например контроллерами Adaptec.
9.1.6 Массив RAID 5
Массив RAID 5 обеспечивает чередование с распределенной четностью и представляет собой наиболее эффективную реализацию концепции чередо-
вания данных в массивах RAID. Единственное техническое отличие от массива RAID 3 состоит в хранении информации о четности на всех дисках массива.
На рис. 9.4 показана конфигурация массива RAID 5. Приложение выдает единственный запрос на запись данных из буферов 1, 2 и 3. Эти данные размещаются на разных дисках. Кроме того, массив RAID 5 вычисляет четность для всех трех буферов, и эта информация о четности (Р1) записывается на диск, отличный от дисков, на которые были записаны данные из буферов 1, 2 и 3. Точно так же буфера 4. 5 и 6 записываются на разные диски, а информация о четности для этих буферов называется Р2; буфера 7, 8 и 9 аналогичным образом записываются на разные диски, и данные о четности для этих буферов называются РЗ. Обратите внимание: в отличие от массива RAID 3, информация о четности распределена по всем дискам, а не хранится только на одном из них.
Массив RAID 5 обеспечивает баланс между производительностью и защитой данных. В массиве операции чтения могут обрабатываться параллельно несколькими дисками. Операции записи обычно требуют использования, как минимум, двух дисков: одного для данных и одного для четности. RAID 5 – наиболее популярный массив, требующий применения, как минимум, трех дисков. Кроме того, операция восстановления массива при отказе одного из дисков остается весьма трудоемкой.
9.1.7 Двухуровневый массив RAID
Двухуровневый массив RAID (Dual-level RAID) иногда называютгибридным массивом RAID. В двухуровневых схемах RAID различным образом комбинируются базовые реализации массива RAID с сохранением их преимуществ и сокращением влияния некоторых недостатков. В этом разделе вкратце рассматриваются массивы RAID 10, RAID 30 и RAID 50.
Как показано на рис. 9.5, массив RAID 10 комбинирует возможности массивов RAID 0 и RAID 1. Данные записываются на два различных диска, каждый из которых зеркально отражается. Массив RAID 10 обеспечивает чередование зеркальных массивов на базе, как минимум, четырех дисков; при этом даже отказ в работе двух дисков не приведет к нарушению доступа к данным. Массив RAID 10 довольно популярен, так как позволяет реализовать избыточность данных и повышенное быстродействие при относительно несложной реализации.
Массив RAID 30 – это комбинация возможностей массивов RAID 0 и RAID 3 (рис. 9.6). При использовании массива RAID 30 данные записываются на несколько дисков (RAID 0) и выделенный диск четности. Этот массив обеспечиваетчередование с выделенной четност. ью. Для реализации массива RAID 30 требуется, как минимум, шесть дисков, причем допускается отказ в работе до двух дисков (по одному диску на массив). Массив RAID 30
Рис. 9.5. Массив RAID 10
Рис. 9.6. Массив RAID 30
обычно используется в том случае, когда данные включают в себя большие файлы с последовательным доступом, например поточное видео.
Как показано на рис. 9.7, в массиве RAID 50 комбинируются возможности массивов RAID 0 и RAID 5. При использовании массива RAID 50 данные записываются на несколько дисков, как в массиве RAID 0, и на все диски поочередно записывается информация о четности, как в массиве RAID 5. Этот массив основан на чередовании с невыделенной или распределенной четностью. Для реализации RAID 50 требуется, как минимум, шесть дисков и возможен отказ в работе до двух дисков (по одному на каждый массив). В отличие от RAID 30, массив RAID 50 эффективен при работе с относительно небольшими файлами.