Статьи

технологія RAID

  1. дискові масиви
  2. Історія RAID
  3. рівні RAID
  4. RAID 0 - Non-Redundant Striped Array
  5. RAID 1 - Mirrored Arrays
  6. RAID 2 - Parallel Array with ECC
  7. RAID 3 - Parallel Array with Parity
  8. RAID 4 - Striped Array with Parity
  9. RAID 5 - Striping Array with Rotating Parity [ 1 ]
  10. RAID 6 - Independent Data Disks with Two Independent Distributed Parity Schemes
  11. RAID 7 - Optimized Asynchrony for High I / O Rates as well as High Data Transfer Rates
  12. комбіновані рівні
  13. Оцінка ефективності рівня RAID
  14. архітектури RAID

Головна технології → Технологія RAID

Андрій Борзенко

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

У міру зростання обсягів оперативної інформації, необхідної в повсякденній роботі, дискові масиви стають все більш звичними і незамінними елементами локальних мереж масштабу відділу і вище. Дискові масиви - основний елемент мереж зберігання даних SAN (Storage Area Network), які отримують все більше поширення. Ці мережі дозволяють численним користувачам спільно працювати з інформацією в віддаленому масиві, як якщо б вона зберігалася на локальних дисках. Крім того, зростає популярність кластерних рішень, в яких дискові масиви виконують роль загальнодоступних ресурсів.

За даними корпорації Disk / Trend ( http://www.disktrend.com ), Ринок дискових масивів неухильно зростав протягом останнього десятиліття, проте деякі його сегменти розвивалися значно швидше за інших. Це, наприклад, можна сказати про так званих надлишкових масивах незалежних дисків RAID (Redundant Arrays of Independent Disks).

дискові масиви

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

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

На жаль, при збільшенні кількості дисків в масиві надійність масиву в цілому зменшується. При незалежних відмовах і експоненційному законі розподілу напрацювання на відмову середній час безвідмовної роботи MTTF (Mean Time To Failure) всього масиву обчислюється за формулою:

MTTF = MMTFd / Nd,
де MMTFd - середній час безвідмовної роботи одного диска; Nd - кількість дисків.

У тому випадку, коли система здатна продовжувати працювати навіть при виході з ладу одного з її компонентів, говорять про її несприйнятливості до відмов (fault tolerance). Для накопичувачів інформації під несприйнятністю до відмов розуміють їх здатність в разі випадкового збою продовжувати виконання операцій введення-виведення без втрати даних.

Існує кілька способів підвищити надійність підсистеми зберігання даних. По-перше, для підвищення відмовостійкості масивів використовують надлишкове кодування. У надлишкових дискових масивах застосовують два основних типи кодування - дублювання і контроль парності.

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

Другий спосіб реалізації надлишкових дискових масивів - це надлишкове кодування за допомогою обчислення парності. Контроль парності застосовується в комп'ютерних системах вже досить давно, з тих самих пір, коли для зберігання одного байта в ОЗУ стали використовувати 9 розрядів. Дев'ятий біт (званий контрольним, або розрядом парності) необхідний для контролю за цілісністю інформації. Парність визначається застосуванням операції "виключає АБО" (додавання по модулю 2 - XOR) до всіх розрядів в слові даних. При парному числі одиниць контрольний біт встановлюється в нуль, а при непарному - в одиницю. При зчитуванні даних інформаційні розряди знову підсумовуються, і отриманий результат порівнюється зі значенням контрольного біта. Якщо вони збігаються, дані, швидше за все, вірні, а якщо ні - значення одного або кількох розрядів помилкові.

Історія RAID

У 1987 г. Паттерсон, Гібсон і Катц, американські дослідники з Каліфорнійського університету в Берклі, описали в своїй статті A Case for Redundant Arrays of Inexpensive Disks (RAID) кілька типів дискових масивів, позначивши їх абревіатурою RAID. Основна ідея RAID полягала в об'єднанні кількох невеликих і недорогих дисків в масив, який по продуктивності не поступався б одному великому диску (Single Large Expensive Drive, SLED), що використовувався зазвичай з комп'ютерами типу мейнфрейм. Зауважимо, що для комп'ютера цей масив дисків повинен був виглядати як одне логічне пристрій. Збільшення кількості дисків в масиві, як правило, означало підвищення продуктивності, принаймні при читанні інформації. Слово "недорогий" (inexpensive) в назві RAID характеризує вартість одного диска в масиві в порівнянні з великими дисками мейнфреймів. До речі, через якийсь час після виходу вищезгаданої статті з Берклі прийшла нова розшифровка абревіатури RAID - Redundant Arrays of Independent Disks. Справа в тому, що через низьку надійності недорогих дисків в масивах спочатку довелося використовувати досить дорогі носії пам'яті мейнфреймів.

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

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

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

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

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

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

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

Для стандартизації продуктів RAID 1992 р. був організований промисловий консорціум RAB (RAID Advisory Board - експертна рада з RAID, http://www.raid-advisory.com ). Сьогодні консорціум включає більше 40 компаній.

У комп'ютерній індустрії виділяють кілька класів дискових масивів. Зрозуміло, різні класи орієнтовані на рішення різних завдань. Зауважимо, що набір окремих дисків, не об'єднаних в RAID, називають зазвичай JBOD (Just a Bunch of Disks).

рівні RAID

До теперішнього часу консорціум RAB стандартизував кілька рівнів об'єднання дисків в масиви. Номери рівнів не пов'язані з характеристиками RAID, вони просто відповідають порядку, в якому були запропоновані різні варіанти. Рівні з RAID 1 по RIAD 5 включно були представлені в згаданій вище статті фахівців з Берклі, і ця систематика була прийнята як стандарт де-факто.

RAID 0 - Non-Redundant Striped Array

Головна   →   технології   → Технологія RAID   Андрій Борзенко   Становлення Інтернет-економіки нерозривно пов'язано із забезпеченням надійної роботи всіх компонентів електронних систем, а гарантії захисту і цілісності даних набувають в цьому випадку особливого значення

Рис. 1. Рівень RAID 0

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

RAID 1 - Mirrored Arrays

Рис. 2. Рівень RAID 1

До цього класу (рис. 2) відносяться підсистеми, які застосовують методи віддзеркалення і дублювання. Вони відрізняються максимальною вартістю і надмірністю, зате в ряді випадків показують найвищу продуктивність серед класів 1-5. RAID 1 широко застосовуються в сучасних архітектурах систем зберігання. Їх основний недолік - висока ціна, так як для будь-якої програми доводиться подвоювати обсяг необхідної дискової пам'яті. Саме тому вони найбільш ефективні в разі невеликих обсягів критичної інформації. Мінімальна кількість дисків дорівнює двом.

RAID 2 - Parallel Array with ECC

Ці підсистеми зберігають дані і код для виявлення подвійних і виправлення одиночних помилок (Error Correction Code, ECC) на окремих дисках. Для корекції помилок зазвичай використовується кодування Хеммінга (Hamming). У RAID рівня 2 розшарування даних для запису або читання здійснюється на рівні бітів. Однак застосування коду з корекцією помилок вимагає для зберігання контрольної інформації більше, ніж один. Більшість контрольних дисків, що використовуються в RAID 2, потрібні для визначення положення несправного розряду. Але зараз ця проблема втратила гостроту, так як більшість контролерів в змозі самостійно визначити, коли диск відмовив, за допомогою спеціальних сигналів або додаткового кодування інформації, записаної на диск і використовуваної для виправлення випадкових збоїв.

Системи RAID 2 мають дуже велику надмірність і тому досить дорогі. Так, для масиву з 16 накопичувачів потрібно три додаткових диска для зберігання кодів корекції. У зв'язку з цим RAID 2 не знайшов практичного застосування. Мінімальна кількість дисків в такий підсистемі одно семи.

RAID 3 - Parallel Array with Parity

Рис. 3. Рівень RAID 3

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

RAID 4 - Striped Array with Parity

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

RAID 5 - Striping Array with Rotating Parity [ 1 ]

Рис. 4. Рівень RAID 5

В цьому класі дискових підсистем (рис. 4) також застосовується техніка розщеплення, причому не тільки для основних даних, але і для інформації про контрольні суми, що дозволяє виконувати кілька операцій запису одночасно. Цей рівень відрізняється від RAID 3 великим розміром блоку записуваних даних. Розміщення надлишкової інформації підвищує продуктивність дискового масиву. Масиви RAID 5 орієнтоване на напружену роботу з дисками і добре підходять для багатокористувацьких систем. При грамотному плануванні операцій записи тут можна паралельно обробляти до N / 2 блоків, де N - число дисків в групі. Мінімальна кількість дисків - три.

RAID 6 - Independent Data Disks with Two Independent Distributed Parity Schemes

Це розширений варіант RAID 5, в якому передбачений подвійний контроль парності, що зберігається. Для зберігання контрольної інформації потрібно два диска. Розроблена для критично важливих додатків архітектура RAID 6 має дуже низьку продуктивність записи, що обумовлено необхідністю розрахунку додаткових контрольних сум. Дані розбиваються на блочному рівні (як в RAID 5), але на додаток до попередньої архітектурі тут використовується друга схема для підвищення відмовостійкості - така архітектура стійка до подвійних відмов. Однак при виконанні логічного запису реально відбувається шість звернень до диску, що сильно збільшує час обробки одного запиту. Мінімальна кількість дисків дорівнює чотирьом.

RAID 7 - Optimized Asynchrony for High I / O Rates as well as High Data Transfer Rates

Логотип RAID 7 - зареєстрована торгова марка Storage Computer Corporation. Дані решение відрізняється від других рівнів RAID тім, что предполагает асінхронність роботи компонентів (включаючі канал зв'язку з хост-машиною) и незалежність управління ними. З цієї причини контролер системи RAID 7 винен працювати під управлінням ОС реального часу. Такі системи ма ють більш скроню продуктівністю в порівнянні з масивами RAID других рівнів. У них дані розподіляються по інформаційнім дискам, а контрольна інформація зберігається на окремий диску. З метою підвищення продуктивності операції читання і запису централізовано кешуються. Щоб не втратити вміст кеш-пам'яті під час збоїв з харчування, систему RAID 7 слід підключати до ДБЖ. Одне з істотних переваг даного рішення - висока швидкість передачі даних і обробки запитів. Мінімальна кількість дисків одно дванадцяти.

комбіновані рівні

Рис. 5. Рівень RAID 0 + 1.

На рівні RAID 0/1 (0 + 1) (рис. 5) використовується комбінація методів розщеплення даних і віддзеркалення. Іншими словами, швидкісні переваги RAID 0 об'єднуються з надійністю, властивої RAID 1. Схема використовується зазвичай для невеликих обсягів критичних даних, які потрібно обробляти з високою продуктивністю. Мінімальна кількість дисків дорівнює чотирьом.

Рис. 6. Рівень RAID 10.

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

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

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

Оцінка ефективності рівня RAID

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

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

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

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

Рис. 7. Оновлення контрольної суми під час запису.

Масиви RAID 5 мають високу продуктивність при виконанні операцій читання і запису і добре підходять для реалізації Інтернет- та файл-серверів. Завдяки ефекту чергування по декількох дисках продуктивність RAID 5 виявляється високою в середовищах з інтенсивним читанням. Однак в середовищах з інтенсивної записом вона нижче, оскільки для обчислення контрольних сум застосовується процес "читання-модифікація-запис" (рис. 7). Це особливо помітно в програмних RAID-системах. Втім, в апаратних фреймових і в більшості модульних масивів контролер RAID 5 використовує кеш-пам'ять і спеціальне обладнання, щоб знизити ефект обчислення контрольних сум. Продуктивність апаратного масиву RAID 5 в середовищах з інтенсивної записом можна порівняти зі швидкістю програмного масиву RAID 0 + 1. При сучасній надійності дискових накопичувачів (близько мільйона годин безвідмовної роботи) томи RAID 0 + 1 і 1 + 0 зазвичай не потребують запасних дисководах для "гарячої" заміни. Для томів RAID 5 завжди слід мати запасний дисковод, щоб обійти потенційну проблему реконструкції RAID. Втім, у будь-яких змін RAID рівнів 0, 0 + 1,1 + 0 і 5 є свої переваги і недоліки.

Рис. 8. Параметри рівнів RAID.

У більшості випадків саме RAID 1 або RAID 0 + 1 забезпечують найкращу продуктивність в реальних системах. RAID 3 забезпечує дуже високу продуктивність при рідкісних запитах, але при збільшенні інтенсивності запитів час обслуговування дуже швидко наростає. Це не дозволяє рекомендувати RAID 3 для серверів, особливо для серверів баз даних. RAID 5 займає проміжне положення по розглянутим показниками.

У серверах початкового рівня, коли на перший план висувається питання вартості, зазвичай використовується RAID 1. У цьому випадку потрібно тільки один додатковий диск, дзеркальний з основним. У серверах, основна вимога до яких - висока продуктивність, оптимальним рішенням, можливо, буде RAID 0 + 1. У більшості ж інших випадків RAID 5 забезпечує досить високу продуктивність при помірних витратах. Системи RAID 3 доцільно застосовувати тільки в спеціальних серверах, призначених для зберігання великих файлів (графіка, відео і т. П.). Але і в цьому випадку RAID 0 + 1 може забезпечити кращу продуктивність. Схематично порівняльні характеристики RAID-систем різних рівнів наведені на рис. 8.

архітектури RAID

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

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

Апаратна архітектура RAID відрізняється більшою складністю, оскільки вимагає спеціальних апаратних компонентів. Контролер масиву, який часто називають RAID-картою, містить власний XOR-обчислювач, допоміжну пам'ять, а також канали SCSI або UDMA. Така архітектура дозволяє досягти істотного виграшу в продуктивності. Втім, для систем початкового рівня, де процесор сервера зайнятий незначний час, різниця між програмної та апаратної архітектурою практично непомітна. Але вона досить відчутно проявляється при високому навантаженні на підсистему введення-виведення. Відповідно апаратні реалізації RAID дорожче програмних.

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

Примітка

1. RAID 5DP

Корпорація Hewlett-Packard ( http://www.hp.com ) Почала застосовувати в своїх системах модифікований варіант рівня RAID 5, що використовує подвійну схему захисту, - RAID 5 DP (Dual Parity). Для кожного блоку даних використовуються дві контрольні суми, які розміщуються на різних дисках. На думку розробників, при використанні RAID 5 DP ефективність захисту даних істотно - приблизно в 100 разів - збільшується в порівнянні з RAID 5.

Стаття опублікована в журналі BYTE № 8 (49), серпень 2002 р
Передруковується з дозволу автора.
Стаття надрукована в музей 24.03.2009