Faq по практичної реалізації raid

FAQ по практичної реалізації RAID

Коли потрібен RAID?

Що таке «RAID»?

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

Які існують рівні RAID і який з них вибрати?

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

блок 0
блок 3
.
блок N

блок 1
блок 4
.
Блок N + 1

блок 2
блок 5
.
Блок N + 2

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

RAID-1. Більш відомий як "Mirroring" ( "Віддзеркалення") - це пара дисководів, що містять однакову інформацію і складових один логічний диск:

блок 0
блок 1
.
блок N

блок 0
блок 1
.
блок N

Запис проводиться на обидва дисковода в кожній парі. Проте, дисководи, що входять в пару, можуть здійснювати одночасні операції читання. Таким чином «віддзеркалення» може подвоювати швидкість читання, але швидкість запису залишається незмінною. RAID-1 володіє 100% надмірністю і аварія одного із диском не призводить до аварії всього масиву - контролер просто перемикає операції читання / запису на що залишився дисковод.
RAID-1 забезпечує найвищу швидкість роботи серед всіх типів надлишкових масивів (RAID-1 - RAID-5), особливо в розрахованому на багато користувачів оточенні, але найгірше використання дискового простору. Оскільки для RAID-1 не потрібні складні математичні або логічні обчислення, витрати на його реалізацію мінімальні.
Мінімальна кількість дисководів в масиві "RAID-1" - 2шт.
Для збільшення швидкості запису і забезпечення надійності зберігання даних кілька масивів RAID-1 можна, в свою чергу, об'єднати в RAID-0. Така конфігурація називається «дворівневий» RAID або RAID-10 (RAID 0 + 1):

блок 0
блок 2
.
блок N

блок 0
блок 2
.
блок N

блок 1
блок 3
.
Блок N + 1

блок 1
блок 3
.
Блок N + 1

Мінімальна кількість дисководів в масиві "RAID 0 + 1" - 4 шт.
Область застосування: дешеві масиви, в яких головне - надійність зберігання даних.

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

RAID-3. Як і у випадку з RAID-2 дані розподіляються по Страйп розміром в один сектор, а один з дисководів масиву відводиться для зберігання інформації про парності:

блок 0
блок 2
.
блок N

блок 1
блок 3
.
Блок N + 1

Контрольна сума блоку 0 і 1
Контрольна сума блоку 2 і 3
.
Контрольна сума блоку N і N + 1

RAID-3 покладається на коди з ECC, що зберігаються в кожному секторі для виявлення помилок. У разі відмови одного з дисководів відновлення зберігалася на ньому інформації можливо за допомогою обчислення виключає АБО (XOR) за інформацією на що залишилися дисководах. Кожен запис зазвичай розподілена по всьому дисководів і тому цей тип масиву хороший для роботи в додатках з інтенсивним обміном з дисковою підсистемою. Так як кожна операція введення-виведення звертається до всіх дисководів масиву, RAID-3 не може одночасно виконувати кілька операцій. Тому RAID-3 хороший для розрахованого на одного користувача однозадачних оточення з довгими записами. Для роботи з короткими записами потрібна синхронізація обертання дисководів, так як інакше неминуче зменшення швидкості обміну. Застосовується рідко, тому що програє RAID-5 по використанню дискового простору. Реалізація вимагає значних витрат.
Мінімальна кількість дисководів в масиві "RAID-3" - 3шт.

RAID-4. RAID-4 ідентичний RAID-3 за винятком того, що розмір Страйп багато більше одного сектора. В цьому випадку читання здійснюється з одного дисковода (не рахуючи дисковода, що зберігає інформацію про парності), тому можливе одночасне виконання декількох операцій читання. Проте, так як кожна операція запису повинна оновити вміст дисковода парності, одночасне виконання декількох операцій записи неможливо. Цей тип масиву не має помітних переваг перед масивом типу RAID-5.
RAID-5. Цей тип масиву іноді називається «масив з обертової парністю». Даний тип масиву успішно долає властивий RAID-4 недолік - неможливість одночасного виконання кількох операцій запису. У цьому масиві, як і в RAID-4, використовуються страйпи великого розміру, але, на відміну від RAID-4, інформація про парність зберігається не на одному дисководі, а на всіх дисководах по черзі:

блок 0
блок 2
.
Контрольна сума блоку N і N + 1

блок 1
Контрольна сума блоку 3 і 4
.
Блок N + 1

Контрольна сума блоку 1 і 2
блок 3
.
блок N

Операції запису звертаються до одного дисковода з даними і до іншого дисководу з інформацією про парності. Так як інформація про парності для різних Страйп зберігається на різних дисководах виконання декількох одночасних операцій записи неможливо тільки в тих рідкісних випадках, коли або страйпи з даними, або страйпи з інформацією про парності знаходяться на одному і тому ж дисководі. Чим більше дисководів в масиві, тим рідше збігається розташування Страйп інформації і парності.
Область застосування: надійні масиви великого обсягу. Реалізація вимагає значних витрат.
Мінімальна кількість дисководів в масиві "RAID-5" - 3шт.

RAID-1 або RAID-5?
RAID-5 в порівнянні з RAID-1 більш економно використовує дисковий простір, так як в ньому для надмірності зберігається не «копія» інформації, а лише великі червоні літери. В результаті в RAID-5 можна об'єднати будь-яку кількість дисководів, з яких тільки один буде містити надлишкову інформацію.
Але більш висока ефективність використання дискового простору досягається за рахунок більш низької швидкості обміну інформацією. Під час запису інформації в RAID-5 треба кожен раз оновлювати інформацію про парності. Для цього треба визначити, які саме біти парності змінилися. Спочатку зчитується підлягає оновленню стара інформація. Потім ця інформація перемножується по XOR з новою інформацією. Результат цієї операції - бітова маска, в якій кожен біт = 1 означає, що в інформації про парності у відповідній позиції треба замінити значення. Потім оновлена ​​інформація про парності записується на відповідне місце. Отже, на кожну вимогу програми записати інформацію, RAID-5 здійснює два читання, два записи і дві операції XOR.
За те, що більш ефективно використовується дисковий простір (замість копії даних зберігається блок парності) доводиться платити: на генерацію і запис інформації про парності йде додатковий час. Це означає, що швидкість запису на RAID-5 нижче, ніж на RAID-1 в співвідношенні 3: 5 або навіть 1: 3 (тобто швидкість запису на RAID-5 становить від 3/5 до 1/3 від швидкості запису RAID-1). Через це RAID-5 безглуздо створювати в програмному варіанті. Їх також не можна рекомендувати в тих випадках, коли саме швидкість запису має вирішальне значення.

Прочитавши опис різних рівнів RAID можна помітити, що ніде не згадуються якісь специфічні вимоги до апаратури, яка необхідна для реалізації RAID. З чого можна зробити висновок, що все, що потрібно для реалізації RAID - підключити необхідну кількість дисководів до наявного в комп'ютері контролера і встановити на комп'ютер спеціальне програмне забезпечення. Це вірно, але не зовсім!
Дійсно, існує можливість програмної реалізації RAID. Прикладом може служити ОС Microsoft Windows NT 4.0 Server, в якій можлива програмна реалізація RAID-0, -1 і навіть RAID-5 (Microsoft Windows NT 4.0 Workstation забезпечує тільки RAID-0 і RAID-1). Однак дане рішення слід розглядати, як вкрай спрощене, що не дозволяє повною мірою реалізувати можливості RAID-масиву. Досить зазначити, що при програмної реалізації RAID все навантаження по розміщенню інформації на дисководах, обчисленню контрольних кодів і т.д. лягає на центральний процесор, що природно, не збільшує продуктивності і надійності системи. З тих же причин, тут практично відсутні будь-які сервісні функції та всі операції по заміні несправного дисковода, додавання нового дисковода, зміни рівня RAID і т. П. Виробляються з повною втратою даних і при повній забороні виконання будь-яких інших операцій. Єдине достоїнство програмної реалізації RAID - мінімальна вартість.

Набагато більше можливостей дає апаратна реалізація RAID за допомогою спеціальних RAID-контролерів: - спеціалізований контролер звільняє центральний процесор від основних операцій з RAID, причому ефективність контролера тим більше помітна, чим вище рівень складності RAID;
- контролери, як правило, забезпечені драйверами, що дозволяють створити RAID практично для будь-якої популярної ОС;
- вбудований BIOS контролера і додані до неї програми управління дозволяють адміністратору системи легко підключати, відключати або замінювати дисководи, що входять в RAID, створювати кілька RAID-масивів, причому навіть різних рівнів, контролювати стан дискового масиву і т.д. У «просунутих» контролерів ці операції можна проводити «на льоту», тобто не вимикаючи системний блок. Багато операцій можуть бути виконані в «фоновому режимі», тобто не перериваючи поточну роботу і навіть дистанційно, тобто з будь-якого (звичайно при наявності доступу) робочого місця;
- контролери можуть оснащуватися буферноїпам'яттю ( «кеш»), в якій запам'ятовуються кілька останніх блоків даних, що, при частому зверненні до одних і тих же файлів, дозволяє значно збільшити швидкодію дискової системи. Недоліком апаратної реалізації RAID є відносно висока вартість RAID-контролерів. Однак, з одного боку, за все (надійність, швидкодію, сервіс) треба платити. З іншого боку, останнім часом, з розвитком мікропроцесорної техніки, вартість RAID-контоллеров (особливо молодших моделей) стала різко падати і стала порівнянною з вартістю звичайних дискових контролерів, що дозволяє встановлювати RAID-системи не тільки в дорогі мейнфрейми, а й в сервера початкового рівня і навіть в робочі станції.

Як вибрати модель RAID-контролера?

Можна виділити кілька типів RAID-контролерів в залежності від їх функціональних можливостей, конструктивним виконанням і вартості:
1. Контролери дисковода з функціями RAID.
По суті, це звичайний дисковий контролер, який завдяки спеціальній прошивці BIOS дозволяє об'єднувати дисководи в RAID-масив, як правило, рівня 0, 1 або 0 + 1.

Ultra (Ultra Wide) SCSI контролер фірми Mylex KT930RF (KT950RF).
Зовні цей контролер ні чим не відрізняється від звичайного SCSI-контролера. Вся "спеціалізація" знаходиться в BIOS, який як би розділений на дві частини - «Конфігурація SCSI» / «Конфігурація RAID». Незважаючи на невисоку вартість (менше $ 200) даний контролер має непоганий набором функцій: - об'єднання до 8-и дисководів в RAID 0, 1 або 0 + 1;
- підтримка Hot Spare для заміни "на льоту" вийшов з ладу дисковода;
- можливість автоматичної (без втручання оператора) заміни несправного дисковода;
- автоматичний контроль цілісності та ідентичності (для RAID-1) даних;
- наявність пароля для доступу в BIOS;
- програма RAIDPlus представляє інформацію про стан дисководів в RAID;
- драйвера для DOS, Windows 95, NT 3.5x, 4.0


IDE контролер фірми Promise FastTRAK
Даний контролер містить два незалежних IDE каналу. Додавши другий контролер FastTrak можна отримати чотири незалежно працюючих каналу. BIOS, встановлений на контролері, повністю бере на себе всі функції переривання INT13. Зокрема, він дозволяє організувати завантаження з будь-якого з дискових масивів, підключених через FastTrak. BIOS, встановлений на контролері, також підтримує всі функції Extended INT13, в тому числі і підтримку дисків об'ємом більше 8.4 Гбайта. Вартість контролера менше $ 150. Контролер має наступні характеристики: - об'єднання до 4-х (до 8-и з двома контролерами) дисководів в RAID 0, 1 або 0 + 1;
- підтримка Hot Spare для заміни "на льоту" вийшов з ладу дисковода;
- драйвера для DOS, Windows 95/98, NT 3.x / 4.х, Novell Netware 3.1x / 4.x, OS / 2 Warp 2.x / 3.0


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

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

Ultra2 SCSI контролер фірми Mylex AcceleRAID 150, AcceleRAID 200, AcceleRAID 250
Ultra2 SCSI контролер фірми AMI MegaRAID® Express 762


Mylex AcceleRAID 150


Mylex AcceleRAID 200

Схожі статті