Прислів'я "Поки грім не вдарить, мужик не перехреститься" знає майже кожен. Життєва вона: поки та чи інша проблема не торкнеться користувача впритул, той про неї навіть не замислиться. Помер блок живлення і прихопив із собою пару-трійку девайсів – користувач кидається шукати статті відповідної тематики про смачне та здорове харчування. Згорів або почав глючити від перегріву процесор - в "Вибраному" з'являється пара-трійка посилань на розлогі гілки форумів, на яких обговорюють охолодження CPU.

З жорсткими дисками та сама історія: щойно черговий гвинт, хруснувши на прощання головками, залишає наш тлінний світ, власник ПК починає метушитися, щоб забезпечити поліпшення життєвих умов накопичувача. Але навіть найбільш крутий кулер не може гарантувати диску довге і щасливе життя. На термін служби накопичувача впливає багато чинників: і шлюб на виробництві, і випадковий стусан корпусу ногою (особливо якщо кузов стоїть десь на підлозі), і пил, що пройшов крізь фільтри, і високовольтна перешкода, надіслана блоком живлення... Вихід один - резервне копіювання інформації, а якщо потрібен бекап на ходу, то саме час будувати RAID-масив, благо сьогодні майже кожна материнка має якийсь RAID-контролер.

На цьому місці ми зупинимося та зробимо короткий екскурс в історію та теорію RAID-масивів. Сама абревіатура RAID розшифровується як Redundant Array of Independent Disks (надлишковий масив незалежних дисків). Раніше замість independent вживали inexpensive (недорогий), але згодом це визначення втратило актуальність: недорогими стали майже всі дискові накопичувачі.

Історія RAID почалася у 1987 році, коли з'явилася на світ стаття "Корпус для надмірних масивів з дешевих дисків (RAID)", підписана товаришами Петерсоном, Гібсоном та Катцем. У замітці була описана технологія об'єднання кількох звичайних дисків масив для отримання більш швидкого і надійного накопичувача. Також автори матеріалу розповідали читачам про декілька типів масивів – від RAID-1 до RAID-5. Згодом до описаних майже двадцять років тому масивам додався RAID-масив нульового рівня, і він набув популярності. Так що ж є всі ці RAID-x? У чому їхня суть? Чому вони називаються надмірними? У цьому ми й намагатимемося розібратися.

Якщо говорити дуже простою мовою, то RAID - це така штука, яка дозволяє операційній системі не знати скільки дисків встановлено в комп'ютері. Об'єднання хардів у RAID-масив - процес, прямо протилежний розбиття єдиного простору на логічні диски: ми формуємо один логічний накопичувач на основі кількох фізичних. Для того щоб зробити це, нам буде потрібно або відповідний софт (про цей варіант ми навіть говорити не будемо - непотрібна це річ), або RAID-контролер, вбудований в материнку, або окремий PCI або PCI Express, що вставляється в слот. Саме контролер поєднує диски в масив, а операційна система працює вже не з HDD, а з контролером, який їй нічого непотрібного не повідомляє. А ось варіантів об'єднання кількох дисків в один існує безліч, точніше, близько десяти.

Якими є RAID?

Найпростіший з них – JBOD (Just a Bunch of Disks). Два вінчестери склеєні в один послідовно, інформація записується спочатку на один, а потім на інший диск без розбиття її на шматки та блоки. З двох накопичувачів по 200 Гбайт ми робимо один на 400 Гбайт, що працює практично з тією ж, а в реальності трохи меншою швидкістю, що і кожен з двох дисків.

JBOD є окремим випадком масиву нульового рівня, RAID-0. Зустрічається також інший варіант назви масивів цього рівня – stripe (смужка), повне найменування – Striped Disk Array without Fault Tolerance. Цей варіант також передбачає об'єднання n дисків в один з об'ємом, збільшеним у n разів, але диски об'єднуються не послідовно, а паралельно, і інформація на них записується блоками (об'єм блоку задає користувач при формуванні RAID-масиву).

Тобто у випадку, якщо на два накопичувачі, що входять до масиву RAID-0, потрібно записати послідовність цифр 123456, контролер розділить цей ланцюжок на дві частини - 123 і 456 - і першу запише на один диск, а другу - на інший. Кожен диск може передавати дані… ну, хай зі швидкістю 50 Мбайт/с, а сумарна швидкість двох дисків, дані з яких беруться паралельно, становить 100 Мбайт/с. Таким чином, швидкість роботи з даними повинна збільшитися в n разів (реально, звичайно, зростання швидкості менше, оскільки втрати на пошук даних і на передачу їх по шині ніхто не скасовував). Але цей приріст дається не так: при поломці хоча б одного диска інформація з усього масиву втрачається.

RAID-масив нульового рівня. Дані розбиваються на блоки та розкидаються по дисках. Контролю парності та резервування немає.

Тобто ніякої надмірності та ніякого резервування немає і близько. Вважати цей масив RAID-масивом можна лише умовно, проте він дуже популярний. Мало хто замислюється про надійність, адже її ніяк не виміряєш бенчмарками, зате всі розуміють мову мегабайт в секунду. Це не погано та не добре, просто таке явище є. Нижче ми поговоримо про те, як і рибку з'їсти, і зберегти надійність. Відновлення RAID-0 після збою

До речі, додатковий мінус stripe-масиву полягає у його непереносимості. Я не маю на увазі, що він погано переносить якісь окремі види їжі або, наприклад, господарів. На це йому начхати, але перенести кудись сам масив – це ціла проблема. Навіть якщо притягнути до друга обидва диски та драйвери контролера на додачу, не факт, що вони визначаться як один масив і вдасться скористатися даними. Більше того, відомі випадки, коли просте підключення (без запису чогось!) stripe-дисків до "нерідного" (відмінного від того, на якому формувався масив) контролеру призводило до псування інформації в масиві. Не знаємо, наскільки ця проблема актуальна зараз, з появою сучасних контролерів, але все ж таки радимо бути акуратнішими.


RAID-масив першого рівня із чотирьох дисків. Диски розбиті на пари, на накопичувачах усередині пари зберігаються однакові дані.

Перший по-справжньому "надлишковий" масив (і перший RAID, що з'явився на світ) - RAID-1. Його друга назва – mirror (дзеркало) – пояснює принцип роботи: всі відведені під масив диски розбиваються на пари, а інформація зчитується та записується відразу на обидва диски. Виходить, що кожен з дисків у масиві має точну копію. У такій системі зростає не тільки надійність зберігання даних, а й швидкість їх читання (читати можна відразу з двох вінчестерів), хоча швидкість запису залишається такою самою, як і в одного накопичувача.

Як можна здогадатися, обсяг такого масиву дорівнюватиме половині суми обсягів усіх вінчестерів, що до нього входять. Мінус такого рішення – хардів потрібно вдвічі більше. Але зате надійність цього масиву реально навіть не дорівнює подвійній надійності одиночного диска, а набагато вища за це значення. Вихід із ладу двох вінчестерів протягом… ну, скажімо, діб малоймовірний, якщо в справу не втрутився, наприклад, блок живлення. У той же час будь-яка розсудлива людина, побачивши, що один диск у парі вийшов з ладу, відразу його замінить, і навіть якщо відразу після цього віддасть кінці другий диск, інформація нікуди не подінеться.

Як бачите, і RAID-0, і RAID-1 мають свої недоліки. А як би їх позбутися? Якщо у вас є щонайменше чотири вінчестери, ви можете створити конфігурацію RAID 0+1. Для цього масиви RAID-1 поєднуються в масив RAID-0. Або навпаки, іноді створюють масив RAID-1 з кількох масивів RAID-0 (на виході вийде RAID-10, єдина перевага якого – менший час відновлення даних при виході одного диска з ладу).

Надійність такої конфігурації з чотирьох вінчестерів дорівнює надійності масиву RAID-1, а швидкість фактично така ж, як у RAID-0 (реально вона, швидше за все, буде трохи нижчою через обмежені можливості контролера). При цьому одночасний вихід з ладу двох дисків не завжди означає повну втрату інформації: це станеться лише у випадку, якщо зламаються диски, що містять одні й самі дані, що малоймовірно. Тобто якщо чотири диски розбиті на пари 1-2 і 3-4 і пари об'єднані в масив RAID-0, то лише одночасна поломка дисків 1 і 2 або 3 і 4 призведе до втрати даних, тоді як у разі передчасної смерті першого і третього, другого та четвертого, першого та четвертого або другого та третього вінчестерів дані залишаться в цілості та безпеці.

Однак головний недолік RAID-10 – висока вартість дисків. Проте ціну чотирьох (мінімум!) вінчестерів маленької не назвеш, особливо якщо реально нам доступний обсяг лише двох з них (про надійність і про те, скільки вона коштує, як ми вже говорили, мало хто думає). Велика (100%-а) надмірність зберігання даних дається взнаки. Все це призвело до того, що останнім часом популярності набув варіант масиву під назвою RAID-5. Для його реалізації потрібні три диски. Окрім самої інформації, контролер складує на накопичувачах масиву ще й блоки контролю парності.

Не будемо вдаватися до подробиць роботи алгоритму контролю парності, скажімо лише, що він дозволяє у разі втрати інформації на одному з дисків відновити її, використовуючи дані парності та живі дані з інших дисків. Блок парності має об'єм одного фізичного диска і рівномірно розподіляється по всіх вінчестерах системи так, що втрата будь-якого диска дозволяє відновити інформацію з нього за допомогою блоку парності на іншому диску масиву. Інформація розбивається на великі блоки і записується на диски по черзі, тобто за принципом 12-34-56 у випадку з тридисковим масивом.

Відповідно, загальний обсяг такого масиву – це обсяг усіх дисків мінус ємність одного з них. Відновлення даних, зрозуміло, відбувається не миттєво, але така система має високу продуктивність і запас надійності при мінімальній вартості (для масиву об'ємом 1000 Гбайт потрібно шість дисків по 200 Гбайт). Втім, продуктивність такого масиву все одно буде нижчою за швидкість stripe-системи: при кожній операції запису контролеру потрібно оновлювати ще й індекс парності.

RAID-0, RAID-1 і RAID 0+1, іноді ще RAID-5 – цими рівнями найчастіше вичерпуються можливості десктопних RAID-контролерів. Вищі рівні доступні лише складним системам, основою яких служать SCSI-винчестеры. Однак щасливі власники SATA-контролерів з підтримкою Matrix RAID (такі контролери вбудовані в південні мости ICH6R та ICH7R від компанії Intel) можуть скористатися перевагами масивів RAID-0 та RAID-1, маючи всього два диски, а ті, хто має плату з ICH7R , можуть об'єднати RAID-5 і RAID-0, якщо вони мають чотири однакових накопичувача.

Як це реалізується практично? Розберемо простіший випадок з RAID-0 і RAID-1. Припустимо, ви купили два харди по 400 Гбайт. Ви розбиваєте кожен із накопичувачів на логічні диски об'ємом 100 Гбайт та 300 Гбайт. Після цього за допомогою зашитої в BIOS утиліти Intel Application Accelerator RAID Option ROM ви поєднуєте 100-гігабайтні розділи в stripe-масив (RAID-0), а 300-гігабайтні - в масив Mirror (RAID-1). Тепер на швидкий диск об'ємом 200 Гбайт можна складати, скажімо, іграшки, відеоматеріал та інші дані, що вимагають високої швидкості дискової підсистеми і до того ж не дуже важливі (тобто ті, про втрату яких ви не будете дуже шкодувати), а на дзеркалізований 300- гігабайтний диск переміщаєте робочі документи, архів пошти, службовий софт та інші життєво необхідні файли. При виході з ладу одного диска ви позбавляєтеся того, що було розміщено на масиві stripe, але дані, розміщені вами на другому логічному диску, дублюються на накопичувачі, що залишився.

Об'єднання рівнів RAID-5 і RAID-0 має на увазі те, що частина обсягу чотирьох дисків відведена під швидкий stripe-масив, а інша частина (нехай це будуть 300 Гбайт на кожному диску) припадає на блоки даних та блоки парності, тобто ви отримуєте один надшвидкий диск об'ємом 400 Гбайт (4 х 100 Гбайт) та один надійний, але менш швидкий масив об'ємом 900 Гбайт 4 х 300 Гбайт мінус 300 Гбайт на блоки парності.

Як бачите, ця технологія вкрай перспективна, і буде непогано, якщо її підтримають інші виробники чіпсетів і контролерів. Дуже вже привабливо мати на двох дисках масиви різних рівнів, швидкі та надійні.

Ось, мабуть, і всі види RAID-масивів, які використовуються в домашніх системах. Однак у житті вам можуть зустрітися RAID-2, 3, 4, 6 і 7. Так що давайте подивимося, що це за рівні такі.

RAID-2. У масиву такого типу диски поділяються на дві групи - для даних і кодів корекції помилок, причому якщо дані зберігаються на n дисках, то для складування кодів корекції необхідно n-1 дисків. Дані записуються на відповідні вінчестери так само, як і RAID-0, вони розбиваються на невеликі блоки за кількістю дисків, призначених для зберігання інформації. Диски, що залишилися, зберігають коди корекції помилок, за якими у разі виходу будь-якого вінчестера з ладу можливе відновлення інформації. Метод Хеммінга давно застосовується в пам'яті типу ECC і дозволяє на льоту виправляти дрібні однобітові помилки, якщо вони раптом виникнуть, а якщо помилково буде передано два біти, це буде виявлено знову-таки за допомогою систем контролю парності. Втім, тримати заради цього громіздку структуру майже з подвійної кількості дисків нікому не хотілося, і цей вид масиву не отримав поширення.

Структура масиву RAID-3така: в масиві з n дисків дані розбиваються на блоки розміром 1 байт і розподіляються по n-1 дисків, а ще один диск використовується для зберігання парних парності. У RAID-2 для цієї мети стояло n-1 дисків, але більша частина інформації на цих дисках використовувалася тільки для корекції помилок на льоту, а для простого відновлення у разі поломки диска досить меншої її кількості вистачає і одного виділеного вінчестера.


RAID третього рівня з окремим диском для зберігання інформації про парність. Резервування немає, але дані можна відновити.

Відповідно, відмінності RAID-3 від RAID-2 очевидні: неможливість корекції помилок на льоту та менша надмірність. Переваги такі: швидкість читання та запису даних висока, а для створення масиву потрібно зовсім небагато дисків, лише три. Але масив цього хороший лише для однозадачной роботи з великими файлами, оскільки спостерігаються проблеми зі швидкістю при частих запитах даних невеликого обсягу.


Масив п'ятого рівня відрізняється від RAID-3 тим, що блоки парності поступово розкидані по всіх дисках масиву.

RAID-4схожий на RAID-3, але відрізняється від цього тим, що дані розбиваються на блоки, а чи не на байти. Таким чином вдалося "перемогти" проблему низької швидкості передачі даних невеликого обсягу. Запис проводиться повільно через те, що парність для блоку генерується при записі і записується на єдиний диск. Використовуються масиви такого типу дуже рідко.

RAID-6- це той же RAID-5, але тепер на кожному з дисків масиву зберігаються два блоки парності. Таким чином, при виході двох дисків з ладу, інформація все ще може бути відновлена. Зрозуміло, підвищення надійності призвело до зменшення корисного об'єму дисків і до збільшення мінімальної їх кількості: тепер за наявності n дисків у масиві загальний об'єм, доступний для запису даних, дорівнюватиме обсягу одного диска, помноженого на n-2. Необхідність обчислення відразу двох контрольних сум визначає другий недолік, успадкований RAID-6 від RAID-5 - низьку швидкість запису даних.

RAID-7- Зареєстрована марка компанії Storage Computer Corporation. Структура масиву така: на n-1 дисках зберігаються дані, один диск використовується для складування блоків парності. Але додалося кілька важливих деталей, покликаних ліквідувати головний недолік масивів такого типу: кеш даних та швидкий контролер, який завідує обробкою запитів. Це дозволило зменшити кількість звернень до дисків для обчислення контрольної суми даних. В результаті вдалося значно підвищити швидкість обробки даних (де-не-де в п'ять і більше разів).



Масив рівня RAID 0+1, або конструкція двох масивів RAID-1, об'єднаних в RAID-0. Надійно, швидко, дорого.

Додалися й нові недоліки: дуже висока вартість реалізації такого масиву, складність його обслуговування, необхідність безперебійника для запобігання втраті даних у кеш-пам'яті при перебоях харчування. Масив такого типу ви навряд чи зустрінете, а якщо раптом десь побачите його, пишіть нам, ми теж із задоволенням на нього подивимося.

Створення масиву

Сподіваюся, з вибором типу масиву ви вже впоралися. Якщо на платі є RAID-контролер, вам нічого, крім потрібної кількості дисків і драйверів цього самого контролера, не знадобиться. До речі, майте на увазі: є сенс об'єднувати в масиви тільки диски однакового обсягу, причому краще за одну модель. З дисками різного об'єму може відмовитися працювати контролер, і, швидше за все, ви зможете задіяти лише частину великого диска, що дорівнює обсягу меншому з дисків. Крім того, навіть швидкість stripe-масиву визначатиметься швидкістю найповільнішого з дисків. І моя вам порада: не намагайтеся зробити RAID-масив завантажувальним. Це можливо, але у разі виникнення будь-яких збоїв у системі вам доведеться нелегко, оскільки відновлення працездатності буде дуже утруднене. Крім того, небезпечно розміщувати кілька систем на такому масиві: майже всі програми, що відповідають за вибір ОС, вбивають інформацію зі службових областей вінчестера і, відповідно, псують масив. Краще вибрати іншу схему: один диск - завантажувальний, інші ж об'єднані в масив.



Matrix RAID у дії. Частина об'єму дисків використовується масивом RAID-0, частину простору, що залишилася, забирає масив RAID-1.

Кожен RAID-масив починається з BIOS RAID-контролера. Іноді (тільки у випадку з інтегрованими контролерами, та й то не завжди) він вбудований в основний BIOS материнки, іноді розташований окремо та активується після проходження самотестування, але у будь-якому випадку вам туди треба. Саме в BIOS задаються потрібні параметри масиву, а також розміри блоків даних, використовувані вінчестери і таке інше. Після того, як ви все це визначите, достатньо буде зберегти параметри, вийти з BIOS і повернутися до операційної системи.

Там обов'язково потрібно встановити драйвери контролера (як правило, дискета з ними додається до материнки або до самого контролера, але вони можуть бути записані на диск з іншими драйверами та службовим софтом), перезавантажитись, і все, масив готовий до роботи. Можете розбивати його на логічні диски, форматувати та заповнювати даними. Пам'ятайте лише про те, що RAID не є панацеєю. Він врятує вас від втрати даних при загибелі вінчестера і мінімізує наслідки такого результату, але не врятує від стрибків напруги в мережі та збоїв неякісного блоку живлення, який вбиває обидва диски відразу, без огляду на їхню "масивність".

Зневажливе ставлення до якісного живлення та температурного режиму дисків може суттєво скоротити термін життя HDD, буває, всі диски масиву виходять з ладу, а всі дані виявляються безповоротно втраченими. Зокрема, сучасні вінчестери (особливо IBM і Hitachi) дуже чутливі до каналу +12 В і не люблять навіть найменшої зміни напруги на ньому, так що перед закупівлею всього обладнання, необхідного для побудови масиву, варто перевірити відповідну напругу і за необхідності включити новий БП до списку покупок.

Живлення жорстких дисків, як і всіх інших комплектуючих, від другого блоку живлення, на перший погляд, реалізується просто, але в такій схемі живлення чимало підводних каменів, і потрібно сто разів подумати, перш ніж зважитися на такий крок. З охолодженням все простіше: необхідно лише забезпечити обдування всіх вінчестерів, плюс не ставте їх впритул один до одного. Прості правила, але, на жаль, дотримуються їх не всі. І випадки, коли обидва диски в масиві вмирають одночасно, нерідкі.

Крім того, RAID не скасовує необхідності регулярно виготовляти резервні копії даних. Зеркалювання дзеркалюванням, але якщо ви випадково зіпсуєте або зітрете файли, другий диск вам ніяк не допоможе. Так що робіть бекап щоразу, коли ви можете його робити. Це правило діє незалежно від наявності RAID-масивів усередині ПК.

Так що, are you RAIDy? Так? Чудово! Тільки в гонитві за об'ємом і швидкістю не забудьте інше прислів'я: "Примусь дурня Богу молитися, він і лоба розб'є". Міцних вам дисків та надійних контролерів!

Цінова вигода шумного RAID

RAID – це добре навіть без огляду на гроші. Але давайте порахуємо ціну найпростішого stripe-масиву об'ємом 400 Гбайт. Два диски Seagate Barracuda SATA 7200.8 по 200 Гбайт кожен обійдуться вам приблизно $230. RAID-контролери вбудовані в більшість материнських плат, тобто ми отримуємо їх безкоштовно.

У той же час 400-гігабайтний диск тієї ж моделі коштує $280. Різниця – $50, і на ці гроші можна придбати потужний блок живлення, який вам, безперечно, знадобиться. Я вже не кажу про те, що продуктивність складеного "диска" за більш низькою ціною буде майже вдвічі вищою за продуктивність одного вінчестера.

Проведемо тепер підрахунок, орієнтуючись загальний обсяг 250 Гбайт. Дисків по 125 Гбайт не існує, так що візьмемо два вінчестери по 120 Гбайт. Ціна кожного диска – $90, ціна одного 250-гігабайтного вінчестера – $130. Що ж, за таких обсягів за продуктивність доводиться платити. А якщо взяти 300-гігабайтний масив? Два диски по 160 Гбайт – приблизно $200, один на 300 Гбайт – $170… Знову не те. Виходить, що RAID вигідний тільки при використанні дисків дуже великого обсягу.

Масиви RAID були розроблені з метою підвищення надійності зберігання даних, збільшення швидкості роботи з і для забезпечення можливості об'єднання кількох дисків в один великий. Різні типи RAID вирішують різні завдання, тут ми розглянемо кілька найпоширеніших конфігурацій RAID масивів з однакових за розміром.



RAID 0

  • RAID 0(Stripe). Режим, за якого досягається максимальна продуктивність. Дані рівномірно розподіляються дисками масиву, об'єднуються в один, який може бути розмічений на кілька. Розподілені операції читання та запису дозволяють значно збільшити швидкість роботи, оскільки кілька одночасно читають/записують свою порцію даних. Користувачеві доступний весь обсяг, але це знижує надійність зберігання даних, оскільки при відмові одного з дисків масив зазвичай руйнується і відновити дані практично неможливо. Область застосування - програми, що вимагають високих швидкостей обміну з диском, наприклад, відеозахоплення, відеомонтаж. Рекомендується використовувати з високонадійними дисками.

    RAID 1
  • RAID 1(Mirror). Декілька дисків (зазвичай 2), що працюють синхронно на запис, тобто повністю дублюючі один одного. Підвищення продуктивності відбувається лише під час читання. Найнадійніший спосіб захистити інформацію від збою одного з дисків. Через високу вартість зазвичай використовується для зберігання дуже важливих даних. Висока вартість обумовлена ​​тим, що лише половина загальної ємності доступна для користувача.

    RAID 10
  • RAID 10, також іноді називається RAID 1+0- Комбінація двох перших варіантів. (Масив RAID0 з масивів RAID1). Має всі швидкісні переваги RAID0 і перевагу надійності RAID1, зберігаючи недолік - високу вартість дискового масиву, оскільки ефективна ємність масиву дорівнює половині ємності використаних у ньому дисків. Для створення такого масиву потрібно щонайменше 4 диски. (При цьому їх кількість має бути парною).
  • RAID 0+1- Масив RAID1 із масивів RAID0. Фактично не застосовується через відсутність переваг у порівнянні з RAID10 та меншою відмовостійкістю.

    RAID 1E
  • RAID 1E- Подібний до RAID10 варіант розподілу даних по дисках, що допускає використання непарного числа (мінімальна кількість - 3)
  • RAID 2, 3, 4- Різні варіанти розподіленого зберігання даних з дисками, виділеними під коди парності та різними розмірами блоку. В даний час практично не використовуються через невисоку продуктивність та необхідність виділяти багато дискової ємності під зберігання кодів ЕСС та/або парності.


    RAID 5
  • RAID 5- масив, що також використовує розподілене зберігання даних аналогічно RAID 0 (і об'єднання в один великий логічний) + розподілене зберігання кодів парності відновлення даних при збоях. Щодо попередніх конфігурацій розмір Stripe-блоку ще більше збільшено. Можливе як одночасне читання, і запис. Плюсом цього варіанта є те, що доступна для користувача ємність масиву зменшується на ємність лише одного диска, хоча надійність зберігання даних нижча, ніж у RAID 1. По суті є компромісом між RAID0 і RAID1, забезпечуючи досить високу швидкість роботи при непоганій надійності зберігання даних . При відмові одного диска з масиву, дані можуть бути відновлені без втрат в автоматичному режимі. Мінімальна кількість дисків для такого масиву – 3.
    "Програмні" реалізації RAID5, вбудовані в південні мости материнських плат, не відрізняються високою швидкістю запису, тому годяться далеко не для всіх застосувань.


    RAID 5EE
  • RAID 5EE- масив, аналогічний RAID5, проте крім розподіленого зберігання кодів парності використовується розподіл резервних областей - фактично задіюється , який можна додати масив RAID5 як запасного (такі масиви називають 5+ або 5+spare). У RAID 5 масиві резервний диск простоює до тих пір, поки не вийде з ладу один з основних , в той час як у RAID 5EE масиві цей диск використовується спільно з іншими HDD весь час, що позитивно впливає на продуктивність масиву. Наприклад, масив RAID5EE з 5 HDD зможе виконати на 25% більше операцій вводу/виводу за секунду, ніж RAID5 масив із 4 основних та одного резервного HDD. Мінімальна кількість дисків для такого масиву – 4.


    RAID 6
  • RAID 6- аналог RAID5 з великим рівнем надмірності - інформація не втрачається при відмові двох будь-яких дисків, відповідно, загальна ємність масиву зменшується на ємність двох дисків. Мінімальна кількість дисків, необхідне створення масиву такого рівня - 4. Швидкість роботи у випадку приблизно аналогічна RAID5. Рекомендується для застосування, де важлива максимально висока надійність.


    RAID 50
  • RAID 50- Об'єднання двох (або більше, але це дуже рідко застосовується) масивів RAID5 в страйп, тобто. комбінація RAID5 і RAID0, що частково виправляє головний недолік RAID5 - низьку швидкість запису даних за рахунок паралельного використання кількох таких масивів. Загальна ємність масиву зменшується на ємність двох , але, на відміну від RAID6, без втрати даних такий масив переносить відмову лише одного диска, а мінімально необхідна кількість дисків для створення масиву RAID50 дорівнює 6. Поряд з RAID10, це найбільш рекомендований рівень RAID для використання в додатках, де потрібна висока продуктивність у поєднанні з прийнятною надійністю.


    RAID 60
  • RAID 60- об'єднання двох масивів RAID6 у страйп. Швидкість запису підвищується приблизно вдвічі, щодо швидкості запису в RAID6. Мінімальна кількість дисків для створення такого масиву - 8. Інформація не втрачається при відмові двох дисків кожного RAID 6 масиву.
  • Matrix RAID- технологія, реалізована фірмою Intel у своїх південних мостах, починаючи з ICH6R, що дозволяє організувати лише на двох дисках кілька масивів RAID0 і RAID1, одночасно створюючи розділи як із підвищеною швидкістю роботи, так і з підвищеною надійністю зберігання даних.
  • JBOD(Від англійського "Just a Bunch Of Disks") - послідовне об'єднання кількох фізичних в один логічний, що не впливає на продуктивність (надійність при цьому падає аналогічно RAID0), при цьому можуть мати різні розміри. В даний час практично не застосовується.
  • Сергій Пахомов

    Всі сучасні материнські плати оснащені інтегрованим RAID-контролером, а топові моделі мають навіть кілька інтегрованих RAID-контролерів. Наскільки інтегровані RAID-контролери затребувані домашніми користувачами — окреме питання. У будь-якому випадку, сучасна материнська плата надає користувачеві можливість створення RAID-масиву з декількох дисків. Однак далеко не кожен домашній користувач знає, як створити RAID-масив, який рівень масиву вибрати, та й взагалі погано уявляє собі плюси та мінуси використання RAID-масивів.

    Історія створення

    Вперше термін "RAID-масив" з'явився в 1987 році, коли американські дослідники Паттерсон, Гібсон і Катц з Каліфорнійського університету Берклі у своїй статті "Надлишковий масив недорогих дисків" (A Case for Redundant Arrays of Inexpensive Discs, RAID) описали, яким можна об'єднати кілька дешевих жорстких дисків в один логічний пристрій так, щоб в результаті підвищувалися ємність і швидкодія системи, а відмова окремих дисків не призводив до відмови всієї системи.

    З моменту виходу цієї статті минуло вже понад 20 років, але технологія побудови RAID-масивів не втратила актуальності і сьогодні. Єдине, що змінилося з тих пір, це розшифровка абревіатури RAID. Справа в тому, що спочатку RAID-масиви будувалися зовсім не на дешевих дисках, тому слово Inexpensive (недорогі) поміняли на Independent (незалежні), що більше відповідало дійсності.

    Принцип дії

    Отже, RAID - це надлишковий масив незалежних дисків (Redundant Arrays of Independent Discs), на який покладається завдання забезпечення відмовостійкості та підвищення продуктивності. Відмовостійкість досягається за рахунок надмірності. Тобто частина ємності дискового простору приділяється для службових цілей, стаючи недоступною для користувача.

    Підвищення продуктивності дискової підсистеми забезпечується одночасною роботою кількох дисків, й у сенсі що більше дисків у масиві (до певної межі), краще.

    Спільну роботу дисків у масиві можна організувати за допомогою паралельного або незалежного доступу. При паралельному доступі дискове місце розбивається на блоки (смужки) для запису даних. Аналогічно інформація, що підлягає запису на диск, розбивається такі самі блоки. При записі окремі блоки записуються різні диски, причому запис кількох блоків різні диски відбувається одночасно, як і призводить до збільшення продуктивності в операціях записи. Потрібна інформація також зчитується окремими блоками одночасно з кількох дисків, що також сприяє зростанню продуктивності пропорційно до кількості дисків у масиві.

    Слід зазначити, що модель з паралельним доступом реалізується лише за умови, що розмір запиту на запис даних більший за розмір самого блоку. В іншому випадку здійснювати паралельний запис кількох блоків практично неможливо. Уявимо ситуацію, коли розмір окремого блоку становить 8 Кбайт, а розмір запиту запис даних — 64 Кбайт. І тут вихідна інформація нарізається на вісім блоків по 8 Кбайт кожен. Якщо є масив із чотирьох дисків, то одночасно можна записати чотири блоки, або 32 Кбайт, за один раз. Очевидно, що у розглянутому прикладі швидкість запису та швидкість зчитування виявляться вчетверо вище, ніж при використанні одного диска. Це справедливо лише для ідеальної ситуації, проте розмір запиту далеко не завжди кратний розміру блоку та кількості дисків у масиві.

    Якщо ж розмір записуваних даних менше розміру блоку, то реалізується інша модель — незалежний доступ. Більш того, ця модель може використовуватися і в тому випадку, коли розмір даних, що записуються більше розміру одного блоку. При незалежному доступі всі дані окремого запиту записуються окремий диск, тобто ситуація ідентична роботі з одним диском. Перевага моделі з незалежним доступом у тому, що при одночасному надходженні кількох запитів на запис (читання) всі вони виконуватимуться на окремих дисках незалежно один від одного. Така ситуація типова, наприклад, для серверів.

    Відповідно до різних типів доступу існують і різні типи RAID-масивів, які прийнято характеризувати рівнями RAID. Крім типу доступу, рівні RAID розрізняються способом розміщення та формування надмірної інформації. Надмірна інформація може або розміщуватись на спеціально виділеному диску, або розподілятися між усіма дисками. Способів формування цієї інформації досить багато. Найпростіший із них — це повне дублювання (100-відсоткова надмірність), або дзеркаловання. Крім того, використовуються коди з корекцією помилок, а також обчислення парності.

    Рівні RAID-масивів

    В даний час існує кілька рівнів RAID, які можна вважати стандартизованими, - це RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, RAID 5 і RAID 6.

    Застосовуються також різні комбінації RAID-рівнів, що дозволяє об'єднати їх переваги. Зазвичай це комбінація будь-якого стійкого до відмов і нульового рівня, що застосовується для підвищення продуктивності (RAID 1+0, RAID 0+1, RAID 50).

    Зазначимо, що всі сучасні RAID-контролери підтримують функцію JBOD (Just a Bench Of Disks), яка не призначена для створення масивів, вона забезпечує можливість підключення до RAID-контролера окремих дисків.

    Слід зазначити, що інтегровані на материнські плати для домашніх ПК RAID-контролери підтримують далеко ще не всі RAID-рівні. Двопортові RAID-контролери підтримують лише рівні 0 та 1, а RAID-контролери з великою кількістю портів (наприклад, 6-портовий RAID-контролер, інтегрований у південний міст чіпсету ICH9R/ICH10R) – також рівні 10 та 5.

    Крім того, якщо говорити про материнські плати на чіпсетах Intel, то в них також реалізована функція Intel Matrix RAID, яка дозволяє створити на декількох жорстких дисках одночасно RAID-матриці декількох рівнів, виділивши для кожної частини дискового простору.

    RAID 0

    RAID рівня 0, строго кажучи, не є надмірним масивом і не забезпечує надійності зберігання даних. Проте цей рівень активно застосовується у випадках, коли необхідно забезпечити високу продуктивність дискової підсистеми. Під час створення RAID-масиву рівня 0 інформація розбивається на блоки (іноді ці блоки називають страйпами (stripe)), які записуються окремі диски, тобто створюється система з паралельним доступом (якщо, звісно, ​​це дозволяє розмір блоку). Завдяки можливості одночасного введення-виведення з кількох дисків, RAID 0 забезпечує максимальну швидкість передачі даних та максимальну ефективність використання дискового простору, оскільки не потрібне місце для зберігання контрольних сум. Реалізація цього рівня дуже проста. В основному RAID 0 застосовується у тих областях, де потрібна швидка передача великого обсягу даних.

    RAID 1 (Mirrored disk)

    RAID рівня 1 - це масив двох дисків зі 100-відсотковою надмірністю. Тобто дані при цьому просто повністю дублюються (дзеркалуються), за рахунок чого досягається дуже високий рівень надійності (як, втім, вартості). Зазначимо, що для реалізації рівня 1 не потрібно попередньо розбивати диски та дані на блоки. У найпростішому випадку два диски містять однакову інформацію та є одним логічним диском. При виході з ладу одного диска функції виконує інший (що абсолютно прозоро для користувача). Відновлення масиву виконується простим копіюванням. Крім того, цей рівень подвоює швидкість зчитування інформації, оскільки ця операція може виконуватись одночасно з двох дисків. Подібна схема зберігання інформації використовується в основному в тих випадках, коли ціна безпеки даних набагато вища за вартість реалізації системи зберігання.

    RAID 5

    RAID 5 — це стійкий до відмов дисковий масив з розподіленим зберіганням контрольних сум. При записі потік даних розбивається на блоки (страйпи) лише на рівні байтів і одночасно записуються попри всі диски масиву в циклічному порядку.

    Припустимо, що масив містить nдисків, а розмір страйпу d. Для кожної порції з n-1страйпів розраховується контрольна сума p.

    Страйп d1записується на перший диск, страйп d2- на другий і так далі аж до страйпу dn-1, який записується на ( n-1)-й диск. Далі на n-й диск записується контрольна сума pn, і процес циклічно повторюється з першого диска, який записується страйп dn.

    Процес запису (n-1)страйпів та їх контрольної суми проводиться одночасно на всі nдисків.

    Для обчислення контрольної суми використовується порозрядна операція «виключає АБО» (XOR), що застосовується до блоків даних, що записуються. Так, якщо є nжорстких дисків, d- блок даних (страйп), то контрольна сума розраховується за такою формулою:

    pn = d1+d2+ ... + d1-1.

    У разі виходу з ладу будь-якого диска, дані на ньому можна відновити за контрольними даними та за даними, що залишилися на справних дисках.

    Як ілюстрацію розглянемо блоки розміром по чотири біти. Нехай є лише п'ять дисків для зберігання даних та запису контрольних сум. Якщо є послідовність бітів 1101001111001011, розбита на блоки по чотири біти, то для розрахунку контрольної суми необхідно виконати наступну порозрядну операцію:

    1101 + 0011 + 1100 + 1011 = 1001.

    Таким чином, контрольна сума, що записується на п'ятий диск, дорівнює 1001.

    Якщо один із дисків, наприклад четвертий, вийшов з ладу, то блок d4= 1100 виявиться недоступним під час зчитування. Однак його значення легко відновити за контрольною сумою і за значеннями інших блоків за допомогою тієї ж операції «що виключає АБО»:

    d4 = d1+d2+d4+p5.

    У нашому прикладі отримаємо:

    d4 = (1101) + (0011) + (1100) + (1011) = 1001.

    У випадку RAID 5 всі диски масиву мають однаковий розмір, проте загальна ємність дискової підсистеми, доступної для запису, стає менше одного диска. Наприклад, якщо п'ять дисків мають розмір 100 Гбайт, фактичний розмір масиву становить 400 Гбайт, оскільки 100 Гбайт відводиться на контрольну інформацію.

    RAID 5 може бути побудований на трьох жорстких дисках. Зі збільшенням кількості жорстких дисків у масиві його надмірність зменшується.

    RAID 5 має архітектуру незалежного доступу, що забезпечує можливість одночасного виконання кількох операцій зчитування чи запису

    RAID 10

    Рівень RAID 10 є деяким поєднанням рівнів 0 і 1. Мінімально для цього рівня потрібні чотири диски. У масиві RAID 10 з чотирьох дисків вони попарно об'єднуються в масиви рівня 0, а обидва ці масиви як логічні диски об'єднуються в масив рівня 1. Можливий інший підхід: спочатку диски об'єднуються в дзеркальні масиви рівня 1, а потім логічні диски на основі цих масивів - У масив рівня 0.

    Intel Matrix RAID

    Розглянуті RAID-масиви рівнів 5 та 1 рідко використовуються в домашніх умовах, що пов'язано насамперед із високою вартістю подібних рішень. Найчастіше для домашніх ПК застосовується саме масив рівня 0 двох дисках. Як ми вже зазначали, RAID рівня 0 не забезпечує безпеки зберігання даних, тому кінцеві користувачі стикаються з вибором: створювати швидкий, але не забезпечує надійності зберігання даних RAID-масив рівня 0 або, збільшуючи вартість дискового простору в два рази, — RAID- масив рівня 1, який забезпечує надійність зберігання даних, проте не дозволяє отримати суттєвого виграшу у продуктивності.

    Щоб вирішити цю нелегку проблему, корпорація Intel розробила технологію Intel Matrix Storage, що дозволяє об'єднати переваги масивів рівнів 0 і 1 всього на двох фізичних дисках. А для того, щоб підкреслити, що в даному випадку йдеться не просто про RAID-масив, а про масив, що поєднує в собі і фізичні та логічні диски, в назві технології замість слова "масив" використовується слово "матриця".

    Отже, що ж є RAID-матриця з двох дисків за технологією Intel Matrix Storage? Основна ідея полягає в тому, що за наявності в системі кількох жорстких дисків та материнської плати з чіпсетом Intel, що підтримує технологію Intel Matrix Storage, можливий поділ дискового простору на кілька частин, кожна з яких функціонуватиме як окремий RAID-масив.

    Розглянемо простий приклад RAID-матриці із двох дисків по 120 Гбайт кожен. Будь-який з дисків можна розбити на два логічні диски, наприклад по 40 і 80 Гбайт. Далі два логічні диски одного розміру (наприклад, по 40 Гбайт) можна об'єднати в RAID-матрицю рівня 1, а логічні диски, що залишилися, — в RAID-матрицю рівня 0.

    В принципі, використовуючи два фізичні диски, також можна створити всього одну або дві RAID-матриці рівня 0, але отримати тільки матриці рівня 1 неможливо. Тобто якщо в системі є лише два диски, то технологія Intel Matrix Storage дозволяє створювати такі типи RAID-матриць:

    • одна матриця рівня 0;
    • дві матриці рівня 0;
    • матриця рівня 0 та матриця рівня 1.

    Якщо в системі встановлено три жорсткі диски, то можливе створення наступних типів RAID-матриць:

    • одна матриця рівня 0;
    • одна матриця рівня 5;
    • дві матриці рівня 0;
    • дві матриці рівня 5;
    • матриця рівня 0 та матриця рівня 5.

    Якщо в системі встановлені чотири жорсткі диски, додатково є можливість створити RAID-матрицю рівня 10, а також комбінації рівня 10 і рівня 0 або 5.

    Наприкінці минулого тижня купив комплектуючі для комп'ютера та зіткнувся з низкою проблем при налаштуванні обладнання. Новий комп'ютер призначений для зберігання баз даних в офісі однієї фірми, отже, потрібен був RAID масив. Бюджет був близько 20 000 рублів, тому збирав на платформі AMD. Материнська плата ASUS M4A88TD-M та два однакових жорстких диска WD 500 Gb. Для налаштування RAID масиву HDD підключив до роз'ємів SATA0 і SATA1. Створював масив RAID 1, об'єднання жорстких дисків з підвищеною надійністю та стійкістю до відмови. Коли жорсткі диски дзеркалять один одного. Наведені нижче рекомендації підходять для налаштування RAID0, підвищення швидкості роботи дисків.

    Перше, зайшов до BIOS. Для моєї материнської плати натискання кнопки DEL під час завантаження, для плат інших фірм може бути F2. У налаштуваннях конфігурації SATA переключив режим IDE на RAID. Натиснув F10, щоб зберегти налаштування і перезавантажити комп'ютер.

    Друге, потрібно включити RAID масив. Це перший момент, на якому потрапив у ступор. В інструкції до материнської плати ASUS про це жодного слова не сказано. Під час завантаження комп'ютера натиснув Ctrl+F. Відкрив меню Option ROM Utility. Тут вибрав другий пункт натисканням 2.

    У цьому меню натиснув Ctrl+C для створення RAID. Ідучи по пунктах включав функції RAID Mode у положення RAID1, навпроти дисків Y. Потім двічі натиснув Ctrl+Y, ввів ім'я RAID масиву та зберіг виставлені параметри. Вийшов та перезавантажив комп'ютер.

    Тепер під час завантаження комп'ютера видно, що у системі підключений RAID1 масив.

    Третє визначив пріоритет черги завантаження з різних пристроїв. Для цього довелося ще раз увійти до BIOS. Привід DVD, за ним мій RAID, а останнім пристрої, що підключається, тобто. флешки.

    На RAID масив встановлював Windows 7. В принципі, подальші поради підійдуть для встановлення Windows XP, Vista, Server 2008 та Windows 8 на RAID масив. До початку встановлення зайшов з іншого комп'ютера на сайт ASUS та завантажив AMD RAID driver. Драйвер RAID завантажив на флеш-диск, його не потрібно вставляти в роз'єм USB до вибору розділів жорсткого диска. Образ Windows був DVD. Після цього перейшов до встановлення ОС.

    Четверте, використав драйвер із флешки, коли дійшов до вибору розділу. Вставив флешку, натиснув Завантаження та Огляд.

    У спливаючому меню вибрав каталог драйвера, операційної системи та розрядності. У моєму випадку Windows 7 64bit.

    Інсталятор Windows знайшов драйвер AMD AHCI Compatible RAID Controller. Його було достатньо, щоб побачити розділ жорсткого диска. Вийняв флеш диск із USB порту.

    Тут на мене чекала друга проблема, коли не ставиться Windows 7. Вибрав стандартний спосіб Створити, весь обсяг диска установник визначив як Основний. Натиснув Далі та отримав помилку. Програмі встановлення не вдалося створити новий або знайти існуючий системний розділ. Додаткові відомості тощо. Коли Windosw не встановлюється через розділ, рішення зробити самостійно розбивку диска на розділи. Вилучив усі розділи. Натиснув Shift+F10.

    П'яте, натиснувши Shift+F10, викликав командний рядок. Shift+Alt повертає англійську мову розкладки клавіатури на російському дистрибутиві. Запровадив дискпарт, команда виклику утиліти роботи з диском. Наступна команда – list disk. Побачив два диски в системі: диск 0 – флешка, диск 1 – RAID масив. Вибрав диск 1 командою select disk 1. Далі ввів create partition primary size=131072, створив системний розділ розміром 128 Гб. За це відповідає команда create partition primary. Команда size визначення розміру диска.

    Другу частину диска визначив у розділі командою create partition extended. Не використовував size, щоб включити весь простір, що залишився, в другий диск. Що надалі дозволить створити логічний диск.

    Вибрав перший розділ командою select partition 1. А командою active розділ позначений активним. Після цього закрив вікно командного рядка. Натиснув кнопку Оновити.

    Після оновлення списку розділів побачив два диски об'ємом 128 Гб та 337 Гб. Вибрав перший розділ і натиснув кнопку Далі.

    Гаряче очікуваний напис Установка Windows… Установка Windows пройшла у звичайному режимі.

    Проробив кілька разів за три вечори. Деякі спроби були з помилками, що збільшувало час. Якщо питання залишаться, пишіть у коментарі. Наприклад, потрібно перезавантажити комп'ютер після розбиття диска на нові розділи, якщо флешка була вставлена ​​до інсталяції Windows. Все вищезгадане було повторено за раз, щоб переконатися у вірності алгоритму з п'яти пунктів. Встановлення Windows 7 на RAID працює, перевірено!

    Читайте також:

    Не чекали? Гандонографія або як знімати під водою на телефон Огляд електронної книги Pocketbook Touch Огляд відеореєстратора AdvoCam FD4 GPS

    Тепер подивимося, які є види і чим вони відрізняються.

    Каліфорнійський університет у Берклі представив такі рівні специфікації RAID, які були прийняті як стандарт де-факто:

    • RAID 0- дисковий масив підвищеної продуктивності з чергуванням, без стійкості до відмови;
    • - дзеркальний дисковий масив;
    • RAID 2зарезервований для масивів, які застосовують код Хеммінгу;
    • RAID 3 та 4- дискові масиви з чергуванням та виділеним диском парності;
    • - дисковий масив з чергуванням та «невиділеним диском парності»;
    • - дисковий масив із чергуванням, що використовує дві контрольні суми, що обчислюються двома незалежними способами;
    • - масив RAID 0, побудований із масивів RAID 1;
    • - масив RAID 0, побудований із масивів RAID 5;
    • - масив RAID 0, побудований із масивів RAID 6.

    Апаратний RAID-контролер може підтримувати кілька різних RAID-масивів одночасно, сумарна кількість жорстких дисків яких не перевищує кількість роз'ємів для них. При цьому контролер, вбудований в материнську плату, в налаштуваннях BIOS має всього два стани (ввімкнений або вимкнений), тому новий жорсткий диск, підключений до незадіяного роз'єму контролера при активованому режимі RAID, може ігноруватися системою, доки він не буде асоційований як ще один RAID -Масив типу JBOD (spanned), що складається з одного диска.

    RAID 0 (striping - «чергування»)

    Режим, за якого досягається максимальна продуктивність. Дані рівномірно розподіляються по дисках масиву, диски об'єднуються в один, який може бути помічений на кілька. Розподілені операції читання та запису дозволяють значно збільшити швидкість роботи, оскільки кілька дисків одночасно читають/записують свою порцію даних. Користувачеві доступний весь об'єм дисків, але це знижує надійність зберігання даних, оскільки при відмові одного з дисків масив зазвичай руйнується і відновити дані практично неможливо. Область застосування - програми, що вимагають високих швидкостей обміну з диском, наприклад, відеозахоплення, відеомонтаж. Рекомендується використовувати з високонадійними дисками.

    (mirroring - «дзеркалювання»)

    масив із двох дисків, що є повними копіями один одного. Не слід плутати з масивами RAID 1+0, RAID 0+1 та RAID 10, у яких використовується більше двох дисків та складніші механізми дзеркалізації.

    Забезпечує прийнятну швидкість запису та виграш за швидкістю читання при розпаралелювання запитів.

    Має високу надійність – працює доти, доки функціонує хоча б один диск у масиві. Імовірність виходу з експлуатації відразу двох дисків дорівнює добутку ймовірностей відмови кожного диска, тобто. значно нижче ймовірності виходу з експлуатації окремого диска. Насправді при виході з ладу однієї з дисків слід терміново вживати заходів - знову відновлювати надмірність. Для цього із будь-яким рівнем RAID (крім нульового) рекомендують використовувати диски гарячого резерву.

    Подібний до RAID10 варіант розподілу даних по дисках, що допускає використання непарного числа дисків (мінімальна кількість - 3)

    RAID 2, 3, 4

    різні варіанти розподіленого зберігання даних з дисками, виділеними під коди парності та різними розмірами блоку. В даний час практично не використовуються через невисоку продуктивність та необхідність виділяти багато дискової ємності під зберігання кодів ЕСС та/або парності.

    Основним недоліком рівнів RAID від 2-го до 4-го є неможливість робити паралельні операції записи, оскільки зберігання інформації про парності використовується окремий контрольний диск. RAID 5 не має цього недоліку. Блоки даних та контрольні суми циклічно записуються на всі диски масиву, немає асиметричності конфігурації дисків. Під контрольними сумами мається на увазі результат операції XOR (що виключає або). Xorмає особливість, яка дає можливість замінити будь-який операнд результатом, і, застосувавши алгоритм 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 - розмір найменшого диска. Наприклад, для масиву з чотирьох дисків по 80 гігабайт загальний обсяг (4 - 1) * 80 = 240 гігабайт. На запис інформації на тому RAID 5 витрачаються додаткові ресурси і падає продуктивність, оскільки потрібні додаткові обчислення та операції запису, зате при читанні (проти окремого вінчестера) є виграш, тому що потоки даних з кількох дисків масиву можуть оброблятися паралельно.

    Недоліки

    Продуктивність RAID 5 помітно нижче, особливо у операціях типу Random Write (записи у довільному порядку), у яких продуктивність падає на 10-25% від продуктивності RAID 0 (чи RAID 10), оскільки потребує більшої кількості операцій із дисками (кожна операція записи, крім так званих full-stripe write-ов, сервера замінюється на контролері RAID чотирма - дві операції читання і дві операції записи). Недоліки RAID 5 виявляються при виході з ладу одного з дисків - весь том переходить у критичний режим (degrade), всі операції запису та читання супроводжуються додатковими маніпуляціями, різко падає продуктивність. При цьому рівень надійності знижується до надійності RAID-0 з відповідною кількістю дисків (тобто n разів нижче надійності одиночного диска). Якщо до повного відновлення масиву відбудеться вихід з ладу, або виникне непоновна помилка читання хоча б ще на одному диску, то масив руйнується, і дані на ньому відновленню звичайними методами не підлягають. Слід також взяти до уваги, що процес RAID Reconstruction (відновлення даних RAID за рахунок надмірності) після виходу з ладу диска викликає інтенсивне навантаження читання з дисків протягом багатьох годин безперервно, що може спровокувати вихід будь-якого з дисків, що залишилися, у цей найменше. захищений період роботи RAID, а також виявити раніше не виявлені збої читання в масивах cold data (даних, яких не звертаються при звичайній роботі масиву, архівні та малоактивні дані), що підвищує ризик збою при відновленні даних.

    Мінімальна кількість дисків, що використовуються, дорівнює трьом.

    RAID 6 - схожий на RAID 5, але має більш високий рівень надійності - під контрольні суми виділяється ємність 2-х дисків, розраховуються 2 суми за різними алгоритмами. Потребує потужніший RAID-контролер. Забезпечує працездатність після одночасного виходу з експлуатації двох дисків - захист від кратної відмови. Для організації масиву потрібно щонайменше 4 диски. Зазвичай використання RAID-6 викликає приблизно 10-15% падіння продуктивності дискової групи щодо RAID 5, що викликано великим обсягом обробки для контролера (необхідність розраховувати другу контрольну суму, а також читати та перезаписувати більше дискових блоків під час запису кожного блоку).

    RAID 0+1

    Під RAID 0+1 може матися на увазі в основному два варіанти:

    • два RAID 0 об'єднуються у RAID 1;
    • масив об'єднуються три і більше диска, і кожен блок даних записується на два диски даного масиву; таким чином, при такому підході, як і в «чистому» RAID 1, корисний об'єм масиву становить половину від сумарного об'єму всіх дисків (якщо це однакова ємність).

    RAID 10 (1+0)

    RAID 10 - дзеркальний масив, дані в якому записуються послідовно на кілька дисків, як в RAID 0. Ця архітектура є масивом типу RAID 0, сегментами якого замість окремих дисків є масиви RAID 1. Відповідно, масив цього рівня повинен містити як мінімум 4 диски ( і завжди парна кількість). RAID 10 поєднує в собі високу стійкість до відмов і продуктивність.

    Твердження, що RAID 10 є найнадійнішим варіантом для зберігання даних цілком обґрунтовано тим, що масив буде виведений з ладу після виходу з ладу всіх накопичувачів в тому самому масиві. При одному накопичувачі, що вийшов з ладу, шанс виходу з ладу другого в тому самому масиві дорівнює 1/3*100=33%. RAID 0+1 вийде з ладу при двох накопичувачах, що вийшли з ладу у різних масивах. Шанс виходу з ладу накопичувача в сусідньому масиві дорівнює 2/3*100=66%, однак оскільки накопичувач у масиві з накопиченням, що вже вийшов з ладу, вже не використовується, то шанс того, що наступний накопичувач виведе з ладу масив цілком дорівнює 2/2 * 100 = 100%

    масив, аналогічний RAID5, проте крім розподіленого зберігання кодів парності використовується розподіл резервних областей - фактично задіюється жорсткий диск, який можна додати масив RAID5 як запасного (такі масиви називають 5+ або 5+spare). У RAID 5 масиві резервний диск простоює до тих пір, поки не вийде з ладу один з основних жорстких дисків, у той час як у RAID 5EE масиві цей диск використовується спільно з іншими HDD весь час, що позитивно впливає на продуктивність масиву. Наприклад, масив RAID5EE з 5 HDD зможе виконати на 25% більше операцій вводу/виводу за секунду, ніж RAID5 масив із 4 основних та одного резервного HDD. Мінімальна кількість дисків для такого масиву – 4.

    об'єднання двох (або більше, але це вкрай рідко застосовується) масивів RAID5 в страйп, тобто. комбінація RAID5 і RAID0, що частково виправляє головний недолік RAID5 - низьку швидкість запису даних за рахунок паралельного використання кількох таких масивів. Загальна ємність масиву зменшується на ємність двох дисків, але на відміну від RAID6, без втрати даних такий масив переносить відмову лише одного диска, а мінімально необхідна кількість дисків для створення масиву RAID50 дорівнює 6. Поряд з RAID10, це найбільш рекомендований рівень RAID для використання у додатках, де потрібна висока продуктивність у поєднанні прийнятною надійністю.

    об'єднання двох масивів RAID6 у страйп. Швидкість запису підвищується приблизно вдвічі, щодо швидкості запису в RAID6. Мінімальна кількість дисків для створення такого масиву - 8. Інформація не втрачається при відмові двох дисків з кожного RAID 6 масиву

    RAID 00


    RAID 00 зустрічається дуже рідко, я з ним познайомився на контролерах LSI. Група дисків RAID 00 - це складова група дисків, яка створює набір із серії, що чергується.
    дискових масивів RAID 0. RAID 00 не забезпечує надмірності даних, але поряд з RAID 0 пропонує кращу продуктивність будь-якого рівня RAID. RAID 00 розбиває дані на менші сегменти, а потім чергує сегменти даних на кожному диску в групі. Розмір кожного сегмента даних визначається розміром смуги. RAID 00 пропонує високу пропускну здатність. Рівень RAID 00 не є стійким до відмови. Якщо диск у групі дисків RAID 0 виходить з ладу, весь
    віртуальний диск (всі диски, пов'язані з віртуальним диском) вийде з ладу. Розбиваючи великий файл на дрібніші сегменти, контролер RAID може використовувати обидва SAS
    контролера для читання чи запису файлу швидше. RAID 00 не передбачає парності розрахунки ускладнюють операції запису. Це робить RAID 00 ідеальним для
    програми, які вимагають високої пропускної спроможності, але не вимагають стійкості до відмови. Може бути від 2 до 256 дисків.

    Що швидше за RAID 0 або RAID 00?


    Я провів своє тестування описане в статті про оптимізацію швидкості твердотільних дисків на LSI контролерах і отримав такі цифри на масивах з 6-ти SSD