Википедия говорит, что «RAID 2 является единственным стандартным уровнем RAID, отличным от некоторых реализаций RAID 6, который может автоматически восстанавливать точные данные после однобитового повреждения данных».
Кто-нибудь знает, является ли реализация RAID 6 mdadm в Linux одной из таких реализаций, которая может автоматически обнаруживать и восстанавливаться после повреждения одного бита данных. Это относится к CentOS / Red Hat 6, если они отличаются от других версий. Я пытался искать в Интернете, но мне не повезло.
С частотой ошибок SATA 1 в 1E14 бит и 2 ТБ диска SATA, содержащего 1,6E13 битов, это особенно важно для предотвращения повреждения данных.
РЕДАКТИРОВАТЬ 17-ИЮН-2015
Я полагаю, что это меньше беспокоит, чем я изначально думал - см. Жесткий диск / SSD - обнаружение и обработка ошибок - надежно ли предотвращено повреждение данных без вывода сообщений? Больше подробностей
источник
RAID5 и RAID6 могут обнаруживать и обычно исправлять повреждение битов, если вы проверяете четность всего диска. Это называется «очисткой» или «проверкой четности» и обычно занимает 24-48 часов в большинстве производственных систем RAID. За это время производительность может значительно ухудшиться. (Некоторые системы позволяют оператору устанавливать приоритеты очистки по доступу на чтение / запись или под ним.) У RAID6 больше шансов исправить это, потому что он может исправить это, если у вас два отказа диска, тогда как RAID5 может обрабатывать только один отказ диска, и сбои диска более вероятны, когда вы чистите из-за повышенной активности.
источник
Я бы добавил это как комментарий, но у меня недостаточно репутации; Я хотел уточнить: RAID5 может обнаружить повреждение битов, но он не знает, какой диск поврежден без ошибки чтения. В результате скраб не может исправить это без ошибки чтения - он, скорее всего, просто зарегистрирует его и обновит бит четности для соответствия. Алгоритм RAID6 зависит от позиции, поэтому он может определить, какой диск содержал ошибку, и исправить повреждение битов.
источник
Все ответы, приведенные выше, неверны в отношении возможностей RAID 6. Алгоритмы RAID 6 работают побайтово, как RAID 5, и, если один байт на любом диске поврежден, даже если на диске нет ошибок, он может быть обнаруженным и исправленным. Алгоритм для этого полностью объяснен в
https://mirrors.edge.kernel.org/pub/linux/kernel/people/hpa/raid6.pdf
Чтобы выполнить эту проверку, диски четности P и Q также должны быть прочитаны вместе с дисками данных. Если вычисленная четность P 'и Q' отличается без ошибок привода, анализ может определить, какой из дисков является неправильным, и исправить данные.
Кроме того, если идентификация накопителя относится к отсутствующему накопителю (например, накопителю 137, если имеется только 15 накопителей), более одного накопителя выдает поврежденные данные FOR THAT BYTE, сигнализируя о неисправимой ошибке. Когда в наборе намного меньше 256 дисков, это обнаруживается с высокой вероятностью на байт, и поскольку в блоке много байтов, с чрезвычайно высокой вероятностью на блок. Если идентификация диска не согласована для всех байтов в блоке RAID, опять же, более одного диска выдает поврежденные данные, и, как правило, можно отклонить условие, но пока все идентификаторы диска действительны, блок не обязательно должен быть отклоненным.
Требуется больше времени, чем обычное время проверки, чтобы выполнить эту коррекцию, но это нужно сделать только с вычислением синдрома (P и Q), показывающим ошибку.
Все это, как говорится, однако, я не исследовал код mdadm, чтобы определить, обрабатывается ли однобайтовое повреждение. Мне известно, что mdadm сообщает об ошибках синдрома RAID6 при ежемесячном сканировании, но из сообщения об ошибке не ясно, исправляются ли они - он не останавливает массив дисков и не идентифицирует какой-либо конкретный диск в сообщении.
источник