Відмінності між версіями «RAID»
Basilb (обговорення • внесок) м (Basilb перейменував сторінку з Строганов Володимир на RAID) |
|||
(не показано 4 проміжні версії ще одного учасника) | |||
Рядок 7: | Рядок 7: | ||
Рівні RAID: | Рівні RAID: | ||
− | '''RAID | + | '''RAID 0''' |
− | + | ||
+ | Може містити довільну кількість дисків більше двох. Дані записуються блоками по черзі на кожен диск, таким чином можна одночасно проводити стільки операцій читання/запису скільки є дисків, відповідно, у стільки ж разів зростає сумарна швидкість цих операції. Як і в JBOD розмір дорівнює сумі розмірів учасників, надлишковості теж немає, зате є приріст у швидкості. | ||
+ | |||
+ | Технологія RAID 0 також відома як розподіл даних (data striping). З застосуванням цієї технології, інформація розбивається на шматки (фіксовані об'єми даних, зазвичай іменованих блоками), і ці шматки записуються на диски і зчитуються з них в паралель. З точки зору продуктивності це означає дві основні переваги: | ||
+ | |||
+ | * підвищується пропускна здатність послідовного введення/виводу за рахунок одночасного завантаження кількох інтерфейсів. | ||
+ | * знижується латентність випадкового доступу; декілька запитів до різних невеликих сегментів інформації можуть виконуватися одночасно. | ||
+ | |||
+ | '''Недолік:''' рівень RAID 0 призначений виключно для підвищення продуктивності, і не забезпечує надмірності даних. Тому будь-які дискові збої потребуватимуть відновлення інформації з резервних носіїв. | ||
+ | |||
+ | <table caption="RAID 0" border="1" cellspacing="7"> | ||
+ | <tr> | ||
+ | <td colspan="5"><p align="center">Контролер | ||
+ | масиву</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td><strong>SCSI 1</strong></td> | ||
+ | |||
+ | <td><strong>SCSI 2</strong></td> | ||
+ | <td><strong>SCSI 3</strong></td> | ||
+ | <td><strong>SCSI 4</strong></td> | ||
+ | <td><strong>SCSI 5</strong></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td bgcolor="#FFFF00"><font color="#0000FF"><strong>Диск | ||
+ | 1</strong></font></td> | ||
+ | |||
+ | <td bgcolor="#FFFF00"><font color="#0000FF"><strong>Диск | ||
+ | 2</strong></font></td> | ||
+ | <td bgcolor="#FFFF00"><font color="#0000FF"><strong>Диск | ||
+ | 3</strong></font></td> | ||
+ | <td bgcolor="#FFFF00"><font color="#0000FF"><strong>Диск | ||
+ | 4</strong></font></td> | ||
+ | <td bgcolor="#FFFF00"><font color="#0000FF"><strong>Диск | ||
+ | 5</strong></font></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td><font size="2">Сегмент 1</font></td> | ||
+ | |||
+ | <td><font size="2">Сегмент 2</font></td> | ||
+ | <td><font size="2">Сегмент 3</font></td> | ||
+ | <td><font size="2">Сегмент 4</font></td> | ||
+ | <td><font size="2">Сегмент 5</font></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td><font size="2">Сегмент 6</font></td> | ||
+ | |||
+ | <td><font size="2">Сегмент 7</font></td> | ||
+ | <td><font size="2">Сегмент 8</font></td> | ||
+ | <td><font size="2">Сегмент 9</font></td> | ||
+ | <td><font size="2">Сегмент 10</font></td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | |||
+ | Розподіл даних по дисках для RAID 0 | ||
+ | |||
+ | |||
+ | '''RAID 1''' | ||
− | |||
Кожен блок даних записується на всі диски. Теж може містити довільну кількість дисків (два і більше). Зберігає інформацію при виході з ладу всіх дисків крім одного. Розмір масива дорівнює розміру одного диска-учасника, швидкість запису відповідає швидкості запису на найповільніший з дисків-учасників, зате швидкість читання може бути така ж як і в RAID-0 а деколи і більша (хоча особливо ліниві виробники цей ефект не використовують), це досягається за рахунок того, що різні блоки, як і в RAID-0 можна одночасно зчитувати з різних дисків, але якщо у RAID-0 цей фокус проходив лише при лінійному читанні, то в RAID-1 це працює при будь-яких умовах, адже на кожному диску є будь-який потрібний блок. | Кожен блок даних записується на всі диски. Теж може містити довільну кількість дисків (два і більше). Зберігає інформацію при виході з ладу всіх дисків крім одного. Розмір масива дорівнює розміру одного диска-учасника, швидкість запису відповідає швидкості запису на найповільніший з дисків-учасників, зате швидкість читання може бути така ж як і в RAID-0 а деколи і більша (хоча особливо ліниві виробники цей ефект не використовують), це досягається за рахунок того, що різні блоки, як і в RAID-0 можна одночасно зчитувати з різних дисків, але якщо у RAID-0 цей фокус проходив лише при лінійному читанні, то в RAID-1 це працює при будь-яких умовах, адже на кожному диску є будь-який потрібний блок. | ||
− | + | <table caption="RAID 1" border="1" cellspacing="7"> | |
− | + | <tr> | |
+ | <td bgcolor="#FFFF00"><font color="#0000FF"><strong>Диск 1<br> | ||
+ | (дані)</strong></font></td> | ||
+ | <td bgcolor="#FFFF00"><font color="#0000FF"><strong>Диск 2<br> | ||
+ | (копія диска 1)</strong></font></td> | ||
+ | <td bgcolor="#FFFF00"><font color="#0000FF"><strong>Диск 3<br> | ||
+ | (дані)</strong></font></td> | ||
+ | <td bgcolor="#FFFF00"><font color="#0000FF"><strong>Диск 4<br> | ||
+ | (копія диска 3)</strong></font></td> | ||
+ | <td bgcolor="#FFFF00"><font color="#0000FF"><strong>Диск 5<br> | ||
+ | (вільний)</strong></font></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td><font size="2">Сегмент 1</font></td> | ||
+ | <td><font size="2">Сегмент 1</font></td> | ||
+ | <td><font size="2">Сегмент 2</font></td> | ||
+ | |||
+ | <td><font size="2">Сегмент 2</font></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td><font size="2">Сегмент 3</font></td> | ||
+ | <td><font size="2">Сегмент 3</font></td> | ||
+ | <td><font size="2">Сегмент 4</font></td> | ||
+ | <td><font size="2">Сегмент 4</font></td> | ||
+ | |||
+ | </tr> | ||
+ | </table> | ||
+ | |||
+ | Розподіл даних по дисках для RAID 1 | ||
+ | |||
+ | |||
+ | '''RAID 2''' | ||
+ | |||
+ | Існують, але тепер вже лише в теорії, оскільки в них, як і в RAID-5 обчислювалася контрольна сума, але під її збереження виділявся окремий диск, що призводило до його надактивного використання і швидкого виходу з ладу, що миттєво перетворювало їх на ненадійний RAID-0. | ||
+ | |||
+ | <table border="1" cellspacing="7"> | ||
+ | <tr> | ||
+ | <td bgcolor="#FFFF00"><font color="#0000FF"><strong>Диск 1<br> | ||
+ | (дані)</strong></font></td> | ||
+ | <td bgcolor="#FFFF00"><font color="#0000FF"><strong>Диск 2<br> | ||
+ | (дані)</strong></font></td> | ||
+ | <td bgcolor="#FFFF00"><font color="#0000FF"><strong>Диск 3<br> | ||
+ | (дані)</strong></font></td> | ||
+ | <td bgcolor="#C0C0C0"><font color="#0000FF"><strong>Диск 4<br></strong></font></td> | ||
+ | <td bgcolor="#C0C0C0"><font color="#0000FF"><strong>Диск 5<br></strong></font></td> | ||
+ | <td bgcolor="#C0C0C0"><font color="#0000FF"><strong>Диск 6<br></strong></font></td> | ||
+ | |||
+ | </tr> | ||
+ | <tr> | ||
+ | <td><font size="2">0</font></td> | ||
+ | <td><font size="2">1</font></td> | ||
+ | <td><font size="2">2</font></td> | ||
+ | <td><font size="2">f(0)</font></td> | ||
+ | <td><font size="2">f(1)</font></td> | ||
+ | <td><font size="2">f(2)</font></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td><font size="2"> </font></td> | ||
+ | <td><font size="2"> </font></td> | ||
+ | <td><font size="2"> </font></td> | ||
+ | <td><font size="2"> </font></td> | ||
+ | <td><font size="2"> </font></td> | ||
+ | <td><font size="2"> </font></td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | |||
+ | Розподіл даних по дисках для RAID 2 | ||
+ | |||
+ | Кількість резервних дисків пропорційна кількості дисків даних. | ||
+ | |||
+ | '''Призначення:''' робота в масиві з великою кількістю дискових помилок | ||
+ | |||
+ | |||
+ | '''RAID 3''' | ||
+ | |||
+ | Технологія паралельного доступу. Використовується лише 1 резервний диск. | ||
+ | <table border="1" cellspacing="7"> | ||
+ | <tr> | ||
+ | <td bgcolor="#FFFF00"><font color="#0000FF"><strong>Диск 1<br> | ||
+ | (дані)</strong></font></td> | ||
+ | <td bgcolor="#FFFF00"><font color="#0000FF"><strong>Диск 2<br> | ||
+ | (дані)</strong></font></td> | ||
+ | <td bgcolor="#FFFF00"><font color="#0000FF"><strong>Диск 3<br> | ||
+ | (дані)</strong></font></td> | ||
+ | <td bgcolor="#FFFFC0"><font color="#0000FF"><strong>Диск 4 (біт парності)<br> | ||
+ | </strong></font></td> | ||
+ | |||
+ | </tr> | ||
+ | <tr> | ||
+ | <td><font size="2">а1</font></td> | ||
+ | <td><font size="2">а2</font></td> | ||
+ | <td><font size="2">а3</font></td> | ||
+ | <td bgcolor="#C0C0C0"><font size="2">f(a)</font></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td><font size="2">b1</font></td> | ||
+ | <td><font size="2">b2</font></td> | ||
+ | <td><font size="2">b3</font></td> | ||
+ | <td bgcolor="#C0C0C0"><font size="2">f(b)</font></td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | |||
+ | Розподіл даних по дисках для RAID 3 | ||
+ | |||
+ | Використовується паралельний доступ з розподіленими по невеликих смугах даними. Замість коду помилок на резервному диску зберігається простий біт парності. | ||
+ | Зміст муг даних може бути відновлено за змістом відповідних смуг інших дисків. | ||
+ | При збої диску читання відбувається "на льоту". | ||
+ | |||
+ | |||
+ | '''RAID 4''' | ||
− | |||
Технології незалежного доступу. Кожен диск функціонує незалежно, різні запити можуть бути оброблені незалежно. | Технології незалежного доступу. Кожен диск функціонує незалежно, різні запити можуть бути оброблені незалежно. | ||
− | '''RAID | + | <table border="1" cellspacing="7"> |
− | Розподілена парність з чергованими блоками. Порівняно з RAID 4 зменшується | + | <tr> |
+ | <td bgcolor="#FFFF00"><font color="#0000FF"><strong>Диск 1<br> | ||
+ | (дані)</strong></font></td> | ||
+ | <td bgcolor="#FFFF00"><font color="#0000FF"><strong>Диск 2<br> | ||
+ | (дані)</strong></font></td> | ||
+ | <td bgcolor="#FFFF00"><font color="#0000FF"><strong>Диск 3<br> | ||
+ | (дані)</strong></font></td> | ||
+ | <td bgcolor="#FFFF00"><font color="#0000FF"><strong>Диск 4<br> | ||
+ | (данні)</strong></font></td> | ||
+ | <td bgcolor="#FFFFC0"><font color="#0000FF"><strong>Диск 5 (біт парності)<br> | ||
+ | </strong></font></td> | ||
+ | |||
+ | </tr> | ||
+ | <tr> | ||
+ | <td><font size="2">0</font></td> | ||
+ | <td><font size="2">1</font></td> | ||
+ | <td><font size="2">2</font></td> | ||
+ | <td><font size="2">3</font></td> | ||
+ | <td bgcolor="#C0C0C0"><font size="2">f(0-3)</font></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td><font size="2">4</font></td> | ||
+ | <td><font size="2">5</font></td> | ||
+ | <td><font size="2">6</font></td> | ||
+ | <td><font size="2">7</font></td> | ||
+ | <td bgcolor="#C0C0C0"><font size="2">f(4-7)</font></td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | |||
+ | |||
+ | '''RAID 5''' | ||
+ | |||
+ | Розподілена парність з чергованими блоками. Порівняно з RAID 4 зменшується кількість операцій читання та запису для одного блоку (смуги) даних. | ||
+ | |||
+ | <table border="1" cellspacing="7"> | ||
+ | <tr> | ||
+ | <td bgcolor="#FFFF00"><font color="#0000FF"><strong>Диск 1</strong></font></td> | ||
+ | <td bgcolor="#FFFF00"><font color="#0000FF"><strong>Диск 2</strong></font></td> | ||
+ | <td bgcolor="#FFFF00"><font color="#0000FF"><strong>Диск 3</strong></font></td> | ||
+ | <td bgcolor="#FFFF00"><font color="#0000FF"><strong>Диск 4</strong></font></td> | ||
+ | <td bgcolor="#FFFF00"><font color="#0000FF"><strong>Диск 5</strong></font></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td bgcolor="#C0C0C0"><font size="2">f(0-3)</font></td> | ||
+ | <td><font size="2">0</font></td> | ||
+ | <td><font size="2">1</font></td> | ||
+ | <td><font size="2">2</font></td> | ||
+ | <td><font size="2">3</font></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td><font size="2">4</font></td> | ||
+ | <td bgcolor="#C0C0C0"><font size="2">f(4-7)</font></td> | ||
+ | <td><font size="2">5</font></td> | ||
+ | |||
+ | <td><font size="2">6</font></td> | ||
+ | <td><font size="2">7</font></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td><font size="2">8</font></td> | ||
+ | <td><font size="2">9</font></td> | ||
+ | <td bgcolor="#C0C0C0"><font size="2">f(8-11)</font></td> | ||
+ | <td><font size="2">10</font></td> | ||
+ | <td><font size="2">11</font></td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | |||
+ | Розподіл даних по дисках для RAID 5 | ||
+ | |||
'''RAID рівня 6''' | '''RAID рівня 6''' | ||
− | f і | + | |
+ | '''f''' і '''g'''– різні алгоритми знаходження парності | ||
+ | |||
+ | <table border="1" cellspacing="7"> | ||
+ | <tr> | ||
+ | <td bgcolor="#FFFF00"><font color="#0000FF"><strong>Диск 1</strong></font></td> | ||
+ | <td bgcolor="#FFFF00"><font color="#0000FF"><strong>Диск 2</strong></font></td> | ||
+ | <td bgcolor="#FFFF00"><font color="#0000FF"><strong>Диск 3</strong></font></td> | ||
+ | <td bgcolor="#FFFF00"><font color="#0000FF"><strong>Диск 4</strong></font></td> | ||
+ | <td bgcolor="#FFFF00"><font color="#0000FF"><strong>Диск 5</strong></font></td> | ||
+ | <td bgcolor="#FFFF00"><font color="#0000FF"><strong>Диск 6</strong></font></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td bgcolor="#C0C0C0"><font size="2">f(0-3)</font></td> | ||
+ | <td bgcolor="#8090C0"><font size="2">g(0-3)</font></td> | ||
+ | <td><font size="2">0</font></td> | ||
+ | <td><font size="2">1</font></td> | ||
+ | <td><font size="2">2</font></td> | ||
+ | <td><font size="2">3</font></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td><font size="2">4</font></td> | ||
+ | <td bgcolor="#C0C0C0"><font size="2">f(4-7)</font></td> | ||
+ | <td bgcolor="#8090C0"><font size="2">g(4-7)</font></td> | ||
+ | <td><font size="2">5</font></td> | ||
+ | <td><font size="2">6</font></td> | ||
+ | <td><font size="2">7</font></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td><font size="2">8</font></td> | ||
+ | <td><font size="2">9</font></td> | ||
+ | <td bgcolor="#C0C0C0"><font size="2">f(8-11)</font></td> | ||
+ | <td bgcolor="#8090C0"><font size="2">g(8-11)</font></td> | ||
+ | <td><font size="2">10</font></td> | ||
+ | <td><font size="2">11</font></td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | |||
+ | Розподіл даних по дисках для RAID 6 |
Поточна версія на 17:29, 11 жовтня 2016
RAID (англ. redundant array of independent disks) — надлишковий масив незалежних дисків. Цей набір дискових пристроїв, що працюють разом, щоб підвищити швидкість і надійність системи вводу/виводу, називається дисковим масивом. Цим управляє спеціальний RAID-контролер (контролер масиву), який забезпечує функції розміщення даних по масиву; а для решти всієї системи дозволяє представляти весь масив як один логічний пристрій вводу/виводу. За рахунок паралельного виконання операцій читання і запису на кількох дисках, масив забезпечує підвищену швидкість обмінів в порівнянні з одним великим диском.
Масиви також можуть забезпечувати надмірне зберігання даних, з тим, щоб дані не були втрачені у разі виходу з ладу одного з дисків. Залежно від рівня RAID, проводиться або дзеркалювання або розподіл даних по дисках.
Каліфорнійський університет в Берклі представив наступні рівні RAID, вони були прийняті як стандарт де-факто. Кожен з чотирьох основних рівнів RAID використовує унікальний метод запису даних на диски, і тому всі рівні забезпечують різні переваги. Рівні RAID 1,3 і 5 забезпечують дзеркалювання або зберігання бітів парності; і тому дозволяють відновити інформацію у разі збою одного з дисків.
Рівні RAID:
RAID 0
Може містити довільну кількість дисків більше двох. Дані записуються блоками по черзі на кожен диск, таким чином можна одночасно проводити стільки операцій читання/запису скільки є дисків, відповідно, у стільки ж разів зростає сумарна швидкість цих операції. Як і в JBOD розмір дорівнює сумі розмірів учасників, надлишковості теж немає, зате є приріст у швидкості.
Технологія RAID 0 також відома як розподіл даних (data striping). З застосуванням цієї технології, інформація розбивається на шматки (фіксовані об'єми даних, зазвичай іменованих блоками), і ці шматки записуються на диски і зчитуються з них в паралель. З точки зору продуктивності це означає дві основні переваги:
- підвищується пропускна здатність послідовного введення/виводу за рахунок одночасного завантаження кількох інтерфейсів.
- знижується латентність випадкового доступу; декілька запитів до різних невеликих сегментів інформації можуть виконуватися одночасно.
Недолік: рівень RAID 0 призначений виключно для підвищення продуктивності, і не забезпечує надмірності даних. Тому будь-які дискові збої потребуватимуть відновлення інформації з резервних носіїв.
Контролер масиву |
||||
SCSI 1 | SCSI 2 | SCSI 3 | SCSI 4 | SCSI 5 |
Диск 1 | Диск 2 | Диск 3 | Диск 4 | Диск 5 |
Сегмент 1 | Сегмент 2 | Сегмент 3 | Сегмент 4 | Сегмент 5 |
Сегмент 6 | Сегмент 7 | Сегмент 8 | Сегмент 9 | Сегмент 10 |
Розподіл даних по дисках для RAID 0
RAID 1
Кожен блок даних записується на всі диски. Теж може містити довільну кількість дисків (два і більше). Зберігає інформацію при виході з ладу всіх дисків крім одного. Розмір масива дорівнює розміру одного диска-учасника, швидкість запису відповідає швидкості запису на найповільніший з дисків-учасників, зате швидкість читання може бути така ж як і в RAID-0 а деколи і більша (хоча особливо ліниві виробники цей ефект не використовують), це досягається за рахунок того, що різні блоки, як і в RAID-0 можна одночасно зчитувати з різних дисків, але якщо у RAID-0 цей фокус проходив лише при лінійному читанні, то в RAID-1 це працює при будь-яких умовах, адже на кожному диску є будь-який потрібний блок.
Диск 1 (дані) |
Диск 2 (копія диска 1) |
Диск 3 (дані) |
Диск 4 (копія диска 3) |
Диск 5 (вільний) |
Сегмент 1 | Сегмент 1 | Сегмент 2 | Сегмент 2 | |
Сегмент 3 | Сегмент 3 | Сегмент 4 | Сегмент 4 |
Розподіл даних по дисках для RAID 1
RAID 2
Існують, але тепер вже лише в теорії, оскільки в них, як і в RAID-5 обчислювалася контрольна сума, але під її збереження виділявся окремий диск, що призводило до його надактивного використання і швидкого виходу з ладу, що миттєво перетворювало їх на ненадійний RAID-0.
Диск 1 (дані) |
Диск 2 (дані) |
Диск 3 (дані) |
Диск 4 |
Диск 5 |
Диск 6 |
0 | 1 | 2 | f(0) | f(1) | f(2) |
Розподіл даних по дисках для RAID 2
Кількість резервних дисків пропорційна кількості дисків даних.
Призначення: робота в масиві з великою кількістю дискових помилок
RAID 3
Технологія паралельного доступу. Використовується лише 1 резервний диск.
Диск 1 (дані) |
Диск 2 (дані) |
Диск 3 (дані) |
Диск 4 (біт парності) |
а1 | а2 | а3 | f(a) |
b1 | b2 | b3 | f(b) |
Розподіл даних по дисках для RAID 3
Використовується паралельний доступ з розподіленими по невеликих смугах даними. Замість коду помилок на резервному диску зберігається простий біт парності. Зміст муг даних може бути відновлено за змістом відповідних смуг інших дисків. При збої диску читання відбувається "на льоту".
RAID 4
Технології незалежного доступу. Кожен диск функціонує незалежно, різні запити можуть бути оброблені незалежно.
Диск 1 (дані) |
Диск 2 (дані) |
Диск 3 (дані) |
Диск 4 (данні) |
Диск 5 (біт парності) |
0 | 1 | 2 | 3 | f(0-3) |
4 | 5 | 6 | 7 | f(4-7) |
RAID 5
Розподілена парність з чергованими блоками. Порівняно з RAID 4 зменшується кількість операцій читання та запису для одного блоку (смуги) даних.
Диск 1 | Диск 2 | Диск 3 | Диск 4 | Диск 5 |
f(0-3) | 0 | 1 | 2 | 3 |
4 | f(4-7) | 5 | 6 | 7 |
8 | 9 | f(8-11) | 10 | 11 |
Розподіл даних по дисках для RAID 5
RAID рівня 6
f і g– різні алгоритми знаходження парності
Диск 1 | Диск 2 | Диск 3 | Диск 4 | Диск 5 | Диск 6 |
f(0-3) | g(0-3) | 0 | 1 | 2 | 3 |
4 | f(4-7) | g(4-7) | 5 | 6 | 7 |
8 | 9 | f(8-11) | g(8-11) | 10 | 11 |
Розподіл даних по дисках для RAID 6