RAID («Избыточный массив недорогих дисков » или «Избыточный массив независимых дисков ") - это технология виртуализации данных хранилища, которая объединяет несколько компонентов физического дискового накопителя в один или несколько логических блоков в целях избыточности данных, производительности улучшение, или и то, и другое. Это отличалось от предыдущей концепции высоконадежных дисковых накопителей для мэйнфреймов, именуемой «один большой дорогой диск» (SLED).
Данные распределяются по дискам одним из нескольких способов, называемых уровнями RAID., в зависимости от требуемого уровня избыточности и производительности. Различные схемы или схемы распределения данных называются словом «RAID», за которым следует число, например RAID 0 или RAID 1. Каждая схема или уровень RAID обеспечивает различный баланс между ключевыми целями: надежность, доступность, производительность и емкость. Уровни RAID выше, чем RAID 0, обеспечивают защиту от неисправимых ошибок чтения сектора , а также от отказов целых физических дисков.
Термин «RAID» был изобретен Дэвидом Паттерсоном, Гартом А. Гибсоном и Рэнди Кацем в Калифорнийском университете в Беркли в 1987 году. В своей июньской статье 1988 года «Причина использования избыточных массивов недорогих дисков (RAID)», представленной на конференции SIGMOD, они утверждали, что наиболее производительный диск мэйнфрейма диски того времени могли быть побиты по производительности массивом недорогих дисководов t Он был разработан для растущего рынка персональных компьютеров. Хотя количество отказов будет возрастать пропорционально количеству дисков, при настройке на резервирование надежность массива может намного превзойти надежность любого большого отдельного диска.
Хотя эта терминология еще не используется, технологии пяти Уровни RAID, названные в документе от июня 1988 г., использовались в различных продуктах до публикации статьи, включая следующие:
Промышленные производители позже переопределили аббревиатуру RAID, чтобы обозначить «избыточный массив независимых дисков».
Многие уровни RAID используют схему защиты от ошибок, называемую «четность », широко используемый метод в информационных технологиях для обеспечения отказоустойчивости в заданном наборе данных. Большинство из них используют простой XOR, но RAID 6 использует две отдельные четности, основанные соответственно на сложении и умножении в конкретном поле Галуа или Исправление ошибок Рида – Соломона.
RAID также может Обеспечьте безопасность данных с помощью твердотельных накопителей (SSD) без затрат на систему, полностью состоящую из SSD. Например, быстрый SSD можно отзеркалить с механическим приводом. Чтобы эта конфигурация обеспечивала значительное преимущество в скорости, необходим соответствующий контроллер, который использует быстрый SSD для всех операций чтения. Adaptec называет это «гибридным RAID».
Первоначально было пять стандартных уровней RAID, но появилось множество вариаций, включая несколько вложенных уровней и множество нестандартных уровней (в основном проприетарных ). Уровни RAID и связанные с ними форматы данных стандартизированы Промышленной ассоциацией сетей хранения данных (SNIA) в стандарте Common RAID Disk Drive Format (DDF):
RAID 0 состоит из чередования, но нет зеркалирования или четности. По сравнению с составным томом емкость тома RAID 0 такая же; это сумма емкостей дисков в наборе. Но поскольку при чередовании содержимое каждого файла распределяется между всеми дисками в наборе, отказ любого диска приводит к потере всего тома RAID 0 и всех файлов. Для сравнения, составной том сохраняет файлы на исправных дисках. Преимущество RAID 0 заключается в том, что пропускная способность операций чтения и записи для любого файла умножается на количество дисков, поскольку, в отличие от составных томов, чтение и запись выполняются одновременно. Цена заключается в повышенной уязвимости к сбоям дисков - поскольку сбой любого диска в настройке RAID 0 приводит к потере всего тома, средняя частота сбоев тома возрастает с увеличением количества подключенных дисков.
RAID 1 состоит из зеркалирования данных без контроля четности или чередования. Данные записываются одинаково на два или более дисков, тем самым создавая «зеркальный набор» дисков. Таким образом, любой запрос чтения может быть обработан любым диском в наборе. Если запрос транслируется на каждый диск в наборе, он может обслуживаться диском, который первым обращается к данным (в зависимости от его времени поиска и задержки вращения ), что улучшает производительность. Стабильная пропускная способность чтения, если контроллер или программное обеспечение оптимизированы для этого, приближается к сумме пропускной способности каждого диска в наборе, как и для RAID 0. Фактическая пропускная способность чтения большинства реализаций RAID 1 ниже, чем у самого быстрого диска. Пропускная способность записи всегда ниже, потому что каждый диск должен быть обновлен, а самый медленный диск ограничивает производительность записи. Массив продолжает работать, пока работает хотя бы один диск.
RAID 2 состоит из чередования битов с выделенным кодом Хэмминга четностью. Все вращение шпинделя диска синхронизировано, а данные чередуются, так что каждый последовательный бит находится на другом диске. Четность кода Хэмминга вычисляется по соответствующим битам и сохраняется по крайней мере на одном диске четности. Этот уровень имеет только историческое значение; хотя он использовался на некоторых ранних машинах (например, Thinking Machines CM-2), по состоянию на 2014 год он не используется ни в одной коммерчески доступной системе.
RAID 3 состоит из байтов -уровневое чередование с выделенной четностью. Все вращение шпинделя диска синхронизируется, а данные распределяются таким образом, что каждый последовательный байт находится на другом диске. Четность вычисляется по соответствующим байтам и сохраняется на выделенном диске четности. Хотя реализации существуют, на практике RAID 3 обычно не используется.
RAID 4 состоит из чередования на уровне блоков с выделенной четностью. Этот уровень ранее использовался NetApp, но теперь он в значительной степени заменен собственной реализацией RAID 4 с двумя дисками четности, называемой RAID-DP. Основным преимуществом RAID 4 перед RAID 2 и 3 является параллелизм ввода-вывода: в RAID 2 и 3 для одной операции чтения ввода-вывода требуется чтение всей группы дисков с данными, а в RAID 4 - одна операция чтения ввода-вывода. не должны распространяться на все диски с данными. В результате большее количество операций ввода-вывода может выполняться параллельно, улучшая производительность небольших передач.
RAID 5 состоит из чередования на уровне блоков с распределенной четностью. В отличие от RAID 4, информация о четности распределяется между дисками, поэтому для работы требуются все диски, кроме одного. При выходе из строя одного диска последующие чтения могут быть рассчитаны на основе распределенной четности, так что данные не будут потеряны. Для RAID 5 требуется как минимум три диска. Как и все концепции единой четности, большие реализации RAID 5 подвержены сбоям системы из-за тенденций, касающихся времени восстановления массива и вероятности отказа диска во время восстановления (см. Раздел «Увеличение времени восстановления и вероятности отказа » ниже). Восстановление массива требует чтения всех данных со всех дисков, что дает шанс на отказ второго диска и потерю всего массива.
RAID 6 состоит из чередования на уровне блоков с двойной распределенной четностью. Двойная четность обеспечивает отказоустойчивость до двух отказавших дисков. Это делает большие группы RAID более практичными, особенно для систем с высокой доступностью, так как восстановление дисков большой емкости занимает больше времени. Для RAID 6 требуется как минимум четыре диска. Как и в случае с RAID 5, отказ одного диска приводит к снижению производительности всего массива до тех пор, пока неисправный диск не будет заменен. С массивом RAID 6, использующим диски из различных источников и производителей, можно смягчить большинство проблем, связанных с RAID 5. Чем больше емкость диска и чем больше размер массива, тем важнее выбрать вместо него RAID 6. RAID 5. RAID 10 также сводит к минимуму эти проблемы.
В том, что первоначально называлось гибридным RAID, многие контроллеры хранилища допускают вложение уровней RAID. Элементами RAID могут быть как отдельные диски, так и сами массивы. Массивы редко бывают вложенными более чем на один уровень.
Последний массив известен как верхний массив. Когда верхним массивом является RAID 0 (например, RAID 1 + 0 и RAID 5 + 0), большинство поставщиков опускают "+" (что дает RAID 10 и RAID 50 соответственно).
Возможны многие конфигурации, отличные от базовых пронумерованных уровней RAID, и многие компании, организации и группы создали свои собственные нестандартные конфигурации, во многих случаях предназначенные для удовлетворения особых потребностей небольшой нишевой группы. Такие конфигурации включают в себя следующее:
f2
; это запускает зеркальное отображение с чередованием чтения, обеспечивая производительность чтения RAID 0. Обычный RAID 1, как предусмотрено программным RAID Linux, не чередует чтение, но может выполнять чтение параллельно.Распределение данных по нескольким дискам может управляться либо с помощью специализированного компьютерного оборудования, либо с помощью программного обеспечения. Программное решение может быть частью операционной системы, частью встроенного программного обеспечения и драйверов, поставляемых со стандартным контроллером накопителя (так называемый «программный RAID с аппаратной поддержкой»), или оно может полностью находиться внутри аппаратного RAID-контроллера.
Аппаратные RAID-контроллеры можно настроить с помощью карты BIOS до операционной системы загружается, и после загрузки операционной системы у производителя каждого контроллера доступны проприетарные утилиты настройки. В отличие от контроллеров сетевого интерфейса для Ethernet, которые обычно можно настроить и обслужить полностью с помощью общих парадигм операционной системы, таких как ifconfig в Unix, без необходимости использования каких-либо сторонних инструментов, каждый производитель каждого RAID-контроллера обычно предоставляет свой собственный программный инструментарий для каждой операционной системы, которую он считает поддерживаемой, обеспечивая привязку к поставщику и внося свой вклад в проблемы с надежностью.
Например, в FreeBSD для доступа к конфигурации RAID-контроллеров Adaptec пользователям необходимо включить уровень совместимости Linux, и использовать инструменты Linux от Adaptec, что потенциально может поставить под угрозу стабильность, надежность и безопасность их настройки, особенно с точки зрения долгосрочного.
Некоторые другие операционные системы реализовали свои собственные общие рамки для взаимодействия с любым RAID-контроллером и инструменты для мониторинга RAI Состояние тома D, а также облегчение идентификации диска посредством мигания светодиода, управления аварийными сигналами и обозначения диска горячего резервирования изнутри операционной системы без необходимости перезагружать BIOS карты. Например, это был подход, использованный OpenBSD в 2005 году с его псевдоустройством bio (4) и утилитой bioctl, которые обеспечивают состояние громкости и позволяют светодиоды / тревогу / горячую защиту контроль, а также датчики (в том числе датчик движения ) для контроля исправности; этот подход впоследствии был принят и расширен NetBSD в 2007 году.
Программные реализации RAID обеспечиваются многими современными операционными системами. Программный RAID может быть реализован как:
Некоторые расширенные файловые системы предназначены для организации данных на нескольких устройствах хранения напрямую, без необходимости использования стороннего диспетчера логических томов:
Многие операционные системы предоставляют реализации RAID, включая следующие:
Если загрузочный диск выходит из строя, система должна быть достаточно сложной, чтобы иметь возможность загружаться с оставшегося диска или дисков. Например, рассмотрим компьютер, диск которого настроен как RAID 1 (зеркальные диски); если первый диск в массиве выходит из строя, то загрузчик первой ступени может оказаться недостаточно сложным, чтобы попытаться загрузить загрузчик второй ступени со второго диска в качестве запасного варианта. Загрузчик второго уровня для FreeBSD может загружать ядро из такого массива.
Программно реализованный RAID не всегда совместим с процессом загрузки системы и, как правило, непрактичен для настольных версий Windows. Однако аппаратные RAID-контроллеры дорогие и проприетарные. Чтобы восполнить этот пробел, были представлены недорогие «RAID-контроллеры», которые не содержат выделенного чипа RAID-контроллера, а содержат просто стандартный чип контроллера накопителя с проприетарными прошивками и драйверами. Во время ранней загрузки RAID реализуется микропрограммой, и, как только операционная система будет полностью загружена, драйверы берут на себя управление. Следовательно, такие контроллеры могут не работать, если поддержка драйверов для операционной системы хоста недоступна. Примером может служить Технология Intel Rapid Storage, реализованная на многих материнских платах потребительского уровня.
Поскольку требуется некоторая минимальная аппаратная поддержка, эта реализация также называется «программным RAID с аппаратной поддержкой», гибридная модель «RAID» или даже «поддельный RAID». Если поддерживается RAID 5, оборудование может предоставлять аппаратный ускоритель XOR. Преимущество этой модели перед чисто программным RAID состоит в том, что - при использовании режима избыточности - загрузочный диск защищен от сбоев (из-за прошивки) во время процесса загрузки даже до того, как драйверы операционной системы вступят во владение.
Очистка данных (называемая в некоторых средах считыванием патрулей) включает периодическое чтение и проверку контроллером RAID всех блоков в массиве, включая те, к которым иным образом не обращались. Это обнаруживает плохие блоки перед использованием. Очистка данных проверяет наличие сбойных блоков на каждом устройстве хранения в массиве, но также использует избыточность массива для восстановления сбойных блоков на одном диске и переназначения восстановленных данных на запасные блоки в другом месте на диске.
Часто RAID-контроллер конфигурируется так, чтобы «отбрасывать» компонентный диск (то есть предполагать, что компонентный диск вышел из строя), если диск не отвечает в течение восьми секунд или около того; это может привести к тому, что контроллер массива отключит исправный диск, потому что этому диску не было предоставлено достаточно времени для завершения процедуры восстановления внутренней ошибки. Следовательно, использование потребительских дисков с RAID может быть рискованным, и диски так называемого «корпоративного класса» ограничивают время восстановления после ошибок, чтобы снизить риск. Раньше для настольных дисков Western Digital было определенное исправление. Утилита WDTLER.exe ограничивает время восстановления диска после ошибки. Утилита включила TLER (временное исправление ошибок), которое ограничивает время восстановления после ошибок семью секундами. Примерно в сентябре 2009 года Western Digital отключила эту функцию на своих дисках для настольных ПК (таких как линейка Caviar Black), что сделало такие диски непригодными для использования в конфигурациях RAID. Однако накопители корпоративного класса Western Digital поставляются с завода с включенным TLER. Подобные технологии используют Seagate, Samsung и Hitachi. Поэтому для использования без RAID диск корпоративного класса с коротким таймаутом восстановления после ошибки, который нельзя изменить, менее подходит, чем настольный диск. В конце 2010 года программа Smartmontools начала поддерживать конфигурацию ATA Error Recovery Control, позволяя инструменту настраивать многие жесткие диски настольного класса для использования в конфигурациях RAID.
Хотя RAID может защитить от сбой физического диска, данные по-прежнему подвергаются разрушению оператором, программным обеспечением, оборудованием и вирусами. Многие исследования ссылаются на ошибку оператора как на частый источник неисправности, такой как оператор сервера, заменяющий неправильный диск в неисправном RAID, и отключение системы (даже временное) в процессе.
Массив может быть перегружен катастрофический отказ, превышающий его возможности восстановления, и весь массив подвергается риску физического повреждения в результате пожара, стихийных бедствий и действий человека, однако резервные копии могут храниться за пределами площадки. Массив также уязвим для сбоя контроллера, потому что не всегда можно перенести его на новый, другой контроллер без потери данных.
На практике, диски часто одного возраста (с одинаковым износом) и подвержены одинаковым условиям эксплуатации. Поскольку многие отказы дисков происходят из-за механических проблем (которые более вероятны на старых накопителях), это нарушает предположения о независимой одинаковой частоте отказов среди накопителей; отказы фактически статистически коррелированы. На практике вероятность второго сбоя до того, как будет восстановлена первая (что приведет к потере данных), выше, чем вероятность случайных сбоев. При исследовании около 100 000 дисков вероятность того, что два диска в одном кластере выйдут из строя в течение одного часа, была в четыре раза больше, чем прогнозировалось экспоненциальным статистическим распределением, которое характеризует процессы, в которых события происходят непрерывно и независимо в постоянная средняя скорость. Вероятность двух сбоев за один и тот же 10-часовой период была вдвое выше, чем предсказывалось экспоненциальным распределением.
Неустранимые ошибки чтения (URE), присутствующие при чтении сектора сбои, также известные как скрытые ошибки сектора (LSE). Соответствующий показатель оценки носителя, частота неустранимых битовых ошибок (UBE), обычно гарантированно составляет менее одного бит из 10 для накопителей корпоративного класса (SCSI, FC, SAS или SATA) и менее одного. бит в 10 для дисков настольного класса (IDE / ATA / PATA или SATA). Увеличение емкости дисков и большие экземпляры RAID 5 привели к тому, что максимальная частота ошибок недостаточна для гарантии успешного восстановления из-за высокой вероятности возникновения такой ошибки на одном или нескольких оставшихся дисках во время восстановления набора RAID. При перестройке схемы на основе четности, такие как RAID 5, особенно подвержены влиянию URE, поскольку они влияют не только на сектор, в котором они возникают, но и на реконструированные блоки, использующие этот сектор для вычисления четности.
Двойная защита Схемы на основе четности, такие как RAID 6, пытаются решить эту проблему, обеспечивая избыточность, которая допускает отказы двух дисков; как обратная сторона, такие схемы страдают повышенным штрафом за запись - количество раз, когда носитель данных должен быть доступен во время одной операции записи. Схемы, которые дублируют (зеркалируют) данные по принципу диск-диск, такие как RAID 1 и RAID 10, имеют меньший риск от URE, чем схемы, использующие вычисление четности или зеркалирование между чередующимися наборами. Очистка данных, в качестве фонового процесса может использоваться для обнаружения URE и восстановления из них, что эффективно снижает риск их возникновения во время восстановления RAID и возникновения сбоев двух дисков. Восстановление URE включает в себя повторное отображение затронутых базовых секторов диска с использованием пула переназначения секторов диска; в случае обнаружения URE во время фоновой очистки, избыточность данных, обеспечиваемая полностью работоспособным набором RAID, позволяет восстановить недостающие данные и перезаписать их в переназначенный сектор.
Емкость накопителя росла намного быстрее, чем скорость передачи, а количество ошибок по сравнению с этим снизилось лишь незначительно. Таким образом, восстановление дисков большей емкости может занять часы, если не дни, в течение которых другие диски могут выйти из строя или появиться необнаруженные ошибки чтения. Время восстановления также ограничено, если весь массив все еще работает с уменьшенной емкостью. Для массива с одним резервным диском (что относится к уровням RAID 3, 4 и 5, а также к «классическому» двухдисковому RAID 1) отказ второго диска приведет к полному отказу массива. Несмотря на то, что среднее время наработки на отказ (MTBF) отдельных дисков со временем увеличилось, это увеличение не поспевает за увеличением емкости хранилища дисков. Время восстановления массива после сбоя одного диска, а также вероятность второго сбоя во время восстановления со временем увеличивались.
Некоторые комментаторы заявили, что RAID 6 - это всего лишь «бандаж» в этом отношении, потому что это лишь немного продвигает проблему в будущем. Однако, согласно исследованию NetApp 2006 года, проведенному Berriman et al., Вероятность сбоя уменьшается примерно в 3800 раз (по сравнению с RAID 5) для правильной реализации RAID 6, даже при использовании обычных дисков.. Тем не менее, если наблюдаемые в настоящее время технологические тенденции останутся неизменными, в 2019 году у массива RAID 6 будет такая же вероятность отказа, как у его аналога RAID 5 в 2010 году.
Схемы зеркалирования, такие как RAID 10, имеют ограниченное время восстановления поскольку они требуют копии одного отказавшего диска, по сравнению со схемами четности, такими как RAID 6, которые требуют копии всех блоков дисков в наборе массива. Схемы тройной четности или тройного зеркалирования были предложены в качестве одного из подходов к повышению устойчивости к отказу дополнительных дисков в течение этого длительного периода восстановления.
Сбой системы или другое прерывание записи операция может привести к состояниям, в которых четность несовместима с данными из-за неатомарности процесса записи, так что четность не может использоваться для восстановления в случае отказа диска. Это обычно называется отверстием для записи RAID 5. Отверстие для записи RAID - известная проблема повреждения данных в старых и недорогих RAID-массивах, вызванная прерыванием записи на диск. Отверстие для записи может быть устранено с помощью ведения журнала упреждающей записи. Это было исправлено в mdadm путем введения специального устройства журналирования (во избежание снижения производительности обычно предпочтительны SSD и NVM ) для этой цели.
Это малоизученный и редко упоминаемый режим отказа для избыточных систем хранения, не использующих транзакционные функции. Исследователь баз данных Джим Грей писал: «Обновление на месте - это ядовитое яблоко» на заре коммерциализации реляционных баз данных.
Есть опасения по поводу записи -надежность кэша, особенно в отношении устройств, оснащенных кешем обратной записи, который представляет собой систему кэширования, которая сообщает о записанных данных, как только они записываются в кэш, а не когда они записываются в нелетучая среда. Если в системе произойдет сбой питания или другой серьезный сбой, данные могут быть безвозвратно потеряны из кеша до того, как достигнут энергонезависимой памяти. По этой причине хорошие реализации кеша с обратной записью включают механизмы, такие как резервное питание от батареи, для сохранения содержимого кеша при сбоях системы (включая сбои питания) и для очистки кеша во время перезапуска системы.>Сетевое хранилище (NAS)
На Wikimedia Commons есть носители связанный с избыточным массивом независимых дисков. |