Какой рейд сделать из 4 дисков
Чтобы компенсировать «врожденную» медлительность там, где она вообще не к месту (речь идет в первую очередь о серверах и высокопроизводительных ПК) придумали использовать так называемый дисковый массив RAID — некую «связку» из нескольких одинаковых винчестеров, работающих параллельно. Такое решение позволяет значительно поднять скорость работы вкупе с надежностью.
Что такое RAID массив и зачем он вам нужен
В первую очередь, RAID массив позволяет обеспечить высокую отказоустойчивость для жестких дисков (HDD) вашего компьютера, за счет объединения нескольких жестких дисков в один логический элемент. Соответственно, для реализации данной технологии вам понадобятся как минимум два жестких диска. Кроме того, RAID это просто удобно, ведь всю информацию, которую раньше приходилось копировать на резервные источники (флешки, внешние винчестеры), теперь можно оставить «как есть», ибо риск её полной потери минимален и стремится к нулю, но не всегда, об этом чуть ниже.
RAID переводится примерно так: защищенный набор недорогих дисков. Название пошло еще с тех времен, когда объемные винчестеры стоили сильно дорого и дешевле было собрать один общий массив из дисков, объемом поменьше. Суть с тех пор не поменялась, в общем-то как и название, только теперь можно сделать из нескольких HDD большого объема просто гигантское хранилище, либо сделать так, что один диск будет дублировать другой. А еще можно совместить обе функции, тем самым получить преимущества одной и второй.
Все эти массивы находятся под своими номерами, скорее всего вы о них слышали — рейд 0, 1. 10, то есть массивы разных уровней.
Разновидности RAID
Скоростной Рейд 0
Рейд 0 не имеет ничего схожего с надежностью, ведь он только повышает скорость. Вам необходимо как минимум 2 винчестера и в этом случае данные будут как бы «разрезаться» и записываться на оба диска одновременно. То есть вам будет доступен полностью объем этих дисков и теоретически это значит, что вы получаете в 2 раза более высокую скорость чтения/записи.
Но, давайте представим, что один из этих дисков сломался — в этом случае неизбежна потеря ВСЕХ ваших данных. Иначе говоря, вам все равно придется регулярно делать бекапы, чтобы иметь возможность потом восстановить информацию. Здесь обычно используется от 2 до 4 дисков.
Рейд 1 или «зеркало»
Тут надежность не снижается. Вы получаете дисковое пространство и производительность только одного винчестера, зато имеете удвоенную надежность. Один диск ломается — информация сохранится на другом.
Массив уровня RAID 1 не влияет на скорость, однако объем — тут в вашем распоряжении лишь половина от общего пространства дисков, которых, к слову, в рейд 1 может быть 2, 4 и т.д., то есть — четное количество. В общем, главной «фишкой» рейда первого уровня является надежность.
Рейд 10
Совмещает в себе все самое хорошее из предыдущих видов. Предлагаю разобрать — как это работает на примере четырех HDD. Итак, информация пишется параллельно на два диска, а еще на два других диска эти данные дублируются.
Как результат — увеличение скорости доступа в 2 раза, но и объем только лишь двух из четырех дисков массива. Но вот если любые два диска сломаются — потери данных не произойдет.
Рейд 5
Этот вид массива очень схож с RAID 1 по своему назначению, только теперь уже надо минимум 3 диска, один из них будет хранить информацию, необходимую для восстановления. К примеру, если в таком массиве находится 6 HDD, то для записи информации будут использованы всего 5 из них.
Из-за того, что данные пишутся сразу на несколько винчестеров — скорость чтения получается высокая, что отлично подойдет для того, чтобы хранить там большой объем данных. Но, без дорогущего рейд-контроллера скорость будет не сильно высокой. Не дай БОГ один из дисков поломается — восстановление информации займет кучу времени.
Рейд 6
Этот массив может пережить поломку сразу двух винчестеров. А это значит, что для создания такого массива вам потребуется как минимум четыре диска, при всем при том, что скорость записи будет даже ниже, нежели у RAID 5.
Учтите, что без производительного рейд-контроллера такой массив (6) собрать вряд ли удастся. Если у вас в распоряжении всего 4 винчестера, лучше собрать RAID 1.
Как создать и настроить RAID массив
Рейд массив можно сделать путем подключения нескольких HDD к материнской плате компьютера, поддерживающей данную технологию. Это означает, что у такой материнской платы есть интегрированный контроллер, который, как правило, встраивается в южный мост чипсета. Но, контроллер может быть и внешний, который подключается через PCI или PCI-E разъем. Каждый контроллер, как правило, имеет свое ПО для настройки.
Рейд может быть организован как на аппаратном уровне, так и на программном, последний вариант — наиболее распространен среди домашних ПК. Встроенный в материнку контроллер пользователи не любят за плохую надежность. Кроме того в случае повреждения материнки восстановить данные будет очень проблематично. На программном уровне роль контроллера играет центральный процессор, в случае чего —можно будет преспокойно перенести ваш рейд массив на другой ПК.
Аппаратный
Как же сделать RAID массив? Для этого вам необходимо:
- Достать где-то материнскую плату с поддержкой рейда (в случае аппаратного RAID);
- Купить минимум два одинаковых винчестера. Лучше, чтобы они были идентичны не только по характеристикам, но и одного производителя и модели, и подключались к мат. плате при помощи одного интерфейса.
- Перенесите все данные с ваших HDD на другие носители, иначе в процессе создания рейда они уничтожатся.
- Далее, в биосе потребуется включить поддержку RAID, как это сделать в случае с вашим компьютером — подсказать не могу, по причине того, что биосы у всех разные. Обычно этот параметр называется примерно так: «SATA Configuration или Configure SATA as RAID».
- Затем перезагрузите ПК и должна будет появиться таблица с более тонкими настройками рейда. Возможно, придется нажать комбинацию клавиш «ctrl+i» во время процедуры «POST», чтобы появилась эта таблица. Для тех, у кого внешний контроллер скорее всего надо будет нажать «F2». В самой таблице жмем «Create Massive» и выбираем необходимый уровень массива.
После создания raid массива в BIOS, необходимо зайти в «управление дисками» в ОС Windows 7–10 и отформатировать не размеченную область — это и есть наш массив.
Программный
Для создания программного RAID ничего включать или отключать в BIOS не придется. Вам, по-сути, даже не нужна поддержка рейда материнской платой. Как уже было упомянуто выше, технология реализовывается за счет центрального процессора ПК и средств самой винды. Ага, вам даже не нужно ставить никакое стороннее ПО. Правда таким способом можно создать разве что RAID первого типа, который «зеркало».
Жмем правой кнопкой по «мой компьютер»—пункт «управление»—«управление дисками». Затем щелкаем по любому из жестких, предназначенных для рейда (диск1 или диск2) и выбираем «Создать зеркальный том». В следующем окне выбираем диск, который будет зеркалом другого винчестера, затем назначаем букву и форматируем итоговый раздел.
В данной утилите зеркальные тома подсвечиваются одним цветом (красным) и обозначены одной буквой. При этом, файлы копируются на оба тома, один раз на один том, и этот же файл копируется на второй том. Примечательно, что в окне «мой компьютер» наш массив будет отображаться как один раздел, второй раздел как бы скрыт, чтобы не «мозолить» глаза, ведь там находятся те же самые файлы-дубли.
Если какой то винчестер выйдет из строя, появится ошибка «Отказавшая избыточность», при этом на втором разделе все останется в сохранности.
Подытожим
RAID 5 нужен для ограниченного круга задач, когда гораздо большее (чем 4 диска) количество HDD собрано в огромные массивы. Для большинства юзеров рейд 1 — лучший вариант. К примеру, если есть четыре диска емкостью 3 терабайта каждый — в RAID 1 в таком случае доступно 6 терабайт объема. RAID 5 в этом случае даст больше пространства, однако, скорость доступа сильно упадет. RAID 6 даст все те же 6 терабайт, но еще меньшую скорость доступа, да еще и потребует от вас дорогого контроллера.
Добавим еще RAID дисков и вы увидите, как все поменяется. Например, возьмем восемь дисков все той же емкости (3 терабайта). В RAID 1 для записи будет доступно всего 12 терабайт пространства, половина объема будет закрыта! RAID 5 в этом примере даст 21 терабайт дискового пространства + можно будет достать данные из любого одного поврежденного винчестера. RAID 6 даст 18 терабайт и данные можно достать с любых двух дисков.
В общем, RAID — штука не дешевая, но лично я бы хотел иметь в своем распоряжении RAID первого уровня из 3х-терабайтных дисков. Есть еще более изощренные методы, вроде RAID 6 0, или «рейд из рейд массивов», но это имеет смысл при большом количестве HDD, минимум 8, 16 или 30 — согласитесь, это уже далеко выходит за рамки обычного «бытового» использования и пользуется спросом по большей части в серверах.
Вот как-то так, оставляйте комментарии, добавляйте сайт в закладки (для удобства), будет еще много интересного и полезного, и до скорых встреч на страницах блога!
Калькулятор для расчета эффективности использования дискового пространства различных уровней RAID.
Уровень RAID
RAID 0 — массив дисков с чередованием данных (страйп). Подробнее
RAID 1 — зеркалированный массив дисков (зеркало). Подробнее
RAID 3 — массив дисков с побайтным чередованием с одним выделенным диском четности на группу. Подробнее
RAID 4 — массив дисков с поблочным чередованием с одним выделенным диском четности на группу. Подробнее
RAID 5 — массив дисков с поблочным чередованием с одной контрольной суммой. Подробнее
RAID 6 — массив дисков с поблочным чередованием с двумя контрольными суммами. Подробнее
RAID DP — модификация RAID 6 в линейке продукции FAS компании NetApp,
под контрольные суммы выделяются два отдельных диска. Подробнее
RAID 10 — массив дисков с зеркалированием и чередованием. Подробнее
RAID 50 — массив дисков, состоящий из чередования массивов RAID 5. Подробнее
RAID 60 — массив дисков, состоящий из чередования массивов RAID 6. Подробнее
Объем диска
1 терабайт (TB) = 1000 гигабайт (GB), 1 гигабайт (GB) = 1000 мегабайт (MB)
Вероятнее всего, диск указанного объема — SSD 2.5"
Вероятнее всего, диск указанного объема — SAS 2.5"
Вероятнее всего, диск указанного объема — NL SAS / SATA 3.5"
Количество дисков
Для построения RAID 0 требуется не менее 2 дисков
Для построения RAID 1 требуется не менее 2 дисков
Для построения RAID 3 требуется не менее 3 дисков
Для построения RAID 4 требуется не менее 3 дисков
Для построения RAID 5 требуется не менее 3 дисков
Для построения RAID 6 требуется не менее 4 дисков
Для построения RAID DP требуется не менее 4 дисков
Для построения RAID 10 требуется не менее 4 дисков и количество дисков должно быть четным
Для построения RAID 50 требуется не менее 6 дисков и количество дисков должно быть четным
Для построения RAID 60 требуется не менее 8 дисков и количество дисков должно быть четным
RAID (Redundant Array of Independent Disks, избыточный массив независимых дисков) - это технология хранения одних и тех же информационных блоков на нескольких HDD или SSD-дисках, объединяемых в общую логическую структуру.
Массивы RAID задействуются в серверах или системах хранения данных, чтобы сделать их более отказоустойчивыми и производительными, помогают расширять общее пространство памяти, стабилизировать дисковое пространство и защищать информацию при утрате работоспособности одним из носителей в структуре массива.
Типы RAID и степени их надежности
В массивах RAID задействуются диски, работающие в различных режимах и имеющие широкий функционал. Структура массива во многом определяет скорость и бесперебойность работы сервера и сохранность размещенных в нем данных, и в зависимости от этого RAID-массивы делятся на типы (или уровни):
- RAID 0 (Stripe, или режим чередования). Массивы этого уровня используются для значительного повышения производительности работы дисковой подсистемы. Массив работает по схеме разбивки всех данных на блоки и записи каждого блока на индивидуальный носитель. Данный массив применяется на серверах, передающих значительные объемы информации на высокой скорости;
- RAID 1 (Mirror, режим зеркалирования) - этот массив обладает высоким уровнем надежности, поскольку все данные в нем записываются на каждый логический диск, состоящий из пары физических. Если один из дисков выйдет из строя, другой сможет стать его заменой, дублируя его функционал. Данный рейд ускоряет чтение информации, потому что данные могут считываться с обоих дисков одновременно;
- RAID 5. Эти массивы состоят из трех и более носителей (один из которых является диском четности), что дает RAID 5 возможность выделения значительных логических блоков под размещение информации, а также обеспечивает условия для параллельной записи. Производительность таких массивов наращивают, добавляя дополнительные диски;
- в массивы RAID 6 встроены два диска данных и два диска контроля четности, что существенно повышает производительность этих рейдов и поддерживает их работоспособность после одновременного выхода из строя любых двух дисков. RAID 6 устанавливаются в серверах с повышенными требованиями к надежности;
- RAID 10 (1+0) - микс RAID-массивов 1 и 0, который характеризуется высокими производительностью и отказоустойчивостью. В таких массивах содержится обязательно четное количество дисков (минимально - 4), что делает их самым надежным вариантом архивирования информации;
- RAID 50 - микс RAID массивов 5 и 0, построенный по схеме создания RAID 5, но не из самостоятельных жестких дисков, а из массивов RAID 0. Это решение отличается хорошей отказоустойчивостью, высокой скоростью передачи данных и обработки запросов.
Также существуют Hybrid RAID, сочетающие в себе RAID-массивы обычных уровней и дополненные специальным ПО и SSD-дисками (в качестве кэша для чтения данных). Этот тип массивов устанавливается в основном в файловые серверы и виртуальные вычислительные машины.
На изображении отражена пирамида RAID-массивов, которая иллюстрирует их преимущества.
Что нужно для создания массива RAID
При создании структуры дисковых массивов RAID могут задействоваться и жесткие диски, и твердотельные накопители (но не одновременно). При этом рейды целесообразнее создавать из HDD, потому что массивы, «смонтированные» из SSD, имеют сложности в обновлении прошивки, затрудненное отслеживание работоспособности, а накопители в таких системах выходят из строя одновременно.
Объединение дисков в RAID-массив проводится при помощи контроллера, который может быть физическим устройством (адаптером) или утилитой ОС. В зависимости от разновидности контроллера массивы RAID делятся на:
- аппаратные - формируются при установке отдельных контроллеров с индивидуальным процессором и кэшируемой памятью. Такие массивы выполняют все дисковые операции. Аппаратные RAID считаются наиболее производительными и надежными в эксплуатации массивами;
- программные - данный вид RAID-массивов создается при помощи средств ОС, при этом всей работой с данными «занимается» центральный процессор. По своей стоимости RAID на основе утилит ОС дешевле аппаратных, но их производительность очень мала.
Также существуют интегрированные аппаратные Fake-RAID - микрочипы, «привязанные» к материнским платам. Эти микрочипы работают в «связке» с центральным процессором и выполняют некоторые элементы функционала аппаратного RAID-контроллера. Fake-RAID-массивы имеют удовлетворительно высокую скорость работы, но при этом очень ненадежны.
Самым применяемой технологией формирования RAID-массивов считается аппаратная, но она же является и наиболее затратной.
Методика расчетов необходимого количества дисков
При расчете количества дисков, требующихся для формирования RAID-массивов, следует учитывать:
- технологию диска. Так, SATA поддерживают меньшие массивы, чем SAS /FC;
- ограничения RAID-контроллера. Если контроллер действует по SCSI, и каждому из видимых дисков присваивается LUN, правилу 7/14 дается значение true, а при поддержке контроллера, основанного на FibreChannel, в массиве может работать свыше 120 видимых дисков;
- процессор RAID-контроллера. CPU на RAID-контроллере станет ограничителем скорости записи данных независимо от типа контроля четности;
- ширину шины. SCSI и FibreChannel имеют свои лимиты поддержки контроллера при размещении элементов RAID на разных каналах в повышении параллельности и производительности.
Для расчетов эффективности дискового пространства различных уровней RAID используются специальные калькуляторы, исходными данными в которых являются уровень массива, объем и параметры диска, количество дисков в RAID-группе.
У многих людей есть домашний ПК, на котором хранятся тонны информации: фото, видео, документы, рабочие материалы и так далее. Максимально обезопасить эти файлы и увеличить скорость доступа к ним, нам поможет технология RAID.
Введение
Массовость востребованности и задействования цифровых электронных ресурсов послужила их стремительному росту, и ежедневно используемый объем таких материалов многократно вырос, что в свою очередь требует наличия особых инструментов для хранения и обеспечения непосредственного прямого доступа при необходимости в любой момент времени согласно соответствующего обращения пользователей.
Современные образцы запоминающих устройств используют прогрессивные конструктивные решения, позволяющие значительно повышать внутренний объем доступного дискового пространства, предлагаемый одним накопителем. А внутренняя организация современных компьютеров предполагает использование нескольких высоко емких дисков в одном устройстве для увеличения пригодного для использования дискового массива.
Однако немаловажным фактором безусловно является защита и надежность хранения пользовательских данных, должный уровень которой не всегда удается обеспечить на компьютерных устройствах при стандартной организации доступных запоминающих устройств. Поэтому можно задействовать определенную форму представления и системного взаимодействия дисковых накопителей, именуемую «RAID» , для совокупного объединения нескольких физических жестких дисков в один общий логический диск. Данный метод конечной организации, в самой начальной и простой форме представления, позволяет зазеркалить пользовательские данные на двух жестких дисках, гарантируя, что все важные данные будут сохранены в нескольких несвязанных местах и доступны при любом стечении непредвиденных губительных или повреждающих факторов.
Основной принцип формирования единого дискового пространства «RAID» ( «избыточный массив независимых (самостоятельных) дисков» ) предполагает использование единого логического модуля объединенных жестких дисков для повышения отказоустойчивости и обеспечения исполняемости различных элементов пользовательских данных за счет зеркальных копий, хотя существует тип построения массива «RAID» , который не обеспечивает избыточности информационных материалов и направлен только на повышение производительности.
Уровни «RAID»
«RAID» массив представляет собой не просто способ объединения дисков, а совокупно оснащен объединяющей функциональной технологией виртуализации данных с различными показателями надежности, скорости чтения-записи, эффективной емкости и поддерживаемого допустимого значения количества вышедших из строя дисков. Существует несколько утвержденных спецификаций «RAID» , которые обеспечивают разные степени производительности и избыточности. Все уровни «RAID» имеют одну общую черту: они объединяют несколько физических дисков в один логический диск, представленный затем в операционной системе.
Наиболее распространенными уровнями «RAID» , которые были приняты в качестве стандарта, являются:
«RAID 0» : В отличие от других уровней «RAID» , спецификация «RAID 0» не обеспечивает избыточности. Тем не менее, «RAID 0» позволяет повысить производительность, используя несколько дисков. Когда пользователи используют «RAID 0» , то данные, которые персональный компьютер записывает на жесткий диск, делятся на информационные блоки фиксированной длины и равномерно распределяются между двумя (или более) жесткими дисками. Например, если компьютер записывает файл размером «100 МБ» в массиве «RAID 0» состоящем из двух дисков, то «50 МБ» будут записаны на первый жесткий диск, а оставшиеся «50 МБ» будут записаны на другой жесткий диск пропорционально. Когда компьютеру необходимо обратиться к сохраненному в массиве файлу, он может прочитать каждый из блоков, непосредственно расположенный на соответствующем диске, тем самым значительно увеличивая скорость чтения востребованной информации, чем при попытке произвести данную операцию по чтению полноразмерного «100 МБ» файла с одного жесткого диска. Однако, если какой-либо из жестких дисков в «RAID-массиве» будет испорчен или придет в негодность, то записанные данные будут утеряны полностью. Когда пользователи используют формат «RAID 0» , то совокупный объем диска становиться гораздо больше, за счет учета доступного пространства каждого из входящих в массив запоминающих устройств, все операции происходят гораздо быстрее, и как следствие повышается общий уровень производительности, но страдает степень надежности хранения данных и велика вероятность безвозвратной утери данных при поломке любого из дисков.
«RAID 1» : В формате построения массива «RAID 1» два диска настроены на режим полного зеркалирования информационного наполнения друг друга (не стоит путать с массивами «RAID 1+0» ( «RAID 10» ), «RAID 0+1» ( «RAID 01» ), в которых используются более сложная архитектурная модель зеркального сохранения информации). Когда персональный компьютер записывает «100 МБ» данных, он записывает одинаковый полноценный объем в «100 МБ» на каждый, из входящих в массив, жесткий диск. И по завершению операции записи, полная копия данного информационного объема расположена на обоих дисках. Такой вариант хранения данных гарантирует, что в случае отказа одного из дисков у пользователей всегда будет полная и актуальная копия утраченных данных. Формат «RAID 1» обеспечивает чрезвычайно высокую надежность, поддерживая работоспособность массива до тех пор, пока функционирует хотя бы один диск в доступном объединении дисков, предлагает приемлемую, сопоставимую с предыдущим форматом «RAID 0» , скорость чтения и достаточную среднюю скорость записи данных. Но за высокую надежность пользователям приходится мирится с недостатком, что по цене двух жестких дисков фактически доступен объем лишь одного из них.
«RAID 5» : Для использования порядка организации запоминающих устройств формата представления «RAID 5» пользователям потребуется наличие, как минимум, трех жестких дисков. «RAID 5» использует принцип чередования, для цикличной записи блоков данных и дополнительных контрольных сумм четности, по всем жестким дискам. И если один из жестких дисков испортиться, свои данные пользователи не потеряют. Массив «RAID 5» обеспечивает избыточность данных с меньшими затратами на хранение, чем зеркальный «RAID 1» . Например, при наличии четырех жестких дисков объемом по «1 ТБ» , пользователи могут создать два отдельных массива «RAID 1» (по «1 ТБ» каждый, ввиду использования дисков для хранения зеркальных копий, что позволит получить общее пространство для хранения в «2 ТБ» ) или один массив «RAID 5» с доступными «3 ТБ» дискового пространства на одних и тех же накопителях. В «RAID 5» , в отличие от предыдущих, считающихся многими пользователями утратившими актуальность форматами «RAID 2, 3 и 4» , проблемы с невозможностью ведения параллельных операций записи не существует, поэтому данный формат очень экономичный и способен поддерживать высокую скорость чтения. Однако при записи в произвольном порядке его производительность заметно снижается, а при выходе отдельного диска из строя также уменьшается и надежность всего массива, связанная с задействованием значительных ресурсов для восстановления.
«RAID 6» : Массив «RAID 6» аналогичен «RAID 5» , но обладает более высокой степенью надежности за счет введения дополнительного блока контроля четности, получая в конечном итоге основное количество доступных дисков для записи данных за исключением двух оставшихся дисков, направленных на исправление ошибок в блоках данных посредством учета параметров четности. Пользователи несколько теряют в объеме общего дискового пространства, доступного для хранения информации, но взамен получают дополнительную защиту от потери данных. Например, если два жестких диска придут в негодность в конфигурации «RAID 5» , то пользователи потеряют свои данные. Но если произойдет аналогичная ситуация и два жестких диска будут испорчены или повреждены в конфигурации «RAID 6» , данные все еще останутся доступны для пользователей и не будут утеряны.
«RAID 10» : Способ конфигурационного построения дисковых накопителей «RAID 10» , также известный как «RAID 1 + 0» , делит данные между первичными дисками и копирует их на вторичные диски. Таким образом, спецификация «RAID 10» пытается обеспечить преимущества форматного уровня «RAID 0» (разделение данных на несколько дисков для повышения производительности) с преимуществами «RAID 1» (избыточность), зеркально создавая копии, с той лишь разницей, что вместо дисков, при формировании конфигурации типа «RAID 0» , используются сегменты, состоящие из массивов «RAID 1» . «RAID 10» безусловно очень надежный вариант хранения данных, поскольку выход его из строя возможен только при поломке всех накопителей, входящих в сегментальный массив «RAID 1» .
Есть и другие, нестандартные и комбинированные уровни «RAID» , известные и пригодные для использования, такие как «RAID 01» ( «RAID 0 + 1» ), «RAID 1E» , «RAID 7» и т.д.
Со времени первой публикации статьи, на forum.ibaseв ее обсуждении появилась масса интересных сообщений. Так что после чтения статьи рекомендую обязательно просмотреть топик на форуме.
В интернете есть масса статей с описанием 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 2-3-4
RAID 5
Для него нужно минимально 3 диска. Данные четности распределяются по всем дискам массива
Обычно говорится, что "RAID5 использует независимый доступ к дискам, так что запросы к разным дискам могут выполняться параллельно". Следует иметь в виду, что речь идет, конечно, о параллельных запросах на ввод-вывод. Если такие запросы идут последовательно (в SuperServer), то конечно, эффекта распараллеливания доступа на RAID 5 вы не получите. Разумеется, RAID5 даст прирост производительности, если с массивом будут работать операционная система и другие приложения (например, на нем будет находиться виртуальная память, TEMP и т. п.).
Объем дискового массива RAID5 расчитывается по формуле (n-1)*hddsize, где n – число дисков в массиве, а hddsize – размер одного диска. Например, для массива из 4-х дисков по 80 гигабайт общий объем будет 240 гигабайт.
Есть интересное мнение по поводу "непригодности" RAID5 для баз данных. Как минимум его можно рассматривать с той точки зрения, что для получения хорошей производительности RAID5 необходимо использовать специализированный контроллер, а не то, что есть по умолчанию на материнской плате.
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.
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 по разным физическим дискам производительность записи будет определяться самым медленным диском.
Читайте также: