RAID (англ. Redundant array of independent / inexpensive disks - надлишковий масив незалежних / недорогих жорстких дисків) - масив з декількох дисків, керованих контролером, взаємопов'язаних швидкісними каналами і сприймаються зовнішньою системою як єдине ціле. Залежно від типу використовуваного масиву може забезпечувати різні ступені відмовостійкості і швидкодії. Служить для підвищення надійності зберігання даних і / або для підвищення швидкості читання / запису інформації (RAID 0).
Моніторинг RAID звичайне завдання користувача. Чому користувача? В даний час RAID -массіви стоять на різних пристроях, починаючи від NAS для домашнього використання і закінчуючи промисловими серверами. Нерідко на звичайному комп'ютері стоїть RAID.
апаратні (hardware). повністю апаратний RAID-контролер проводить всі операції самостійно (незалежно від процесора), і представляє весь RAID-масив у вигляді одного диска. Такі пристрої оснащуються складними обчислювальними процесорами і власною пам'яттю. Дуже часто апаратні контролери виконуються у вигляді плат розширення для PCIe × 4 або PCIe × 16. Ціна такого пристрою цілком порівнянна з вартістю непоганого системного блоку. Adaptec. Adaptec SATA RAID 2410SA; Adaptec ASR-6405; 3ware / LSI Logic / LSI Logic: 3ware 9650SE-4LPML SATA. 3ware 3W-9690SA-4I Serial Attached SCSI.
програмно-апаратний. частина функцій контролера покладається на плечі центрального процесора і оперативної пам'яті за допомогою драйверів. Як правило, за таким принципом працюють всі недорогі RAID-контролери, включаючи ті, що вбудовуються сьогодні в материнські плати. Управління даними відбувається не на рівні самого «заліза», а на рівні микрокода BIOS через драйвер ОС. Від сюди і такі поняття як «драйвера» на SATA-RAID (без яких RAID бачиться як окремі диски), від сюди і проблеми. По-перше це несумісність - згоріла материнська плата, і шукай таку ж плату цілком (чи не контролери), потрібна ідентична плата щоб добути свої цінні дані.
FakeRAID. dmraid - виявляє, активує, деактивує і показує властивості програмних RAID-масивів (інтегрованих в материнську плату).
MD (multi disk) програмні RAID масиви для ОС GNU / Linux (Linux Software Raid)
засновані на GEOM: gstripe (RAID0), gmirror (RAID1), graid3 (RAID3), gconcat для ОС FreeBSD
Функції RAID виконує мікропроцесор зовнішнього, незалежного від хоста RAID-контролера. Зовнішні RAID-контролери розміщуються в окремому корпусі (зазвичай разом з самим RAID-масивом), що має свій незалежний блок живлення і управляються через зовнішній канал SCSI-контролера, підключеного до системної плати. Зовнішні RAID-контролери забезпечують найвищий рівень продуктивності і надійності з усіх типів RAID-контролерів і їх рекомендують для серверів середнього і верхнього рівнів. Наявність же каналів Fibre Channel дозволяє рознести сервер і raid масив на значну відстань для захисту даних. Єдиний недолік - відносно висока ціна.
На жаль, кожен різновид RAID (мається на увазі виробник рішення) контролюється різними програмами - немає однаковості рішень.
Апаратний або програмний RAID? Різниця між двома видами RAID полягає не тільки в ціні. Апаратний RAID-контролер виробляє всі необхідні обчислення самостійно; програмний RAID навантажує центральний процесор сервера. Тому, якщо рівень RAID порівняно простий (RAID 0 або 10), а сервер досить продуктивний, ви можете скористатися програмною реалізацією. Більш складні обчислення, які виконуються, наприклад, в рамках рівнів RAID 5EE або 6, повинні бажано виконуватися апаратним RAID-контролером, оскільки його робота не знизить продуктивність сервера в цілому. Апаратний RAID також незалежний від операційної системи, а прості драйвери хост-адаптера, як правило, є частиною її дистрибутива. Апаратний RAID-контролер, при наявності батареї, може працювати в режимі зворотного запису, додаючи ще один рівень захисту даних.
Залежність від операційної системи. Операційні системи постійно удосконалюються і причини, за якими ви вибираєте операційну систему сьогодні, можуть стати несуттєвими вже через рік. На додаток до цього, на різних серверах і робочих станціях можуть бути встановлені різні операційні системи. RAID-контролер не повинен обмежувати вас ні в виборі ОС, ні в вартості модернізації ОС.
при виході з ладу материнки можна використовувати будь-яку іншу в разі mdadm
mdadm якісніше будь-якого Fakeraid-софта (.)
mdadm навантажує додатково ЦП
в Fakeraid для операцій запису-читання на диски (розбивка на страйпи) використовується чіп з власною логікою, в Software ці операції вирішуються силами процесора. вбудований в мат. плату RAID краще взагалі не використовувати, тому що він представлений насправді у вигляді firmware і до нього потрібні драйвера, яких може і не бути під Linux.
якщо для fakeraid треба використовувати лінуксовий драйвер dmraid, а для softraid юзается mdadm, то краще не забивати собі голову зайвими речами і юзати відразу mdadm, до того ж, під час принесення дисків на будь-який комп ви зможете зробити mdamd -asseble і заюзать raid
У різних форумах активно не рекомендує користуватися вбудованою підтримкою fake-raid # 'а, приводячи купу аргументів, а тільки soft-raid #' ом ... тому що fake-raid - це фактично Софтова raid, тільки у кожного виробника свій власний формат зберігання (а то й кілька). і потрібно, щоб або dm-raid його розумів, або вкорячівать в систему малооттестірованний блоб від виробника (найчастіше він жорстко прив'язаний до конкретної версії ядра, а якщо і не жорстко, то зовсім не факт, що збирати заново прошарок збереться під сучасними ядрами). не хочете - використовуйте вільну реалізацію soft-raid-а. набагато більш надійну через кращу оттестірованності.
Швидкість читання записи raid1 буде однаково працювати на софтварном і апаратному рейді, ну дуже мінімальні відмінності, так як не треба обчислювати контрольні суми.
У реальному апаратному рейді контрольні суми обчислюються на контролері + там є перевірка на відкладений запис.
Повторюю для особливо обдарованих: справжній RAID абсолютно прозорий для операційних систем (будь-яких), не вимагає установки драйверів, не дає побачити окремих дисків замість масиву цілком. Все інше - software / fake raid.
Багато контролери RAID для своєї роботи вимагає драйвера на рівні ядра операційної системи. Для того щоб з'ясувати чи підтримує ядро ваш пристрій потрібно встановити файли документації.
Після установки, наприклад підтримка RAID контролерів Adaptec буде описана в файлі aacraid.txt.gz
Каліфорнійський університет в Берклі представив наступні рівні специфікації RAID, які були прийняті як стандарт де-факто:
RAID 0 представлений як неотказоустойчівий дисковий масив.
RAID 1 визначений як дзеркальний дисковий масив.
RAID 2 зарезервований для масивів, які застосовують код Хеммінга.
RAID 3, 4, 5 використовують парність для захисту даних від одиночних несправностей.
RAID 6 використовують парність для захисту даних від подвійних несправностей
RAID 0 ( «Striping») - дисковий масив з двох або більше жорстких дисків з відсутністю надмірності. Інформація розбивається на блоки даних (Ai) і записується на обидва / декілька дисків одночасно.
(+): За рахунок цього істотно підвищується продуктивність (від кількості дисків залежить кратність збільшення продуктивності).
(+): RAID 0 може бути реалізований як програмно, так і апаратно.
(-): Страждає надійність всього масиву (при виході з ладу будь-якого з вхідних в RAID 0 вінчестерів повністю і безповоротно пропадає вся інформація). Надійність масиву RAID 0 свідомо нижче надійності кожного з дисків окремо.
RAID 1 (Mirroring - «віддзеркалення»).
(+): Забезпечує прийнятну швидкість запису і виграш по швидкості читання при розпаралелювання запитів.
(+): Має високу надійність - працює доти, поки функціонує хоча б один диск в масиві.
(-): Недолік полягає в тому, що доводиться виплачувати вартість двох жорстких дисків, отримуючи корисний об'єм одного жорсткого диска (класичний випадок, коли масив складається з двох дисків).
Спочатку передбачається, що жорсткий диск - річ надійна. Відповідно, ймовірність виходу з ладу відразу двох дисків дорівнює (за формулою) добутку ймовірностей відмови кожного диска, тобто нижче на порядок. На жаль, дана теоретична модель недостатньо повно відображає процеси, що протікають в реальному житті. Так, звичайно два вінчестери беруться з однієї партії і працюють в однакових умовах, а при виході з ладу одного з дисків навантаження на період до закінчення збільшується, тому на практиці при виході з ладу одного з дисків слід терміново вживати заходів - знову відновлювати надмірність. Для цього з будь-яким рівнем RAID (крім нульового) рекомендують використовувати диски гарячого резерву. Гідність такого підходу - підтримка постійної надійності. Недолік - ще більші витрати (тобто вартість трьох вінчестерів для зберігання обсягу одного диска).
Дзеркало на багатьох дисках - RAID 1 + 0. При використанні такого рівня дзеркальні пари дисків шикуються в «ланцюжок», тому обсяг отриманого томи може перевершувати ємність одного жорсткого диска. Переваги та недоліки такі ж, як і у рівня RAID 0. Як і в інших випадках, рекомендується включати в масив диски гарячого резерву з розрахунку один резервний на п'ять робочих.
Крім базових рівнів RAID 0 - RAID 5, описаних у стандарті, існують комбіновані рівні RAID 1 + 0, RAID 3 + 0, RAID 5 + 0, RAID 1 + 5, які різні виробники інтерпретують кожен по-своєму.
- RAID 1 + 0 - це поєднання зеркалирования і чергування.
Нинішні контролери використовують цей режим за замовчуванням для RAID 1. Тобто, 1 диск основний, 2-й диск - дзеркало, причому читання проводиться з них по черзі, як для RAID 0. Власне, зараз можна вважати що RAID 1 і RAID 1 + 0 - це просто різну назву одного і того ж методу апаратного зеркалирования дисків. Але не варто забувати, що повноцінний RAID 1 + 0 повинен містити як мінімум 4 диска.
- RAID 5 + 0 - це чергування томів 5-го рівня. RAID 1 + 5 - RAID 5 з віддзеркалювати пар. І так далі.
Комбіновані рівні успадковують як переваги, так і недоліки своїх «батьків»: поява чергування в рівні RAID 5 + 0 анітрохи не додає йому надійності, але зате позитивно відбивається на продуктивності. Рівень RAID 1 + 5, напевно, дуже надійний, але не найшвидший і, до того ж, вкрай неекономічний: корисна ємність томи менше половини сумарної ємності дисків ...
Варто зазначити, що кількість жорстких дисків в комбінованих масивах також зміниться. Наприклад для RAID 5 + 0 використовують 6 або 8 жорстких дисків, для RAID 1 + 0 - 4, 6 або 8.