Повреждение файла между двумя жесткими дисками

Опция -sкоманды timeoutпозволяет указать сигнал, который будет отправлен по тайм-ауту.

4
27.01.2020, 09:35
2 ответа

( Примечание :Это предполагает, что вы не получаете кучу ошибок ядра (проверьте dmesgилиjournalctl -b -k)или множество ошибок CRC, указанных в состоянии SMART диска. Если вы... есть несколько программных вещей, которые нужно попробовать в первую очередь, например, поворот NCQ.)

Обычно это означает плохую оперативную память. Даже когда memtest86+ проходит (, как долго вы его запускали? )Если только у вас нет ОЗУ ECC, в чем я сомневаюсь, исходя из этих спецификаций.

Убедитесь, что вы не натворили глупостей, например, не нашли кабели SATA длиной больше метра и не обернули их вокруг процессора. Хотя передача данных SATA имеет CRC, поэтому вы должны получить массу ошибок, если вы получаете повреждение здесь. Кабели SATA дешевы, их всегда можно попробовать заменить.

Следующий шаг, если вы не хотите просто заменить оперативную память, состоит в том, чтобы попытаться определить, когда происходит повреждение.

На каждом диске повторно запустите md5sumили подобное для большого файла, показывающего, что проблема (должна быть чем-то вроде 2x RAM, чтобы предотвратить ее проверку из кэша )или набора файлов. Делайте это много раз, например, часами. Вы всегда получаете один и тот же результат? Если нет, то на пути чтения есть повреждения; если вы всегда получаете один и тот же результат, то, вероятно, при чтении нет повреждения. Это сделало бы RAM маловероятным.

Если на обоих дисках повреждено чтение, начните с замены ОЗУ. Если это не поможет, вы можете попробовать блок питания и, наконец, контроллер SATA (, который, вероятно, припаян к мобильному устройству, поэтому вам придется заменить его ).

При повреждении чтения на одном диске (, а не на обоих ), замените диск. Если это не помогло, и у вас есть объединительная плата (для горячей замены на сервере ), возможно, она неисправна. Также можно попробовать заменить кабели. Попробуйте другой порт SATA. Здесь предполагается, что один плохой диск может случиться, но два маловероятно. Честно говоря... Я бы поменял местами оперативную память, прежде чем предположить, что у меня два плохих диска.

Если оба диска постоянно считывают одни и те же данные, сначала убедитесь, что вы действительно проверяете достаточно данных, чтобы убедиться, что они не кэшируются; Я бы хотел, по крайней мере, вдвое больше оперативной памяти. Затем вы неоднократно записываете некоторые известные данные на каждый диск и смотрите, дает ли их обратное чтение другое значение. Затем почти те же решения, что и выше.

PS :Подобная коррупция коварна. В частности, он мог повредить случайные биты вашего дистрибутива Linux, а не только ваши данные. После устранения причины обычно лучше -выполнить повторную установку. Как минимум, вам нужно проверить каждый предоставленный дистрибутив -файл на соответствие известным -хорошим контрольным суммам; некоторые дистрибутивы предоставляют утилиты для этого. Это все равно не подтвердит отсутствие повреждений файлов данных динамического дистрибутива (, например списков установленных пакетов ), но, по крайней мере, вы можете быть уверены, что двоичные файлы в порядке.

3
27.01.2020, 20:54

Давным-давно у меня была такая же проблема. Проблема была в сломанном биосе. Маловероятно, что это оперативная память, так как если бы это была оперативная память, вы также должны получать случайные сбои «бесплатно», и проблема будет на обоих дисках, а не на одном (. Правильно ли я предполагаю, что проблема возникает только на новом диске?)

Я бы сосредоточился на этом :Исключить копирование и из процесса. Замените его только на запись. Создавать файлы с dd с большим размером блока (dd if=/dev/zero of=myfile bs=1M count=100 ). Найдите точный размер, тогда он сломается.

1
27.01.2020, 20:54

Теги

Похожие вопросы