(RAID6) Может ли RAID6 восстанавливать неправильные данные.
День добрый.
Интересует следующий вопрос: может ли массив RAID6 (для упрощения - mdadm, т.к. аппаратных не имею, а другие программные не использую, да и не важно это ведь используется модуль ядра, т.е. логика (расчеты контрольных сумм в частности) работы всем программных RAID - должна быть одинакова) восстанавливать неправильные данные? Не нечитаемые, а те что прочитались, но содержат не ту информацию, которая в них записывалась (например, изменилось содержимое блока данных на одном из дисков).
Вопрос теоретический, т.к. прекрасно понимаю что для каждого сектора, хранимого на диске высчитывается контрольная сумма, и если при чтении сектора его контрольная сумма не совпадает с записанной на диск - то это уже пойдет за ошибку чтения.
Просто любопытно - реализовали эту фичу или нет. в RAID5 такого нельзя сделать - избыточность в один диск не позволяет найти виновного (можно только определить сошлась контрольная сумма, что означает что данные записаны на всех дисках верно, или не сошлась - где-то есть ошибка, но где - определить нельзя). А вот в RAID6 - один блок можно исправить (если нужно - могу предложить алгоритм поиска и исправления поврежденного блока, при условии что все диски в рабочем состоянии, он далек от оптимального, т.к. в нем, навскидку, выполняется O(n^2) операций логического суммирования, по сравнению O(n) при записи/чтению).
- Для комментирования войдите или зарегистрируйтесь
The mathematics of RAID-6
The mathematics of RAID-6
A mdadmне причем - этим ядро занимается!
mdadm только вспомогательный инструмент для создания и манипулированием структурой.
ну, на сколько я понимаю, я в
ну, на сколько я понимаю, я в шапке это и написал, своими словами (когда ссылался на модуль ядра, который заведует RAID)
p.s. за ссылку спасибо (она не рабочая, но документ с таким же названием найти не проблема, читаю).
http://kernel.org/pub/linux/k
http://kernel.org/pub/linux/kernel/people/hpa/raid6.pdf - она рабочая, только когда я ее сохранил - форум ее узуродовал :)