Избыточный массив недорогих дисков

Опубликовано: 21 Марта, 2023


Введение


В конце 1980-х эти умные ребята из Калифорнийского университета в Беркли устроили RAID. Первоначально известный как избыточный массив недорогих дисков, корпорации вскоре изменили его на избыточный массив независимых дисков (вероятно, чтобы исключить любое предположение о том, что продукты RAID должны быть недорогими). Независимо от того, как вы это называете, RAID стал отраслевым стандартом и подготовил надежность компьютерных хранилищ к эпохе Интернета.


До появления RAID надежность компьютерных хранилищ была случайной, беспорядочной и не очень надежной. С момента появления RAID различные архитектуры RAID обозначаются цифрами, например, от RAID-0 и от RAID-1 до RAID-6. Были некоторые производители, которые использовали числа больше 6, но это проприетарные архитектуры, которые на самом деле являются гибридами исходных семи архитектур. Ниже приводится краткое описание каждой из шести исходных архитектур RAID. Но сначала я познакомлю вас с общей терминологией, связанной с RAID и с надежностью хранения данных в целом.


Чередование данных


Чередование данных — это метод, при котором блок данных может быть сегментирован на множество блоков, чтобы последовательные блоки можно было записывать на разные физические носители. Например, если у нас есть большой документ, который необходимо сохранить, и у нас есть два жестких диска, настроенных в правильной конфигурации (подробнее об этом позже), мы можем разделить документ на несколько частей. Первая часть документа может быть записана на диск 1, пока диск 2 готовится к операции записи. После того, как диск 1 завершает операцию записи, часть 2 документа затем записывается на диск 2, в то время как диск 1 готовится к следующей операции записи. Это может сэкономить значительное количество времени, поскольку операциям записи не нужно ждать, пока головка диска встанет на место. Документы или любой блок данных можно разделить на любое количество частей, обычно это выбирается программным обеспечением, чтобы максимизировать преимущества отсутствия необходимости ждать движения головки диска.


Паритет


Четность — это метод, используемый для исправления ошибок. Он используется для хранения данных почти так же, как он используется в протоколах связи, таких как TCP/IP. Для заданного объема данных будет связан бит четности с этими данными. Бит четности будет либо «1», либо «0», представляющим наличие четного или нечетного количества битов «1» в фактических данных. При чтении данных, если бит четности не правильный, то очевидно, что где-то в процессе записи и чтения произошла ошибка. Конечно, как и в случае с коммуникационными протоколами, множественные ошибки могут сделать бит четности правильным, даже если ошибки были. Бит четности никогда не следует использовать в качестве единственного метода обнаружения ошибок.


Зеркальное отображение


Зеркальное отображение — это именно то, на что это похоже. Если один жесткий диск является зеркалом другого жесткого диска, то это точное логическое представление этого жесткого диска. Процесс зеркального отображения может происходить разными способами; синхронно, асинхронно или полусинхронно.


Теперь, когда мы немного разобрались в терминологии, вот краткое описание каждой из семи основных конфигураций/архитектур RAID.


RAID-0


RAID-0 основан исключительно на чередовании данных и не обеспечивает дополнительной отказоустойчивости или устойчивости. Конфигурации RAID-0 просто удаляют записываемые данные и используют все диски в массиве RAID, чтобы обеспечить увеличение пропускной способности при чтении/записи. Это может привести к значительному увеличению производительности.


RAID-1


RAID-1 несколько противоположен RAID-0 тем, что он основан исключительно на зеркальном отображении данных. Если массив RAID-1 содержит два жестких диска, то один жесткий диск является точной логической копией другого. Это обеспечивает полную отказоустойчивость при выходе из строя любого из дисков. Этот тип конфигурации может повысить производительность чтения, если операционная система многопоточная и может поддерживать раздельный поиск. Раздельные поиски — это именно то, на что это похоже; возможность поиска информации из нескольких источников.


Изображение 19482
Рис . 1. Представление RAID-1 с сайта bytepile.com.


RAID-2


RAID-2 использует схему чередования на уровне битов, в которой каждый последовательный бит хранится на другом диске в массиве RAID. В архитектуре RAID-2 также используется усовершенствованная схема контроля четности, называемая контролем четности Хэмминга. В отличие от базовой четности, описанной выше, четность Хэмминга способна обнаруживать четное количество ошибок при определенных обстоятельствах. Из-за способности проверки четности Хэмминга обнаруживать две ошибки, она также может автоматически исправлять ошибку, если она всего одна. Подробнее о четности кода Хэмминга можно прочитать здесь [ссылка на http://www.ee.unb.ca/tervo/ee4253/hamming.shtml].


RAID-3


В архитектуре RAID-3 используется схема разделения, аналогичная схеме RAID-2, за исключением того, что в случае RAID-3 разделение выполняется на уровне байтов, так что каждый последующий байт записывается на другой диск в массиве RAID. RAID-3 также использует контроль четности, хотя в этом случае для каждого байта используется простая проверка четности, а сами биты четности хранятся на выделенном диске в массиве RAID.


RAID-4


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


Изображение 19483
Рис . 2. Представление RAID-4, любезно предоставлено bytepile.com


RAID-5


RAID-5 идентичен архитектуре RAID-4, за исключением того, что четность распределяется по всем дискам, что устраняет узкое место. Архитектура RAID-5 требует, чтобы все диски в массиве RAID, кроме одного, работали. Это означает, что архитектура RAID-5 устойчива к отказам ровно для одного полного отказа диска. Пользователь столкнется с потерей данных только при полном выходе из строя двух и более дисков. Однако с потерей одного диска массив теперь так же уязвим для отказа, как и массив в конфигурации RAID-0. В крупных центрах обработки данных, использующих большие массивы RAID-5, это довольно опасно во время обнаружения отказа диска до его замены; именно в это время может произойти потеря данных, что является примером необходимости использования RAID-6.


Изображение 19484
Рис . 3. Представление RAID-5, любезно предоставлено bytepile.com


RAID-6


RAID-6 идентичен RAID-5, за исключением того, что он удваивает распределенную четность. Это позволяет массиву восстанавливаться ровно после двух полных отказов дисков. Значение этой архитектуры в основном реализуется в крупных центрах обработки данных, где обнаруживается отказ одного диска. В течение времени между обнаружением сбоя диска и его заменой массивы в конфигурации RAID-6 по-прежнему устойчивы к сбоям, обеспечивая центру обработки данных еще более высокую степень целостности данных.


Как я упоминал ранее, существуют и другие нестандартные архитектуры для RAID-массивов. Некоторые из наиболее распространенных необычных (возможно ли это?) архитектур представляют собой комбинации вышеперечисленных архитектур. Например, в некоторых системах используется архитектура RAID-0+1 или даже архитектура RAID-1+0. Эти архитектуры пытаются объединить преимущества отдельных архитектур, сводя к минимуму недостатки. В основном они преуспевают в этой цели, но за счет дополнительной сложности.


Таково общее объяснение архитектур RAID. Как всегда, если у вас есть какие-либо вопросы, отправьте мне электронное письмо, и я сделаю все возможное, чтобы отправить вам ответ как можно скорее.