RAID
RAID (англ. Redundant Array of Independent Disks) — технологія віртуалізації даних, яка об'єднує кілька дисків в логічний елемент для надійності збереження інформації та підвищення продуктивності накопичувачів.
Дисковий масив — це набір дискових пристроїв, які працюють разом, щоб підвищити швидкість і/або надійність системи вводу/виводу. Цим набором пристроїв керує особливий RAID-контролер (контролер масиву), який забезпечує функції розміщення даних масивом; а для решти усієї системи дозволяє представляти увесь масив, як один логічний пристрій вводу/виводу. За рахунок паралельного виконання операцій читання та запису на кількох дисках, масив забезпечує підвищену швидкість обміну порівняно з одним великим диском.
Масиви також можуть забезпечувати надійне зберігання даних, для того, щоб дані не були втрачені у разі виходу з ладу одного з дисків. Залежно від рівня RAID, проводиться або дублювання або рівномірний розподіл даних на дисках.
Рівні RAID
Каліфорнійський університет в Берклі визначив наступні рівні RAID, вони були прийняті, як стандарт де-факто. Кожен з чотирьох основних рівнів RAID використовує унікальний метод запису даних на диски, і тому всі рівні забезпечують різні переваги. Рівні RAID 1,3 і 5 забезпечують дублювання даних або зберігання бітів парності; і тому дозволяють відновити інформацію у разі збою одного з дисків.
RAID рівня 0
Технологія RAID 0 також відома як розподіл даних (англ. data striping). Із застосуванням цієї технології інформація розбивається на шматки (фіксовані обсяги даних, зазвичай називаються блоками). Ці шматки записуються на диски та читаються з них паралельно. З погляду швидкодії це означає дві основні переваги:
- підвищується пропускна спроможність послідовного вводу/виводу за рахунок одночасного завантаження кількох жорстких дисків.
- знижується латентність випадкового доступу; декілька запитів до різних невеликих сегментів інформації можуть виконатися одночасно.
Недолік:
- рівень RAID 0 призначений виключно для підвищення швидкодії, і не забезпечує надійності збереження даних. Тому будь-які дискові збої вимагають відновлення інформації з резервних носіїв.
RAID рівня 1
Технологія RAID 1 також відома як віддзеркалення диску(англ. disk mirroring). В цьому випадку, копії кожного шматка інформації зберігаються на окремому диску; або кожен (використовуваний) диск має «двійника», який зберігає точну копію цього диска. Якщо відбувається збій одного з основних дисків, то він замінюється своїм «двійником». Продуктивність довільного читання може бути покращена, якщо для читання інформації використовуватиметься той з «двійників», головка якого розташована ближче до необхідного блоку.
Час запису може бути дещо більшим, ніж для одного диска, залежно від стратегії запису: запис на два диски може проводиться або в паралель (для швидкості), або строго послідовно (для надійності).
Рівень RAID 1 добре підходить для випадків, які вимагають високої надійності, низької латентності під час читання, а також якщо не потрібна мінімізація вартості. RAID 1 забезпечує надмірність зберігання інформації, але у будь-якому випадку слід підтримувати резервну копію даних, оскільки це єдиний спосіб відновити випадково видалені файли або директорії.
RAID рівнів 2 і 3
Технологія RAID рівнів 2 і 3 передбачає паралельну («в унісон») роботу всіх дисків. Ця архітектура вимагає зберігання бітів парності для кожного елементу інформації, що розподіляється по дисках. Відмінність RAID 3 від RAID 2 полягає тільки в тому, що RAID 2 використовує для зберігання бітів парності кілька дисків, тоді як RAID 3 використовує тільки один. RAID 2 використовується украй рідко.
Якщо відбувається збій одного диска з даними, то система може відновити його вміст за вмістом решти дисків з даними і диска з інформацією парності.
Продуктивність в цьому випадку дуже велика для великих обсягів інформації, але може бути вельми скромною для малих обсягів, оскільки неможливе читання декількох невеликих сегментів інформації, що перекривається.
RAID рівнів 4 і 5
RAID 4 виправляє деякі недоліки технології RAID 3 за рахунок використання великих сегментів інформації, що розподіляються по всіх дисках, за винятком диска з інформацією парності. При цьому для невеликих обсягів інформації використовується тільки диск, на якому знаходиться потрібна інформація. Це означає, що можливе одночасного виконання декількох запитів на читання. Проте запити на запис породжують блокування під час запису інформації парності. RAID 4 використовується вкрай рідко.
Технологія RAID 5 дуже схожа на RAID 4, але усуває пов'язані з нею блокування. Відмінність полягає в тому, що інформація парності розподіляється по всіх дисках масиву. В даному випадку можливі як одночасні операції читання, так і запису.
Дана технологія добре підходить для випадків, коли працюють з невеликими обсягами даних, наприклад, для систем обробки транзакцій. Мінімальна кількість дисків для реалізації RAID 5 - 3.
RAID рівня 6
RAID 6 - схожий на RAID 5, але має вищий ступінь надійності - три диски даних і два диски контролю парності (використовується для захисту від подвійних несправностей). Забезпечує працездатність після одночасного виходу з ладу двох дисків - захист від кратної відмови. Зазвичай використання RAID-6 викликає приблизно 10-15% падіння продуктивності дискової групи, порівняно з RAID 5, що викликано великим обсягом обробки для контролера (необхідність розраховувати другу контрольну суму, а також читати і перезаписувати більше дискових блоків при запису кожного блоку).
Порівняння рівнів RAID
Рівень | Кількість дисків | Ефективний об'єм | Допустима кількість дисків
що вийшли з ладу |
Надійність | Швидкість читання | Швидкість запису | Примітка |
---|---|---|---|---|---|---|---|
0 | від 2 | S * N | немає | дуже низька | висока | висока | повна втрата даних під час виходу з ладу будь-якого із дисків! |
1 | від 2 | S | N-1 диск | висока | висока | середня | подвійна вартість дискового простору |
1Е | від 3 | S * N / 2 | N/2-1 диск | висока | висока | низька | подвійна вартість дискового простору |
10 | від 4, парне | S * N / 2 | від 1 до N/2 дисків** | середня | висока | висока | подвійна вартість дискового простору |
01 | від 4, парне | S * N / 2 | від 1 до N/2 дисків** | середня | висока | висока | подвійна вартість дискового простору |
5 | від 3 | S * (N - 1) | 1 диск | середня | висока | середня | |
50 | від 6, парне | S * (N − 2) | від 1 до 2 дисків*** | середня | висока | висока | |
51 | від 6, парне | S * (N − 2) / 2 | від 2 до N/2+1 дисків**** | висока | висока | низька | подвійна вартість дискового простору |
5Е | від 4 | S * (N − 2) | 1 диск | середня | висока | висока | резервний накопичувач працює
на холостому ході і не перевіряється |
5ЕЕ | від 4 | S * (N − 2) | 1 диск | середня | висока | висока | резервний накопичувач працює
на холостому ході і не перевіряється |
6 | від 4 | S * (N − 2) | 2 диска | висока | висока | низька | |
60 | від 8, парне | S * (N − 4) | від 2 до 4 дисків*** | середня | висока | середня | |
61 | від 8, парне | S * (N − 2) / 2 | від 4 до N/2+2 дисків**** | висока | висока | низька | подвійна вартість дискового простору |
* N — кількість дисків в масиві, S — об'єм найменшого диску.
** Інформація не втратиться, якщо вийдуть з ладу диски в межах різних дзеркал.
*** Інформація не втратиться, якщо вийде з ладу однакова кількість дисків в різних stripe’ах.
**** Інформація не втратиться, якщо з ладу вийдуть диски в межах одного дзеркала.
Комбіновані і додаткові рівні RAID
- RAID Levels 0+1 (Рівень 0+1): Комбінація RAID 0 і RAID 1. Цей рівень забезпечує надмірність за рахунок дзеркалювання.
- RAID Levels 10 (Рівень 10): Комбінує (об'єднує) RAID 0 і RAID 1, тобто дзеркалювання групи дисководів, об'єднаних в RAID 0 для забезпечення максимальної швидкодії. Цей рівень забезпечує надмірність за рахунок дзеркального відображення.
- RAID Levels 30 (Рівень 30): Комбінує (об'єднує) RAID 0 і RAID 3, тобто використовується контрольна сума для групи дисководів, об'єднаних в RAID 0 для забезпечення максимальної швидкодії. Інформація про парність може використовуватися для відновлення даних.
- RAID Levels 50 (Рівень 50): Комбінує (об'єднує) RAID 0 і RAID 5, тобто використовується переміщувана контрольна сума для групи дисководів, об'єднаних в RAID 0 для забезпечення максимальної швидкодії. Інформація про парність може використовуватися для відновлення даних.
Нестандартні рівні RAID
RAID 7
RAID 7 - зареєстрована торгова марка компанії Storage Computer Corporation , не є окремим рівнем RAID. Структура масиву така: на n -1 дисках зберігаються дані , один диск використовується для складання блоків парності. Запис на диски кешується з використанням оперативної пам'яті , сам масив вимагає обов'язкового ДБЖ (джерела безперебійного живлення). У разі перебоїв з живленням відбувається пошкодження даних.
RAID 7.3
RAID 7.3 - рівень чергування блоків з потрійним розподілом парності , розроблений і запатентований компанією RAIDIX . Аналог RAID 6, але має вищий ступінь надійності - розраховуються 3 контрольні суми за різними алгоритмами , під контрольні суми виділяється ємність трьох дисків . Таким чином , масиви рівня RAID 7.3 можуть витримати повну відмову трьох дисків в одній групі.
RAID-DP
Існує модифікація RAID -6 компанії NetApp - RAID- DP. Відмінність від традиційного масиву полягає у виділенні під контрольні суми двох окремих дисків. Завдяки взаємодії RAID -DP і файлової системи WAFL ( всі операції запису послідовні і проводяться на вільне місце ) зникає падіння продуктивності як у порівнянні з RAID -5 , так і в порівнянні з RAID -6.
Hybrid RAID
«Hybrid RAID» - це деякі із звичайних рівнів RAID, але в поєднанні з додатковим ПЗ і SSD-дисками, які використовуються як кеш для читання. В результаті продуктивність системи підвищується, оскільки SSD мають значно кращі швидкісні характеристики в порівнянні з HDD.. На даний момент Hybrid RAID не рекомендується використовувати в серверах зважаючи на малий ресурс SSD-дисків, виняток становлять спеціальні серверні SSD-диски з підвищеним ресурсом.
У Hybrid RAID операції зчитування виконуються з більш швидкого твердотільного накопичувача, а операції запису в цілях виконання резервування виробляються як на твердотільних накопичувачах, так і на жорстких дисках.
Hybrid RAID ідеально підходить для додатків з даними нижнього рівня, таких як інтернет-шлюз, файловий сервер або віртуальна обчислювальна машина.
Matrix
Matrix RAID - це технологія, реалізована фірмою Intel в південних мостах своїх чипсетів, починаючи з ICH6R. Ця технологія не є новим рівнем RAID (і її аналог існує в апаратних RAID-контролерах високого рівня), вона дозволяє, використовуючи невелику кількість дисків, організувати на різних розділах цих дисків одночасно кілька масивів рівня RAID 1, RAID 0 і RAID 5. Це дозволяє за порівняно невеликі гроші забезпечити для одних даних підвищену надійність, а для інших - високу продуктивність.
Заявлена підтримка технології Matrix RAID в наступних контроллерах SCSI:
- Intel 82801GR / GH SATA RAID Controller,
- Intel 82801GHM SATA RAID Controller,
- Intel ESB2 SATA RAID Controller,
- Intel 82801R / DO / DH SATA RAID Controller,
- Intel 82801HEM SATA RAID Controller,
- Intel 82801IR / IO SATA RAID Controller.
Пізніше, Intel оголосила про перейменування технології Matrix RAID в Intel Rapid Storage Technology (Intel RST).
Подальший розвиток ідеї RAID
Ідея RAID-масивів - в об'єднанні дисків, кожен з яких розглядається як набір секторів, і в результаті драйвер файлової системи «бачить» як би єдиний диск і працює з ним, не звертаючи уваги на його внутрішню структуру. Однак, можна домогтися істотного підвищення продуктивності і надійності дискової системи, якщо драйвер файлової системи буде «знати» про те, що працює не з одним диском, а з набором дисків.
Більше того, при руйнуванні будь-якого з дисків у складі RAID-0 вся інформація в масиві виявиться втраченою. Але якщо драйвер файлової системи розмістив кожен файл на одному диску, і при цьому правильно організована структура директорій, то при руйнуванні будь-якого з дисків будуть втрачені тільки файли, що знаходилися на цьому диску, а файли, що знаходяться на збережених дисках, залишаться доступними. Схожа ідея «підвищення надійності» реалізована в масивах JBOD.
Розміщення файлів за принципом «кожен файл цілком знаходиться на одному диску» складним / неоднозначним чином впливає на продуктивність дискової системи. Для дрібних файлів латентність (час позиціонування головки над потрібним треком + час очікування приходу потрібного сектора під головку) важливіше, ніж час власне читання / запису, тому якщо невеликий файл цілком знаходиться на одному диску, доступ до нього буде швидший, ніж якщо він розділений на два диски (структура RAID-масивів така, що невеликий файл не може опинитися на трьох і більше дисках). Для великих файлів розміщення строго на одному диску може виявитися гіршим, ніж розміщення на декількох дисках, однак, це проявиться тільки якщо обмін даними виробляється великими блоками, або якщо до файлу робиться багато дрібних звернень в асинхронному режимі, що дозволяє працювати відразу з усіма дисками, на яких розміщений цей файл.
Цікаві факти
- Річна ймовірність відмови дискового масиву RAID 5 з 3 дисків WD Caviar Blue = 0,05%