Raid 5 что такое: Почему RAID-5 — «mustdie»? / Хабр
Почему RAID-5 — «mustdie»? / Хабр
В последнее время в мировой компьютерной прессе стало появляться довольно много статей на тему: «Почему RAID-5 это плохо» (пример раз, два, и другие)
Постараюсь, без ныряния в инженерные и терминологические дебри объяснить, почему до сих пор RAID-5 вроде работал, а теперь вдруг перестал.
Емкость жестких дисков за последние несколько лет растет без особых тенденций к остановке. Однако, хотя емкость дисков чуть ли не удваивается каждый год, прирост их быстродействия, то есть скорости передачи данных, за тот же срок увеличивается всего в проценты. Да, действительно, на дисках появляются интерфейсы SATA, SATA-II, и ждем уже SATA-III, но стали ли диски быстрее работать, а не просто получили новый интерфейс с бубенчиками и новыми круглыми цифрами теоретических показателей вида «цифра максимальной скорости на спидометре «Запорожца»?
Практика говорит нам, что — нет.
Если мы сравним быстродействие, в особенности на небольших случайных операциях, для массовых дисков SATA за несколько лет, то мы увидим, что заметного, сравнимого с ростами объемов, прироста производительности нет.
Емкость — растет в разы, а скорость работы — нет.
Когда RAID-5 появился, в 1987 году, типичный жесткий диск был размером 21MB, и имел скорость вращения 3600 RPM. Сегодня типичный диск SATA это 1TB, то есть прирост емкости составил 50 тысяч раз! Но скорость вращения при этом увеличилась всего вдвое.
Если бы скорость передачи данных за эти годы росла бы такими же темпами что и емкость, то сегодняшние диски имели бы показатели передачи данных в районе 30 гигабайт в секунду.
Теперь вспомним о том, что такое есть RAID, и его реализация — RAID-5.
RAID, или Redundant Array of Independent Disks, это модель организации группы дисков в отказоустойчивую структуру таким образом, чтобы она сохранял доступность информации даже в случае повреждения или полного выхода из строя части из этих дисков.
Среди множества описанных «в теории» типов RAID, в живой природе встречаются в основном три. Это RAID-0 (или «группа с чередованием» который «RAID» на самом деле только условно, так как отказоустойчивостью не обладает, о чем и говорит цифра 0), RAID-5, или «группа с чередованием и четностью», и RAID-1, или «зеркало». В чистом виде RAID-1 практически не используется из за ограничений по скорости, поэтому в высокопроизводительных массивах используется его комбинация с RAID-0. В результате этого альянса RAID-0 получает отказоустойчивость, а RAID-1 — быстродействие. Как правило, такая комбинация называется RAID-0+1 или RAID-10, или «чередование с зеркалированием».
RAID-10 хорош многим. Да почти всем. И надежностью, и быстродействием, за исключением того, что на его создание уходит 50% всей емкости дисков, половина. Довольно таки «бандитский процент».
Именно такой, довольно жестокий, процент часто заставляет пользователей серверов и систем хранения выбирать как альтернативу RAID-5.
Действительно, в RAID-5 мы платим за отказоустойчивость емкостью всего одного диска, то есть емкость RAID-5 равна (n-1)*hddsize, где n — число дисков, а hddsize — их размер.
Данные «размазаны» по всем входящим в RAID-группу дискам, их блоки дополнены служебной информацией, которая дает возможность восстановить потерю данных в размере любого одного диска, причем сама эта служебная информация не занимает какой-то выделенный диск, а просто часть объема этой группы, равную как раз емкость одного диска. Но она также размазана по всем дискам.
Когда происходит выход из строя (полный или частичный) одного из дисков группы типа RAID-5, то RAID-группа переходит в состояние degraded, но наши данные остаются доступными, так как недостающая часть их может быть восстановлена за счет избыточной информации того самого «дополнительного объема, размером в один диск». Правда обычно быстродействие дисковой группы резко падает, так как при чтении и записи выполняются дополнительные операции вычислений избыточности и восстановления целостности данных. Если мы вставим вместо вышедшего из строя новый диск, то умный RAID-контроллер начнет процедуру rebuild, «перестроения», для чего начнет считывать со всех дисков оставшиеся данные, и, на основании избыточной информации, заполнит новый, ранее пустой диск недостающей, пропавшей вместе со сдохшим диском частью.
Если вы еще не сталкивались с процессом ребилда RAID-5, вы, возможно, будете неприятно поражены тем, насколько длительным этот процесс может быть. Длительность эта зависит от многих факторов, и, кроме количества дисков в RAID-группе, и их заполненностью, что очевидно, в значительной степени зависит от мощности процессора RAID-контроллера и производительности диска на чтение/запись. А также от рабочей нагрузки на дисковый массив во время проведения ребилда, и от приоритета процесса ребилда по сравнению с приоритетом рабочей нагрузки.
Если вам не посчастливилось потерять диск в разгар рабочего дня или рабочей недели, то процесс ребилда, и так небыстрый, может удлинниться в десятки раз.
А с выходом все более и более емких дисков, уровни быстродействия которых, как мы помним, почти не растут, в сравнении с емкостью, время ребилда растет угрожающими темпами, ведь, как уже писалось выше, скорость считывания с дисков, от которой напрямую зависит скорость прохождения ребилда, растет гораздо медленнее, чем емкость дисков и объем, который нужно считать.
Так, в интернете легко можно найти истории, когда сравнительно небольшой 4-6 дисковый RAID-5 из 500GB дисков восстанавливал данные на новый диск в течении суток, и более.
Источник: Adaptec
«a RAID 5 array with five 500 GB SATA drives took approximately 24 hours to rebuild»Источник:
«The testing used a 3.5TB array composed of 16 250GB SATA disks configured as RAID 5… 3ware took… over a day to repair a RAID 5 array when under a file server workload.»Источник:
«I’m now at 80% of rebuilding my RAID-5 array with 3x 1TB harddrives, I’ve calculated that the total time needed to rebuild the array will be 66 hours!»Источник:
«On my filer I run a software raid 5 across eight 500 GB sata drives, which works great… Recovery time is about 20 hours. Athlon X2 4200+ and nvidia chipset.»Источник:
С использованием же терабайтных и двухтерабайтных дисков приведенные цифры можно смело умножать в 2-4 раза!
И вот тут начинаются страсти.
Дело в том, и это надо себе трезво уяснить, что на время ребилда RAID-5 вы остаетесь не просто с RAID лишенным отказоустойчивости. Вы получаете на все время ребилда RAID-0, надежность и отказоустойчивость которого меньше надежности и отказоустойчивости одного диска в n раз, где n — это количество дисков в группе.
(решил удалить откровенно спорные положения статьи 🙂 С удовольствием приму помощь от компетентного математика-«вероятниста» в правильном вычислении показателей надежности, впрочем основного посыла в ненадежности RAID-0 это не изменяет)
В случае любого отказа, даже самого маленького, даже, быть может, не отказа диска целиком, а просто сбоя чтения из за помехи, или проблем с кабелями, вы теряете всю на нем информацию.
Допустим.
Но нынешние диски выглядят достаточно надежными, не так ли? Уж поди сутки ребилда они протянут без сбоев, не все так плохо, и не настолько же мы неудачники, чтобы у нас на руках дохли два подряд диска. Такое бывает, но может пронесет?
Вот что говорят о надежности дисков материалы самих вендоров.
(Сводная таблица по основным сериям дисков)
В настоящее время практически все производители выпускают жесткие диски двух основных классов.
Это так называемые Desktop-диски, для настольных систем, и диски Enterprise, предназначенные для серверов и прочих критичных случаев. Кроме того, диски класса Enterprise также делятся на диски SATA (скорость оборотов 7200RPM) и SAS или FC (со скоростями вращения 10K и 15K RPM).
Надежность процесса передачи данных принято измерять параметром BER — Bit Error Rate(Ratio). Это вероятность сбоя, из расчета некоего объема прочитанных головками диска бит.
Как правило, диски Desktop-class имеют указанную производителем величину BER равную 10^14 степени, постепенно для все больших дисков, в особенности новых серий, указывают величины надежности в 10^15. Это число означает, что производитель прогнозирует вероятность сбоя при чтении не хуже, чем одного сбойного бита на 10^14 степени прочитанных диском бит. Единица с 14 нулями. Сто тысяч миллиардов бит.
Цифра огромная, казалось бы. Но так ли велика она на самом деле?
Несложная математика уровня calc.exe говорит нам, что 10^14 бит это всего лишь около 11TB данных. Это означает, что производитель жестких дисков говорит нам таким образом, что считав с диска с параметром BER 10^14, то есть обычного, десктопного класса диска, примерно 11TB, мы, с точки зрения производителя, наверняка получим где-нибудь сбойный бит. По крайней мере он, производитель, на это у себя рассчитывает.
Сбойный бит чтения означает сбойный блок, размером 512 байт, на который он пришелся. И пошло-поехало.
11 терабайт это же уже и не так много?
И это не означает, что надо прочитать ровно 11TB, BER это только вероятность, которая стремится к 100% к 11-му терабайту. На меньших объемах она просто пропорционально уменьшается.
Да, диски с BER равным 10^15 имеют вероятность ошибки в 10 раз лучше (110TB считанного на один сбойный бит), но и это только временное улучшение. Как мы помним, емкость дисков удваивается с каждым новым поколением, то есть примерно каждые полтора-два года, растут и емкости RAID, а BER10^15 для SATA достигнут только в последний год-полтора.
Так, например, для 6-дискового RAID-5 с дисками 1TB величина отказа по причине BER оценивается в 4-5%, а для 4TB дисков она же будет достигать уже 16-20%.
Источник: Hitachi Data Systems: Why growing business need RAID-6.
Эта холодная цифра означает, что с 16-20-процентной вероятностью вы получите отказ диска во время ребилда (и, следовательно, потеряете все данные на RAID). Ведь для ребилда, как правило, RAID-контроллеру придется прочитать все диски, входящие в RAID-группу, для 6 дисков по 1TB объем прочитанного RAID-контроллером потока данных с дисков достигает 6TB, для 4TB он уже станет равным 24TB.
24TB это, при BER 10^15, четверть от 110TB.
Но даже и это еще не все.
Как показывает практика, примерно 70-80% данных, хранимых на дисках, это так называемые cold data. Это файлы, доступ к которым сравнительно редок. С увеличением емкости дисков их объем в абсолютном исчислении также растет. Огромный объем данных лежит, зачастую, нетронутый никем, даже антивирусом (зачем ему проверять гигабайтные рипы и mp3?), месяцами, а возможно и годами.
Ошибка данных, пришедшаяся на массив cold data обнаружится только лишь в процессе полного чтения содержимого диска, на процесс ребилда.
Большие и «умные» системы хранения обычно постоянно занимаются в секунды простоя так называемым disk scrubbing-ом, постоянно считывая и контролируя характеристики чтения для всего объема дисков. Но уверен, что ваш недорогой «домашний» RAID-контроллер этого не делает.
Следовательно, вы узнаете о появившемся неделю назад bad block где-то в пространстве cold data в тот момент, когда скрестив пальцы будете с замиранием следить за прогресс-баром процесса ребилда.
Вот какая неприятная правда скрывается за несколько скандальными статьями о «смерти RAID-5».
Возможно, что для архива порнухи домашней видеоколлекции потеря ее в считанные секунды и не будет такой уж большой катастрофой, особенно если вы хорошо владеете собой. Но уж точно пришла пора отказаться от RAID-5 на чуть более критичных задачах, чем «домашнее хранилище BD-рипов накачаных из торрента».
Выводы (для тех, кто ниасилил):
- Резкий рост объемов дисков, при гораздо более медленном приросте скоростей передачи данных с диска привел к тому, что время восстановления RAID-5 катастрофически удлиннилось и продолжает расти с выходом все более емких дисков. Как следствие, неприемлимо увеличивается период времени, когда данные остаются полностью незащищеными.
- Отсутствие средств контроля областей cold data (редко обновляемых и считываемых данных) в недорогих контроллерах RAID-5 может привести к обнаружению давно возникшей проблемы считывания в критический момент ребилда RAID, когда он полностью незащищен от сбоев, и приведет в полной потере данных.
- Повышенная нагрузка на диски в период восстановления потенциально еще повышает вероятность сбоя.
- Современные диски Desktop-class уже приблизились по объемам к показателям определяемого их изготовителями параметра BER (Bit Error Rate), что еще более повышает вероятность сбоя в ходе массированного считывания всего объема диска.
Все перечисленное доказывает необходимость отказа от использования RAID-5 в качестве отказоустойчивого решения для хранения важных и критичных данных.
Решение:
- Для данных, скорость доступа (и в особенности записи) к которым не так важна — RAID-6. Тип RAID устойчивый к сбою двух дисков. При выходе из строя одного диска, защищающий на время ребилда, от случайных ошибок чтения при восстановлении. Недостаток — относительно невысокая скорость на запись.
- Для данных, к которым требуется максимально быстрый доступ как на запись, так и на чтение — RAID-10. При использовании RAID-10 время ребилда резко сокращается, так как не требуется чтения полного объема RAID, а только копирование содержимого «зеркального» к вышедшему из строя диска. Недостатки — большой расход дисков на обеспечение отказоустойчивости.
- По возможности не экономить, используя для хранения критичной информации не предназначенные для работе в RAID диски Desktop-class, а использовать специальные серверные Enterprise-серии, надежность чтения которых на один-два порядка выше.
RAID для «чайников» и не только
KDV, iBase.ru, 26.11.2004, последнее обновление – 27.02.2009.
Со времени первой публикации статьи, на forum.ibase.ru в ее обсуждении появилась масса интересных сообщений. Так что после чтения статьи рекомендую обязательно просмотреть топик на форуме.
В интернете есть масса статей с описанием RAID. Например, эта описывает все очень подробно. Но как обычно, читать все не хватает времени, поэтому надо что-нибудь коротенькое для понимания – а надо оно или нет, и что лучше использовать применительно к работе с СУБД (InterBase, Firebird или что то иное – на самом деле все равно). Перед вашими глазами – именно такой материал.
Примечание. Сейчас есть хорошая статья о RAID в Википедии.
В первом приближении RAID это объединение дисков в один массив. SATA, SAS, SCSI, SSD – неважно. Более того, практически каждая нормальная материнская плата сейчас поддерживает возможность организации SATA RAID. Пройдемся по списку, какие бывают RAID и зачем они. (Хотел бы сразу заметить, что в RAID нужно объединять одинаковые диски. Объединение дисков от разных производителей, от одного но разных типов, или разных размеров – это баловство для человека, сидящего на домашнем компьютере).
RAID 0 (Stripe)
Грубо говоря, это последовательное объединение двух (или более) физических дисков в один «физический» диск. Годится разве что для организации огромных дисковых пространств, например, для тех, кто работает с редактированием видео. Базы данных на таких дисках держать нет смысла – в самом деле, если даже у вас база данных имеет размер 50 гигабайт, то почему вы купили два диска размером по 40 гигабайт, а не 1 на 80 гигабайт? Хуже всего то, что в RAID 0 любой отказ одного из дисков ведет к полной неработоспособности такого RAID, потому что данные записываются поочередно на оба диска, и соответственно, RAID 0 не имеет средств для восстановления в случае сбоев.
Конечно, RAID 0 дает ускорение в работе из-за чередования чтения/записи.
RAID 0 часто используют для размещения временных файлов.
RAID 1 (Mirror)
Зеркалирование дисков. Если Shadow в IB/FB это программное зеркалирование (см. Operations Guide.pdf), то RAID 1 – аппаратное зеркалирование, и ничего более. Упаси вас от использования программного зеркалирования средствами ОС или сторонним ПО. Надо или «железный» RAID 1, или shadow.
При сбое тщательно проверяйте, какой именно диск сбойнул. Самый частый случай погибания данных на RAID 1 – это неверные действия при восстановлении (в качестве «целого» указан не тот диск).
Насчет производительности – по записи выигрыш 0, по чтению – возможно до 1.5 раз, т. к. чтение может производиться «параллельно» (поочередно с разных дисков) . Для баз данных ускорение мало, в то время как при параллельном обращении к разным (!) частям (файлам) диска ускорение будет абсолютно точно.
RAID 1+0
Под RAID 1+0 имеют в виду вариант RAID 10, когда два RAID 1 объединяются в RAID 0. Вариант, когда два RAID 0 объединяются в RAID 1 называется RAID 0+1, и «снаружи» представляет собой тот же RAID 10.
RAID 2-3-4
Эти RAID являются редкими, т. к. в них используются коды Хэмминга, либо разбиение байт на блоки + контрольные суммы и т. п., но общее резюме таково – эти RAID дают только надежность, при 0-вом увеличении производительности, и иногда даже ее ухудшении.
RAID 5
Для него нужно минимально 3 диска. Данные четности распределяются по всем дискам массива
Обычно говорится, что «RAID5 использует независимый доступ к дискам, так что запросы к разным дискам могут выполняться параллельно». Следует иметь в виду, что речь идет, конечно, о параллельных запросах на ввод-вывод. Если такие запросы идут последовательно (в SuperServer), то конечно, эффекта распараллеливания доступа на RAID 5 вы не получите. Разумеется, RAID5 даст прирост производительности, если с массивом будут работать операционная система и другие приложения (например, на нем будет находиться виртуальная память, TEMP и т. п.).
Вообще RAID 5 раньше был наиболее часто используемым массивом дисков для работы с СУБД. Сейчас такой массив можно организовать и на SATA дисках, причем он получится существенно дешевле, чем на SCSI. Цены и контроллеры вы можете посмотреть в статьях
Причем, следует обратить внимание на объем покупаемых дисков – например, в одной из упомянутых статей RAID5 собирается из 4-х дисков объемом 34 гиг, при этом объем «диска» получается 103 гигабайта.
Тестирование пяти контроллеров SATA RAID – http://www.thg.ru/storage/20051102/index.html.
Adaptec SATA RAID 21610SA в массивах RAID 5 – http://www.ixbt.com/storage/adaptec21610raid5.shtml.
Почему RAID 5 — это плохо — https://geektimes.ru/post/78311/
Внимание! При закупке дисков для RAID5 обычно берут 3 диска, по минимуму (скорее из-за цены). Если вдруг по прошествии времени один из дисков откажет, то может возникнуть ситуация, когда не удастся приобрести диск, аналогичный используемым (перестали выпускаться, временно нет в продаже, и т. п.). Поэтому более интересной идеей кажется закупка 4-х дисков, организация RAID5 из трех, и подключение 4-го диска в качестве резервного (для бэкапов, других файлов и прочих нужд).
Объем дискового массива RAID5 расчитывается по формуле (n-1)*hddsize, где n – число дисков в массиве, а hddsize – размер одного диска. Например, для массива из 4-х дисков по 80 гигабайт общий объем будет 240 гигабайт.
Есть интересное мнение по поводу «непригодности» RAID5 для баз данных. Как минимум его можно рассматривать с той точки зрения, что для получения хорошей производительности RAID5 необходимо использовать специализированный контроллер, а не то, что есть по умолчанию на материнской плате.
Статья RAID-5 must die. И еще о потерях данных на RAID5.
Примечание. На 05.09.2005 стоимость SATA диска Hitachi 80Gb составляет 60 долларов.
RAID 10, 50
Дальше идут уже комбинации из перечисленных вариантов. Например, RAID 10 это RAID 0 + RAID 1. RAID 50 – это RAID 5 + RAID 0.
Интересно, что комбинация RAID 0+1 в плане надежности оказывается хуже, чем RAID5. В копилке службы ремонта БД есть случай сбоя одного диска в системе RAID0 (3 диска) + RAID1 (еще 3 таких же диска). При этом RAID1 не смог «поднять» резервный диск. База оказалась испорченной без шансов на ремонт.
Для RAID 0+1 требуется 4 диска, а для RAID 5 – 3. Подумайте об этом.
RAID 6
В отличие от RAID 5, который использует четность для защиты данных от одиночных неисправностей, в RAID 6 та же четность используется для защиты от двойных неисправностей. Соответственно, процессор более мощный, чем в RAID 5, и дисков требуется уже не 3, а минимум 5 (три диска данных и 2 диска контроля четности). Причем, количество дисков в raid6 не имеет такой гибкости, как в raid 5, и должно быть равно простому числу (5, 7, 11, 13 и т. д.)
Допустим одновременный сбой двух дисков, правда, такой случай является весьма редким.
По производительности RAID 6 я данных не видел (не искал), но вполне может быть, что из-за избыточного контроля производительность может быть на уровне RAID 5.
См. неплохую статью про RAID 6.
Rebuild time
У любого массива RAID, который остается работоспособным при сбое одного диска, существует такое понятие, как rebuild time. Разумеется, когда вы заменили сдохший диск на новый, контроллер должен организовать функционирование нового диска в массиве, и на это потребуется определенное время.
Во время «подключения» нового диска, например, для RAID 5, контроллер может допускать работу с массивом. Но скорость работы массива в этом случае будет весьма низкой, как минимум потому, что даже при «линейном» наполнении нового диска информацией запись на него будет «отвлекать» контроллер и головки диска на операции синхронизации с остальными дисками массива.
Время восстановления функционирования массива в нормальном режиме напрямую зависит от объема дисков. Например, Sun StorEdge 3510 FC Array при размере массива 2 терабайта в монопольном режиме делает rebuild в течение 4.5 часов (при цене железки около $40000). Поэтому, при организации массива и планировании восстановления при сбое нужно в первую очередь думать именно о rebuild time. Если ваша база данных и бэкапы занимают не более 50 гигабайт, и рост в год составляет 1-2 гигабайта, то вряд ли имеет смысл собирать массив из 500-гигабайтных дисков. Достаточно будет и 250-гигабайтных, при этом даже для raid5 это будет минимум 500 гигабайт места для размещения не только базы данных, но и фильмов. Зато rebuild time для 250 гигабайтных дисков будет примерно в 2 раза меньше, чем для 500 гигабайтных.
Резюме
Получается, что самым осмысленным является использование либо RAID 1, либо RAID 5. Однако, самая частая ошибка, которую делают практически все – это использование RAID «подо все». То есть, ставят RAID, на него наваливают все что есть, и … получают в лучшем случае надежность, но никак не улучшение производительности.
Еще часто не включают write cache, в результате чего запись на raid происходит медленнее, чем на обычный одиночный диск. Дело в том, что у большинства контроллеров эта опция по умолчанию выключена, т.к. считается, что для ее включения желательно наличие как минимум батарейки на raid-контроллере, а также наличие UPS.
Текст
В старой статье hddspeed.htmLINK (и в doc_calford_1.htmLINK) показано, как можно получить существенное увеличение производительности путем использования нескольких физических дисков, даже для IDE. Соответственно, если вы организуете RAID – положите на него базу, а остальное (temp, OS, виртуалка) делайте на других винчестерах. Ведь все равно, RAID сам по себе является одним «диском», пусть даже и более надежным и быстродействующим.
признан устаревшим. Все вышеупомянутое вполне имеет право на существование на RAID 5. Однако перед таким размещением необходимо выяснить – каким образом можно делать backup/restore операционной системы, и сколько по времени это будет занимать, сколько времени займет восстановление «умершего» диска, есть ли (будет ли) под рукой диск для замены «умершего» и так далее, т. е. надо будет заранее знать ответы на самые элементарные вопросы на случай сбоя системы.
Я все-таки советую операционную систему держать на отдельном SATA-диске, или если хотите, на двух SATA-дисках, связанных в RAID 1. В любом случае, располагая операционную систему на RAID, вы должны спланировать ваши действия, если вдруг прекратит работать материнская плата – иногда перенос дисков raid-массива на другую материнскую плату (чипсет, raid-контроллер) невозможен из-за несовместимости умолчательных параметров raid.
Размещение базы, shadow и backup
Несмотря на все преимущества RAID, категорически не рекомендуется, например, делать backup на этот же самый логический диск. Мало того что это плохо влияет на производительность, но еще и может привести к проблемам с отсутствием свободного места (на больших БД) – ведь в зависимости от данных файл backup может быть эквивалентным размеру БД, и даже больше. Делать backup на тот же физический диск – еще куда ни шло, хотя самый оптимальный вариант – backup на отдельный винчестер.
Объяснение очень простое. Backup – это чтение данных из файла БД и запись в файл бэкапа. Если физически все это происходит на одном диске (даже RAID 0 или RAID 1), то производительность будет хуже, чем если чтение производится с одного диска, а запись – на другой. Еще больше выигрыш от такого разделения – когда backup делается во время работы пользователей с БД.
То же самое в отношении shadow – нет никакого смысла класть shadow, например, на RAID 1, туда же где и база, даже на разные логические диски. При наличии shadow сервер пишет страницы данных как в файл базы так и в файл shadow. То есть, вместо одной операции записи производятся две. При разделении базы и shadow по разным физическим дискам производительность записи будет определяться самым медленным диском.
Обсудить статью на форуме
Виды и типы RAID массивов, программные и аппаратные рэйд-массивы
В работе с дисковыми подсистемами IT-специалисты часто сталкиваются с двумя основными проблемами.
- Первая – это низкая скорость чтения / записи, иногда даже скоростей SSD-диска бывает недостаточно.
- Вторая – выход дисков из строя, а значит и потеря данных, восстановление которых бывает невозможно.
Обе эти проблемы решаются с помощью технологии RAID (redundant array of independent disks — избыточный массив независимых дисков) – технологии виртуального хранения данных, объединяющей несколько физических дисков в один логический элемент.
В зависимости от выбранной спецификации RAID, могут быть повышены скорость чтения / записи и/или уровень защищенности от потери данных.
Существуют следующие уровни спецификации RAID: 1,2,3,4,5,6,0. Кроме того, существуют комбинации: 01,10,50,05,60,06. В этой статье рассмотрим самые распространенные типы RAID-Массивов. Но в начале скажем, что существуют аппаратные и программные RAID-массивы.
Аппаратные и программные RAID-массивы
- Программные массивы создаются уже после установки Операционной Системы средствами программных продуктов и утилит, что и является главным недостатком таких дисковых массивов.
- Аппаратные RAID’ы создают дисковый массив до установки Операционной системы и от неё не зависят.
Очевидно, рекомендуется использовать именно аппаратный RAID.
Перейдем к рассмотрению основных типов RAID-массивов.
RAID 1
RAID 1 (также называют «Mirror» — Зеркало) предполагает полное дублирование данных с одного физического диска на другой.
К недостаткам RAID 1 можно отнести то, что вы получаете в два раза меньше дискового пространства. Т.е. ели вы используете ДВА диска по 250 Гб, то система будет видеть всего ОДИН размером 250 Гб. Данный вид RAID не дает выигрыша в скорости, но значительно повышает уровень отказоустойчивости, ведь если один диск выйдет из строя, всегда есть его полная копия. Запись и стирание с дисков происходит одновременно. Если информация была намеренно удалена, то возможности восстановить её с другого диска уже не будет.
RAID 0
RAID 0 (также называют «Striping» — Чередование) предполагает разделение информации на блоки и одновременная запись разных блоков на разные диски.
Такая технология повышает скорость чтения/записи, позволяет пользователю использовать полный суммарный объем дисков, однако понижает отказоустойчивость, вернее сводит её на ноль. Так, в случае выхода из строя одного из дисков, восстановить информацию будет практически невозможно. Для сборки RAID 0 рекомендуется использовать исключительно высоконадежные диски.
RAID 5
RAID 5 можно назвать более усовершенствованным RAID 0. Можно использовать от 3 жестких дисков. На все, кроме одного записывается рейд 0, а на последний специальная контрольная сумма, что позволяет сохранить информацию на винчестерах в случае «смерти» одного из них (но не более одного). Скорость работы такого массива высокая. На восстановление информации в случае замены диска потребуется много времени.
RAID 2, 3, 4
Это способы распределенного хранения информации с использованием дисков, выделенных под коды четности. Отличаются друг от друга только размерами блока. На практике практически не используются в связи с необходимостью отдавать большую долю дисковой емкости под хранение кодов ЕСС и/или четности, а также в связи с невысокой производительностью.
RAID 10
Является миксом RAID массивов 1 и 0. И объединяет в себе плюсы от каждого: высокая производительность и высокая отказоустойчивость.
Массив обязательно содержит четное количество дисков (минимум 4) и является самым надежным вариантом сохранения информации. Недостатком является высокая стоимость дискового массива: эффективная емкость составит половину от общей емкости дискового пространства.
RAID 50
Является миксом RAID массивов 5 и 0. Строится RAID 5, но его составляющими будут не самостоятельные жесткие диски, а массивы RAID 0.
Особенности
В случае, когда происходит поломка РЕЙД-контроллера, восстановить информацию практически невозможно (не относится к «Зеркалу»). Даже если купить точно такой же контроллер, высока вероятность, что RAID будет собран из других секторов диска, а значит информация на дисках будет потеряна.
Практические советы
Как правило, диски для настройки RAID закупают одной партией. Соответственно и срок работы у них может быть примерно одинаковый. На этот случай рекомендуется сразу, в момент закупки дисков для массива закупить некоторый избыток. Например, для настройки RAID 10 из 4 дисков — стоит купить 5 дисков. Так, в случае выхода из строя одного из них, вы сможете оперативно заменить его на новый до того, как «посыпятся» другие диски.
Выводы
На практике чаще всего используют только три вида RAID-массивов. Это RAID 1, RAID 10 и RAID 5.
С точки зрения соотношения стоимость / производительность / отказоустойчивость рекомендуется использовать:
- RAID 1 (зеркалирование) для формирования дисковой подсистемы для пользовательских операционных систем.
- RAID 10 для данных, имеющих высокие требования к скорости записи и чтения. Например, для хранения баз 1С:Предприятие, почтового сервера, AD.
- RAID 5 используют для хранения файловых данных.
Идеальным серверным решением по мнению большинства системных администраторов является сервер с шестью дисками. Два диска «зеркалируют» и на RAID 1 устанавливается операционная система. Четыре оставшихся диска объединяют в RAID 10 для быстрой, безотказной, надежной работы системы.
RAID 0, RAID 1, RAID 5, RAID 10 или что такое уровни RAID?
- Статьи
- Системы видеонаблюдения
- RAID 0, RAID 1, RAID 5, RAID 10 или что такое уровни RAID?
«Какой уровень RAID самый надежный?» Все знают, что наиболее распространенным является уровень RAID5, однако он отнюдь не лишен серьезных недостатков, которые неочевидны для неспециалистов.
RAID 0, RAID 1, RAID 5, RAID 10 или что такое уровни RAID?
В своей статье я попытаюсь охарактеризовать самые популярные уровни RAID, а затем сформулирую рекомендации по использованию этих уровней. Для иллюстрации статьи я построил диаграмму, на которой поместил эти уровни в трехмерном пространстве надежности, производительности и ценовой эффективности.
JBOD (Just a Bunch of Disks) – это простое объединение (spanning) жестких дисков, которое уровнем RAID формально не является. Томом JBOD может быть массив из одного диска или объединение нескольких дисков. Контроллеру RAID для работы с таким томом не требуется проведение каких-либо вычислений. На нашей диаграмме диск JBOD служит в качестве «ординара» или отправной точки – его значения надежности, производительности и стоимости совпадают с соответствующими показателями единичного жесткого диска.
RAID 0 (“Striping”) избыточности не имеет, а информацию распределяет сразу по всем входящим в массив дискам в виде небольших блоков («страйпов»). За счет этого существенно повышается производительность, но страдает надежность. Как и в случае JBOD, за свои деньги мы получаем 100% емкости диска.
Поясню, почему уменьшается надежность хранения данных на любом составном томе – так как при выходе из строя любого из входящих в него винчестеров полностью и безвозвратно пропадает вся информация. В соответствии с теорией вероятностей математически надежность тома RAID0 равна произведению надежностей составляющих его дисков, каждая из которых меньше единицы, поэтому совокупная надежность заведомо ниже надежности любого диска.
Хороший уровень – RAID 1 (“Mirroring”, «зеркало»). Он имеет защиту от выхода из строя половины имеющихся аппаратных средств (в общем случае – одного из двух жестких дисков), обеспечивает приемлемую скорость записи и выигрыш по скорости чтения за счет распараллеливания запросов. Недостаток заключается в том, что приходится выплачивать стоимость двух жестких дисков, получая полезный объем одного жесткого диска.
Изначально предполагается, что жесткий диск – вещь надежная. Соответственно, вероятность выхода из строя сразу двух дисков равна (по формуле) произведению вероятностей, т.е. ниже на порядки! К сожалению, реальная жизнь – не теория! Два винчестера берутся из одной партии и работают в одинаковых условиях, а при выходе из строя одного из дисков нагрузка на оставшийся увеличивается, поэтому на практике при выходе из строя одного из дисков следует срочно принимать меры – вновь восстанавливать избыточность. Для этого с любым уровнем RAID (кроме нулевого) рекомендуют использовать диски горячего резерва HotSpare. Достоинство такого подхода – поддержание постоянной надежности. Недостаток – еще большие издержки (т.е. стоимость 3-х винчестеров для хранения объема одного диска).
Зеркало на многих дисках – это уровень RAID 10. При использовании такого уровня зеркальные пары дисков выстраиваются в «цепочку», поэтому объем полученного тома может превосходить емкость одного жесткого диска. Достоинства и недостатки – такие же, как и у уровня RAID1. Как и в других случаях, рекомендуется включать в массив диски горячего резерва HotSpare из расчета один резервный на пять рабочих.
RAID 5, действительно, самый популярный из уровней – в первую очередь благодаря своей экономичности. Жертвуя ради избыточности емкостью всего одного диска из массива, мы получаем защиту от выхода из строя любого из винчестеров тома. На запись информации на том RAID5 тратятся дополнительные ресурсы, так как требуются дополнительные вычисления, зато при чтении (по сравнению с отдельным винчестером) имеется выигрыш, потому что потоки данных с нескольких накопителей массива распараллеливаются.
Недостатки RAID5 проявляются при выходе из строя одного из дисков – весь том переходит в критический режим, все операции записи и чтения сопровождаются дополнительными манипуляциями, резко падает производительность, диски начинают греться. Если срочно не принять меры – можно потерять весь том. Поэтому, (см. выше) с томом RAID5 следует обязательно использовать диск Hot Spare.
Помимо базовых уровней RAID0 — RAID5, описанных в стандарте, существуют комбинированные уровни RAID10, RAID30, RAID50, RAID15, которые различные производители интерпретируют каждый по-своему.
Суть таких комбинаций вкратце заключается в следующем. RAID10 – это сочетание единички и нолика (см. выше). RAID50 – это объединение по “0” томов 5-го уровня. RAID15 – «зеркало» «пятерок». И так далее.
Таким образом, комбинированные уровни наследуют преимущества (и недостатки) своих «родителей». Так, появление «нолика» в уровне RAID 50 нисколько не добавляет ему надежности, но зато положительно отражается на производительности. Уровень RAID 15, наверное, очень надежный, но он не самый быстрый и, к тому же, крайне неэкономичный (полезная емкость тома составляет меньше половины объема исходного дискового массива).
RAID 6 отличется от RAID 5 тем, что в каждом ряду данных (по английски stripe) имеет не один, а два блока контрольных сумм. Контрольные суммы — «многомерные», т.е. независимые друг от друга, поэтому даже отказ двух дисков в массиве позволяет сохранить исходные данные. Вычисление контрольных сумм по методу Рида-Соломона требует более интенсивных по сравнению с RAID5 вычислений, поэтому раньше шестой уровень практически не использовался. Сейчас он поддерживается многими продуктами, так как в них стали устанавливать специализированные микросхемы, выполняющие все необходимые математические операции.
Согласно некоторым исследованиям, восстановление целостности после отказа одного диска на томе RAID5, составленном из дисков SATA большого объема (400 и 500 гигабайт), в 5% случаев заканчивается утратой данных. Другими словами, в одном случае из двадцати во время регенерации массива RAID5 на диск резерва Hot Spare возможен выход из строя второго диска… Отсюда рекомендации лучших RAIDоводов: 1) всегда делайте резервные копии; 2) используйте RAID6!
Недавно появились новые уровни RAID1E, RAID5E, RAID5EE. Буква «Е» в названии означает Enhanced.
RAID level-1 Enhanced (RAID level-1E) комбинирует mirroring и data striping. Эта смесь уровней 0 и 1 устроена следующим образом. Данные в ряду распределяются точь-в-точь так, как в RAID 0. То есть ряд данных не имеет никакой избыточности. Следующий ряд блоков данных копирует предыдущий со сдвигом на один блок. Таким образом как и в стандартном режиме RAID 1 каждый блок данных имеет зеркальную копию на одном из дисков, поэтому полезный объем массива равен половине суммарного объема входящих в массив жестких дисков. Для работы RAID 1E требуется объединение трех или более дисков.
Мне очень нравится уровень RAID1E. Для мощной графической рабочей станции или даже для домашнего компьютера — оптимальный выбор! Он обладает всеми достоинствами нулевого и первого уровней — отличная скорость и высокая надежность.
Перейдем теперь к уровню RAID level-5 Enhanced (RAID level-5E). Это то же самое что и RAID5, только со встроенным в массив резервным диском spare drive. Это встраивание производится следующим образом: на всех дисках массива оставляется свободным 1/N часть пространства, которая при отказе одного из дисков используется в качестве горячего резерва. За счет этого RAID5E демонстрирует наряду с надежностью лучшую производительность, так как чтение/запись производится параллельно с бОльшего числа накопителей одновременно и spare drive не простаивает, как в RAID5. Очевидно, что входящий в том резервный диск нельзя делить с другими томами (dedicated vs. shared). Том RAID 5E строится минимум на четырех физических дисках. Полезный объем логического тома вычисляется по формуле N-2.
RAID level-5E Enhanced (RAID level-5EE) подобен уровню RAID level-5E, но он имеет более эффективное распределение spare drive и, как следствие, — более быстрое время восстановления. Как и уровень RAID5E, этот уровень RAID распределяет в рядах блоки данных и контрольных сумм. Но он также распределяет и свободные блоки spare drive, а не просто оставляет под эти цели часть объема диска. Это позволяет уменьшить время, необходимое на реконструкцию целостности тома RAID5EE. Входящий в том резервный диск нельзя делить с другими томами — как и в предыдущем случае. Том RAID 5EE строится минимум на четырех физических дисках. Полезный объем логического тома вычисляется по формуле N-2.
Как ни странно, никаких упоминаний об уровне RAID 6E на просторах Интернета я не нашел — пока такой уровень никем из производителей не предлагается и даже не анонсируется. А ведь уровень RAID6E ( или RAID6EE? ) можно предложить по тому же принципу, что и предыдущий. Диск HotSpare обязательно должен сопровождать любой том RAID, в том числе и RAID 6. Конечно, мы не потеряем информацию при выходе из строя одного или двух дисков, но начать регенерацию целостности массива крайне важно как можно раньше, чтобы скорее вывести систему из «критического» режима. Поскольку необходимость диска Hot Spare для нас не подлежит сомнению, логичным было бы последовать дальше и «размазать» его по тому так, как это сделано в RAID 5EE, чтобы получить преимущества от использования бОльшего количества дисков (лучшая скорость на чтении-записи и более быстрое восстановление целостности).
Уровни RAID в «числах».
В таблицу я собрал некоторые важные параметры почти всех уровней RАID, чтобы можно было сопоставить их между собой и четче понять их суть.
Уровень | Избы точность | Исполь зование емкости дисков | Произво дительность чтения |
Произво дительность записи
| Встроен ный диск резерва | Мин. кол-во дисков | Макс. кол-во дисков |
RAID 0 | нет | 100% | Отл | Отл | нет | 1 | 16 |
RAID 1 | + | 50% | Хор + | Хор + | нет | 2 | 2 |
RAID 10 | + | 50% |
Хор +
| Хор + | нет | 4 | 16 |
RAID 1E | + | 50% | Хор + | Хор + | нет | 3 | 16 |
RAID 5 | + | 67-94% | Отл | Хор | нет | 3 | 16 |
RAID 5E | + | 50-88% | Отл | Хор | + | 4 | 16 |
RAID 5EE | + | 50-88% | Отл | Хор | + | 4 | 16 |
RAID 6 | + | 50-88% | Отл | Хор | нет | 4 | 16 |
RAID 00 | нет | 100% | Отл | Отл | нет | 2 | 60 |
RAID 1E0 | + | 50% | Хор + | Хор + | нет | 6 | 60 |
RAID 50 | + | 67-94% | Отл | Хор | нет | 6 | 60 |
RAID 15 | + | 33-48% | Отл | Хор | нет | 6 | 60 |
Все «зеркальные» уровни — RAID 1, 1+0, 10, 1E, 1E0.
Давайте еще раз попробуем досконально разобраться, чем же различаются эти уровни?
RAID 1.
Это — классическое «зеркало». Два (и только два!) жестких диска работают как один, являясь полной копией друг друга. Выход из строя любого из этих двух дисков не приводит к потере ваших данных, так как контроллер продолжает работу с оставшимся диском. RAID1 в цифрах: двукратная избыточность, двукратная надежность, двукратная стоимость. Производительность на запись эквивалентна производительности одного жесткого диска. Производительность чтения выше, так как контроллер может распределять операции чтения между двумя дисками.
RAID 10.
Суть этого уровня в том, что диски массива объединяются парами в «зеркала» (RAID 1), а затем все эти зеркальные пары в свою очередь объединяются в общий массив с чередованием (RAID 0). Именно поэтому его иногда обозначают как RAID 1+0. Важный момент — в RAID 10 можно объединить только четное количество дисков (минимум — 4, максимум — 16). Достоинства: от «зеркала» наследуется надежность, от «нуля» — производительность как на чтение, так и на запись.
RAID 1Е.
Буква «E» в названии означает «Enhanced», т.е. «улучшенный». Принцип этого улучшения следующий: данные блоками «чередуются» («striped») на все диски массива, а потом еще раз «чередуются» со сдвигом на один диск. В RAID 1E можно объединять от трех до 16 дисков. Надежность соответствует показателям «десятки», а производительность за счет большего «чередования» становится чуть лучше.
RAID 1Е0.
Этот уровень реализуется так: мы создаем «нулевой» массив из массивов RAID1E. Следовательно, общее количество дисков должно быть кратно трем: минимум три и максимум — шестьдесят! Преимущество в скорости при этом мы вряд ли получим, а сложность реализации может неблагоприятно отразиться на надежности. Главное достоинство — возможность объединить в один массив очень большое (до 60) количество дисков.
Сходство всех уровней RAID 1X заключается в их показателях избыточности: ради реализации надежности жертвуется ровно 50% суммарной емкости дисков массива.
Андрей Егоров
Что такое RAID массив, и почему он вам нужен
Наверх
- Рейтинги
- Обзоры
- Смартфоны и планшеты
- Компьютеры и ноутбуки
- Комплектующие
- Периферия
- Фото и видео
- Аксессуары
- ТВ и аудио
- Техника для дома
- Программы и приложения
- Новости
- Советы
- Покупка
- Эксплуатация
- Ремонт
- Подборки
- Смартфоны и планшеты
- Компьютеры
- Аксессуары
- ТВ и аудио
- Фото и видео
- Программы и приложения
- Техника для дома
- Гейминг
- Игры
- Железо
- Еще
- Важное
- Технологии
- Тест скорости
Массивы RAID0 и RAID5 из винчестеров против твердотельных накопителей
Методика тестирования накопителей образца 2016 года
В первых персональных компьютерах винчестеров вообще не было. Чуть позднее они стали штатным оборудованием. Еще позднее в основном были решены проблемы совместимости, мешающие использованию одновременно и поддерживаемой в теории пары устройств, а к концу 90-х годов прошлого века конфигурация среднестатистического компьютера потенциально могла включать в себя уже и четыре винчестера. С этого момента многие пользователи заинтересовались уже использованием накопителей не по-отдельности, а в составе единого массива — как во «взрослых системах». В последних, впрочем, чаще всего применялся SCSI-интерфейс, доступный и владельцу обычной «персоналки», но излишне дорогой — требовались дешевые решения. И они появились в виде контроллеров IDE RAID.
Заметим, что наиболее часто используемым вариантом был RAID0, строго говоря, к «RAID-массивам» не относящийся, поскольку избыточность данных он не обеспечивает. Надежность хранения сравнительно с одиночным диском даже снижает. Но иногда было просто некуда деваться, поскольку винчестеры тех лет были слишком медленными для некоторых сфер применения, а альтернативных решений с более высокой производительностью не было вовсе. Использование же чередования позволяло их заметно «пришпорить». Но применялись (да и сейчас применяются) и «зеркала» (RAID1) — для повышения надежности. А наиболее обеспеченные граждане могли объединить достоинства обоих подходов посредством создания массива RAID10, что позволяло повысить и скорость, и надежность. Других режимов в те времена в массовых контроллерах «не водилось»: слишком сложными были для программной реализации — с учетом вычислительных возможностей систем того времени.
Через некоторое время дискретные RAID-контроллеры начали устанавливать и на топовые системные платы — надо же было чем-то выделяться их производителям. В итоге к массивам стали приглядываться и пользователи, ранее о них не задумывавшиеся — раз уж возможность есть. В итоге идею подхватили сами производители чипсетов, так что возможность создания RAID-массивов стала стандартной для последних. Как минимум — для старших модификаций. Причем к числу возможных вариантов добавился и RAID5, на первый взгляд выглядящий очень привлекательно: более экономным расходованием дискового пространства, чем у RAID10, но при обеспечении необходимой для надежности хранения избыточности.
А позднее начались новые времена — винчестеры перестали быть основным и единственным типом накопителей, применяющихся в компьютере. Внедрение твердотельных накопителей прервало эволюцию, оказавшись революционным шагом с точки зрения производительности. Правда было оно достаточно медленным — просто потому, что и стоимость хранения информации первое время была очень высокой. Довольно быстро снижалась, но и сейчас до паритета с винчестерами еще далеко — особенно если рассматривать «настольные» модели. Да и с абсолютной емкостью тоже пока все не просто: теоретически флэш-памяти в стандартный корпус «напихать» можно очень много, а практически это будет слишком уж дорого. Собственно, поэтому до сих пор подавляющее большинство компьютеров продается лишь с одним-единственным винчестером в качестве накопителя «для всего»: и для программ, и для данных. В принципе, даже устройств этого класса минимальной на сегодня емкости достаточно для того, чтобы полностью закрыть все потребности среднестатистического пользователя, поэтому в бюджетном сегменте такой вариант долго еще будет преобладающим, несмотря на низкую производительность. А вот чуть выше решений минимальной стоимости у покупателя есть выбор, часто приводящий его к одному из гибридных вариантов системы хранения данных. Самым дешевым (но пока до конца не изученным и освоенным) способом является кэширование посредством технологии Optane Memory. Более дорогим, но предсказуемым и совместимым со старыми системами — использование SSD невысокой емкости для операционной системы и приложений в паре с тихоходным, но очень емким винчестером для хранения данных. В итоге про RAID-массивы в бытовых персоналках все как-то и забыли. Хотя некоторые пользователи считают, что зря — все-таки и емкость самая большая (в пределах фиксированного бюджета), и производительность должна быть более высокой, чем у одиночного накопителя. Пусть, даже, и не на столько, как обеспечивают твердотельные накопители, но ведь дешево же — а вдруг и этого хватит на практике. Поэтому мы сегодня решили немного отклониться от основной линейки тестов и посмотреть — как ведут себя лучшие винчестеры в т. ч. и в массивах из двух-трех дисков, сравнительно с разными твердотельными накопителями.
Участники тестирования
Поскольку в наших руках оказалось одновременно три не совсем идентичных, но почти идентичных винчестера Seagate, они и выступили в роли «подопытных кроликов». Было бы сразу четыре — можно было бы и RAID10 организовать, а так пришлось ограничиться RAID0 из двух и RAID5 из трех дисков (три-четыре диска в RAID0 это уже за границей добра и зла, которую без необходимости мы стараемся не переступать), имеющие одинаковый объем в 20 ТБ. Собственно, чем RAID5 многим и кажется привлекательным — «пропадает» всего один накопитель в массиве, а не половина, как в «зеркалах» (RAID1, 10 и подобных). RAID0 еще «гуманнее», но ценой потенциальных проблем с надежностью. Сами же винчестеры — одни из лучших на сегодняшний день: модели на 10 ТБ со скоростью вращения 7200 об/мин, использующие заполнение гермоблока гелием. Понятно, что в роли системного и единственного накопителя даже один такой винчестер выглядит странно (мягко говоря), однако дает оценку сверху того, что вообще можно получить от массивов. Недорогие устройства малой емкости просто медленнее, в чем мы уже не раз убеждались.
С кем будем сравнивать? Во-первых, интересна разница в пределах группы. Во-вторых, для части тестов мы отобрали следующую четверку твердотельных накопителей:
Можно было бы ограничиться и меньшим количеством, но мы решили пойти навстречу читателям, жалующимся на то, что в статьях сайта редко сравниваются твердотельные накопители разных классов или, тем более, твердотельные с механическими. Просили? Сами виноваты 🙂
Тестирование
Методика тестирования
Методика подробно описана в отдельной статье. Там можно познакомиться с используемым аппаратным и программным обеспечением. Для данной статьи нам ее пришлось, немного доработать, поскольку участие в тестировании сегодня принимают и винчестеры, и твердотельные накопители, но касается это в основном использования результатов (благо тестовые программы в основном пересекаются) и их группировки.
Последовательные операции
Для начала начнем с «чисто винчестерных» тестов, в которых твердотельные накопители по понятным причинам не участвуют — для них нет зависимости скорости от конкретной области данных.
Как и предполагается априори, скорость чтения удваивается. Точнее, для RAID0 из двух дисков это очевидно. Для RAID5 на трех дисках — в общем-то тоже: для данных используется то же самое чередование. В итоге даже минимальная скорость чтения оказалась выше средней одиночного диска, а средняя — выше максимальной. Идеальный случай.
Потому что при записи все уже не так просто. Точнее, для RAID0 — по-прежнему просто и быстро, на что любят упирать «любители» этого типа массивов (который, строго говоря, RAID-массивом и не является, как уже было сказано выше). Все также работает чередование блоков с данными, так что два винчестера (или большее их количество) работают, по сути параллельно.
А вот ситуация с RAID5 печальна. Однако легко объяснима: специфика организации этого типа массивов такова, что практически любая операция записи превращается в две операции чтения и две записи, которые должны «отработать» практически одновременно. Итоговая производительность в случае «чипсетного» контроллера, фактически лишенного собственных «мозгов», так что реализующего всю необходимую функциональность на базе программного драйвера, оказывается удручающе низкой. «Нормальный аппаратный» контроллер способен ослабить проблему, но не решить ее полностью — RAID5 все равно остается одним из самых медленных типов массивов в любых условиях. Радикальным способом решения проблемы (да и практически единственно-возможным для программной реализации) является использование RAID10, сочетающего в себе и производительность, и отказоустойчивость, но… Но ценой потери уже половины потенциального пространства, т. е. для создания массива в те же 20 ТБ потребуется уже не три, а четыре диска по 10 ТБ, о чем было сказано в начале статьи. Впрочем, можно «выжать» и из чипсетного RAID5 немного больше: подбором размера блока чередования и кластера файловой системы, чем мы не занимались, оставив значения по-умолчанию. Однако повысить скорость записи до уровня хотя бы одиночного винчестера и это не позволяет — в отличие от RAID10, обеспечивающего ее удвоение (пусть и высокой ценой). В лучшем случае получается повысить скорость примерно до 100 МБ/с, т. е. RAID5 на практике даже при тонкой настройке снижает производительность операций записи. Где-нибудь в NAS это не важно: данные записываются редко, а читаются часто, да и лимитирует производительность сам по себе сетевой интерфейс (как раз значениями в районе сотни мегабайт в секунду, а то и меньше), так что высокая емкость и отказоустойчивость выходят на первый план. А вот в персональном компьютере или рабочей станции массивы такого типа просто не интересны. Точнее, интересны еще меньше, чем RAID0 или RAID1. А ведь и у первых уже появились серьезные конкуренты, но об этом чуть ниже.
Время доступа
Если при чтении данных латентность практически неизменна, то при записи в массиве RAID0 она резко снижается. В чем, впрочем, заслуга, скорее, не его, а алгоритмов кэширования, применяемых контроллером для массивов. Но, как видим, RAID5 и это никак не помогает. Даже наоборот, что вполне согласуется с логикой его работы.
Последовательные операции (Crystal Disk Mark)
Поскольку HD Tune Pro при тестировании твердотельных накопителей мы не используем, а вот Crystal Disk Mark «прогоняется» везде, посмотрим на его результаты.
Как и положено, производительность при чтении данных примерно удваивается. Забавный результат в многопоточном режиме связан с тем, что при использовании ограниченной области данных (в программе, напомним, мы используем лишь 2 ГБ) и современных алгоритмов внутреннего кэширования винчестеров, вкупе с нынешними емкостями кэш-памяти, данные зачастую в ней и будут оказываться еще до соответствующего запроса. Остается только передать нужный блок по интерфейсу, что происходит очень быстро. Это позволяет с легкостью опережать SATA SSD (поскольку их сдерживает именно интерфейс), да и в однопоточном режиме от них практически не отставать. Но только в «тепличных условиях» — внешние дорожки (на внутренних скорость вдвое ниже, что уже было показано выше), небольшие объемы данных. Что бывает в более сложных случаях — посмотрим чуть позже.
С записью же все намного хуже: чем-то подстегнуть многопоточный режим не получается, так что он не только медленнее однопоточного, но и удвоения скорости сравнительно с одиночным накопителем уже не наблюдается. Но в один поток потягаться с SATA SSD хотя бы можно. Во всяком случае, при использовании RAID0 из двух дисков. Если бы мы объединили в такой массив три имеющихся винчестера — было бы еще быстрее, хотя и слишком перпендикулярно здравому смыслу. А с RAID5 все традиционно плохо. Поэтому в последующих тестах мы его использовать не будем — и без того картина ясна.
Работа с большими файлами
Как и следовало ожидать на основании низкоуровневых тестов, в однопоточном режиме хотя бы на внешних дорожках скорость чтения сравнима с SATA SSD. Но если нужно считать 32 ГБ в 32-х файлах по 1 ГБ, производительность резко падает почти до уровня одиночного винчестера (кэширование же при таких объемах ничем помочь уже не может). Для твердотельных же накопителей, напротив, это идеальный случай. А если они не ограничены интерфейсом — тем более.
Чем, все-таки, до сих пор привлекательны механические накопители — симметричностью производительности при записи и чтении, чего для флэш-памяти и близко нет. Соответственно, на операциях записи даже некоторые NVMe-накопители могут оказаться медленнее одиночного современного винчестера. Двух — тем более. Но если не рассматривать самые медленные из устройств, то опять ничего похожего на «честную конкуренцию» не наблюдается.
А запись одновременно с чтением — хороший случай для большинства SSD и плохой для винчестеров. Причем твердотельным накопителям и (псевдо)случайный режим «жизнь не портит», в отличие от. Таким образом, быстро прочитать или записать большой объем данных современные винчестеры могут — если есть куда или откуда. Объединенными в массив RAID0 сделают это быстрее. Но поскольку обработка данных предполагает обычно и запись, и чтение, и далеко не всегда последовательные — для этой цели уже лучше использовать твердотельные накопители. Если, конечно, объемы позволяют. А вот хранить данные лучше там, где это обходится дешевле.
Производительность в приложениях
Но основной темой сегодняшней статьи было вовсе не исследование вопросов хранения и обработки больших массивов данных, хотя и это тоже интересно. Еще важнее — оценить перспективность использования RAID0 для ускорения обычной работы за компьютером. Когда-то это позволяло что-то выиграть сравнительно с одиночным винчестером, но тогда и программы были другими, да и операционные системы тоже. Да и сравнивать сейчас уже нужно не только «механику с механикой». Вот и сравним 🙂
Тестируя SSD, мы временами жаловались на то, что с точки зрения тестов высокого уровня они слишком похожи. Тестируя винчестеры — аналогично. Но они «по-разному похожи»: это два непересекающихся мира. А одиночный винчестер и RAID0 из винчестеров — один мир. Совсем один. Потенциальное ускорение от чередования к настоящему моменту по сути рассосалось: современные операционные системы и с одиночным винчестером работают настолько эффективно, насколько он позволяет (чему сильно помогает развитое кэширование данных в оперативной памяти, радикально улучшившееся в современных версиях Windows — пусть это и вызывает жалобы некоторых пользователей, привыкших к примитивной Windows XP и более ранним, на «расход памяти»). Снижение задержек пригодилось бы, но его при чтении данных (что важно для тестов высокого уровня) как раз и нет.
И даже по низкоуровневому баллу появляются различия между разными моделями твердотельных накопителей, но не более того. Винчестеры (что с ними не делай) намного медленнее. Причем в этом случае и порядки-то величин разные, что «замаскировать» получается лишь потому, что реальная работа приложений «упирается» и в другие компоненты компьютера. А иногда и в самого пользователя, что и не всегда позволяет реализовать потенциальные возможности накопителей. Твердотельных. У «механики» таковых и не водится.
Кстати, и предыдущая версия тестового пакета ведет себя аналогично. Когда-то, кстати, PCMark на массивы реагировал хорошо — но это было под управлением других ОС и на трассах, имитирующих другие приложения. А сейчас уже так. Подробные результаты, думаем, уже не нужны.
Рейтинги
Как видим, с точки зрения тестов низкого уровня, ориентированных в первую очередь на SSD (так что изобилующими операциями со случайным доступом) сравнивать «механику» (что с ней не делай) и SSD большого смысла нет. Но и ничего удивительного в этом тоже уже нет — для винчестеров лучший сценарий это однопоточный последовательный, однако, как уже было показано выше, и в этом случае о прямой конкуренции говорить не всегда приходится. Иногда при записи, разве что, но и при этом «потолок» винчестеров (и массивов из них) сопоставим лишь с «полом» твердотельных накопителей с SATA-интерфейсом (eMMC-модули — отдельная история; но они и используются чаще всего там, куда никакие другие накопители просто «не лезут»).
Да и «подмешивание» к оценке результатов тестов высокого уровня не слишком меняет картину. По совокупности разные SSD при этом отличаются друг от друга примерно вдвое, поскольку мы взяли один из самых медленных и один из самых быстрых из протестированных накопителей, радикально различающихся конструктивно. Однако при этом и «самый медленный» быстрее массива RAID0 из пары топовых винчестеров даже не в два, а в два с половиной раза. Комментарии излишни.
Итого
В общем и целом, картина понятная. Равно как понятно и то, почему тема RAID-массивов в персональных компьютерах практически сошла на нет. Во всяком случае, в их «винчестерной» ипостаси — с массивами из SSD некоторые энтузиасты продолжают баловаться, чему способствуют производители, реализовав, в частности, возможность создания RAID из NVMe-устройств. Да и в топовых ноутбуках нет-нет да и встречаются RAID0 из пары твердотельных накопителей — в основном, конечно, чтобы блистать в обзорах. На этом всё. В тех сферах, где технология RAID-массивов зарождалась, она по-прежнему является нужной и полезной, но в ПК ей делать особо нечего. С одной стороны, современные ОС способны и из одиночного винчестера «выжимать» все, на что он способен, так что улучшением части характеристик «подстегнуть» производительность не получится. С другой — доступными стали более быстрые накопители. В том числе, существенно более быстрые в тех сценариях, ради которых до сих пор имеет смысл использовать RAID-массивы с увеличением производительности (благодаря чередованию). А «настоящие» RAID (т. е. с избыточностью хранения данных) по-прежнему полезны, но в бюджетном исполнении силами программного обеспечения они могут заметно понизить производительность. Кроме того, RAID в любом случае не заменяет резервного копирования данных, так что начинать надо с него, а не наоборот.
RAID — это… Что такое RAID?
RAID (англ. redundant array of independent disks — избыточный массив независимых жёстких дисков) — массив из нескольких дисков, управляемых контроллером, взаимосвязанных скоростными каналами и воспринимаемых внешней системой как единое целое. В зависимости от типа используемого массива может обеспечивать различные степени отказоустойчивости и быстродействия. Служит для повышения надёжности хранения данных и/или для повышения скорости чтения/записи информации (RAID 0).
Аббревиатура RAID изначально расшифровывалась как «redundant array of inexpensive disks» («избыточный (резервный) массив недорогих дисков», так как они были гораздо дешевле RAM). Именно так был представлен RAID его создателями Петтерсоном (David A. Patterson), Гибсоном (Garth A. Gibson) и Катцом (Randy H. Katz) в 1987 году. Со временем RAID стали расшифровывать как «redundant array of independent disks» («избыточный (резервный) массив независимых дисков»), потому что для массивов приходилось использовать и дорогое оборудование (под недорогими дисками подразумевались диски для ПЭВМ).
Калифорнийский университет в Беркли представил следующие уровни спецификации RAID, которые были приняты как стандарт де-факто:
- RAID 0 представлен как дисковый массив повышенной производительности, без отказоустойчивости.
- RAID 1 определён как зеркальный дисковый массив.
- RAID 2 зарезервирован для массивов, которые применяют код Хемминга.
- RAID 3 и 4 используют массив дисков с чередованием и выделенным диском чётности.
- RAID 5 используют массив дисков с чередованием и «невыделенным диском чётности».
- RAID 6 используют массив дисков с чередованием и двумя независимыми «чётностями» блоков.
- RAID 10 — RAID 0, построенный из массивов RAID 1
- RAID 50 — RAID 0, построенный из RAID 5
- RAID 60 — RAID 0, построенный из RAID 6
Аппаратный RAID контроллер может поддерживать несколько разных RAID массивов одновременно, суммарное количество жёстких дисков которых не превышает количество разъёмов для них. При этом контроллер, встроенный в материнскую плату, в настройках BIOS имеет всего 2 состояния (включён или отключён), поэтому новый жёсткий диск, подключённый при активном RAID режиме в незадействованный разъём контроллера может игнорироваться системой, пока не будет ассоциирован как ещё один RAID массив типа JBOD (spanned), состоящий из одного диска.
Уровни RAID
RAID 0
Схема RAID 0
RAID 0 (striping — «чередование») — дисковый массив из двух или более жёстких дисков без резервирования (т.е., по сути RAID-массивом не является). Информация разбивается на блоки данных () фиксированной длины и записывается на оба/несколько дисков одновременно.
(+): За счёт этого существенно повышается производительность (от количества дисков зависит кратность увеличения производительности).
(-): Надёжность RAID 0 заведомо ниже надёжности любого из дисков в отдельности и падает с увеличением количества входящих в RAID 0 дисков, т. к. отказ любого из дисков приводит к неработоспособности всего массива.
RAID 1
Два диска — минимальное количество для построения «зеркального» массива
Схема RAID 1
RAID 1 (mirroring — «зеркалирование») — массив из двух дисков, являющихся полными копиями друг друга. Не следует путать с массивами RAID 1+0, RAID 0+1 и RAID 10, в которых используется более двух дисков и более сложные механизмы зеркалирования.
(+): Обеспечивает приемлемую скорость записи и выигрыш по скорости чтения при распараллеливании запросов.[1]
(+): Имеет высокую надёжность — работает до тех пор, пока функционирует хотя бы один диск в массиве. Вероятность выхода из строя сразу двух дисков равна произведению вероятностей отказа каждого диска. На практике при выходе из строя одного из дисков следует срочно принимать меры — вновь восстанавливать избыточность. Для этого с любым уровнем RAID (кроме нулевого) рекомендуют использовать диски горячего резерва. Достоинство такого подхода — поддержание постоянной доступности.
(-): Недостаток заключается в том, что приходится выплачивать стоимость двух жёстких дисков, получая полезный объём лишь одного жёсткого диска.
RAID 1+0 и RAID 0+1
Зеркало на многих дисках — RAID 1+0 или RAID 0+1. Под RAID 10 (RAID 1+0) имеют в виду вариант, когда два или более RAID 1 объединяются в RAID 0. Под RAID 0+1 может подразумеваться два варианта:
- два RAID 0 объединяются в RAID 1;
- в массив объединяются три и более диска, и каждый блок данных записывается на два диска данного массива[2]; таким образом, при таком подходе, как и в «чистом» RAID 1, полезный объём массива составляет половину от суммарного объёма всех дисков (если это диски одинаковой ёмкости).
Как и в других случаях, рекомендуется включать в массив диски горячего резерва из расчёта один резервный на пять рабочих.
RAID 2
Массивы такого типа основаны на использовании кода Хемминга. Диски делятся на две группы: для данных и для кодов коррекции ошибок, причём если данные хранятся на дисках, то для хранения кодов коррекции необходимо дисков. Данные распределяются по дискам, предназначенным для хранения информации, так же, как и в RAID 0, т.е. они разбиваются на небольшие блоки по числу дисков. Оставшиеся диски хранят коды коррекции ошибок, по которым в случае выхода какого-либо жёсткого диска из строя возможно восстановление информации. Метод Хемминга давно применяется в памяти типа ECC и позволяет на лету исправлять однократные и обнаруживать двукратные ошибки.
Достоинством массива RAID 2 является повышение скорости дисковых операций по сравнению с производительностью одного диска.
Недостатком массива RAID 2 является то, что минимальное количество дисков, при котором имеет смысл его использовать,— 7. При этом нужна структура из почти двойного количества дисков (для n=3 данные будут храниться на 4 дисках), поэтому такой вид массива не получил распространения. Если же дисков около 30-60, то перерасход получается 11-19%.
RAID 3
Схема RAID 3
В массиве RAID 3 из дисков данные разбиваются на куски размером меньше сектора (разбиваются на байты) или блоки и распределяются по дискам. Ещё один диск используется для хранения блоков чётности. В RAID 2 для этой цели применялся диск, но большая часть информации на контрольных дисках использовалась для коррекции ошибок на лету, в то время как большинство пользователей удовлетворяет простое восстановление информации в случае поломки диска, для чего хватает информации, умещающейся на одном выделенном жёстком диске.
Отличия RAID 3 от RAID 2: невозможность коррекции ошибок на лету и меньшая избыточность.
Достоинства:
- высокая скорость чтения и записи данных;
- минимальное количество дисков для создания массива равно трём.
Недостатки:
- массив этого типа хорош только для однозадачной работы с большими файлами, так как время доступа к отдельному сектору, разбитому по дискам, равно максимальному из интервалов доступа к секторам каждого из дисков. Для блоков малого размера время доступа намного больше времени чтения.
- большая нагрузка на контрольный диск, и, как следствие, его надёжность сильно падает по сравнению с дисками, хранящими данные.
RAID 4
Схема RAID 4
RAID 4 похож на RAID 3, но отличается от него тем, что данные разбиваются на блоки, а не на байты. Таким образом, удалось отчасти «победить» проблему низкой скорости передачи данных небольшого объёма. Запись же производится медленно из-за того, что чётность для блока генерируется при записи и записывается на единственный диск. Из систем хранения широкого распространения RAID-4 применяется на устройствах хранения компании NetApp (NetApp FAS), где его недостатки успешно устранены за счет работы дисков в специальном режиме групповой записи, определяемом используемой на устройствах внутренней файловой системой WAFL.
RAID 5
Схема RAID 5
Основным недостатком уровней RAID от 2-го до 4-го является невозможность производить параллельные операции записи, так как для хранения информации о чётности используется отдельный контрольный диск. RAID 5 не имеет этого недостатка. Блоки данных и контрольные суммы циклически записываются на все диски массива, нет асимметричности конфигурации дисков. Под контрольными суммами подразумевается результат операции XOR (исключающее или). Xor обладает особенностью, которая применяется в RAID 5, которая даёт возможность заменить любой операнд результатом, и, применив алгоритм xor, получить в результате недостающий операнд. Например: a xor b = c (где a, b, c — три диска рейд-массива), в случае если a откажет, мы можем получить его, поставив на его место c и проведя xor между c и b: c xor b = a. Это применимо вне зависимости от количества операндов: a xor b xor c xor d = e. Если отказывает c тогда e встаёт на его место и проведя xor в результате получаем c: a xor b xor e xor d = c. Этот метод по сути обеспечивает отказоустойчивость 5 версии. Для хранения результата xor требуется всего 1 диск, размер которого равен размеру любого другого диска в raid.
(+): RAID5 получил широкое распространение, в первую очередь, благодаря своей экономичности. Объём дискового массива RAID5 рассчитывается по формуле (n-1)*hddsize, где n — число дисков в массиве, а hddsize — размер наименьшего диска. Например, для массива из 4-х дисков по 80 гигабайт общий объём будет (4 — 1) * 80 = 240 гигабайт. На запись информации на том RAID 5 тратятся дополнительные ресурсы и падает производительность, так как требуются дополнительные вычисления и операции записи, зато при чтении (по сравнению с отдельным винчестером) имеется выигрыш, потому что потоки данных с нескольких дисков массива могут обрабатываться параллельно.
(-): Производительность RAID 5 заметно ниже, в особенности на операциях типа Random Write (записи в произвольном порядке), при которых производительность падает на 10-25% от производительности RAID 0 (или RAID 10), так как требует большего количества операций с дисками (каждая операция записи сервера заменяется на контроллере RAID на три — одну операцию чтения и две операции записи). Недостатки RAID 5 проявляются при выходе из строя одного из дисков — весь том переходит в критический режим (degrade), все операции записи и чтения сопровождаются дополнительными манипуляциями, резко падает производительность. При этом уровень надежности снижается до надежности RAID-0 с соответствующим количеством дисков (то есть в n раз ниже надежности одиночного диска). Если до полного восстановления массива произойдет выход из строя, или возникнет невосстановимая ошибка чтения хотя бы на еще одном диске, то массив разрушается, и данные на нем восстановлению обычными методами не подлежат. Следует также принять во внимание, что процесс RAID Reconstruction (восстановления данных RAID за счет избыточности) после выхода из строя диска вызывает интенсивную нагрузку чтения с дисков на протяжении многих часов непрерывно, что может спровоцировать выход какого-либо из оставшихся дисков из строя в этот наименее защищенный период работы RAID, а также выявить ранее необнаруженные сбои чтения в массивах cold data (данных, к которым не обращаются при обычной работе массива, архивные и малоактивные данные), что повышает риск сбоя при восстановлении данных. Минимальное количество используемых дисков равно трём.
RAID 5EE
Примечание: поддерживается не во всех контроллерах RAID level-5EE подобен массиву RAID-5E, но с более эффективным использованием резервного диска и более коротким временем восстановления. Подобно RAID level-5E, этот уровень RAID-массива создает ряды данных и контрольных сумм во всех дисках массива. Массив RAID-5EE обладает улучшенной защитой и производительностью. При применении RAID level-5E, ёмкость логического тома ограничивается ёмкостью двух физических винчестеров массива (один для контроля, один резервный). Резервный диск является частью массива RAID level-5EE. Тем не менее, в отличие от RAID level-5E, использующего неразделенное свободное место для резерва, в RAID level-5EE в резервный диск вставлены блоки контрольных сумм, как показывается далее на примере. Это позволяет быстрее перестраивать данные при поломке физического диска. При такой конфигурации, вы не сможете использовать его с другими массивами. Если вам необходим запасной диск для другого массива, вам следует иметь еще один резервный винчестер. RAID level-5E требует как минимум четырех дисков и, в зависимости от уровня прошивки и их ёмкости, поддерживает от 8 до 16 дисков. RAID level-5E обладает определенной прошивкой. Примечание: для RAID level-5EЕ, вы можете использовать только один логический том в массиве.
Достоинства:
- 100% защита данных
- Большая ёмкость физических дисков по сравнению с RAID-1 или RAID -1E
- Большая производительность по сравнению с RAID-5
- Более быстрое восстановление RAID по сравнению с RAID-5Е
Недостатки:
- Более низкая производительность, чем в RAID-1 или RAID-1E
- Поддержка только одного логического тома на массив
- Невозможность совместного использования резервного диска с другими массивами
- Поддержка не всех контроллеров
RAID 6
Схема RAID 6
RAID 6 — похож на RAID 5, но имеет более высокую степень надёжности — под контрольные суммы выделяется ёмкость 2-х дисков, рассчитываются 2 суммы по разным алгоритмам. Требует более мощный RAID-контроллер. Обеспечивает работоспособность после одновременного выхода из строя двух дисков — защита от кратного отказа. Для организации массива требуется минимум 4 диска[3]. Обычно использование RAID-6 вызывает примерно 10-15% падение производительности дисковой группы, по сравнению с аналогичными показателями RAID-5, что вызвано большим объёмом обработки для контроллера (необходимость рассчитывать вторую контрольную сумму, а также прочитывать и перезаписывать больше дисковых блоков при записи каждого блока).
RAID 7
RAID 7 — зарегистрированная торговая марка компании Storage Computer Corporation, отдельным уровнем RAID не является. Структура массива такова: на дисках хранятся данные, один диск используется для складирования блоков чётности. Запись на диски кешируется с использованием оперативной памяти, сам массив требует обязательного ИБП; в случае перебоев с питанием происходит повреждение данных.
RAID 10
Схема архитектуры RAID 10
RAID 10 — зеркалированный массив, данные в котором записываются последовательно на несколько дисков, как в RAID 0. Эта архитектура представляет собой массив типа RAID 0, сегментами которого вместо отдельных дисков являются массивы RAID 1. Соответственно, массив этого уровня должен содержать как минимум 4 диска. RAID 10 объединяет в себе высокую отказоустойчивость и производительность.
Нынешние контроллеры используют этот режим по умолчанию для RAID 1+0. То есть, один диск основной, второй — зеркало, считывание данных производится с них поочередно. Сейчас можно считать, что RAID 10 и RAID 1+0 — это просто разное название одного и того же метода зеркалирования дисков. Утверждение, что RAID 10 является самым надёжным вариантом для хранения данных, ошибочно, т.к., несмотря на то, что для данного уровня RAID возможно сохранение целостности данных при выходе из строя половины дисков, необратимое разрушение массива происходит при выходе из строя уже двух дисков, если они находятся в одной зеркальной паре.
Комбинированные уровни
Помимо базовых уровней RAID 0 — RAID 5, описанных в стандарте, существуют комбинированные уровни RAID 1+0, RAID 3+0, RAID 5+0, RAID 1+5, которые различные производители интерпретируют каждый по-своему.
- RAID 1+0 — это сочетание зеркалирования и чередования (см. выше).
- RAID 5+0 — это чередование томов 5-го уровня.
- RAID 1+5 — RAID 5 из зеркалированных пар.
Комбинированные уровни наследуют как преимущества, так и недостатки своих «родителей»: появление чередования в уровне RAID 5+0 нисколько не добавляет ему надёжности, но зато положительно отражается на производительности. Уровень RAID 1+5, наверное, очень надёжный, но не самый быстрый и, к тому же, крайне неэкономичный: полезная ёмкость тома меньше половины суммарной ёмкости дисков…
Стоит отметить, что количество жёстких дисков в комбинированных массивах также изменится. Например для RAID 5+0 используют 6 или 8 жёстких дисков, для RAID 1+0 — 4, 6 или 8.
Сравнение стандартных уровней
Уровень | Количество дисков | Эффективная ёмкость* | Отказоустойчивость | Преимущества | Недостатки |
---|---|---|---|---|---|
0 | от 2 | S * N | нет | наивысшая производительность | очень низкая надёжность |
1 | 2 | S | 1 диск | надёжность | двойная стоимость дискового пространства |
1E | от 3 | S * N / 2 | 1 диск** | высокая защищённость данных и неплохая производительность | двойная стоимость дискового пространства |
10 или 01 | от 4, чётное | S * N / 2 | 1 диск*** | наивысшая производительность и высокая надёжность | двойная стоимость дискового пространства |
5 | от 3 до 16 | S * (N — 1) | 1 диск | экономичность, высокая надёжность, неплохая производительность | производительность ниже RAID 0 |
50 | от 6, чётное | S * (N — 2) | 2 диска** | высокая надёжность и производительность | высокая стоимость и сложность обслуживания |
5E | от 4 | S * (N — 2) | 1 диск | экономичность, высокая надёжность, скорость выше RAID 5 | производительность ниже RAID 0 и 1, резервный накопитель работает на холостом ходу и не проверяется |
5EE | от 4 | S * (N — 2) | 1 диск | быстрое реконструирование данных после сбоя, экономичность, высокая надёжность, скорость выше RAID 5 | производительность ниже RAID 0 и 1, резервный накопитель работает на холостом ходу и не проверяется |
6 | от 4 | S * (N — 2) | 2 диска | экономичность, наивысшая надёжность | производительность ниже RAID 5 |
60 | от 8, чётное | S * (N — 2) | 2 диска | высокая надёжность, большой объем данных | высокая стоимость и сложность организации |
61 | от 8, чётное | S * (N — 2) / 2 | 2 диска** | очень высокая надёжность | высокая стоимость и сложность организации |
* N — количество дисков в массиве, S — объём наименьшего диска.[4][5][6][7][8] ** Информация не потеряется, если выйдут из строя все диски в пределах одного зеркала. *** Информация не потеряется, если выйдут из строя два диска в пределах разных зеркал.
Matrix RAID
Схема Intel Matrix RAID
Matrix RAID — это технология, реализованная фирмой Intel в своих чипсетах начиная с ICH6R. Строго говоря, эта технология не является новым уровнем RAID (ее аналог существует в аппаратных RAID-контроллерах высокого уровня), она позволяет, используя небольшое количество дисков организовать одновременно один или несколько массивов уровня RAID 1, RAID 0 и RAID 5. Это позволяет за сравнительно небольшие деньги обеспечить для одних данных повышенную надёжность, а для других высокую скорость доступа и производства.
Дополнительные функции RAID-контроллеров
Многие RAID-контроллеры оснащены набором дополнительных функций:
- «Горячая замена» (Hot Swap)
- «Горячий резерв» (Hot Spare)
- Проверка на стабильность.
Программный (англ. software) RAID
Для реализации RAID можно применять не только аппаратные средства, но и полностью программные компоненты (драйверы). Например, в системах на ядре Linux существуют специальные модули ядра, а управлять RAID-устройствами можно с помощью утилиты mdadm. Программный RAID имеет свои достоинства и недостатки. С одной стороны, он ничего не стоит (в отличие от аппаратных RAID-контроллеров, цена которых от $250). С другой стороны, программный RAID использует ресурсы центрального процессора, и в моменты пиковой нагрузки на дисковую систему процессор может значительную часть мощности тратить на обслуживание RAID-устройств.
Ядро Linux 2.6.28 (последнее из вышедших в 2008 году) поддерживает программные RAID следующих уровней: 0, 1, 4, 5, 6, 10. Реализация позволяет создавать RAID на отдельных разделах дисков, что аналогично описанному выше Matrix RAID. Поддерживается загрузка с RAID.
ОС семейства Windows NT, такие как Windows NT 3.1/3.5/3.51/NT4/2000/XP/2003 изначально, с момента проектирования данного семейства, поддерживает программный RAID 0, RAID 1 и RAID 5 (см. Dynamic Disk). Более точно, Windows XP Pro поддерживает RAID 0. Поддержка RAID 1 и RAID 5 заблокирована разработчиками, но, тем не менее, может быть включена, путем редактирования системных бинарных файлов ОС, что запрещено лицензионным соглашением.[9] Windows 7 поддерживает программный RAID 0 и RAID 1, Windows Server 2003 — 0, 1 и 5. Windows XP Home не поддерживает RAID.
В ОС FreeBSD есть несколько реализаций программного RAID. Так, atacontrol, может как полностью строить программный RAID, так и может поддерживать полуаппаратный RAID на таких чипах как ICH5R. Во FreeBSD, начиная с версии 5.0, дисковая подсистема управляется встроенным в ядро механизмом GEOM. GEOM предоставляет модульную дисковую структуру, благодаря которой родились такие модули как gstripe (RAID 0), gmirror (RAID 1), graid3 (RAID 3), gconcat (объединение нескольких дисков в единый дисковый раздел). Также существуют устаревшие классы ccd (RAID 0, RAID 1) и gvinum (менеджер логических томов vinum). Начиная с FreeBSD 7.2 поддерживается файловая система ZFS, в которой можно собирать следующие уровни RAID: 0, 1, 5, 6, а также комбинируемые уровни.
OpenSolaris и Solaris 10 используют Solaris Volume Manager, который поддерживает RAID-0, RAID-1, RAID-5 и любые их комбинации как 1+0. Поддержка RAID-6 осуществляется в файловой системе ZFS.
Дальнейшее развитие идеи RAID
Синий разъём PCI-X на материнской плате сервера FSC Primergy TX200 S2 специально предназначен для платы ноль-канального RAID (zero-channel RAID, ZCR). Установлен MegaRAID 320-0 Zero Channel RAID Controler фирмы LSI)[10]
Идея RAID-массивов — в объединении дисков, каждый из которых рассматривается как набор секторов, и в результате драйвер файловой системы «видит» как бы единый диск и работает с ним, не обращая внимания на его внутреннюю структуру. Однако, можно добиться существенного повышения производительности и надёжности дисковой системы, если драйвер файловой системы будет «знать» о том, что работает не с одним диском, а с набором дисков.
Более того: при разрушении любого из дисков в составе RAID-0 вся информация в массиве окажется потерянной. Но если драйвер файловой системы разместил каждый файл на одном диске, и при этом правильно организована структура директорий, то при разрушении любого из дисков будут потеряны только файлы, находившиеся на этом диске; а файлы, целиком находящиеся на сохранившихся дисках, останутся доступными.
Интересные факты
Сотрудник корпорации Y-E Data, которая является крупнейшим в мире производителем USB флоппи-дисководов, Дэниэл Олсон в качестве эксперимента создал RAID-массив из четырех iPod Shuffle[11].
Годовая вероятность отказа дискового массива RAID 5 из 3-х дисков WD Caviar Blue = 0.05%[12].
См. также
- JBOD — RAID-массив с последовательным распределением дискового пространства по дискам.
- NAS — внешнее сетевое хранилище данных со встроенным RAID.
Примечания
Ссылки
RAID — что такое RAID? И руководство по установке для новичков | ROG
Примечание. Эта статья была обновлена в сентябре 2014 года.
Что такое RAID? A R edundant Набор из I ndependent D isks или RAID — это способ хранения одних и тех же данных на нескольких жестких дисках. Почти все они имеют избыточность, чтобы обеспечить некоторую защиту данных, тогда как RAID 0 создан исключительно для скорости. ПРИМЕЧАНИЕ: резервирование НЕ является формой резервного копирования!
Существует множество способов использования RAID и несколько различных типов массивов.Некоторые используют несколько дисков для повышения производительности — подумайте о двух- или трехполосной дороге вместо одинарной, которая должна обслуживать трафик, идущий в двух направлениях — в то время как другие используются для повышения надежности. Кроме того, существует третий тип RAID, который предлагает лучшее из обоих миров; все это мы объяснили ниже.
RAID-массив представляется операционной системе как один логический диск, независимо от того, сколько отдельных дисков является частью RAID-массива. Могут использоваться как жесткие диски, так и твердотельные накопители, и хотя рекомендуется использовать соответствующие диски в одном массиве для обеспечения максимальной производительности, это не обязательно.
Эта статья посвящена настройке RAID-массива с материнской платой Intel для одного пользователя.
Порты SATA и SATA Express Rampage V Extreme, подключенные к чипсету Intel X99, поддерживают режимы RAID 0, 1, 5 и 10.
Я знаю 9 различных типов RAID плюс производительный RAID без встроенной избыточности, однако для всего, кроме высокопроизводительной серверной среды, вам будут предложены только четыре основные версии: RAID 0, 1, 0+ 1 и 5. Эти конфигурации RAID могут использоваться и используются независимо или в различных комбинациях.Ниже приведены различные типы RAID, которые используются сегодня.
- RAID-0: Этот метод имеет чередование, но без избыточности данных. Он обеспечивает наилучшую производительность, поскольку данные читаются / записываются на оба диска одновременно, но не обеспечивает отказоустойчивости, поэтому при выходе из строя одного диска вы потеряете данных обоих дисков. Накопители обычно добавляются в количестве, кратном двум.
- RAID-1: Этот тип также известен как зеркалирование дисков и состоит как минимум из двух дисков, которые дублируют хранилище данных.Полосатости нет. Производительность чтения повышается, поскольку любой диск может быть прочитан одновременно, то есть, если один диск занят, осуществляется доступ к другому. Производительность записи такая же, как и для однодискового хранилища. RAID-1 обеспечивает лучшую производительность и некоторую отказоустойчивость в многопользовательской системе, хотя для одного пользователя вряд ли он получит такую большую выгоду. И снова диски обычно добавляются в количестве, кратном двум.
- RAID-2 (не потребительский): Этот тип использует чередование дисков, при этом на некоторых дисках хранится информация о проверке и исправлении ошибок (ECC).Он не имеет преимуществ перед RAID-3 и, как правило, заменен.
- RAID-3 (не потребительский) : этот тип использует чередование (RAID 0), но выделяет другой диск для хранения информации о четности. Информация встроенной проверки ошибок (ECC) используется для обнаружения ошибок. Восстановление данных осуществляется путем вычисления исключающего ИЛИ (XOR) информации, записанной на других дисках. Поскольку операция ввода-вывода обращается ко всем дискам одновременно, RAID-3 не может перекрывать операции ввода-вывода, а производительность ограничивается одним диском четности.По этой причине RAID-3 лучше всего подходит для однопользовательских систем и использует три или более дисков.
- RAID-4 (непотребительский) : Этот тип использует большие полосы, что означает, что вы можете читать записи с любого отдельного диска. Это позволяет вам использовать перекрывающийся ввод-вывод для операций чтения. Однако, поскольку все операции записи должны обновлять диск с контролем четности, перекрытие операций ввода-вывода при записи невозможно. Таким образом, RAID-4 не сильно отличается от RAID-3 и не дает никаких преимуществ перед более распространенным RAID-5.
- RAID-5 : Этот тип включает в себя вращающийся массив четности, таким образом устраняя ограничение записи в RAID-4. Это означает, что все операции чтения и записи могут перекрываться. RAID-5 хранит информацию о четности, но не избыточные данные (но информацию о четности можно использовать для восстановления данных в случае выхода из строя одного диска). RAID-5 требует не менее трех, а обычно пяти дисков для массива. Лучше всего подходит для систем, в которых производительность не так критична или которые выполняют мало операций записи.
- RAID-6 (непотребительский) : Этот тип аналогичен RAID-5, но включает вторую схему четности, которая распределяется между различными дисками и, таким образом, обеспечивает более высокую отказоустойчивость и отказоустойчивость диска до двух дисков могут выйти из строя одновременно).
- RAID-7 (непотребительский) : этот тип включает встроенную операционную систему реального времени в качестве контроллера, кэширование через высокоскоростную шину и другие характеристики автономного компьютера.В настоящее время только один поставщик предлагает эту специализированную и дорогую систему.
- RAID-10 : Объединение RAID-0 и RAID-1 часто называют RAID-10, который обеспечивает более высокую производительность, чем RAID-1, но при гораздо более высокой стоимости, поскольку для этого требуется как минимум четыре диска. Есть два подтипа: в RAID-0 + 1 данные организованы в виде полос на нескольких дисках, а затем наборы дисков с чередованием зеркалируются. В RAID-1 + 0 данные зеркалируются, и зеркала чередуются.
- RAID-50 (или RAID-5 + 0) (непотребительский) : этот тип состоит из серии групп RAID-5 и чередуется в режиме RAID-0 для повышения производительности RAID-5 без снижения защиты данных.
- RAID-53 (или RAID-5 + 3) (не потребительский) : этот тип использует чередование (в стиле RAID-0) для блоков виртуальных дисков RAID-3. Это обеспечивает более высокую производительность, чем RAID-3, но при гораздо более высокой стоимости.
Что я могу использовать для создания RAID-массива?
Сегодня мы избалованы выбором. Чаще используются SSD (или гибридные) диски для скорости (RAID 0), в то время как традиционные жесткие диски часто используются для хранения большой емкости с избыточностью (RAID 1/5).
Два SSD Samsung готовы для RAID 0
Накопители SSD
PCIe, такие как RAIDR, часто имеют собственную внутреннюю структуру RAID:
ROG RAIDR Express
Емкость также зависит от типа продукта, который вы выбираете: от десятков ГБ (RAM-диски) до 4 ТБ на диск с жестким диском. Индустрия хранения данных развивается с такой высокой скоростью, что ее инновации постоянно производят накопители большего размера (HDD) и более быстрые (SSD). Однако давайте вернемся к рассматриваемому вопросу, короче говоря, мы можем использовать любой носитель данных, который мы можем подключить к портам SATA (или PCIe) наших материнских плат.Чаще всего используются SSD и механические жесткие диски.
RAID требует использования как минимум двух дисков, но верхний предел зависит от типа RAID и функциональных ограничений вашего оборудования.
Настройка RAID
1. Загрузите последние версии драйверов Intel Rapid Storage Technology и сохраните установочный пакет на внешний носитель, например, USB-накопитель. Версия RST, которую вы используете, повлияет на вашу общую производительность. Мне тоже нравится иметь под рукой последние версии драйверов для набора микросхем.
2. Подготовьте новую систему и убедитесь, что вы записали или распечатали инструкции, если у вас нет под рукой ноутбука или планшета.
3. Запустите компьютер и войдите в BIOS, нажав клавишу Del. ROG BIOS автоматически переведет вас в расширенный режим.
4. Перейдите к конфигурации хранилища, настройте параметры SATA.
5. Выберите RAID
6. Нажмите F10, затем Enter, чтобы перезагрузить компьютер.
7. ПК перезагрузится, затем, как только на несколько секунд появится экран Intel Matrix Storage Manager, нажмите Ctrl + I
8. Выберите «Создать том RAID».
9. После этого вы перейдете к экрану, после которого выполните следующие четыре простых шага:
- Выберите уровень RAID (RAID0) или какой RAID вы хотите использовать.
- Выберите диски (Tab вниз и нажмите Enter для выбора)
- Выбрать полосу (128 КБ по умолчанию, но Intel рекомендует 16 КБ для SSD)
- Выберите емкость (по умолчанию макс.)
- Обратите внимание, вы потеряете все свои данные!
- Членские диски указывают, что они являются частью массива RAID, как показано ниже.Если у вас более одного массива RAID, проверьте соответствие ID #.
10. 6 для выхода и перезагрузки
11. Вставьте носитель с ОС — я использую USB-накопитель для установки ОС
12. После перезагрузки системы нажмите F8, чтобы выбрать параметры загрузки, или вернитесь в BIOS, нажав Del.
14. Перейдите в раздел BOOT и убедитесь, что том RAID установлен в качестве основного загрузочного устройства. Мне нравится выполнять чистую установку без каких-либо других дисков. Другими словами, у меня есть только тома RAID.Если у вас есть другие приводы, вероятно, что другие приводы будут установлены по умолчанию в качестве загрузочного диска. Следовательно, вам необходимо убедиться, что основная загрузка установлена на том RAID.
15. Нажмите F10 для сохранения и выхода из BIOS
Отсюда современная ОС, такая как Windows 8, будет поддерживать ваш RAID-массив без дополнительных драйверов, однако более старые ОС потребуют установки дополнительных драйверов, поскольку это касается поиска дисков для установки. После обычной установки ОС убедитесь, что вы установили последние версии драйверов со страницы продукта в разделах «Набор микросхем (драйверы набора микросхем и модуль управления)» и «SATA» (Intel Rapid Storage Technology (RST)).
.
RAID 0, RAID 1, RAID 5, RAID 10, объяснение со схемами
Рамеш Натараджан
10 августа 2010 г.
RAID — это избыточный массив недорогих (независимых) дисков.
В большинстве ситуаций вы будете использовать один из следующих четырех уровней RAID.
- RAID 0
- RAID 1
- RAID 5
- RAID 10 (также известный как RAID 1 + 0)
Эта статья объясняет основное различие между этими уровнями рейдов вместе с простой для понимания диаграммой.
На всех схемах, указанных ниже:
- A, B, C, D, E и F — представляет блоки
- p1, p2 и p3 — представляет собой четность
УРОВЕНЬ RAID 0
Ниже приведены ключевые моменты, которые следует помнить для уровня RAID 0.
- Минимум 2 диска.
- Отличная производительность (поскольку блоки полосатые).
- Без избыточности (без зеркала, без четности).
- Не используйте это для каких-либо критических систем.
RAID УРОВЕНЬ 1
Ниже приведены ключевые моменты, которые следует помнить для уровня RAID 1.
- Минимум 2 диска.
- Хорошая производительность (без чередования. Без четности).
- Превосходное резервирование (поскольку блоки зеркалируются).
RAID 5 УРОВЕНЬ
Ниже приведены ключевые моменты, которые следует помнить для уровня RAID 5.
- Минимум 3 диска.
- Хорошая производительность (так как блоки полосатые).
- Хорошее резервирование (распределенная четность).
- Лучший экономичный вариант, обеспечивающий как производительность, так и резервирование.Используйте это для БД, ориентированной на чтение. Операции записи будут медленными.
RAID УРОВЕНЬ 10
Ниже приведены ключевые моменты, которые следует помнить для уровня RAID 10.
- Минимум 4 диска.
- Также называется «зеркальная полоса»
- Превосходное резервирование (поскольку блоки зеркалируются)
- Отличная производительность (поскольку блоки полосатые)
- Если вы можете позволить себе доллар, это НАИЛУЧШИЙ вариант для любых критически важных приложений (особенно баз данных).
Дополнительные руководства по RAID:
Если вам понравилась эта статья, возможно, вам также понравится ..
Помечено как:
RAID 0 против RAID 1,
RAID 0 против RAID 10,
RAID 0 против RAID 5,
RAID 1 против RAID 10,
RAID 1 против RAID 5,
RAID 1 + 0 против RAID 0,
RAID 1 + 0 против RAID 1,
RAID 1 + 0 против RAID 5,
RAID 5 против RAID 10
.