Як діє паритет на масиві RAID-5?


31

Я хочу створити хороший маленький масив RAID для виділених резервних копій. Я хотів би мати близько 2-4 ТБ місця, оскільки у мене є ця неприємна звичка все оцифровувати. Таким чином, мені потрібно багато місця для зберігання та багато резервування у разі відмови диска. Я також по суті буду створювати резервну копію 2-3 /homeпапок комп'ютерів, використовуючи один з клонів "Time Machine" для Linux. Цей масив буде доступний через мою локальну мережу через SSH.

У мене виникають труднощі з розумінням того, як RAID-5 досягає паритету і скільки дисків насправді потрібно. Можна було б припустити, що йому потрібно 5 дисків, але я можу помилитися. Більшість діаграм, які я бачив, лише мене збентежили. Здається, що так працює RAID-5, будь ласка, виправте мене, оскільки я впевнений, що я не розумію це належним чином:

/---STORAGE---\    /---PARITY----\
|   DRIVE_1   |    |   DRIVE_4   |
|   DRIVE_2   |----|     ...     |
|   DRIVE_3   |    |             |
\-------------/    \-------------/

Здається, що диски 1-3 з'являються і працюють як єдиний, масивний диск ( capacity * number_of_drives), а паритет парності резервні копії цих дисків. Що мені здається дивним, це те, що я зазвичай бачу 3+ накопичувачі на діаграмі лише до 1 або 2 накопичувачів. Скажімо, ми використовуємо 4 диски 1 ТБ в масиві RAID-5, 3 запущених сховища та 1 запущений паритет, у нас є 3 ТБ фактичної пам’яті, але є лише 1 ТБ паритету !?

Я знаю, що мені чогось тут не вистачає, може хтось мені допоможе? Також, для мого використання, що було б краще, RAID-5 або RAID-6? Толерантність до відмов є найважливішим пріоритетом для мене на даний момент, оскільки вона буде працювати над мережею лише для домашнього використання, швидкість не є надзвичайно важливою.

Відповіді:


30

Це просто XORs кожен відповідний біт з кожного накопичувача. Якщо ви втратите будь-який диск, ви зможете відновити відсутні дані.

Для фону:

A B (A XOR B)
0 0    0
1 1    0
0 1    1
1 0    1

Припустимо, що D - це ХОР інших стовпців, тоді поки ви втратите лише один диск, ви зможете зрозуміти, що втратили.

A B C D
1 0 0 1
0 1 0 1
1 1 0 0

Деякі рази біт смуги буде розподілений по накопичувачам, але концепція та ж.

Отже, для RAID-5, незалежно від того, скільки дисків, вам потрібен лише 1 диск на паритет, рівний або більший, ніж найменший диск у масиві, який ви бажаєте RAID.

RAID-5 для особистого використання, мабуть, найкращий, оскільки обчислювальна складність значно нижча, ніж RAID-6.

RAID-6 є складнішим за допомогою поля Galois для обчислення парності. І це може обчислити податкові розрахунки паритету. Однак ви можете втратити більше накопичувачів, але якщо ви відновите масив, як тільки отримаєте єдиний збій, вам слід добре дотримуватися RAID-5.


Відмінна відповідь. Я думав надто великим масштабом, фактично на повному жорсткому диску, а не на бітовому рівні. Так RAID-5 використовує спеціальний диск для паритету, а точніше всі диски для паритету? Я в цьому збентежений.
Нафтулі Кей

2
Я вважаю, що сучасний підхід полягає в розподілі паритету по діагоналі між усіма приводами. Це призводить до прискорення часу читання до парності бітів, оскільки кілька запитів вводу-виводу можуть надсилатися паралельно різним накопичувачам, але не цитуйте мене з цього приводу.
Метт

Чи є математична формула, яку я можу використовувати, щоб визначити ємність заданих xнакопичувачів та yГБ, наявні на кожному диску?
Нафтулі Кей

2
Так, це (найменший розмір накопичувача) * (кількість дисків у масиві - 1)
Метт

1
Якщо паритет - це лише XOR двох інших дисків, то як ви знаєте, який із двох дисків був пошкоджений? Не вдалося б трохи перевернути будь-який диск, що призведе до трохи перевернення паритету?
Джей Салліван

8

Ось, на мій погляд, краща діаграма, яка показує, як працює паритет у RAID4 та RAID5

RAID4

Disk1  Disk2  Disk3  Disk4
----------------------------
data1  data1  data1  parity1
data2  data2  data2  parity2
data3  data3  data3  parity3
data4  data4  data4  parity4

RAID5

Disk1   Disk2   Disk3   Disk4
----------------------------
parity1 data1   data1   data1   
data2   parity2 data2   data2  
data3   data3   parity3 data3
data4   data4   data4   parity4

Або подивіться цей SVG у Вікіпедії en.wikipedia.org/wiki/Standard_RAID_levels#/media/…
Джузеппе Кріно

4

Я рекомендую прочитати цю статтю у Вікіпедії про рейд 5 та рейд 6

http://en.wikipedia.org/wiki/Standard_RAID_levels#RAID_5_parity_handling

RAID 5 записує блок парності у кожну смужку, тому для Strip A 4-дискового масиву він записує перевірку парності на 4-му диску, з даними на дисках 1, 2 і 3

Для смуги B блок парності знаходиться на диску 3, з даними на дисках 1,2 та 4 .. тощо.

Якщо скажімо, що диск 4 виходить з ладу, дані можуть бути відновлені для смуги B, оскільки ви знаєте дані на диску 1 і 2 і перевірити паритет на диску 3.

Якщо смужка B мала парність "2", а диск 1 має дані "1", а диск 2 - "0", диск 4 повинен мати дані, рівні "1", тому диск записується з даними = "1"

Цілий диск можна відтворити таким чином, RAID 6 розширює це, маючи 2 партії блоку на смужку.

Що стосується місця для Raid 5, ви втрачаєте лише один диск, варті місця для паритету, оскільки він пише лише на блок парності за смужку, тоді як при Raid 6 ви втратите 2 диски, але також можете втратити два диски, а не той, який ви можете втратити. Рейд 5;)

Стаття у Вікіпедії пояснює це краще!


3

RAID 5 використовує один накопичувач для паритету, незалежно від кількості накопичувачів даних у масиві. Це означає, що він стає більш ефективним, з точки зору корисного простору, тим більше накопичувачів, які додаються.

Паритет досягається виконанням операції XOR через один і той же блок на кожному диску; вміст приводу парності регулюється таким чином, що всі диски XOR до нуля . Це означає, що RAID 5 обмежений найменшою ємністю всіх накопичувачів у масиві.

RAID 6 подібний, за винятком того, що можна допустити два одночасні збої приводу. Це корисно, тому що процес " перенапруги " масиву після відмови одного диска може бути досить напруженим, щоб призвести до відмови другого диска.


Отже, що по суті означає, що я можу мати 4 2 ТБ накопичувачів і мати 6 ТБ ефективного, зайвого сховища?
Naftuli Kay

@TK Kocheran З RAID 5, так. Зауважте, що ефективна пам’ять буде трохи меншою за рахунок файлової системи. Наприклад, мій NAS з 4 дисками 2 ТБ в RAID-Z1 (версія RAID 5 ZFS) має простір у 5,18 ТБ.
sblair

Ну так, звичайно :) Завжди так буває. Наступне питання - якою файловою системою користуватися ...
Naftuli Kay

0

Якщо толерантність до відмовок є вашою метою, RAID-6 забезпечить достатню кількість зайвих приводів. Зазвичай RAID-5 буде терпіти лише пошкодження одного диска.


Яке відношення накопичувачів до паритету (загальний обсяг пам’яті) для RAID-6? drive_size * (drive_count - 2)?
Нафтулі Кей

1
Окрім відмовостійкості другого накопичувача, що виходить поганим, перш ніж замінити перший, є ще одна ситуація, для якої це чудово, і я не раз зустрічався: Диск поганий в масиві RAID, і так замовлено новий привід. Деякий випадковий хлопець, який нічого не знає про масиви RAID, заходить у серверну кімнату з новим накопичувачем у руці, заплутує нумерацію та викидає неправильний диск із масиву для заміни. Під RAID5 ваш масив вкручується саме там. RAID6 означає, що ви все одно можете відновитись.
camster342
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.