Raid 5 сколько дисков
В: Что такое RAID и зачем он нужен? Какой RAID лучше использовать?
О: Ответу на этот вопрос посвящен раздел [ RAID ].
В: Можно ли использовать в RAID массиве диски разного размера?
О: Да. можно. Но, при этом, используемая емкость у ВСЕХ дисков будет равна емкости наименьшего диска.
Из этого следует, что добавлять в уже существующий RAID массив можно только диски такого же или большего размера.
В: Можно ли использовать в RAID массиве диски разных производителей?
О: Да, можно. Но при этом надо иметь ввиду, что точные размеры дисков одинаковой емкости (36/73/146. ГБ) у разных производителей могут отличаться на несколько килобайт. Когда вы создаете новый RAID массив, на это можно не обращать внимание, но если вы добавляете диски к уже существующему массиву (например, меняете вышедший из строя диск), то важно, чтобы новый диск был больше чем старые, или точно такого же размера.
В: Что такое Write Through и Write Back?
О: Это способ записи данных, полученных RAID контроллером, на дисковый массив. По другому эти способы еще называются так: прямая запись ( Write Through ) и отложенная запись ( Write Back ). Какой из этих способов будет использоваться определяется в BIOS-е контроллера (либо при создании массива, либо позднее).
- Write Through - данные записываются непосредственно на дисковый массив. Т.е. как только данные получены, они сразу же записываются на диски и после этого контроллер подает сигнал управляющей ОС о завершении операции.
- Write Back - данные записываются сначала в кэш , и только потом (либо по мере заполнения кэш -а, либо в моменты минимальной загрузки дисковой системы) из кэш -а на диски. При этом, сигнал о завершении операции записи передается управляющей ОС сразу же по получении данных кэш -ем контроллера.
Избежать описанной проблемы можно или с помощью установки на RAID контроллер BBU (см. ниже), или посредством подключения всего сервера через источник бесперебойного питания (UPS) с функцией программируемого выключения.
Кстати, некоторые RAID контроллеры не позволяют включить функцию Write Back без установленного BBU .
В: Что такое BBU и зачем он нужен?
О: BBU (Battery Backup Unit ) необходим для предотвращения потери данных находящихся в кэш -е RAID контроллера и еще не записанных на диск (отложенная запись - "write-back caching"), в случае аварийного выключения компьютерной системы.
Существуют три разновидности BBU :
- Просто BBU : это аккумулятор, который обеспечивает резервное питание кэша через RAID контроллер.
- Переносимые (Transportable) BBU (tBBU): это аккумулятор, который размещен непосредственно на модуле кэш и питает его независимо от RAID контроллера. В случае выхода из строя RAID контроллера, это позволяет перенести данные, сохраненные в кэш -е, на резервный контроллер и уже на нем завершить операцию записи данных. : основная идея заключается в следующем: в случае сбоя питания RAID контроллер копирует содержимое кэш -а в энергонезависимую память (например, в случае с технологией Adaptec »Zero-Maintenance Cache Protection - на NAND флэш накопитель). Питание, необходимое для завершения этого процесса, обеспечивается встроенным супер-конденсатором. После восстановления питания, данные из флэш памяти копируются обратно в кэш контроллера.
В: Что такое Hot Spare (Hotspare)?
О: Hot Spare - (Резервная Замена Дисководов ("Горячее резервирование")) - Одна из наиболее важных особенностей, которую обеспечивает RAID контроллер, с целью достичь безостановочное обслуживание с высокой степенью отказоустойчивости. В случае выхода из строя диска, восстанавливающая операция будет выполнена RAID контроллером автоматически, если выполняются оба из следующих условий:
- Имеется "резервный" диск идентичного объема, подключенный к тому же контроллеру и назначенный в качестве резервного, именно он и называется Hotspare ;
- Отказавший диск входит в состав избыточной дисковой системы, например RAID 1 , RAID 3 , RAID 5 или RAID 0+1 .
Обратите внимание: резервирование позволяет восстановить данные, находившиеся на неисправном диске, если все диски подключены к одному и тому же RAID контроллеру.
"Резервный" диск может быть создан одним из двух способов:
- Когда пользователь выполняет утилиту разметки, все диски, которые подключены к контроллеру, но не сконфигурированы в любую из групп дисководов, будут автоматически помечены как "резервные" ( Hotspare ) диски (автоматический способ поддерживается далеко не всеми контроллерами).
- Диск может также быть помечен как резервный ( Hotspare ), при помощи соответствующей утилиты RAID контроллера.
В течение процесса автоматического восстановления система продолжает нормально функционировать, однако производительность системы может слегка ухудшиться.
Для того, что бы использовать восстанавливающую особенность резервирования, Вы должны всегда иметь резервный диск ( Hotspare ) в вашей системе. В случае сбоя дисковода, резервный дисковод автоматически заменит неисправный диск, и данные будут восстановлены. После этого, системный администратор может отключить и удалить неисправный диск, заменить его новым диском и сделать этот новый диск резервным.
В этом разделе использованы материалы с сайта "3dnews".
В: Что такое Copyback Hot Spare?
О: Copyback Hot Spare это функция RAID контроллера, которая позволяет пользователям закрепить физическое расположение диска "горячего резерва" ( Hot Spare ), что позволяет улучшить управляемость системы.
В: Что такое JBOD?
О: JBOD (Just a Bunch of Disks) это способ подключить диски к RAID контроллеру не создавая на них никакого RAID . Каждый из дисков доступен так же, как если бы он был подключен к обычному адаптеру. Эта конфигурация применяется когда необходимо иметь несколько независимых дисков, но не обеспечивает ни повышения скорости, ни отказоустойчивости.
В: Что такое размер страйпа (stripe size)?
О: размер страйпа ( stripe size ) определяет объем данных записываемых за одну операцию ввода/вывода. размер страйпа задается в момент конфигурирования RAID массива и не может быть изменен позднее без переинициализации всего массива. Больший размер страйпа обеспечивает прирост производительности при работе с большими последовательными файлами (например, видео), меньший - обеспечивает большую эффективность в случае работы с большим количеством небольших файлов.
В: Нужно ли заниматься архивированием данных в случае использования RAID?
О: Конечно да! RAID это вовсе не замена архивированию, основное его назначение это повышение скорости и надежности доступа к данным в нормальном режиме работы. Но только регулярное архивирование данных гарантировано обеспечит их сохранность при любых отказах оборудования, пожарах, потопах и прочих неприятностях.
Постараюсь, без ныряния в инженерные и терминологические дебри объяснить, почему до сих пор 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
«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 на SSD” на примере накопителей Kingston, но сделали это только в рамках нулевого уровня. В текущей статье мы разберем варианты использования профессиональных и домашних NVMe-решений в самых популярных типах RAID-массивов и расскажем о совместимости контроллеров Broadcom с накопителями Kingston.
RAID 10 на базе SSD Kingston и контроллеров Broadcom
Итак, RAID 0 предоставляет нам двукратный прирост скорости и времени доступа, а RAID 1 обеспечивает надежность. В идеале бы их совместить, и тут на помощь приходит RAID 10 (или же 1+0). “Десятка” собирается из четырех SATA SSD- или NVMe-накопителей (максимум – 32) и подразумевает массив из “зеркал”, количество накопителей в котором всегда должно быть кратно четырем. Данные в этом массиве записываются посредством разбиения на фиксированные блоки (как в случае с RAID 0) и чередования между накопителями, распределяя копии между «дисками» в массиве RAID 1. А благодаря возможности одновременного доступа к нескольким группам дисков, RAID 10 показывает высокую производительность.
Так как RAID 10 способен распределять данные по нескольким зеркальным парам, это означает, что он может допускать сбой одного накопителя в паре. Однако в случае сбоя обеих зеркальных пар (то есть всех четырех накопителей) произойдет неизбежная потеря данных. В итоге мы также получаем хорошую отказоустойчивость и надежность. Но стоит иметь в виду, что, как и RAID 1, массив десятого уровня использует только половину суммарной емкости, а потому является дорогостоящим решением. Да еще и сложным в настройке.
RAID 10 подходит для использования с хранилищами данных, которым требуется 100-процентная избыточность групп зеркальных дисков, а также повышенная производительность ввода-вывода RAID 0. Это лучшее решение для баз данных среднего размера или любой среды, которая требует более высокой отказоустойчивости, чем в RAID 5.
RAID 50 на базе SSD Kingston и контроллеров Broadcom
Комбинированный массив, аналогичный RAID’у десятого уровня, который представляет собой массив нулевого уровня, созданный из массивов пятого уровня. Как и в предыдущем случае, основная цель данного массива состоит в получении удвоенной производительности при сохранении надежности данных в массивах RAID 5. При этом RAID 50 обеспечивает повышенную производительность записи и лучшую защиту данных, нежели стандартный RAID 5 в случае сбоя диска, а также способен к более быстрому восстановлению в случае отказа одного из накопителей.
Группа дисков RAID 50 разбивает данные на более мелкие блоки, а затем распределяет их на каждый массив RAID 5. Группа дисков RAID 5, в свою очередь, также разбивает данные на более мелкие блоки, вычисляет четность, производит логическую операцию OR для блоков, а затем выполняет операции записи в блоки данных и контроля четности для каждого диска в группе дисков.
И хотя производительность неизбежно снижается в случае сбоя одного из накопителей, это не столь существенно, как в массиве RAID 5, поскольку один сбой влияет только на один из массивов, оставляя другой полностью работоспособным. На самом деле RAID 50 может выдержать до восьми отказов HDD/SSD/NVMe-накопителя, если каждый отказавший “диск” находится в отдельном массиве RAID 5.
RAID 50 лучше всего использовать для приложений, которым требуется высокая надежность и которые должны обрабатывать большое количество запросов при сохранении высокой скорости передачи данных и более низкой стоимости накопителей, чем в массиве RAID 10. Однако, поскольку для настройки массива RAID 50 требуется минимум шесть накопителей, стоимость не полностью исключается как фактор. Одним из недостатков RAID 50 является то, что, как и RAID 5, ему нужен сложный контроллер: такой как упомянутый нами в прошлой статье MegaRAID 9460-16i от Broadcom.
Стоит также отметить, что RAID 50 имеет меньше используемого дискового пространства, чем RAID 5, из-за выделения емкости для содержания записей контроля четности. Тем не менее, он все еще имеет больше полезного пространства, чем другие уровни RAID, особенно те, которые используют зеркалирование. При минимальном требовании в шесть дисков RAID 50 может быть дорогостоящим вариантом, но дополнительное дисковое пространство оправдывает затраты, защищая корпоративные данные. Этот тип массива рекомендуется для работы с данными, требующими высокой надежности хранения, высокой частоты запросов, высокой скорости передачи и большой емкости для размещения.
RAID 1 на базе SSD Kingston и контроллеров Broadcom
Итак, RAID-массив первого уровня на базе контроллера Broadcom MegaRAID 9460-16i объединяет от двух до 32 накопителей Kingston, которые являются копиями друг друга, и обеспечивает полную избыточность. Если при использовании традиционных HDD скорость записи и чтения данных оставалась на уровне этого самого HDD, то с использование NVMe SSD-решений мы получаем десятикратный прирост производительности. Особенно по части времени доступа к данным. Например, с двумя SSD Kingston DC1000M U.2 NVMe в серверном RAID 1 мы получим 350 000 IOPS при чтении случайных данных и 75 000 IOPS при записи.
В отношении последовательной скорости чтения результаты будут соответствовать характеристикам накопителя — 3200 Мбайт/с. Но, поскольку оба NVMe SSD находятся в рабочем состоянии, данные могут считываться с них одновременно, что делает операции чтения довольно быстрыми. А вот скорость записи (заявленная составляет 2000 Мбайт/с) будет медленнее, потому что каждая операция записи выполняется дважды.
Массив RAID 1 идеально подходит для небольших баз данных или любой другой среды, которая требует отказоустойчивости, но небольшой емкости. Зеркальное копирование накопителей особенно выручает в сценариях аварийного восстановления (производительность при этом немного ухудшается), поскольку обеспечивает мгновенную “реанимацию” важных данных, если один из накопителей в массиве выходит из строя. Но, поскольку этот уровень защиты требует удвоения емкости для хранения зеркальной копии данных (для хранения 100 Тбайт потребуется 200 Тбайт места), во многих корпоративных системах используются более экономичные варианты хранения: RAID 5 и RAID 6.
RAID 6 и RAID 60: про них мы тоже не забыли
Раз уж мы поговорили о массивах пятого и пятидесятого уровней, грех не упомянуть и о таких типах организации массивов как RAID 6 и RAID 60.
Производительность RAID 6 аналогична RAID 5, но здесь уже минимум два накопителя отдаются под контроль четности, что позволяет массиву пережить выход из строя двух накопителей без потери данных (в RAID 5 такая ситуация крайне нежелательна). Благодаря этому обеспечивается более высокая надежность. В остальном все так же, как и в массиве пятого уровня: в случае сбоя одного или двух дисков контроллер RAID использует блоки четности для воссоздания всей недостающей информации. При сбое двух накопителей восстановление происходят не одновременно: сначала реанимируется первый накопитель, затем – второй. Таким образом, выполняются две операции по восстановлению данных.
Нетрудно догадаться, что, если RAID 50 представляет собой массив нулевого уровня из массивов пятого уровня, то RAID 60 – это массив нулевого уровня из массивов шестого уровня, о которых мы только что рассказали. То есть такая организация RAID-хранилища позволяет пережить потерю двух SSD в каждой группе накопителей RAID 6. Принцип работы схож с тем, про который мы рассказывали в разделе про RAID 50, но количество сбоев, которые может выдержать массив шестидесятого уровня, вырастает с 8 до 16 накопителей. Обычно такие массивы используются для онлайн-обслуживания клиентов, которое требует высокой отказоустойчивости.
Как SSD Kingston живут в режиме RAID с контроллерами Broadcom
На заре появления SSD-накопителей RAID-конструкции таили в себе много нюансов. В том числе из-за использования менее отказоустойчивых HDD-дисков. Твердотельные накопители гораздо надежнее своих собратьев на основе магнитных дисков. Как мы знаем, в SSD-решениях нет движущихся элементов, поэтому механические повреждения сведены к нулю. Выход твердотельных накопителей из строя вследствие скачков напряжения тоже маловероятен, учитывая, что на уровне домашнего ПК и любого сервера вас предохраняют ИБП, сетевые фильтры и даже блок питания.
При этом у твердотельных накопителей есть еще один существенный плюс: даже если ячейки памяти износятся на запись – чтение данных с них все равно можно будет произвести, а вот при повреждении магнитного диска – увы.
На сегодняшний день использовать SSD-решения в RAID-массивах разных уровней вполне нормальная практика. Главное – выбирать правильные твердотельные накопители, латентность которых минимальна. А еще в идеале использовать SSD одного и того же производителя и одной и той же модели, чтобы не получилась мешанина из накопителей, поддерживающих разные типы нагрузок и построенных на базе разных типов памяти, контроллеров и прочих технологий. То есть, если уж мы решили закупить для создания RAID-массива четыре или 16 NVMe SSD компании Kingston – пусть лучше все они будут из одной серии и модельного ряда.
К слову, в прошлой статье мы неспроста приводили в пример контроллеры Broadcom, когда говорили о NVMe SSD от Kingston. Дело в том, что в мануалах к этим устройствам сразу прописываются совместимые накопители (включая решения от вышеупомянутого американского производителя SSD), с которыми контроллер будет работать без нареканий. На эту информацию и нужно опираться при выборе связки «контроллер-SSD» для RAID.
Зачем нужен RAID на SSD?
Преимущества массивов хранения на основе SSD по сравнению с массивами хранения на жестких дисках включают сокращение времени доступа к данным на накопителе и превосходную производительность в операциях чтения/записи. Однако для идеальной производительности RAID’а на базе SSD требуется оптимальное сочетание процессора, кэша, программного и аппаратного обеспечения. Когда все эти факторы идеально работают вместе, RAID-массив из SSD может значительно превзойти сопоставимую конфигурацию с применением традиционных HDD.
Типичный SSD потребляет меньше энергии, чем жесткие диски, поэтому при объединении большого количества твердотельных накопителей в RAID-массив экономия энергии по сравнению с RAID-массивом из HDD может привести еще и к снижению расходов при оплате корпоративных счетов за электроэнергию.
Однако SSD RAID имеет ограничения и недостатки: в частности, более высокая цена за гигабайт пространства по сравнению с жесткими дисками сопоставимой емкости. А время наработки флеш-памяти на отказ ограничено определенным количеством циклов перезаписи. То есть у SSD-накопителей есть определенный срок службы, который зависит от эксплуатации: чем активнее перезаписывается информация на нем, тем быстрее накопитель выйдет из строя. С другой стороны, корпоративные твердотельные накопители имеют приличный срок службы, сопоставимый с механическими жесткими дисками.
RAID 5 на базе SSD Kingston и контроллеров Broadcom
Для организации RAID-массива пятого уровня нам потребуется как минимум три накопителя, данные на которых чередуются (циклически записываются на все накопители в массиве), но не дублируются. При их организации следует учитывать их более сложное устройство, так как здесь появляется такое понятие, как “контрольная сумма” (или же “четность”). Под этим понятием подразумевается логическая алгебраическая функция XOR (она же исключающее „ИЛИ“), которая и диктует использование минимум трех накопителей в массиве (максимум – 32). При этом информация о четности записывается на все «диски» в массиве.
Для массива из четырех SATA SSD-накопителей Kingston DC500R с емкостью по 3,84 Тбайт каждый, мы получим 11,52 Тбайт пространства и 3,84 для контрольных сумм. А если объединить в RAID пятого уровня 16 NVMe-накопителей Kingston DC1000M U.2 с емкостью 7,68 Тбайт — поучим 115,2 Тбайт с потерей 7,68 Тбайт. Как видите, чем больше накопителей, тем в итоге лучше. Лучше еще и потому, что чем больше накопителей в RAID 5, тем выше суммарная производительность при операциях записи. А линейное чтение будет достигать уровня RAID 0.
Группа дисков RAID 5 обеспечивает высокую пропускную способность (особенно для больших файлов) и избыточность с минимальной потерей мощности. Лучше всего такой тип организации массива подходит для сетей, которые выполняют много небольших операций ввода-вывода (I / O) одновременно. А вот использовать его для задач, требующих большого количества операций записи небольших или небольших блоков, не стоит.
Есть и еще один нюанс: при отказе хотя бы одного из NVMe-накопителей, RAID 5 переходит в режим деградации и выход из строя еще одного устройства хранения может стать критичным для всех данных. В случае сбоя одного накопителя в массиве RAID-контроллер использует информацию о четности для воссоздания всех недостающих данных.
Подводим итоги:
Несмотря на то, что зеркалирование обеспечивает большую отказоустойчивость, чем RAID 50/60, оно также требует гораздо больше места. Поскольку количество данных удваивается, вы фактически получаете только 50% от общей емкости установленных в сервере накопителей для записи и хранения информации. Выбор между RAID 50/60 и RAID 10, скорее всего, будет зависеть от имеющихся бюджетов, емкости сервера и ваших потребностей в защите данных. Причем стоимость выходит на первый план, когда мы говорим об SSD-решениях (как корпоративного, так и потребительского класса).
Не менее важно, что теперь мы точно знаем – RAID на базе SSD вполне безопасное решение и нормальная практика для современного бизнеса. В рамках домашнего применения тоже есть резон переходить на NVMe, если позволяют бюджеты. А если у вас еще остался вопрос, зачем же все это нужно, вернитесь к началу статьи – мы уже подробно ответили на него.
Данная статья подготовлена при поддержке наших коллег из Broadcom, которые предоставляют свои контроллеры инженерам Kingston для тестирования с накопителями SATA/SAS/NVMe корпоративного класса. Благодаря этому дружескому симбиозу, клиентам не приходится сомневаться в надежности и стабильности работы накопителей Kingston c HBA- и RAID-контроллерами производства Broadcom.
Дополнительную информацию о продуктах Kingston можно найти на официальном сайте компании.
Небольшой, но, надеюсь, обоснованный ответ на топик Почему RAID-5 — «mustdie»?.
Ниже я произведу простейший расчёт надёжности RAID10 и RAID5 и сравнение их характеристик, а также укажу на некоторые принципиальные недостатки RAID1 и RAID10.
Небольшая вводная:
Рассматривать мы будем простейшие случаи — RAID10 из 4-х дисков и RAID5 из 3-х дисков. Все диски в системе примем одинаковыми.
В первоначальной версии статьи вместо RAID10 упоминался RAID0+1, но это вносит лишнюю путаницу. Корректное название конечно же RAID10 — сыплю голову пеплом.
Пусть n — вероятность отказа одного диска;
Итак — RAID10:
Кол-во дисков в массиве — 4;
Цена массива равна стоимости четырёх дисков;
Ёмкость массива будет равна удвоенной ёмкости используемых дисков (одного диска);
Максимальная скорость чтения данных равна удвоенной скорости одного диска;
Вероятность отказа массива для самого лучшего случая (когда контроллер реализует RAID1+0 как единую матрицу и умеет комбинировать накопители произвольным образом):
Вероятность отказа одного диска: P1=n(1-n)^3;
Вероятность отказа двух дисков: P2=(n^2)*(1-n)^2;
Вероятность отказа трёх дисков: P3=(n^3)*(1-n);
Вероятность отказа четырёх дисков: P4=n^4;
Вероятность безотказной работы: P0=(1-n)^4;
Полная вероятность: 4*P1+6*P2+4*P3+P4+P0=1;
Вероятность отказа массива: P(RAID10)=2*P2+4*P3+P4;
* В первом слагаемом вместо 6 стоит 2, так как только в двух случаях (при повреждении дисков с одинаковыми ыми данными) массив не может быть восстановлен.
Отдельно замечу, что большинство контроллеров не умеют комбинировать накопители, а значит отказ двух любых накопителей ведёт к потере данных, и надёжность массива в целом получается значительно ниже.
RAID5:
Кол-во дисков в массиве — 3;
Цена массива равно стоимости трёх дисков;
Ёмкость массива равна ёмкости двух дисков;
максимальная скорость чтения равна полуторной скорости чтения одного диска;
Вероятность отказа массива равна вероятности отказа двух дисков в нём:
Вероятность отказа одного диска: P1=n(1-n)^2;
Вероятность отказа двух дисков: P2=(n^2)*(1-n);
Вероятность отказа трёх дисков: P3=n^3;
Вероятность безотказной работы: P0=(1-n)^3;
Полная вероятность: 3*P1+3*P2+P3+P0=1;
Вероятность отказа массива: P(RAID5)=3*P2+P3;
Выводы:
Начнём конечно же с вероятности отказа — отнимем вероятность отказа RAID5 от вероятности отказа RAID10:
P(RAID10)-P(RAID5)=2n^2*(n-1)^2-n^3+n^4+3*n^2*(n-1)-4*n^3*(n-1)
Учитывая, что n->0 P(RAID10)-P(RAID5) Если же допустить, что накопители не могут комбинироваться произвольным образом, то RAID5 надёжнее.
Соотношение цен: RAID5 в 1.333 раза дешевле.
Соотношение скоростей: RAID5 в 1.333 раза медленнее чем RAID10, но при этом в полтора раза быстрее одиночного накопителя.
Внимание вопрос какой вариант лучше? Тот, который дороже и менее надёжен, хоть и немного быстрее. Или тот, что дешевле и надёжнее?
Лично моё мнение склоняется в сторону более надёжного и дешёвого RAID5 никуда не склоняется.
Дополнение:
В комментариях уважаемый track аргументировано указал, что в некоторых случаях RAID-5 может оказаться намного медленнее RAID1. По моему скромному мнению это должны быть очень и очень специфичные случаи, но иметь в виду следует.
Всякого рода замечания:
Время восстановления:
Восстановление RAID10 в идеале равно времени копирования всего объёма данных.
Для RAID5 ситуация сложнее, так как требуется восстановление данных по кодам коррекции.
При программной реализации время восстановления RAID5 будет определяться быстродействием процессора.
При аппаратной реализации время восстановления RAID5 равно времени восстановления RAID10.
Учитывая, что современные процессоры без проблем справляются с потоком данных порядка 100МБ/с (приблизительная пиковая скорость чтения современных накопителей) можно утверждать, что при правильной реализации программный RAID5 будет не намного медленнее RAID10.
Про надёжность во время восстановления. Для рассматриваемого случая об этого говорить вообще не приходится — резервные копии делать нужно! В общем же случае следует принимать во внимание, что на момент восстановления количество дисков в RAID10 больше, чем в RAID5, а значит вероятность отказа выше, и нельзя говорить о том, что на время восстановления RAID10 однозначно надёжнее.
Дополнение:
Если используется RAID-5EE, то в случае первого отказа он «сжимается» в RAID-5, что может занять очень длительное время. Однако, следует учитывать, что в результате получается полноценный RAID-5, который устойчив к одиночным отказам, т.е. фактически (при некоторых ограничениях) система может пережить два отказа подряд.
Загрузка процессора:
Программная реализация RAID5 нагружает процессор. Для современных процессоров, это как правило не критично, но для быстрых накопителей нужно иметь в виду, что чем быстрее накопитель, тем сильнее нагрузка на процессор.
И снова надёжность — последний гвоздь в крышку гроба:
Почему-то при разговоре о RAID10 и особенно о RAID1 все упускают из вида один очень важный момент.
Да, в случае физического отказа накопителя он обеспечивет восстановление данных из копии, но что будет, если накопители вернут разные данные? Ведь в RAID1 нет способа узнать какие данные верны! Можно попытаться определить достоверность данных по их содержанию, но это не тривиальная задача, которая может быть выполнена только вручную, причём, далеко не всегда.
Именно по этой причине я вообще не рассматриваю здесь RAID1 — он не обеспечивает механизма контроля достоверности данных. И RAID10 в общем случае тоже.
А RAID5 (6?) в общем случае очень даже обеспечивает — если один из трёх накопителей вернёт неверные данные, то будет однозначно известно, что они не достоверны.
Как такое (недостоверность данных) может случиться?
Проблемы с перегревом дисков. Проблемы с питанием. Проблемы с прошивкой дисков. Масса вариантов! Вплоть до полного выгорания электроники в результате выхода их строя компьютерного источника питания. В таком случае диски можно попытаться оживить, поставив платы с аналогичных устройств, но не будет гарантии, что все данные на дисках достоверны.
И ещё один гвоздик туда же. В топике с которого всё началось много расписано про BER (bit error rates). Не вдаваясь в подробности лишь замечу что, во-первых, для жёстких дисков все же принято больше говорить о MTBF (mean time between failures), во-вторых, если и говорить о BER, то о UBER (uncorrectable bit error rates), а, в-третьих, это будет аргумент в пользу RAID5 — если накопители вернут искажённые данные (которые прошли через все процедуры коррекции), то как узнать какому накопителю верить?
Дополнение:
Вики говорит обратное — информация для восстановления не используется до тех пор, пока один из дисков не выйдет из строя. Жизненный опыт, правда, говорит иначе, но это было давно и я даже не помню на каком контроллере (возможно это был один нестандартных уровней RAID). Так что однозначно о достоверности данных можно говорить лишь для ZFS/RAID-6.
Вердикт:
Вердикт прост — если не нужны лишние проблемы на ровном месте, то не нужно городить ни RAID1 ни RAID0+1 — нужно смотреть в сторону RAID5, 5E, 6, ZFS
Вердикт по отношению к «чистому» RAID5 не однозначен :)
Udpate:
Поправил расчёт вероятности — вывод не изменился. Поправил «RAID0+1» на «RAID10». Замечу, что в описываемом случае «RAID0+1» идентичен «RAID1+0». Но корректное название конечно же «RAID10».
Udpate2:
Вот так легко и не замысловато смысл статьи изменился если и не на противоположный, то уж точно кардинально.
Уровень RAID 5 используется, пожалуй, чаще всего. Он обеспечивает как страйпинг, так и вычисление и хранение контрольных сумм на случай необходимости коррекции/восстановления. В RAID 5 блок четности распределяется по всем дискам в массиве, обеспечивая более сбалансированную нагрузку на них. Контрольные суммы используются при коррекции/восстановлении данных в случае отказа одного из дисков. Для построения RAID 5 необходимо, как минимум, 3 диска (мы настоятельно рекомендум использовать, как минимум 4).
(+) : отказоустойчивость.
(+) : экономичность (в смысле полезного количества используемых дисков).
(+) : при чтении (по сравнению с отдельным винчестером) имеется выигрыш, потому что потоки данных с нескольких накопителей массива обрабатываются параллельно.
(-) : медленный цикл записи (2 операции чтения и 2 записи требуются для записи одного блока).
(-) : при выходе из строя одного из дисков — весь том переходит в критический режим (degrade), все операции записи и чтения сопровождаются дополнительными манипуляциями, резко падает производительность. При этом уровень надежности снижается до надежности одиночного диска. Если до полного восстановления массива выйдет из строя хотя бы еще один диск, то массив разрушается, и данные на нем восстановлению обычными методами не подлежат.
С томом RAID 5 можно использовать диск Hotspare . Основное время дополнительный диск простаивает, но при выходе из строя одного из дисков массива, его восстановление начинается немедленно с использованием Hotspare -диска.
При использовании одного тома RAID 5 данная конфигурация дисков является расточительной, эффективнее использовать RAID 6 . Целесообразность использования Hotspare -диска проявляется в системе из нескольких томов RAID 5 , в которой Hotspare диск назначен для каждого из томов RAID 5 , и может быть использован в случае необходимости для немедленного восстановления одного из томов.
Минимальное количество дисков: 3 (но лучше, как минимум, 4).
Результирующая емкость массива с использование RAID 5 составляет где N - количество дисков в массиве, а C - их емкость.
Разбираем работу SSD Kingston в самых популярных типах RAID — “1”, “5”, “10”, “50”
Итак, “нулевой” уровень RAID не обеспечивает избыточности данных, а только увеличивает производительность. Никакой защиты данных RAID 0 не предоставляет вообще, поэтому в рамках корпоративного сегмента мы его рассматривать не будем. RAID 1, с другой стороны, обеспечивает полную избыточность, но лишь скромный прирост производительности, и поэтому его следует рассматривать в том случае, если повышение производительности не является основополагающим фактором при создании RAID-массива из SSD.
Читайте также: