
Мой друг сказал мне, что Linux kernel raid (mdadm raid5/6) ненадежен, потому что он однажды попытался перезаписать сектора на одном из своих физических томов, и это привело к повреждению файлов. Я ответил ему, что это нормально, потому что система raid5 не предназначена для обнаружения, а только для исправления ошибок, когда ошибка уже обнаружена из-за ошибки чтения диска.
Однако мне было интересно, как я могу доказать концепцию или провести проверку надежности, записывая ошибки на самом диске. Есть ли способ, с Linux, записать (или прочитать) сектор в каком-то необработанном режиме, который позволил бы вручную прочитать или записать код "CRC"⁽¹⁾, вместо того, чтобы позволить контроллеру управлять всем этим самому?
По той же логике, существует ли способ сделать сырую копию одного диска на другом, чтобы попробовать некоторые процессы восстановления данных на копии, а не на оригинале, как это происходит с плохим программным обеспечением для восстановления, делая диски невосстановимыми?
Я видел, что кто-то задавал подобные вопросы.здесьилитам, но он довольно старый, не очень понятный и не получил удовлетворительного ответа. Очевидно, что цель не в том, чтобы физически уничтожить диск, а просто в том, чтобы принудительно записать на него недействительное содержимое, которое можно будет перезаписать позже аналогичным методом. И, кстати, если диск действительно СОДЕРЖИТ ошибку, нет никаких шансов, что сектор будет перемещен обычными операциями, потому что его нужно будет правильно прочитать заранее.
(1) : Я поставил кавычки, потому что не уверен, что в последних дисках коды обнаружения ошибок по-прежнему основаны на CRC.
решение1
Очень короткий ответ, но если это приемлемо:
По сути, все носители информации доступны посредством отправки команд SCSI через различные другие протоколы (SATA, USB, ...), и нет способа контролировать CRC или подобные поля с помощью этих команд. Фактически, современные приводы даже молча заменяют сектора с плохим CRC, которые нельзя исправить, сопоставляя их с другими секторами с хорошим CRC при следующей записи.
Возможно, существуют расширения, специфичные для конкретного поставщика, которые позволяют вам более непосредственно контролировать все это, но поставщики вам об этом не расскажут.