1

Это старая тема, но у меня есть вопрос о битах четности RAID 5, которые меня смущают.

Мой вопрос:

Таким образом, в каждом описании RAID 5 говорится, что RAID 5 имеет бит четности на каждом диске. И в каждой демонстрации, все источники показывают рейд 5, как:

Disk 1 | Disk 2 | Disk 3 | Disk 4
Data     Data     Data     Parity
Data     Data     Parity   Data
Data     Parity   Data     Data
Parity   Data     Data     Data
             Figure a

Интернет-источники, демонстрирующие RAID 5, показывают, что каждый диск имеет бит четности (только 1) в своих блоках. Это имеет смысл в сценарии с 4 дисками и 4 блоками, потому что, если, например, диск 4 выходит из строя, мы можем восстановить все данные, потому что мы получили точное количество бит четности, чтобы восстановить все данные, потерянные на диске 4. Но, чтобы восстановить данные на более заблокированных дисках (например, 8 блоков), картина должна быть такой:

Disk 1 | Disk 2 | Disk 3 | Disk 4
Data     Data     Data     Parity
Data     Data     Parity   Data
Data     Parity   Data     Data
Parity   Data     Data     Data
Data     Data     Data     Parity
Data     Data     Parity   Data
Data     Parity   Data     Data
Parity   Data     Data     Data
             Figure b

Дело в том, что, как я уже говорил, все источники говорят, что RAID 5 имеет 1 бит четности на каждом диске, как я показал на рисунке a. Однако для восстановления данных из 8 заблокированных хранилищ, например, нам нужно что-то вроде рисунка b. , так что на 1 диске имеется 2 информации о четности (информации о четности должно быть больше, если дисков больше). Но объяснения RAID 5 не объясняют это так, а также есть конфигурации RAID 6, специализирующиеся на том, чтобы иметь 2 бита четности. Так что в этом сценарии все неправильно. Правильная картинка должна выглядеть так:

Disk 1 | Disk 2 | Disk 3 | Disk 4
Data     Data     Data     Parity
Data     Data     Parity   Data
Data     Parity   Data     Data
Parity   Data     Data     Data
Data     Data     Data     Data
Data     Data     Data     Data
Data     Data     Data     Data
Data     Data     Data     Data
             Figure c

В этом сценарии объяснение RAID 5 является точным. Снова давайте предположим, что диск 4 мертв. Как будут восстановлены данные в 5,6,7 и 8-м блоке на диске 4? Я предполагаю, что raid-контроллер берет 1 бит четности (например, бит четности диска 1) и после этого, из 5-го блока дисков (5,6,7,8-й блок 2,3-го диска), это XOR бит четности четности 1-го диска (4-й блок 1-го диска (четность)) и данные в 5,6,7,8-м блоках диска 2 и 3. Таким образом, raid-контроллер может принимать бит произвольной четности и XOR данных 1,2,3-го диска из 5,6,7 и 8-го блоков. Я предполагаю, что мое предположение неверно.

Суть вопроса в том, как RAID 5 обрабатывает биты четности и восстанавливает данные с 8 блочных дисков?

Спасибо всем за беспокойство.

Мои источники: https://datapacket.com/blog/advantages-disadvantages-various-raid-levels/ https://searchstorage.techtarget.com/definition/RAID http://sort.symantec.com/public/documents/sfha/6.2/aix/productguides/html/sfcfs_admin/ch03s03s09.htm https://blog.open-e.com/how-does-raid-5-work/ http://www.freeraidrecovery.com/library/ рейд-5-6.aspx

1 ответ1

0

Рисунок б является правильным.

Прежде всего, вы использовали слово "бит" для "блока". Бит равен 0 или 1. Мы говорим о "блоках данных" и "блоках четности" (или "единицах четности", в зависимости от источника, что угодно; но не только об отдельных "битах"). Блоки теоретически могут иметь размер 1 бит, но на практике минимум 512 байт, поскольку это общий размер сектора блочных устройств.

Один из ваших источников содержит изображение трех дисков и четырех полос, создающих RAID 5. Один из дисков содержит два блока четности (это явно противоречит вашему рисунку c). Тогда статья гласит:

Каждая полоса имеет столбец, содержащий единицу четности и столбцы, содержащие данные. Четность распространяется на все диски в массиве [...]

(Чтобы быть ясным: на ваших рисунках полоса представляет собой одну строку, как Data Data Parity Data).

Это означает каждую полосу (не "каждый диск"!) имеет ровно один блок контроля четности в RAID 5 (в RAID 6 каждая полоса имеет ровно два блока контроля четности). В случае сбоя одного диска (до двух дисков для RAID 6) каждая полоса содержит достаточно информации, чтобы восстановить недостающую часть этой конкретной полосы независимо от других полос.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .