У меня проблемы с файлами большого размера. У меня 64 ГБ оперативной памяти, и все мои накопители - Samsung 860 EVO. Я запускаю mdcrypt поверх моих необработанных дисков, luks RAID поверх этого и ext4 в качестве файловых систем. У меня много свободного места на диске, и я не использую подкачку.
Мой дистрибутив - Ubuntu 18.04 LTS (4.18.0-25-generic # 26 ~ 18.04.1-Ubuntu SMP Thu Jun 27 07:28:31 UTC 2019 x86_64 x86_64 x86_64 GNU / Linux).
Это нарушение было впервые обнаружено при клонировании больших USB-накопителей. Затем я заметил, что большие файловые системы, монтируемые зацикливанием, также могут быть повреждены.
Далее следуют отрывки:
Я начинаю свой тест с создания файла размером 32 ГБ с нулями :
$ dd if=/dev/zero of=zero-file_32GB bs=1024k count=32768
32768+0 records in
32768+0 records out
34359738368 bytes (34 GB, 32 GiB) copied, 55.3081 s, 621 MB/s
Затем я суммирую этот файл с помощью SHA256, чтобы получить хэш-код. Обратите внимание на то, как хеш изменяется при нескольких итерациях:
$ sha256sum zero-file_32GB
5f7f8ea75d87ac7d64c07ecc2c5fdbe407540913ac0feb050ede768990140b38 zero-file_32GB
$ sha256sum zero-file_32GB
64bcf7372df895319ce9e54758aec2814600fa3335fb82c5996a7636e7d637be zero-file_32GB
$ sha256sum zero-file_32GB
3475353b2a00e5abebb1878a9ddb5956eb829c94af26d9cd079f991fbd84435c zero-file_32GB
$ sha256sum zero-file_32GB
cf65fa70ba04d7bb4055b72fdf2ac90bf65ac8457cc80b8e673af5acb57d22d1 zero-file_32GB
Те же несоответствия случаются с суммой MD5:
$ md5sum zero-file_32GB
8633b9ba83a8ac04c9b56fad0a065ec2 zero-file_32GB
$ md5sum zero-file_32GB
cc289d380b25235b7610a7b86bc4fd47 zero-file_32GB
$ md5sum zero-file_32GB
249f66bd3843b6fcad8316fd0a3e660c zero-file_32GB
$ md5sum zero-file_32GB
888ac00592204be7a026c27e98159ff2 zero-file_32GB
К настоящему времени я вполне уверен, что мой файл поврежден, а не алгоритмы суммирования хешей. Чтобы проверить эту гипотезу, я разделил свой нулевой файл размером 32 ГБ на тридцать два блока по 1 ГБ:
$ split --verbose -b 1G zero-file_32GB split-1G_
creating file 'split-1G_aa'
creating file 'split-1G_ab'
creating file 'split-1G_ac'
creating file 'split-1G_ad'
creating file 'split-1G_ae'
creating file 'split-1G_af'
creating file 'split-1G_ag'
creating file 'split-1G_ah'
creating file 'split-1G_ai'
creating file 'split-1G_aj'
creating file 'split-1G_ak'
creating file 'split-1G_al'
creating file 'split-1G_am'
creating file 'split-1G_an'
creating file 'split-1G_ao'
creating file 'split-1G_ap'
creating file 'split-1G_aq'
creating file 'split-1G_ar'
creating file 'split-1G_as'
creating file 'split-1G_at'
creating file 'split-1G_au'
creating file 'split-1G_av'
creating file 'split-1G_aw'
creating file 'split-1G_ax'
creating file 'split-1G_ay'
creating file 'split-1G_az'
creating file 'split-1G_ba'
creating file 'split-1G_bb'
creating file 'split-1G_bc'
creating file 'split-1G_bd'
creating file 'split-1G_be'
creating file 'split-1G_bf'
Затем я суммировал SHA256 новые разбиения файла. Все они должны быть идентичны, потому что каждый должен состоять только из нулей . Но обратите внимание на несоответствие в разделах az и ba :
$ sha256sum split-1G_??
49bc20df15e412a64472421e13fe86ff1c5165e18b2afccf160d4dc19fe68a14 split-1G_aa
49bc20df15e412a64472421e13fe86ff1c5165e18b2afccf160d4dc19fe68a14 split-1G_ab
49bc20df15e412a64472421e13fe86ff1c5165e18b2afccf160d4dc19fe68a14 split-1G_ac
49bc20df15e412a64472421e13fe86ff1c5165e18b2afccf160d4dc19fe68a14 split-1G_ad
49bc20df15e412a64472421e13fe86ff1c5165e18b2afccf160d4dc19fe68a14 split-1G_ae
49bc20df15e412a64472421e13fe86ff1c5165e18b2afccf160d4dc19fe68a14 split-1G_af
49bc20df15e412a64472421e13fe86ff1c5165e18b2afccf160d4dc19fe68a14 split-1G_ag
49bc20df15e412a64472421e13fe86ff1c5165e18b2afccf160d4dc19fe68a14 split-1G_ah
49bc20df15e412a64472421e13fe86ff1c5165e18b2afccf160d4dc19fe68a14 split-1G_ai
49bc20df15e412a64472421e13fe86ff1c5165e18b2afccf160d4dc19fe68a14 split-1G_aj
49bc20df15e412a64472421e13fe86ff1c5165e18b2afccf160d4dc19fe68a14 split-1G_ak
49bc20df15e412a64472421e13fe86ff1c5165e18b2afccf160d4dc19fe68a14 split-1G_al
49bc20df15e412a64472421e13fe86ff1c5165e18b2afccf160d4dc19fe68a14 split-1G_am
49bc20df15e412a64472421e13fe86ff1c5165e18b2afccf160d4dc19fe68a14 split-1G_an
49bc20df15e412a64472421e13fe86ff1c5165e18b2afccf160d4dc19fe68a14 split-1G_ao
49bc20df15e412a64472421e13fe86ff1c5165e18b2afccf160d4dc19fe68a14 split-1G_ap
49bc20df15e412a64472421e13fe86ff1c5165e18b2afccf160d4dc19fe68a14 split-1G_aq
49bc20df15e412a64472421e13fe86ff1c5165e18b2afccf160d4dc19fe68a14 split-1G_ar
49bc20df15e412a64472421e13fe86ff1c5165e18b2afccf160d4dc19fe68a14 split-1G_as
49bc20df15e412a64472421e13fe86ff1c5165e18b2afccf160d4dc19fe68a14 split-1G_at
49bc20df15e412a64472421e13fe86ff1c5165e18b2afccf160d4dc19fe68a14 split-1G_au
49bc20df15e412a64472421e13fe86ff1c5165e18b2afccf160d4dc19fe68a14 split-1G_av
49bc20df15e412a64472421e13fe86ff1c5165e18b2afccf160d4dc19fe68a14 split-1G_aw
49bc20df15e412a64472421e13fe86ff1c5165e18b2afccf160d4dc19fe68a14 split-1G_ax
49bc20df15e412a64472421e13fe86ff1c5165e18b2afccf160d4dc19fe68a14 split-1G_ay
702301f26e8df8cf784ca6b45954f1ca3524d1e22c322ee271ab1ac20b4face2 split-1G_az
bd9442046cecfcdec29169f5e8485ee0e226f56fab24cfded23b4ad15275b5d9 split-1G_ba
49bc20df15e412a64472421e13fe86ff1c5165e18b2afccf160d4dc19fe68a14 split-1G_bb
49bc20df15e412a64472421e13fe86ff1c5165e18b2afccf160d4dc19fe68a14 split-1G_bc
49bc20df15e412a64472421e13fe86ff1c5165e18b2afccf160d4dc19fe68a14 split-1G_bd
49bc20df15e412a64472421e13fe86ff1c5165e18b2afccf160d4dc19fe68a14 split-1G_be
49bc20df15e412a64472421e13fe86ff1c5165e18b2afccf160d4dc19fe68a14 split-1G_bf
Подобные несоответствия с суммой MD5:
$ md5sum split-1G_??
cd573cfaace07e7949bc0c46028904ff split-1G_aa
cd573cfaace07e7949bc0c46028904ff split-1G_ab
cd573cfaace07e7949bc0c46028904ff split-1G_ac
cd573cfaace07e7949bc0c46028904ff split-1G_ad
cd573cfaace07e7949bc0c46028904ff split-1G_ae
cd573cfaace07e7949bc0c46028904ff split-1G_af
cd573cfaace07e7949bc0c46028904ff split-1G_ag
cd573cfaace07e7949bc0c46028904ff split-1G_ah
cd573cfaace07e7949bc0c46028904ff split-1G_ai
cd573cfaace07e7949bc0c46028904ff split-1G_aj
cd573cfaace07e7949bc0c46028904ff split-1G_ak
cd573cfaace07e7949bc0c46028904ff split-1G_al
cd573cfaace07e7949bc0c46028904ff split-1G_am
cd573cfaace07e7949bc0c46028904ff split-1G_an
cd573cfaace07e7949bc0c46028904ff split-1G_ao
cd573cfaace07e7949bc0c46028904ff split-1G_ap
cd573cfaace07e7949bc0c46028904ff split-1G_aq
cd573cfaace07e7949bc0c46028904ff split-1G_ar
cd573cfaace07e7949bc0c46028904ff split-1G_as
cd573cfaace07e7949bc0c46028904ff split-1G_at
cd573cfaace07e7949bc0c46028904ff split-1G_au
cd573cfaace07e7949bc0c46028904ff split-1G_av
cd573cfaace07e7949bc0c46028904ff split-1G_aw
cd573cfaace07e7949bc0c46028904ff split-1G_ax
cd573cfaace07e7949bc0c46028904ff split-1G_ay
7036950003e53e471654b020330b386e split-1G_az
0a82f6068a91bef3b46294e1e30687be split-1G_ba
cd573cfaace07e7949bc0c46028904ff split-1G_bb
cd573cfaace07e7949bc0c46028904ff split-1G_bc
cd573cfaace07e7949bc0c46028904ff split-1G_bd
cd573cfaace07e7949bc0c46028904ff split-1G_be
cd573cfaace07e7949bc0c46028904ff split-1G_bf
Я думал постоянно разбивать на более мелкие куски, чтобы определить размер фактического несоответствие, а затем проанализировать его с помощью шестнадцатеричного редактора, но я сомневаюсь, что это дало бы какое-либо представление о том, что вызывает эту деградацию данных. Мои образы ISO, видеофайлы и зацикленные файловые системы EXT4 повреждаются. Есть идеи, в чем виноват?
Поскольку это начинает происходить только при 32 ГБ (что бывает вдвое меньше моих 64 ГБ ОЗУ. Я не использую свопинг.), Я так понимаю. склонен полагать, что это проблема памяти. Что вы скажете?
Обновление №1:
К сожалению, проверка памяти заняла не так много времени, как ожидалось.: - (
Обновление №2 (Решение!)
Мне показалось интересным, что тестирование t Для трех модулей DIMM (8:54) потребовалось значительно меньше времени, чем для трех одномодульных тестов вместе взятых (3:44 + 3:43 + 3:43 = 11:10). Я предполагаю, что некоторые тесты проводились в тандеме.
Я sha256sum создал новый файл с нулями размером 32 ГБ. Сумма не изменилась даже после нескольких итераций. Моя сумма была 97af759fc4597bc41706df77cbab318a57d935bacb262bd409e3ab767e07066f , такое же число представил @ bernard.wei.
Я хотел бы поблагодарить @heynnema за совет по MemTest86. Это способствовало устранению этой проблемы.
Я считаю этот вопрос решенным.Спасибо всем!
проверьте на микропрограммные обновления для своей Samsung 860 EVO. Samsung Magician
Приложение Windows, используемое для проверки встроенного микропрограммного обеспечения.
проверьте свою версию BIOS с sudo dmidecode -s bios-version
и затем перейдите к веб-сайту производителя для проверки на более новый BIOS.
выполненный memtest
проверять Ваш 64G RAM. Перейдите к https://www.memtest86.com/и загрузите/выполните свободное memtest
протестировать Вашу память. Заставьте по крайней мере одну полную передачу всех тестов подтверждать хорошую память. Это займет много часов для завершения.
Обновление № 1:
memtest
отказавший в тесте 2/4, [Тест адреса, владеют адресом]
memtest
может перестать работать по нескольким причинам...
неправильная RAM спецификации установлена
BIOS установлен разогнать память или выполнить их в максимальной скорости
DIMM неправильно усажен в его слоте
DIMM является дефектным
DIMM's обычно устанавливается в парах равных размеров, чтобы воспользоваться преимуществом скорости чередования памяти с помощью двух каналов, A & B (или больше в некоторых случаях). Первая пара DIMMs входит в слоты A1/B1 и вторую пару в A2/B2. (Предполагающий, что это - настольный компьютер с четырьмя или больше слотами DIMM).
Шаг № 1:
Шаг № 2:
Шаг № 3:
сенсорная корпусная земля, отключите компьютер, держите кнопку питания в течение 10 секунд
переустановите весь DIMMs
перетест с memtest
если memtest
выполнения успешно, Вы, вероятно, решили проблему
Шаг № 4:
сенсорная корпусная земля, отключите компьютер, держите кнопку питания в течение 10 секунд
определите A2/B2 DIMMs и тщательно удалите их
перетест с memtest
если memtest
выполнения успешно, A1/B1 DIMMs хорош
если memtest
сбои, затем или A1 или B1 DIMM плохи
memtest
memtest
выполнения успешно, A1/B1 DIMM, который Вы вытащили, являются дефектнымmemtest
сбои, другой A1/B1 DIMM является дефектнымПредположение, что Вы имеете четыре 16G DIMMs, продолжает циклически повторять остающиеся палки DIMM через слот A1/B1, пока только один дефектный DIMM не остается удаленным. Следует иметь в виду, что у Вас может на самом деле быть больше чем один дефектный DIMM.
Обновление № 2:
Используя memtest
, один плохой DIMM был определен. Контрольная сумма прекрасна теперь, и последовательная.