Петленко Меланія 54 гр. 2013 р.

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук

RAID. Класифікація та рівні.

Технічний прогрес невпинно йде вперед і технології, які раніше використовувалися на серйозних серверних рішеннях вже можна зустріти і в звичайних офісних комп’ютерах.
Однією з таких корисних речей є RAID-масиви: більшість сучасних материнських плат дозволяє створювати певні їх види — хто більше, хто менше. Термін RAID з'явився в 1988 р. в університеті Берклі.
RAID — Redundand Array of Inexpensive (зараз частіше вживають Independent) Disks, що буквально перекладається як «надлишковий масив з недорогих дисків» або «надлишковий масив з незалежних дисків». Це технологія, що дозволяє декілька реальних дисків представити як один віртуальний. Розмір результуючого диска залежить від способу комбінації цих дисків, так званого рівня масиву. Також, коли приступаєте до побудови RAID’у, не забудьте, що його можна будувати лише з одинакових за розміром дисків (є один вийняток, але він «приклеєний» до технології RAID чисто з технічних причин і, по суті, зі всіма решта рівнями має надзвичайно мало схожості). Ну і в залежності від обраного рівня Вам буде потрібно 2,3 або більше дисків
Найросповсюдженішими є наступні рівні:
JBOD(Just a Bunch Of Disks) або Linear — власне і є отой вийняток, який дозволяє включати в нього будь-які диски. Масив будується звичайним лінійним способом: спочатку запис іде на перший диск, коли він заповнюється — на другий, і так далі. Жодного виграшу по надійності збереження даних чи швидкості читання/запису не забезпечує. Єдиний ефект — диск по розміру рівний сумі всіх учасників масиву.
RAID-0 — строго кажучи теж не точно відповідає абревіатурі RAID, бо не забезпечує жодної надлишковості. Може містити довільну кількість дисків більше двох. Дані записуються блоками по черзі на кожен диск, таким чином можна одночасно проводити стільки операцій читання/запису скільки є дисків, відповідно, у стільки ж разів зростає сумарна швидкість цих операції. Як і в JBOD розмір дорівнює сумі розмірів учасникі, надлишковості теж немає, зате є приріст у швидкості. RAID-1 — також відомий як Mirror — дзеркало. Кожен блок даних записується на всі диски. Теж може містити довільну кількість дисків (два і більше). Зберігає інформацію при виході з ладу всіх дисків крім одного. Розмір масива дорівнює розміру одного диска-учасника, швидкість запису відповідає швидкості запису на найповільніший з дисків-учасників, зате швидкість читання може бути така ж як і в RAID-0 а деколи і більша (хоча особливо ліниві виробники цей ефект не використовують), це досягається за рахунок того, що різні блоки, як і в RAID-0 можна одночасно зчитувати з різних дисків, але якщо у RAID-0 цей фокус проходив лише при лінійному читанні, то в RAID-1 це працює при будь-яких умовах, адже на кожному диску є будь-який потрібний блок.
RAID-1+0 або RAID-10 — також частково вийняток з класифікації, бо по-факту є комбінацією RAID-1 i RAID-0: декілька масивів RAID-1 об’єднуються в RAID-0. Зазвичай частинки RAID-1 у ньому робляться з двох дисків (при автоматичній конфігурації — завжди), тому прийнято вважати, що він потребує парну кількість дисків не менше чотирьох. Обчислення розміру і швидкості відповідно слід виконати для всієї послідовності побудови. В класичному мінімальному варіанті з 4-х дисків: розмір як у двох дисків, швидкість запису вдвічі більша ніж на один диск-учасник, швидкість читання більша принаймні в два рази, а якщо виробник RAID-контроллера порядний, то в чотири. Дозволяє вихід з ладу будь-якої кількості дисків, що залишає працездатними підмасиви RAID-1.
RAID-5 — оптимальне рішення при наявності трьох і більше дисків. Принцип роботи при наявності N дисків наступний: пишеться N-1 блок і контрольна сума. Контрольна сума пишеться кожен раз на інший фізичний диск. Таким чином швидкість запису зростає майже в N-1 разів (майже, бо крім запису потрібен час на обчислення контрольної суми). Швидкість читання зростає в N-1 раз. Розмір теж дорівнює сумарному розміру N-1 диска. Дозволяє вихід з ладу одного диска — загублені блоки відновлюються по контрольних сумах (правда в цьому випадку швидкість нижча ніж при читанні з одного диска, але інформація не втрачається).
RAID-6 — вимагає наявності чотирьох або більше дисків, від RAID-5 відрізняється наявністю двох контрольних сум, відповідно дозволяє вихід з ладу будь-яких двох дисків, але і показники швидкості читання/запису в N-2 рази більші і доступний розмір N-2 дисків-учасників. Що поробиш — за більшу надійність чимось треба жертвувати. При виході з ладу одного диска швидкість падає як в RAID-5, при виході з ладу двох дисків - просто дико падає, але дані на місці, а це найважливіше.
RAID-2,3,4 — теж існують, але тепер вже лише в теорії, оскільки в них, як і в RAID-5 обчислювалася контрольна сума, але під її збереження виділявся окремий диск, що призводило до його надактивного використання і швидкого виходу з ладу, що миттєво перетворювало їх на ненадійний RAID-0.
RAID-50 та RAID-60 — теж теоретично можливі, але практична користь досить сумнівна, а алгоритм побудови дуже заплутаний, тому в реальному житті навряд чи хтось їх будує. При особливій паранойї можна задатися ще створенням RAID-51 та RAID-61, але це вже вершина збочення в RAID’обудуванні.
Найчастіше бюджетні материнські плати запропонують нам варіанти RAID-0, RAID-1, RAID-10, деякі — JBOD. Більш дорогі можуть також мати опції і RAID-5 та RAID-6. Щодо «інтегрованого RAID’обудування» слід пам’ятати одну корисну річ — у дуже багатьох випадках після задання конфігурації не відбувається абсолютно нічого, а фактично масив будується вже драйвером в операційній системі. Це так звані «фальшиві» RAID-контроллери, які всю свою роботу перекидають на процесор і пам’ять Вашого комп’ютера і, відповідно, відбирають їхні ресурси у Ваших задач. На відміну від них «чесні» RAID-контроллери мають власні процесор та пам’ять, але відповідно зростає і ціна такого технічного рішення. Так що Вам слід зважити: якщо Ваші задачі не надто навантажують процесор і пам’ять, але гальмують через повільну дискову систему, то можна обійтися і «фальшивкою», але якщо є потреба збільшити швидкість чи надійність дискових операцій, але процесор і пам’ять завантажені «під зав’язку», то доведеться розщедритися на неурізаний контроллер.
Якщо у Вас немає ні «фальшивого» ні «чесного» RAID-контроллера, то більшість операційок дозволяють створити RAID-масиви засобами самої системи — швидкість роботи, звичайно ж, така як і в «фальшивого» контролера, зате в опціях ми практично не обмежені.
Ще одна річ про яку слід знати приступаючи до RAID’обудування, це можливість виділення spare-дисків — резервних дисків, які задіюються автоматично при виході з ладу допустимої кількості основних дисків і на які відбувається відновлення інформації та, відповідно, відновлення функціональності і швидкості RAID-масиву в початковому об’ємі.
Для RAID-5 та RAID-6 spare-диски є просто необхідними, якщо у Вас серйозна задача, адже при виході з ладу одного з дисків швидкість роботи цих масивів надзвичайно низька, а наявність такого диска дозволяє автоматично відновити на ньому дані з пошкодженого і повернутися до початкових швидкісних показників.
Spare-диски можна задати для всіх RAID’ів крім JBOD та RAID-0.
Використання RAID-y на практиці
RAID-0 — улюблена забавка геймерів.
Сучасні ігри використовують надзвичайно багато графічних текстур високої якості і чим шидше ці текстури будуть зчитуватися в пам’ять тим швидше забавка буде завантажуватися і менше гальмувати. Надійність є фактором некритичним — при «вильоті» диска масив можна переробити на меншу кількість, а ігри — перевстановити.
RAID-1 — використовується всюди, де присутня певна паранойя: коли серйозно розробляєте якісь проекти або ведете бухгалтерію, то збереження даних є на першому місці.
RAID-10 — потрібний тим, хто працює з мультимедійними проектами (відео, флеш-програмування), коли потрібно і дані не втратити і швидкість роботи збільшити.
RAID-5 та RAID-6 — тоді ж коли і RAID-10, але хочеться максимально ефектино використати місце.