Практичні поради щодо створення raid-масивів на домашніх пк

зміст

  • Історія створення
  • Принцип дії
  • Рівні RAID-масивів
  • RAID 0
  • RAID 1 (Mirrored disk)
  • RAID 5
  • RAID 10
  • Intel Matrix RAID

Відео: ⚠️RAID МАСИВ - як підключити SATA диск до RAID контролера і налаштувати масив на Windows

Сергій Пахомов

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

У цій статті ми дамо короткі рекомендації по створенню RAID-масивів на домашніх ПК і на конкретному прикладі продемонструємо, яким чином можна самостійно протестувати продуктивність RAID-масиву.

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

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

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

Принцип дії

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

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

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

Відео: RAID-5: Що це, як його створити і відновити на прикладі Windows

Слід зазначити, що модель з паралельним доступом реалізується тільки за умови, що розмір запиту на запис даних більше розміру самого блоку. В іншому випадку здійснювати паралельний запис декількох блоків практично неможливо. Уявімо ситуацію, коли розмір окремого блоку становить 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-масивів на материнських платах для домашніх ПК.

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.




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

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

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

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

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

В якості ілюстрації розглянемо блоки розміром по чотири біта. Нехай є всього п`ять дисків для зберігання даних і запису контрольних сум. Якщо є послідовність бітів 1101 0011 1100 1011, розбита на блоки по чотири біта, то для розрахунку контрольної суми необхідно виконати наступну порозрядну операцію:

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.

Відео: RAID-1: Що це, як його створити і відновити на прикладі Windows

Intel Matrix RAID

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

Відео: RAID-0: Що це, для чого і як його зробити на прикладі Windows

Для того щоб вирішити цю нелегку проблему, корпорація 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.

Від теорії до практики

Поділися в соціальних мережах:

Схожі
Інтеграція драйверів sata в дистрибутив windows хрІнтеграція драйверів sata в дистрибутив windows хр
Найкращі сервери 2016Найкращі сервери 2016
Як зробити raid масив?Як зробити raid масив?
Відновлення масиву raid-0 після збоюВідновлення масиву raid-0 після збою
Сортування двовимірного масиву на phpСортування двовимірного масиву на php
Як створити асоціативний масив в jаvascriptЯк створити асоціативний масив в jаvascript
Що таке raid - масив. Варіанти raid-масивівЩо таке raid - масив. Варіанти raid-масивів
Zotac: нова системна плата h87itx-a-eZotac: нова системна плата h87itx-a-e
Нові системні плати msi отримали чіпсет amd a58Нові системні плати msi отримали чіпсет amd a58
Hdd - питання і відповідіHdd - питання і відповіді
» » Практичні поради щодо створення raid-масивів на домашніх пк