Відмінності між версіями «RAID»
Рядок 8: | Рядок 8: | ||
'''RAID рівня 0''' - | '''RAID рівня 0''' - | ||
− | може містити довільну кількість дисків більше двох. Дані записуються блоками по черзі на кожен диск, таким чином можна одночасно проводити стільки операцій читання/запису скільки є дисків, відповідно, у стільки ж разів зростає сумарна швидкість цих операції. Як і в JBOD розмір дорівнює сумі розмірів | + | може містити довільну кількість дисків більше двох. Дані записуються блоками по черзі на кожен диск, таким чином можна одночасно проводити стільки операцій читання/запису скільки є дисків, відповідно, у стільки ж разів зростає сумарна швидкість цих операції. Як і в 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 рівня 1''' - | ||
Кожен блок даних записується на всі диски. Теж може містити довільну кількість дисків (два і більше). Зберігає інформацію при виході з ладу всіх дисків крім одного. Розмір масива дорівнює розміру одного диска-учасника, швидкість запису відповідає швидкості запису на найповільніший з дисків-учасників, зате швидкість читання може бути така ж як і в RAID-0 а деколи і більша (хоча особливо ліниві виробники цей ефект не використовують), це досягається за рахунок того, що різні блоки, як і в RAID-0 можна одночасно зчитувати з різних дисків, але якщо у RAID-0 цей фокус проходив лише при лінійному читанні, то в RAID-1 це працює при будь-яких умовах, адже на кожному диску є будь-який потрібний блок. | Кожен блок даних записується на всі диски. Теж може містити довільну кількість дисків (два і більше). Зберігає інформацію при виході з ладу всіх дисків крім одного. Розмір масива дорівнює розміру одного диска-учасника, швидкість запису відповідає швидкості запису на найповільніший з дисків-учасників, зате швидкість читання може бути така ж як і в RAID-0 а деколи і більша (хоча особливо ліниві виробники цей ефект не використовують), це досягається за рахунок того, що різні блоки, як і в RAID-0 можна одночасно зчитувати з різних дисків, але якщо у RAID-0 цей фокус проходив лише при лінійному читанні, то в RAID-1 це працює при будь-яких умовах, адже на кожному диску є будь-який потрібний блок. | ||
− | '''RAID | + | <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 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 | ||
+ | |||
+ | Використовується паралельний доступ з розподіленими по невеликих смугах даними. Замість коду помилок на резервному диску зберігається простий біт парності. | ||
+ | Зміст муг даних може бути відновлено за змістом відповідних смуг інших дисків. | ||
+ | При збої диску читання відбувається "на льоту". | ||
Рядок 22: | Рядок 177: | ||
'''RAID рівня 5''' | '''RAID рівня 5''' | ||
Розподілена парність з чергованими блоками. Порівняно з RAID 4 зменшується р кількість операцій читання та запи для одного блоку (смуги) даних. | Розподілена парність з чергованими блоками. Порівняно з RAID 4 зменшується р кількість операцій читання та запи для одного блоку (смуги) даних. | ||
+ | |||
+ | <table caption="RAID 5" 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">Сегмент парності</font></td> | ||
+ | <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> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td><font size="2">Сегмент 5</font></td> | ||
+ | <td bgcolor="#C0C0C0"><font size="2">Сегмент парності</font></td> | ||
+ | <td><font size="2">Сегмент 6</font></td> | ||
+ | |||
+ | <td><font size="2">Сегмент 7</font></td> | ||
+ | <td><font size="2">Сегмент 8</font></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td><font size="2">Сегмент 9</font></td> | ||
+ | <td><font size="2">Сегмент 10</font></td> | ||
+ | <td bgcolor="#C0C0C0"><font size="2">Сегмент парності</font></td> | ||
+ | |||
+ | <td><font size="2">Сегмент 11</font></td> | ||
+ | <td><font size="2">Сегмент 12</font></td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | |||
+ | Розподіл даних по дисках для RAID 5 | ||
'''RAID рівня 6''' | '''RAID рівня 6''' | ||
f і g– різні алгоритми знаходження парності | f і g– різні алгоритми знаходження парності |
Версія за 10:09, 13 січня 2012
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 3 Технологія паралельного доступу. Використовується лише 1 резервний диск.
Диск 1 (дані) |
Диск 2 (дані) |
Диск 3 (данные) |
Диск 4 (біт парності) (данные) |
а1 | а2 | а3 | f(a) |
b1 | b2 | b3 | f(b) |
Розподіл даних по дисках для RAID 3
Використовується паралельний доступ з розподіленими по невеликих смугах даними. Замість коду помилок на резервному диску зберігається простий біт парності. Зміст муг даних може бути відновлено за змістом відповідних смуг інших дисків. При збої диску читання відбувається "на льоту".
RAID рівня 4
Технології незалежного доступу. Кожен диск функціонує незалежно, різні запити можуть бути оброблені незалежно.
RAID рівня 5 Розподілена парність з чергованими блоками. Порівняно з RAID 4 зменшується р кількість операцій читання та запи для одного блоку (смуги) даних.
Диск 1 | Диск 2 | Диск 3 | Диск 4 | Диск 5 |
Сегмент парності | Сегмент 1 | Сегмент 2 | Сегмент 3 | Сегмент 4 |
Сегмент 5 | Сегмент парності | Сегмент 6 | Сегмент 7 | Сегмент 8 |
Сегмент 9 | Сегмент 10 | Сегмент парності | Сегмент 11 | Сегмент 12 |
Розподіл даних по дисках для RAID 5
RAID рівня 6 f і g– різні алгоритми знаходження парності