В среде, ориентированной на транзакции, пользователя обычно больше интересует время отклика, чем скорость передачи данных. При индивидуальном запросе ввода-вывода для небольшого объема данных преобладающее время операции затрачивается на перемещение дисковых головок (время поиска) и на вращение диска.
В транзакционной среде могут происходить сотни запросов ввода-вывода в секунду. Дисковый массив может обеспечить высокую скорость выполнения операций ввода-вывода путем выравнивания загрузки нескольких дисков. Эффективное выравнивание загрузки достигается только при наличии большого множества ожидающих обработки запросов ввода-вывода. Под этим, по сути, подразумевается существование нескольких независимых приложений (или одного, ориентированного на выполнение транзакций, способного выполнять множество асинхронных запросов ввода-вывода). На эффективность будет оказывать влияние и размер полосы. Если размер полосы сравнительно большой, такой, что один запрос ввода-вывода требует доступа только к одному диску, то множество находящихся в режиме ожидания запросов может быть обработано параллельно, и тем самым уменьшается время ожидания в очереди каждого запроса.
Рис. 11.10. Размещение данных в массиве RAID О [MASS97]
RAID 1
RAID 1 отличается от RAID 2-RAID 6 способом достижения избыточности. Во всех остальных RAID-схемах используется какой-либо способ вычислений, в то время как в RAID 1 избыточность достигается простым дублированием всех данных. Как показано на рис. 11.9,6, в этой схеме используется то же расщепление данных, что и в RAID О, но каждая логическая полоса размещается на двух разных физических дисках, так что для каждого диска массива имеется зеркальный диск, содержащий точно такие же данные.
RAID 1 обладает следующими положительными характеристиками.
1. Запрос на чтение может быть обслужен любым из двух дисков, содержащих необходимые данные; для обслуживания выбирается тот диск, у которого минимальное время поиска.
2. Для запроса на запись необходимо обновление обеих полос, что может быть выполнено в параллельном режиме. Поэтому скорость записи определяется более медленной из них (т.е. той, для которой время поиска оказывается большим). Однако никаких дополнительных расходов на запись при применении RAID 1 не требуется. На уровнях со второго по шестой операция записи требует вычисления контрольных битов.
3. Простота восстановления данных в случае сбоя — при сбое одного диска данные могут быть доступны из второго.
Принципиальной отрицательной характеристикой RAID 1 является стоимость, связанная с необходимостью двойного дискового пространства для логического диска. По этой причине использование RAID 1 ограничено дисками с системным программным обеспечением и данными, а также другими очень важными файлами. В этих случаях RAID 1 обеспечивает создание резервных копий всех файлов в режиме реального времени, так что в случае аварийной ситуации на диске все критические данные могут быть немедленно извлечены.
В среде, ориентированной на транзакции, RAID 1 может достичь высокой частоты запросов ввода-вывода, если основная масса запросов — на чтение диска. В этой ситуации производительность RAID 1 может приблизиться к двойной производительности RAID 0. Тем не менее если большая часть запросов — на запись, существенного повышения производительности по сравнению с RAID 0 достичь не удастся. RAID 1 может также обеспечить повышенную производительность для приложений с интенсивным считыванием с диска.
RAID 2
Уровни 2 и 3 используют технологию параллельного доступа. В таком массиве все диски, являющиеся элементами массива, участвуют в выполнении каждого запроса ввода-вывода. Обычно шпиндели индивидуальных дисководов синхронизируются таким образом, что все головки дисков располагаются в одной и той же позиции в любой момент времени.
Как и в других схемах, здесь также используется разделение данных на полосы. В схемах RAID 2 и RAID 3 полосы оказываются очень малыми; нередко они соответствуют одному байту или слову. В схеме RAID 2 код с коррекцией ошибок рассчитывается по соответствующим битам каждого диска и хранится в соответствующих местах дискового массива. Обычно в этом случае используется код Хэмминга (Hamming), который способен исправлять одинарные и выявлять двойные ошибки.
Несмотря на то что для RAID 2 необходимо меньшее количество дисков, чем для RAID 1, эта схема все еще весьма дорога. Количество резервных дисков пропорционально количеству дисков данных. При одиночном считывании осуществляется одновременный доступ ко всем дискам. Данные запроса и код коррекции ошибок передаются контроллеру массива. При наличии однобитовой ошибки контроллер способен быстро ее откорректировать, так что доступ для чтения в этой схеме не замедляется. При одиночной записи происходит одновременное обращение ко всем дискам массива.
Схема RAID 2 могла бы использоваться в среде с многочисленными ошибками дисков. Однако в силу высокой надежности дисков RAID 2 не была реализована.
RAID3
Схема RAID 3 организована аналогично схеме RAID 2. Отличие состоит в том, что для RAID 3 требуется только один резервный диск, независимо от размера дискового массива. В RAID 3 применяется параллельный доступ с распределенными по небольшим полосам данными. Вместо кода с исправлением ошибок для всех битов в одной и той же позиции на всех дисках, размещается рассчитанный простой бит четности.