Как найти причину повреждения содержимого файла одного события?
Несколько дней я скопировал большой (56 ГБ) файл с рабочей станции на файловый сервер. После проверки копии я обнаружил, что она имеет несколько байтов, отличных от оригинала.
Подробности:
- Исходная система:
- Medion Akoya P5350 D
- Windows 8.1 Pro 64 бит
- SATA HDD (NTFS)
- система назначения:
- HP ProLiant MicroServer N36L, ECC RAM
- Windows Server 2012 R2 Standard
- ReFS на дисковых пространствах 2-стороннее зеркало
Файл был скопирован путем перетаскивания на рабочей станции с локального диска в общую сетевую папку (на сервере). Размер файла составляет 56886041991 байт.
Вторая копия, сделанная таким же образом, через день была в порядке (проверено md5sum). Сравнение показывает, что есть 97 байтов, которые отличаются. (см. ниже) Единственный шаблон, который я вижу, состоит в том, что битые байты сгруппированы в три группы, где каждый 128-й байт изменяется.
Что я могу сделать? С чего начать поиск причины? Это не могут быть диски на сервере, так как они будут сообщать об ошибке чтения в случае повреждения, и даже если нет, ReFS не будет замечать неверную контрольную сумму и считывать сектор с другого диска, а если он также поврежден, он будет (должен) сообщить об ошибке чтения. SATA имеет CRC. RAM имеет ECC. Сеть имеет 2 слоя контрольных сумм. Рабочая станция не имеет памяти ECC. Может быть, ошибки сетевого драйвера?
Выход из cmp -l
: смотри здесь
Дополнительные тесты, сделанные тем временем:
- 24 часа работы memtest86+ v5.01 на обоих ПК, ошибок нет
- 24 часа работы memtest86 v4.3.7 на обоих ПК, ошибок нет
- Длинный SMART- тест на всех жестких дисках: ошибок нет (за исключением одного, который, как мне известно, имеет несколько поврежденных секторов, они находятся вне активных разделов)
md5sum /dev/sdX
в цикле: 5 раз выполняется на диске 5 ТБ, более 20 раз на других - ошибок не обнаружено- повторил операцию копирования так же, как изначально, 10 раз, проверил результат: ошибок нет
Я думаю, это был одинокий космический луч...