Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

RAID ( / r d / ; « Избыточный массив недорогих дисков » [1] или « Избыточный массив независимых дисков » [2] ) - это технология виртуализации хранилища данных, которая объединяет несколько компонентов физических дисков в одно или несколько логических устройств для для обеспечения избыточности данных , повышения производительности или того и другого. Это отличалось от предыдущей концепции высоконадежных дисковых накопителей для мэйнфреймов, именуемой «один большой дорогой диск» (SLED). [3] [1]

Данные распределяются по дискам одним из нескольких способов, называемых уровнями RAID, в зависимости от требуемого уровня избыточности и производительности. Различные схемы или схемы распределения данных обозначаются словом «RAID», за которым следует число, например RAID 0 или RAID 1. Каждая схема или уровень RAID обеспечивает различный баланс между ключевыми целями: надежность , доступность и т. Д. производительность и емкость . Уровни RAID выше, чем RAID 0, обеспечивают защиту от неисправимых ошибок чтения секторов , а также от сбоев целых физических дисков.

История [ править ]

Термин «RAID» был изобретен Дэвидом Паттерсоном , Гартом А. Гибсоном и Рэнди Кацем в Калифорнийском университете в Беркли в 1987 году. В их статье «Случай избыточных массивов недорогих дисков (RAID)», опубликованной в июне 1988 года, На конференции SIGMOD они утверждали, что самые производительные дисковые накопители для мэйнфреймов того времени могут уступить по производительности массиву недорогих накопителей, которые были разработаны для растущего рынка персональных компьютеров . Хотя количество отказов будет возрастать пропорционально количеству дисков, при настройке на резервирование надежность массива может намного превзойти надежность любого большого отдельного диска. [4]

Хотя эта терминология еще не использовалась, технологии пяти уровней RAID, названные в июньской статье 1988 года, использовались в различных продуктах до публикации статьи [3], включая следующие:

  • Зеркалирование (RAID 1) было хорошо развито в 1970-х годах, включая, например, тандемные системы NonStop .
  • В 1977 году Норман Кен Оучи из IBM подал патент, раскрывающий то, что впоследствии было названо RAID 4. [5]
  • Примерно в 1983 году DEC начала поставлять дисковые накопители RA8X с зеркальным копированием подсистемы (теперь известные как RAID 1) как часть своей подсистемы HSC50. [6]
  • В 1986 году Кларк и др. в IBM подали патент, раскрывающий то, что впоследствии было названо RAID 5. [7]
  • Примерно в 1988 году DataVault компании Thinking Machines использовала коды исправления ошибок (теперь известные как RAID 2) в массиве дисковых накопителей. [8] Подобный подход использовался в начале 1960-х годов на IBM 353 . [9] [10]

Позднее промышленные производители изменили аббревиатуру RAID на «избыточный массив независимых дисков». [2] [11] [12] [13]

Обзор [ править ]

Многие уровни RAID используют схему защиты от ошибок, называемую « четность », широко используемый метод в информационных технологиях для обеспечения отказоустойчивости в заданном наборе данных. Большинство из них используют простую операцию XOR , но RAID 6 использует две отдельные четности, основанные соответственно на сложении и умножении в конкретном поле Галуа или исправлении ошибок Рида – Соломона . [14]

RAID также может обеспечить безопасность данных с помощью твердотельных накопителей (SSD) без затрат на систему, полностью состоящую из SSD. Например, быстрый SSD можно отзеркалить с механическим приводом. Чтобы такая конфигурация обеспечивала значительное преимущество в скорости, необходим соответствующий контроллер, который использует быстрый SSD для всех операций чтения. Adaptec называет это «гибридным RAID». [15]

Стандартные уровни [ править ]

Серверы хранения с 24 жесткими дисками каждый и встроенными аппаратными контроллерами RAID, поддерживающими различные уровни RAID

Первоначально существовало пять стандартных уровней RAID, но появилось множество вариаций, включая несколько вложенных уровней и множество нестандартных уровней (в основном проприетарных ). Уровни RAID и связанные с ними форматы данных стандартизированы Промышленной ассоциацией сетей хранения данных (SNIA) в стандарте Common RAID Disk Drive Format (DDF): [16] [17]

RAID 0 состоит из чередования , но без зеркалирования или четности . По сравнению с составным томом емкость тома RAID 0 такая же; это сумма емкостей приводов в наборе. Но поскольку при чередовании содержимое каждого файла распределяется между всеми дисками в наборе, отказ любого диска приводит к потере всего тома RAID 0 и всех файлов. Для сравнения, составной том сохраняет файлы на исправных дисках. Преимущество RAID 0 заключается в том, что пропускная способность операций чтения и записи любого файла умножается на количество дисков, поскольку, в отличие от составных томов, чтение и запись выполняются одновременно . [11] Цена заключается в повышенной уязвимости к сбоям дисков - поскольку сбой любого диска в настройке RAID 0 приводит к потере всего тома, средняя частота сбоев тома возрастает с увеличением количества подключенных дисков.

RAID 1 состоит из зеркалирования данных без контроля четности и чередования. Данные записываются одинаково на два или более дисков, тем самым создавая «зеркальный набор» дисков. Таким образом, любой запрос на чтение может быть обработан любым диском в наборе. Если запрос транслируется на каждый диск в наборе, его может обслуживать диск, который первым обращается к данным (в зависимости от времени поиска и задержки вращения.), улучшая производительность. Стабильная пропускная способность чтения, если контроллер или программное обеспечение оптимизированы для этого, приближается к сумме пропускной способности каждого диска в наборе, как и для RAID 0. Фактическая пропускная способность чтения большинства реализаций RAID 1 ниже, чем у самого быстрого диска. Пропускная способность записи всегда ниже, потому что каждый диск должен быть обновлен, а самый медленный диск ограничивает производительность записи. Массив продолжает работать, пока работает хотя бы один диск. [11]

RAID 2 состоит из чередования битов с выделенной проверкой четности кода Хэмминга . Все вращение шпинделя диска синхронизировано, а данные чередуются , так что каждый последовательный бит находится на другом диске. Четность кода Хэмминга вычисляется по соответствующим битам и сохраняется по крайней мере на одном диске четности. [11] Этот уровень имеет только историческое значение; хотя он использовался на некоторых ранних машинах (например, Thinking Machines CM-2), [18] по состоянию на 2014 год он не используется ни в одной коммерчески доступной системе. [19]

RAID 3 состоит из чередования байтов с выделенной четностью. Все вращение шпинделя диска синхронизировано, а данные чередуются, так что каждый последовательный байт находится на другом диске. Четность вычисляется по соответствующим байтам и сохраняется на выделенном диске с проверкой четности. [11] Хотя реализации существуют, [20] RAID 3 на практике обычно не используется.

RAID 4 состоит из чередования на уровне блоков с выделенной четностью. Этот уровень ранее использовался NetApp , но теперь в значительной степени заменен собственной реализацией RAID 4 с двумя дисками четности, называемой RAID-DP . [21] Основным преимуществом RAID 4 перед RAID 2 и 3 является параллелизм ввода-вывода: в RAID 2 и 3 одна операция чтения ввода-вывода требует чтения всей группы дисков с данными, а в RAID 4 - одного ввода-вывода. Операция чтения не должна распространяться на все диски с данными. В результате можно выполнять больше операций ввода-вывода параллельно, повышая производительность небольших передач. [1]

RAID 5 состоит из чередования на уровне блоков с распределенной четностью. В отличие от RAID 4, информация о четности распределяется между дисками, поэтому для работы требуются все диски, кроме одного. При выходе из строя одного диска последующие чтения могут быть рассчитаны на основе распределенной четности, так что данные не будут потеряны. Для RAID 5 требуется как минимум три диска. [11] Как и все концепции единой четности, большие реализации RAID 5 подвержены сбоям системы из-за тенденций, касающихся времени восстановления массива и вероятности отказа диска во время восстановления (см. Раздел « Увеличение времени восстановления и вероятности сбоя » ниже). [22] Восстановление массива требует чтения всех данных со всех дисков, что дает возможность сбоя второго диска и потери всего массива.

RAID 6 состоит из чередования на уровне блоков с двойной распределенной четностью. Двойная четность обеспечивает отказоустойчивость до двух отказавших дисков. Это делает большие RAID-группы более практичными, особенно для систем с высокой доступностью, поскольку для восстановления дисков большой емкости требуется больше времени. Для RAID 6 требуется как минимум четыре диска. Как и в случае с RAID 5, отказ одного диска приводит к снижению производительности всего массива до тех пор, пока неисправный диск не будет заменен. [11] С массивом RAID 6, использующим диски из разных источников и производителей, можно смягчить большинство проблем, связанных с RAID 5. Чем больше емкость диска и чем больше размер массива, тем важнее становится выбор. RAID 6 вместо RAID 5. [23] RAID 10 также сводит к минимуму эти проблемы.[24]

Вложенный (гибридный) RAID [ править ]

В то , что первоначально был назван гибридный RAID , [25] многие контроллеры хранения позволяют уровни RAID быть вложенными. Элементами RAID могут быть как отдельные диски, так и сами массивы. Массивы редко бывают вложенными более чем на один уровень. [26]

Последний массив известен как верхний массив. Когда верхним массивом является RAID 0 (например, RAID 1 + 0 и RAID 5 + 0), большинство поставщиков опускают «+» (что дает RAID 10 и RAID 50 соответственно).

  • RAID 0 + 1: создает две полосы и отражает их. Если происходит сбой одного диска, это означает, что одно из зеркал отказало, в этот момент оно эффективно работает как RAID 0 без избыточности. Во время перестройки возникает значительно более высокий риск, чем при восстановлении RAID 1 + 0, поскольку должны быть прочитаны все данные со всех дисков в оставшейся полосе, а не только с одного диска, что увеличивает вероятность неисправимой ошибки чтения (URE) и значительно увеличивает окно восстановления. [27] [28] [29]
  • RAID 1 + 0: (см .: RAID 10 ) создает чередующийся набор из серии зеркальных дисков. Массив может выдерживать множественные потери дисков до тех пор, пока ни одно зеркало не теряет все свои диски. [30]
  • JBOD RAID N + N: с JBOD ( просто набор дисков ) можно объединять диски, а также тома, такие как наборы RAID. При увеличении емкости диска задержка записи и время восстановления резко увеличиваются (особенно, как описано выше, с RAID 5 и RAID 6). Разделив больший набор RAID N на более мелкие подмножества и объединив их с помощью линейного JBOD, [ требуется пояснение ]время записи и восстановления будет сокращено. Если аппаратный RAID-контроллер не поддерживает вложение линейного JBOD с RAID N, то линейный JBOD может быть достигнут с помощью программного RAID уровня ОС в сочетании с отдельными томами подмножества RAID N, созданными в одном или нескольких аппаратных RAID-контроллерах. Помимо резкого увеличения скорости, это также дает существенное преимущество: возможность запускать линейный JBOD с небольшим набором дисков и иметь возможность расширять общий набор дисками разного размера в дальнейшем (со временем диски большего размера). размер становится доступным на рынке). Есть еще одно преимущество в форме аварийного восстановления (если произойдет сбой подмножества RAID N, то данные на других подмножествах RAID N не будут потеряны, что сокращает время восстановления). [ необходима цитата ]

Нестандартные уровни [ править ]

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

  • Linux MD RAID 10 предоставляет общий драйвер RAID, который в своей «близкой» компоновке по умолчанию использует стандартный RAID 1 с двумя дисками и стандартный RAID 1 + 0 с четырьмя дисками; однако он может включать любое количество дисков, включая нечетные числа. Благодаря своей «удаленной» компоновке MD RAID 10 может работать как с чередованием, так и с зеркалированием, даже если в f2компоновке всего два диска ; это запускает зеркальное отображение с чередованием чтения, обеспечивая производительность чтения RAID 0. Обычный RAID 1, предоставляемый программным RAID Linux , не выполняет чередование чтения, но может выполнять чтение параллельно. [30] [31] [32]
  • В Hadoop есть система RAID, которая генерирует файл четности путем xor-ing полосы блоков в одном файле HDFS. [33]
  • BeeGFS , параллельная файловая система, имеет внутреннее чередование (сравнимо с файловым RAID0) и репликацию (сравнимо с файловым RAID10) для агрегирования пропускной способности и емкости нескольких серверов и обычно основывается на базовом RAID для создания диска сбои прозрачны.
  • Декластеризованный RAID-массив распределяет двойные (или более) копии данных по всем дискам (возможно, сотням) в подсистеме хранения, сохраняя при этом достаточно свободной емкости, чтобы несколько дисков могли выйти из строя. Рассеяние основано на алгоритмах, создающих видимость произвола. Когда один или несколько дисков выходят из строя, недостающие копии восстанавливаются до этой резервной емкости, опять же произвольно. Поскольку восстановление выполняется со всех оставшихся дисков, он работает намного быстрее, чем с традиционным RAID, что снижает общее воздействие на клиентов системы хранения.

Реализации [ править ]

Распределением данных по нескольким дискам можно управлять с помощью специального компьютерного оборудования или программного обеспечения . Программное решение может быть частью операционной системы, частью встроенного программного обеспечения и драйверов, поставляемых со стандартным контроллером накопителя (так называемый «программный RAID с аппаратной поддержкой»), или оно может находиться полностью внутри аппаратного RAID-контроллера.

Аппаратное [ править ]

Конфигурация аппаратного RAID [ править ]

Аппаратные контроллеры RAID можно настроить с помощью BIOS карты или дополнительного ПЗУ до загрузки операционной системы , а после загрузки операционной системы у производителя каждого контроллера доступны собственные служебные программы настройки. В отличие от контроллеров сетевого интерфейса для Ethernet , которые обычно можно настроить и обслужить полностью с помощью общих парадигм операционной системы, таких как ifconfig в Unix , без необходимости в каких-либо сторонних инструментах, каждый производитель каждого RAID-контроллера обычно предоставляет свои собственные проприетарные программные инструменты. для каждой операционной системы, которую они считают поддерживаемой, обеспечиваяпривязка к поставщику и усугубление проблем с надежностью. [34]

Например, во FreeBSD , чтобы получить доступ к конфигурации RAID-контроллеров Adaptec , пользователи должны включить уровень совместимости с Linux и использовать инструменты Linux от Adaptec [35], что потенциально может поставить под угрозу стабильность, надежность и безопасность их настройки, особенно при взгляде на долгосрочную перспективу . [34]

Некоторые другие операционные системы реализовали свои собственные общие структуры для взаимодействия с любым RAID-контроллером и предоставляют инструменты для мониторинга состояния тома RAID, а также для облегчения идентификации диска с помощью мигания светодиода, управления аварийными сигналами и назначения дисков горячего резерва из операционной системы без необходимость перезагрузки в BIOS карты. Например, это был подход, использованный OpenBSD в 2005 году с его псевдоустройством bio (4) и утилитой bioctl , которые обеспечивают состояние громкости и позволяют управлять светодиодами / тревогами / горячими источниками, а также датчиками (включая датчик привода ) для мониторинга здоровья; [36] этот подход впоследствии был принят и расширен в NetBSD.и в 2007 году. [37]

Программное [ править ]

Программные реализации RAID предоставляются многими современными операционными системами . Программный RAID может быть реализован как:

  • Слой , который абстрагирует несколько устройств, тем самым обеспечивая единое виртуальное устройство (например, Linux ядра «ы мД и SoftRAID в OpenBSD)
  • Более общий менеджер логических томов (входит в состав большинства операционных систем серверного класса, таких как Veritas или LVM )
  • Компонент файловой системы (например, ZFS , Spectrum Scale или Btrfs )
  • Уровень, который находится над любой файловой системой и обеспечивает защиту данных пользователя (например, RAID-F) [38]

Некоторые расширенные файловые системы предназначены для организации данных на нескольких устройствах хранения напрямую, без необходимости использования стороннего диспетчера логических томов:

  • ZFS поддерживает эквиваленты RAID 0, RAID 1, RAID 5 (RAID-Z1) с одинарной четностью, RAID 6 (RAID-Z2) с двойной четностью и версию с тройной четностью (RAID-Z3), также называемую RAID 7. . [39] Поскольку он всегда чередуется с vdev верхнего уровня, он поддерживает эквиваленты вложенных уровней RAID 1 + 0, 5 + 0 и 6 + 0 (а также чередующиеся наборы с тройной четностью), но не другие вложенные комбинации. ZFS - это собственная файловая система для Solaris и illumos , а также доступна для FreeBSD и Linux. Реализации ZFS с открытым исходным кодом активно развиваются в рамках зонтичного проекта OpenZFS . [40] [41] [42] [43] [44]
  • Spectrum Scale , первоначально разработанный IBM для потоковой передачи мультимедиа и масштабируемой аналитики, поддерживает схемы защиты декластеризованных RAID до n + 3. Особенностью является приоритет динамического восстановления, который работает в фоновом режиме с минимальным воздействием, пока блок данных не достигнет избыточности n + 0, и в этом случае этот блок быстро восстанавливается как минимум до n + 1. Кроме того, Spectrum Scale поддерживает городской RAID 1. [45]
  • Btrfs поддерживает RAID 0, RAID 1 и RAID 10 (RAID 5 и 6 находятся в стадии разработки). [46] [47]
  • Первоначально XFS была разработана для предоставления интегрированного диспетчера томов, который поддерживает объединение, зеркальное отображение и чередование нескольких физических устройств хранения. [48] Однако в реализации XFS в ядре Linux отсутствует интегрированный менеджер томов. [49]

Многие операционные системы предоставляют реализации RAID, включая следующие:

  • Hewlett-Packard «s OpenVMS операционная система поддерживает RAID 1. зеркальными дисков, называемый„теневой набор“, может быть в разных местах , чтобы помочь в восстановлении после сбоев. [50]
  • MacOS и macOS Server от Apple поддерживают RAID 0, RAID 1 и RAID 1 + 0. [51] [52]
  • FreeBSD поддерживает RAID 0, RAID 1, RAID 3 и RAID 5, а также все вложения через модули GEOM и ccd. [53] [54] [55]
  • Linux «s М.Д. поддерживает RAID 0, RAID 1, RAID 4, RAID 5, RAID 6, и все вложения. [56] Также поддерживаются определенные операции изменения формы / размера / расширения. [57]
  • Microsoft Windows поддерживает RAID 0, RAID 1 и RAID 5 с использованием различных программных реализаций. Диспетчер логических дисков , представленный в Windows 2000 , позволяет создавать тома RAID 0, RAID 1 и RAID 5 с использованием динамических дисков , но это было ограничено только профессиональными и серверными версиями Windows до выпуска Windows 8 . [58] [59] Windows XP может быть изменена, чтобы разблокировать поддержку RAID 0, 1 и 5. [60] Windows 8 и Windows Server 2012 представили RAID-подобную функцию, известную как Storage Spaces, который также позволяет пользователям указывать зеркальное отображение, четность или отсутствие избыточности для каждой папки отдельно. Эти параметры аналогичны RAID 1 и RAID 5, но реализованы на более высоком уровне абстракции. [61]
  • NetBSD поддерживает RAID 0, 1, 4 и 5 посредством своей программной реализации под названием RAIDframe. [62]
  • OpenBSD поддерживает RAID 0, 1 и 5 посредством своей программной реализации под названием softraid. [63]

Если загрузочный диск выходит из строя, система должна быть достаточно сложной, чтобы иметь возможность загружаться с оставшегося диска или дисков. Например, рассмотрим компьютер, диск которого настроен как RAID 1 (зеркальные диски); если первый диск в массиве выходит из строя, то загрузчик первой ступени может оказаться недостаточно сложным, чтобы попытаться загрузить загрузчик второй ступени со второго диска в качестве запасного варианта. Загрузчик второй ступени для FreeBSD может загружать ядро из такого массива. [64]

На основе прошивки и драйверов [ править ]

SATA 3.0 контроллера , который обеспечивает функциональность RAID с помощью патентованной прошивки и драйверов

Программно реализованный RAID не всегда совместим с процессом загрузки системы и, как правило, непрактичен для настольных версий Windows. Однако аппаратные RAID-контроллеры дороги и проприетарны. Чтобы заполнить этот пробел, были введены недорогие «RAID-контроллеры», которые не содержат выделенного чипа RAID-контроллера, а просто стандартную микросхему контроллера дисковода с проприетарными прошивками и драйверами. Во время ранней загрузки RAID реализуется микропрограммой, и после полной загрузки операционной системы управление берут на себя драйверы. Следовательно, такие контроллеры могут не работать, если поддержка драйверов для операционной системы хоста недоступна. [65] Примером является технология Intel Rapid Storage , реализованная на многих материнских платах потребительского уровня.[66] [67]

Поскольку требуется некоторая минимальная аппаратная поддержка, эта реализация также называется «программным RAID с аппаратной поддержкой», [68] [69] [70] «гибридной моделью» RAID, [70] или даже «поддельным RAID». [71] Если поддерживается RAID 5, оборудование может предоставлять аппаратный ускоритель XOR. Преимущество этой модели перед чисто программным RAID состоит в том, что - при использовании режима резервирования - загрузочный диск защищен от сбоев (из-за прошивки) во время процесса загрузки даже до того, как драйверы операционной системы вступят в силу. [70]

Целостность [ править ]

Очистка данных (называемая в некоторых средах считыванием патрулей ) включает периодическое чтение и проверку контроллером RAID всех блоков в массиве, включая те, к которым иным образом не обращались. Это обнаруживает плохие блоки перед использованием. [72] Очистка данных проверяет наличие сбойных блоков на каждом устройстве хранения в массиве, но также использует избыточность массива для восстановления сбойных блоков на одном диске и переназначения восстановленных данных на запасные блоки в другом месте на диске. [73]

Часто RAID-контроллер конфигурируется так, чтобы «отбрасывать» компонентный диск (то есть предполагать, что компонентный диск вышел из строя), если диск не отвечает в течение восьми секунд или около того; это может привести к тому, что контроллер массива отключит исправный диск, потому что этому диску не было предоставлено достаточно времени для завершения процедуры восстановления внутренней ошибки. Следовательно, использование потребительских дисков с RAID может быть рискованным, и диски так называемого «корпоративного класса» ограничивают это время восстановления после ошибок, чтобы снизить риск. [ необходима цитата ] У настольных дисков Western Digital было определенное исправление. Утилита под названием WDTLER.exe ограничивает время восстановления диска после ошибки. Утилита включила TLER (временное исправление ошибок), что ограничивает время восстановления после ошибки семью секундами. Примерно в сентябре 2009 года Western Digital отключила эту функцию на своих дисках для настольных ПК (таких как линейка Caviar Black), что сделало такие диски непригодными для использования в конфигурациях RAID. [74] Однако накопители корпоративного класса Western Digital поставляются с завода с включенным TLER. Подобные технологии используют Seagate, Samsung и Hitachi. Поэтому для использования без RAID диск корпоративного класса с коротким таймаутом восстановления после ошибки, который нельзя изменить, менее подходит, чем диск для настольных ПК. [74] В конце 2010 года программа Smartmontools начала поддерживать конфигурацию ATA Error Recovery Control, что позволило инструменту настраивать многие жесткие диски настольного класса для использования в RAID-массивах. [74]

Несмотря на то, что RAID может защитить от сбоя физического диска, данные по-прежнему подвергаются разрушению оператором, программным обеспечением, оборудованием и вирусами. Многие исследования ссылаются на ошибку оператора как на частый источник неисправности [75] [76], такой как оператор сервера, заменяющий неправильный диск в неисправном RAID, и отключение системы (даже временное) в процессе. [77]

Массив может быть перегружен катастрофическим отказом, превышающим его возможности восстановления, и весь массив подвергается риску физического повреждения в результате пожара, стихийных бедствий и воздействия человека, однако резервные копии могут храниться за пределами площадки. Массив также уязвим для сбоя контроллера, потому что не всегда можно перенести его на новый, другой контроллер без потери данных. [78]

Слабые стороны [ править ]

Связанные сбои [ править ]

На практике диски часто одного возраста (с аналогичным износом) и подвержены одинаковым условиям эксплуатации. Поскольку многие отказы дисков происходят из-за механических проблем (которые более вероятны на старых накопителях), это нарушает предположения о независимой одинаковой частоте отказов среди накопителей; отказы фактически статистически коррелированы. [11] На практике вероятность второго сбоя до того, как будет восстановлена ​​первая (вызывающая потерю данных), выше, чем вероятность случайных сбоев. При исследовании около 100000 дисков вероятность отказа двух дисков в одном кластере в течение одного часа была в четыре раза больше, чем предсказывалось экспоненциальным статистическим распределением.- который характеризует процессы, в которых события происходят непрерывно и независимо с постоянной средней скоростью. Вероятность двух отказов за один и тот же 10-часовой период была вдвое больше, чем предсказывалось экспоненциальным распределением. [79]

Неустранимые ошибки чтения во время восстановления [ править ]

Неустранимые ошибки чтения (URE) представляют собой сбои чтения секторов, также известные как скрытые ошибки секторов (LSE). Соответствующий показатель оценки носителя, частота неисправимых битовых ошибок (UBE), обычно гарантированно составляет менее одного бита из 10 15 [ оспаривается ] для дисков корпоративного класса ( SCSI , FC , SAS или SATA) и менее одного. бит в 10 14 [ оспаривается ]для настольных накопителей (IDE / ATA / PATA или SATA). Увеличение емкости дисков и большие экземпляры RAID 5 привели к тому, что максимальное количество ошибок оказалось недостаточным для гарантии успешного восстановления из-за высокой вероятности возникновения такой ошибки на одном или нескольких оставшихся дисках во время восстановления набора RAID. [11] [ устаревший источник ] [80] [ устаревший источник? ] При восстановлении схемы на основе четности, такие как RAID 5, особенно подвержены влиянию URE, поскольку они влияют не только на сектор, в котором они встречаются, но и на реконструированные блоки, использующие этот сектор для вычисления четности. [81]

Схемы на основе четности с двойной защитой, такие как RAID 6, пытаются решить эту проблему, обеспечивая избыточность, которая допускает отказы двух дисков; как обратная сторона, такие схемы страдают от повышенных штрафов за запись - количество раз, когда носитель данных должен быть доступен во время одной операции записи. [82] Схемы, которые дублируют (зеркалируют) данные по принципу диск-диск, такие как RAID 1 и RAID 10, имеют меньший риск от URE, чем схемы, использующие вычисление четности или зеркалирование между чередующимися наборами. [24] [83] Очистка данныхв качестве фонового процесса можно использовать для обнаружения и восстановления URE, эффективно снижая риск их возникновения во время восстановления RAID и возникновения сбоев двух дисков. Восстановление URE включает повторное отображение затронутых базовых секторов диска с использованием пула переназначения секторов диска; в случае обнаружения URE во время фоновой очистки, избыточность данных, обеспечиваемая полностью работоспособным набором RAID, позволяет восстановить недостающие данные и перезаписать их в переназначенный сектор. [84] [85]

Увеличение времени восстановления и вероятности отказа [ править ]

Емкость накопителя росла намного быстрее, чем скорость передачи, а количество ошибок по сравнению с этим снизилось лишь незначительно. Следовательно, восстановление дисков большей емкости может занять часы, если не дни, в течение которых другие диски могут выйти из строя или появиться необнаруженные ошибки чтения. Время восстановления также ограничено, если весь массив все еще работает с уменьшенной емкостью. [86] В массиве только с одним резервным диском (что относится к уровням RAID 3, 4 и 5, а также к «классическому» двухдисковому RAID 1) отказ второго диска приведет к полному отказу массива. Хотя среднее время наработки на отказ отдельных дисков(MTBF) со временем увеличивались, это увеличение отставало от увеличения емкости накопителей. Время восстановления массива после отказа одного диска, а также вероятность второго отказа во время восстановления со временем увеличивались. [22]

Некоторые комментаторы заявили, что RAID 6 в этом отношении является лишь «лейблом», потому что он лишь немного решит проблему в будущем. [22] Однако, согласно исследованию NetApp 2006 г., проведенному Berriman et al., Вероятность отказа уменьшается примерно в 3,800 раз (по сравнению с RAID 5) для правильной реализации RAID 6, даже при использовании обычных дисков. [87] [ цитата не найдена ] Тем не менее, если наблюдаемые в настоящее время технологические тенденции останутся неизменными, в 2019 году у массива RAID 6 будет такая же вероятность отказа, как у его аналога RAID 5 в 2010 году. [87] [ ненадежный источник? ]

Схемы зеркалирования, такие как RAID 10, имеют ограниченное время восстановления, поскольку для них требуется копия одного отказавшего диска, по сравнению со схемами четности, такими как RAID 6, которые требуют копии всех блоков дисков в наборе массива. Схемы тройной четности или тройного зеркалирования были предложены в качестве одного из подходов к повышению устойчивости к отказу дополнительных дисков в течение этого длительного периода восстановления. [87] [ ненадежный источник? ]

Атомарность [ править ]

Сбой системы или другое прерывание операции записи может привести к состояниям, в которых четность несовместима с данными из-за неатомарности процесса записи, так что четность не может использоваться для восстановления в случае отказа диска. Это обычно называется отверстием для записи RAID 5. [11] Отверстие для записи RAID - известная проблема повреждения данных в старых и недорогих RAID-массивах, вызванная прерыванием записи на диск. [88] Отверстие для записи может быть устранено с помощью ведения журнала упреждающей записи . Это было исправлено в mdadm путем введения специального устройства журналирования (чтобы избежать потери производительности, как правило, предпочтительны SSD и NVM ) для этой цели. [89] [90]

Это малоизвестный и редко упоминаемый режим отказа для избыточных систем хранения, которые не используют транзакционные функции. Исследователь баз данных Джим Грей написал «Обновление на месте - это ядовитое яблоко» на заре коммерциализации реляционных баз данных. [91]

Надежность кеширования записи [ править ]

Существуют опасения по поводу надежности кэша записи, особенно в отношении устройств, оснащенных кешем обратной записи , который представляет собой систему кэширования, которая сообщает данные как записанные, как только они записываются в кеш, а не когда они записываются в не -летучая среда. Если в системе произойдет сбой питания или другой серьезный сбой, данные могут быть безвозвратно потеряны из кэша до того, как попадут в энергонезависимое хранилище. По этой причине хорошие реализации кэша с обратной записью включают механизмы, такие как резервное питание от батареи, для сохранения содержимого кеша при сбоях системы (включая сбои питания) и для очистки кеша при перезапуске системы. [92]

См. Также [ править ]

  • Сетевое хранилище (NAS)
  • Архитектура дисков без RAID
  • Резервный массив независимой памяти
  • УМНАЯ

Ссылки [ править ]

  1. ^ a b c Паттерсон, Дэвид ; Гибсон, Гарт А .; Кац, Рэнди (1988). Случай для избыточных массивов недорогих дисков (RAID) (PDF) . SIGMOD Конференции . Проверено 31 декабря 2006 .
  2. ^ a b "Первоначально называвшийся избыточным массивом недорогих дисков, термин RAID был впервые опубликован в конце 1980-х годов Паттерсоном, Гибсоном и Кацем из Калифорнийского университета в Беркли. (Консультативный совет RAID с тех пор заменил термин Недорогой. с независимым.) "Основы сети хранения данных; Мита Гупта; Cisco Press; ISBN 978-1-58705-065-7 ; Приложение. 
  3. ^ a b Рэнди Х. Кац (октябрь 2010 г.). «RAID: личное воспоминание о том, как хранилище стало системой» (PDF) . eecs.umich.edu . Компьютерное общество IEEE . Проверено 18 января 2015 . Мы не были первыми, кто придумал заменить то, что Паттерсон назвал медленным большим дорогим диском (SLED), массивом недорогих дисков. Например, концепция зеркального копирования дисков, впервые предложенная Tandem, была хорошо известна, и некоторые продукты для хранения данных уже были построены на основе массивов небольших дисков.
  4. Фрэнк Хейс (17 ноября 2003 г.). «История до сих пор» . Компьютерный мир . Проверено 18 ноября, 2016 . Паттерсон вспомнил начало своего проекта RAID в 1987 году. [...] 1988: Дэвид А. Паттерсон возглавляет команду, которая определяет стандарты RAID для повышения производительности, надежности и масштабируемости.
  5. ^ Патент США 4092732 , Norman Кен Оучи, «Система для восстановления данных , хранящихся в блоке памяти Failed», выданном 1978-05-30 
  6. ^ "Техническое руководство по аппаратному обеспечению HSC50 / 70" (PDF) . Дек . Июль 1986. С. 29, 32 . Проверено 3 января 2014 .
  7. ^ Патент США 4761785 , Brian E. Clark и др., «Паритет Распространение по повышению хранения доступа», выданном 1988-08-02 
  8. ^ Патент США 4899342 , Дэвид Поттер и др. др., "Метод и устройство для работы с многоэлементным массивом воспоминаний", выпущенный 1990-02-06.  См. также The Connection Machine (1988)
  9. ^ "Система обработки данных IBM 7030: Справочное руководство" (PDF) . bitsavers.trailing-edge.com . IBM . 1960. с. 157 . Проверено 17 января 2015 . Поскольку большое количество бит обрабатывается параллельно, целесообразно использовать биты проверки и исправления ошибок (ECC), и каждый 39-битный байт состоит из 32 битов данных и семи битов ECC. Биты ECC сопровождают все данные, передаваемые на высокоскоростные диски или с них, и при чтении используются для исправления одиночной битовой ошибки в байте и обнаружения двойных и большинства множественных ошибок в байте.
  10. ^ «IBM Stretch (также известная как IBM 7030 Data Processing System)» . brouhaha.com . 2009-06-18 . Проверено 17 января 2015 . Типичная система обработки данных IBM 7030 могла бы состоять из следующих блоков: [...] Дисковое хранилище IBM 353 - аналогично IBM 1301 Disk File, но намного быстрее. 2097152 (2 ^ 21) 72-битных слова (64 бита данных и 8 битов ECC), 125 000 слов в секунду
  11. ^ Б с д е е г ч я J Chen, Peter; Ли, Эдвард; Гибсон, Гарт; Кац, Рэнди; Паттерсон, Дэвид (1994). «RAID: высокопроизводительное и надежное вторичное хранилище». ACM Computing Surveys . 26 (2): 145–185. CiteSeerX 10.1.1.41.3889 . DOI : 10.1145 / 176979.176981 . S2CID 207178693 .  
  12. ^ Дональд, Л. (2003). «MCSA / MCSE 2006 JumpStart Computer and Network Basics» (2-е изд.). Глазго: SYBEX. Цитировать журнал требует |journal=( помощь )
  13. ^ Хау, Денис (ред.). Избыточные массивы независимых дисков от FOLDOC . Бесплатный он-лайн словарь по вычислительной технике . Имперский колледж, факультет вычислительной техники . Проверено 10 ноября 2011 .
  14. ^ Докинз, Билл и Джонс, Арнольд. "Общие RAID Disk Data Format Specification" архивации 2009-08-24 в Wayback Machine [Storage Networking Industry Association] Colorado Springs, 28 июля 2006. Проверено 22 февраля 2011 года.
  15. ^ «Решения Adaptec Hybrid RAID» (PDF) . Adaptec.com . Adaptec. 2012 . Проверено 7 сентября 2013 .
  16. ^ "Стандартный формат дискового накопителя RAID (DDF)" . SNIA.org . СНИА . Проверено 26 августа 2012 .
  17. ^ "Словарь СНИА" . SNIA.org . СНИА . Проверено 24 августа 2010 .
  18. ^ Эндрю С. Таненбаум. Структурированная компьютерная организация 6-е изд . п. 95.
  19. ^ Хеннесси, Джон; Паттерсон, Дэвид (2006). Компьютерная архитектура: количественный подход, 4-е изд . п. 362. ISBN. 978-0123704900.
  20. ^ «Справочник FreeBSD, Глава 20.5 GEOM: Модульная структура преобразования дисков» . Проверено 20 декабря 2012 .
  21. ^ Белый, Джей; Лют, Крис (май 2010 г.). «RAID-DP: Реализация NetApp RAID с двойной четностью для защиты данных. Технический отчет NetApp TR-3298» . Проверено 2 марта 2013 .
  22. ^ a b c Ньюман, Генри (17 сентября 2009 г.). «Дни рейда могут быть сочтены» . EnterpriseStorageForum . Проверено 7 сентября 2010 .
  23. ^ «Почему RAID 6 перестанет работать в 2019 году» . ZDNet . 22 февраля 2010 г.
  24. ^ a b Скотт Лоу (2009-11-16). «Как защитить себя от неисправимых ошибок чтения (URE), связанных с RAID. Techrepublic» . Проверено 1 декабря 2012 .
  25. ^ Виджаян, S .; Selvamani, S .; Виджаян, S (1995). «Дисковый массив с двойной штриховкой: высоконадежная архитектура гибридного RAID» . Труды Международной конференции по параллельной обработке 1995 г.: Том 1 . CRC Press . pp. I – 146 ff . ISBN 978-0-8493-2615-8.
  26. ^ "Что такое RAID (избыточный массив недорогих дисков)?" . StoneFly.com . Проверено 20 ноября 2014 .
  27. ^ "Почему RAID 1 + 0 лучше, чем RAID 0 + 1?" . aput.net . Проверено 23 мая 2016 .
  28. ^ «RAID 10 против RAID 01 (RAID 1 + 0 против RAID 0 + 1), объясненный с помощью схемы» . www.thegeekstuff.com . Проверено 23 мая 2016 .
  29. ^ «Сравнение RAID 10 и RAID 01 | SMB IT Journal» . www.smbitjournal.com . Проверено 23 мая 2016 .
  30. ^ a b Джеффри Б. Лейтон: «Введение в Nested-RAID: RAID-01 и RAID-10» , Linux Magazine, 6 января 2011 г.
  31. ^ «Производительность, инструменты и общие вопросы для костей» . tldp.org . Проверено 25 декабря 2013 .
  32. ^ "Заглавная страница - Linux-рейд" . osdl.org. 2010-08-20. Архивировано из оригинала на 2008-07-05 . Проверено 24 августа 2010 .
  33. ^ "Рейд Hdfs" . Hadoopblog.blogspot.com. 2009-08-28 . Проверено 24 августа 2010 .
  34. ^ a b "3.8:" Хакеры утерянного рейда " " . Релизные песни OpenBSD . OpenBSD . 2005-11-01 . Проверено 23 марта 2019 .
  35. ^ Скотт Лонг; Adaptec, Inc (2000). «aac (4) - драйвер контроллера Adaptec AdvancedRAID» . Перекрестная ссылка BSD . FreeBSD . Выложите резюме .
  36. Тео де Раадт (9 сентября 2005 г.). «Поддержка управления RAID появится в OpenBSD 3.8» . misc @ (Список рассылки). OpenBSD .
  37. ^ Константин А. Murenin (2010-05-21). «1.1. Мотивация; 4. Драйверы датчиков; 7.1. NetBSD envsys / sysmon». Аппаратные датчики OpenBSD - мониторинг окружающей среды и управление вентиляторами ( тезис MMath ). Университет Ватерлоо : UWSpace. ЛВП : 10012/5234 . Идентификатор документа: ab71498b6b1a60 ff817 b29d56997a418.
  38. ^ «RAID поверх файловой системы» . Проверено 22 июля 2014 .
  39. ^ «Производительность, емкость и целостность ZFS Raidz» . calomel.org . Проверено 26 июня 2017 года .
  40. ^ "ZFS -illumos" . illumos.org . 2014-09-15 . Проверено 23 мая 2016 .
  41. ^ «Создание и уничтожение пулов устройств хранения данных ZFS - Руководство администратора Oracle Solaris ZFS» . Корпорация Oracle . 2012-04-01 . Проверено 27 июля 2014 .
  42. ^ «20.2. Файловая система Z (ZFS)» . freebsd.org . Архивировано из оригинала на 2014-07-03 . Проверено 27 июля 2014 .
  43. ^ «RAID-Z с двойной четностью (raidz2) (Руководство администратора Solaris ZFS)» . Корпорация Oracle . Проверено 27 июля 2014 .
  44. ^ «RAIDZ с тройной четностью (raidz3) (Руководство администратора Solaris ZFS)» . Корпорация Oracle . Проверено 27 июля 2014 .
  45. ^ Deenadhayalan, вира (2011). «Собственный RAID-массив общей параллельной файловой системы (GPFS)» (PDF) . UseNix.org . IBM . Проверено 28 сентября 2014 .
  46. ^ "Btrfs Wiki: Список возможностей" . 2012-11-07 . Проверено 16 ноября 2012 .
  47. ^ "Btrfs Wiki: Список изменений" . 2012-10-01 . Проверено 14 ноября 2012 .
  48. ^ Филип Траутман; Джим Мостек. «Масштабируемость и производительность в современных файловых системах» . linux-xfs.sgi.com . Проверено 17 августа 2015 .
  49. ^ "Linux RAID Setup - XFS" . kernel.org . 2013-10-05 . Проверено 17 августа 2015 .
  50. ^ Enterprise, Hewlett Packard. «Документ поддержки HPE - Центр поддержки HPE» . support.hpe.com .
  51. ^ «Mac OS X: Как объединить наборы RAID в Дисковой утилите» . Проверено 4 января 2010 .
  52. ^ «Файловые системы сервера Apple Mac OS X» . Проверено 23 апреля 2008 .
  53. ^ "Страница руководства FreeBSD System Manager для GEOM (8)" . Проверено 19 марта 2009 .
  54. ^ "Список рассылки freebsd-geom - новый класс / geom_raid5" . Проверено 19 марта 2009 .
  55. ^ "Руководство по интерфейсам ядра FreeBSD для CCD (4)" . Проверено 19 марта 2009 .
  56. ^ "Программное обеспечение RAID HowTo" . Проверено 10 ноября 2008 .
  57. ^ "mdadm (8) - справочная страница Linux" . Linux.Die.net . Проверено 20 ноября 2014 .
  58. ^ «Поддержка Windows Vista для жестких дисков с большим сектором» . Microsoft . 2007-05-29. Архивировано из оригинала на 2007-07-03 . Проверено 8 октября 2007 .
  59. ^ «Вы не можете выбрать или отформатировать раздел жесткого диска при попытке установить Windows Vista, Windows 7 или Windows Server 2008 R2» . Microsoft . 14 сентября 2011 года. Архивировано 3 марта 2011 года . Проверено 17 декабря 2009 года .
  60. ^ «Использование Windows XP для создания RAID 5» . Оборудование Тома . Проверено 24 августа 2010 года .
  61. ^ Синофски, Стивен. «Виртуализация хранилища для масштабирования, отказоустойчивости и эффективности» . Microsoft.
  62. ^ Мецгер, Перри (1999-05-12). «Объявление о выпуске NetBSD 1.4» . NetBSD.org . Фонд NetBSD . Проверено 30 января 2013 .
  63. ^ "Справочная страница программного обеспечения OpenBSD" . OpenBSD.org . Проверено 3 февраля 2018 .
  64. ^ "Справочник FreeBSD" . Глава 19 GEOM: Модульная структура преобразования дисков . Проверено 19 марта 2009 .
  65. ^ "Часто задаваемые вопросы о SATA RAID" . Ata.wiki.kernel.org. 2011-04-08 . Проверено 26 августа 2012 .
  66. ^ «Red Hat Enterprise Linux - Руководство администратора хранилища - Типы RAID» . redhat.com .
  67. ^ Чарли Рассел; Шэрон Кроуфорд; Эндрю Эдни (2011). Работа с Windows Small Business Server 2011 Essentials . O'Reilly Media, Inc. стр. 90. ISBN 978-0-7356-5670-3.
  68. ^ Уоррен Блок. «19.5. Программные RAID-устройства» . freebsd.org . Проверено 27 июля 2014 .
  69. ^ Рональд Л. Крутц; Джеймс Конли (2007). Основы сетевой безопасности Wiley Pathways . Джон Вили и сыновья. п. 422. ISBN. 978-0-470-10192-6.
  70. ^ a b c «Аппаратный RAID или программный RAID: какая реализация лучше всего подходит для моего приложения? Технический документ Adaptec» (PDF) . adaptec.com .
  71. ^ Грегори Смит (2010). PostgreSQL 9.0: высокая производительность . Packt Publishing Ltd. стр. 31. ISBN 978-1-84951-031-8.
  72. ^ Ulf Troppens, Вольфганг Мюллер-Friedt, Rainer Erkens, Rainer Wolafka, Nils Haustein. Объяснение сетей хранения данных: основы и применение Fibre Channel SAN, NAS, ISCSI, InfiniBand и FCoE. Джон Вили и сыновья, 2009. стр.39.
  73. ^ Компьютеры Dell, Справочная информация для RAID-контроллеров Dell PowerEdge, Дрю Хабас и Джон Сибер, перепечатано из Dell Power Solutions, февраль 2006 г. http://www.dell.com/downloads/global/power/ps1q06-20050212-Habas. pdf
  74. ^ a b c «Контроль восстановления после ошибок с помощью Smartmontools» . 2009. Архивировано из оригинального 28 сентября 2011 года . Проверено 29 сентября 2017 года .
  75. Грей, Джим (октябрь 1990 г.). «Перепись доступности тандемных систем между 1985 и 1990 годами» (PDF) . Транзакции IEEE о надежности . IEEE. 39 (4): 409–418. DOI : 10.1109 / 24.58719 . S2CID 2955525 . Архивировано из оригинального (PDF) 20 февраля 2019 года.  
  76. ^ Мерфи, Брендан; Гент, Тед (1995). «Измерительная система и надежность программного обеспечения с использованием автоматизированного процесса сбора данных». Международная организация по обеспечению качества и надежности . 11 (5): 341–353. DOI : 10.1002 / qre.4680110505 .
  77. Перейти ↑ Patterson, D., Hennessy, J. (2009), 574.
  78. ^ "Приключение миграции RAID" . Проверено 10 марта 2010 .
  79. ^ Отказы дисков в реальном мире: что для вас означает наработка на отказ в 1000000 часов? Бьянка Шредер и Гарт А. Гибсон
  80. Харрис, Робин (27 февраля 2010 г.). «RAID 6 перестанет работать в 2019 году?» . StorageMojo.com . TechnoQWAN . Проверено 17 декабря 2013 .
  81. ^ JL Хафнер, В. Dheenadhayalan, К. Рао и JA Томлин. "Матричные методы восстановления потерянных данных в кодах стирания. Конференция USENIX по файловым технологиям и технологиям хранения , 13–16 декабря 2005 г."
  82. ^ Миллер, Скотт Алан (2016-01-05). «Понимание производительности RAID на различных уровнях» . Зона восстановления . StorageCraft . Проверено 22 июля 2016 .
  83. Art S. Kagel (2 марта 2011 г.). «RAID 5 против RAID 10 (или даже RAID 3 или RAID 4)» . miracleas.com . Архивировано из оригинала 3 ноября 2014 года . Проверено 30 октября 2014 года .
  84. ^ М. Бейкер, М. Шах, DSH Розенталь, М. Руссопулос, П. Маниатис, Т. Джули и П. Бунгале. «Свежий взгляд на надежность долгосрочного цифрового хранения». EuroSys2006, апрель 2006 г.
  85. ^ «LN Bairavasundaram, GR Goodson, S. Pasupathy, J.Schindler.« Анализ скрытых ошибок секторов в дисковых накопителях ». Труды SIGMETRICS'07, 12–16 июня 2007 г.» (PDF) .
  86. Перейти ↑ Patterson, D., Hennessy, J. (2009). Компьютерная организация и дизайн . Нью-Йорк: Издательство Морган Кауфманн. pp 604–605.
  87. ^ a b c Левенталь, Адам (01.12.2009). «RAID с тройной четностью и выше. Очередь ACM, Ассоциация вычислительной техники» . Проверено 30 ноября 2012 .
  88. ^ " " Отверстие для записи "в RAID5, RAID6, RAID1 и других массивах" . Команда ZAR . Проверено 15 февраля 2012 года .
  89. ^ «ОБЪЯВЛЕНИЕ: mdadm 3.4 - Инструмент для управления md Soft RAID под Linux [LWN.net]» . lwn.net .
  90. ^ "Журнал для MD / RAID5 [LWN.net]" . lwn.net .
  91. ^ Джим Грей: Понятие сделки: Добродетели и ограничение архивация 2008-06-11 в Wayback Machine (Специальный документ) VLDB 1981 : 144-154
  92. ^ «Определение кэша обратной записи в словаре SNIA» . www.snia.org .

Внешние ссылки [ править ]

  • «Эмпирические измерения частоты отказов дисков и ошибок» , Джим Грей и Кэтрин ван Инген, декабрь 2005 г.
  • Математика RAID-6 , Х. Питер Анвин
  • Предлагает ли поддельный RAID какое-либо преимущество перед программным RAID? - Обсуждение на superuser.com
  • Сравнение методов реализации RAID - Dell.com
  • BAARF: Battle Against Any Raid Five (RAID 3, 4 и 5 против RAID 10)
  • Чистый взгляд на чистку дисков с чистого листа