LINUX.ORG.RU

Помогите поймать сбойный диск

 , , , ,


0

1

Приключилась со мной такая мерзкая ситуация:
Есть комп, в нем 2 диска Seagate Barracuda 7200.12 ST31000528AS, собранных, соответственно, в fakeraid1. Smartctl, dmraid, dmesg и fsck хором заявляют, что все отлично, и можно спать дальше, но в реальности наблюдается нестабильное чтение файлов!
Т.е., например я проверяю md5 какого-нибудь файла, получаю одно значение, затем прошу ядро выкинуть файловый кэш (echo 3 > /proc/sys/vm/drop_caches), снова проверяю md5, и получаю совершенно другую сумму! Что интересно, такое происходит не со всеми файлами, и иногда даже можно получить правильный md5. Правильность определялась по заведомо хорошей копии на другой машине.
Мое предположение - один из дисков в зеркале накрылся, и врет при чтении! Но как бы мне определить, какой именно? Как вариант: возможно ли как-то заставить dmraid сверить содержимое на дисках зеркала? Не нашел ничего подобного в мане, что странно.

Упреждая вопросы: memtest гонял, память не битая, фс - ext4.

SMART 1го диска

smartctl -a /dev/sda
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.17.0-1.gc467423-desktop] (SUSE RPM)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Seagate Barracuda 7200.12
Device Model:     ST31000528AS
Serial Number:    6VP55TQZ
LU WWN Device Id: 5 000c50 0281be046
Firmware Version: CC38
User Capacity:    1,000,204,886,016 bytes [1.00 TB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    7200 rpm
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA8-ACS T13/1699-D revision 4
SATA Version is:  SATA 2.6, 3.0 Gb/s
Local Time is:    Sun Oct 12 23:14:04 2014 MSK

==> WARNING: A firmware update for this drive may be available,
see the following Seagate web pages:
http://knowledge.seagate.com/articles/en_US/FAQ/207931en
http://knowledge.seagate.com/articles/en_US/FAQ/213891en

SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x82) Offline data collection activity
                                        was completed without error.
                                        Auto Offline Data Collection: Enabled.
Self-test execution status:      (   0) The previous self-test routine completed
                                        without error or no self-test has ever 
                                        been run.
Total time to complete Offline 
data collection:                (  609) seconds.
Offline data collection
capabilities:                    (0x7b) SMART execute Offline immediate.
                                        Auto Offline data collection on/off support.
                                        Suspend Offline collection upon new
                                        command.
                                        Offline surface scan supported.
                                        Self-test supported.
                                        Conveyance Self-test supported.
                                        Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
                                        power-saving mode.
                                        Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                                        General Purpose Logging supported.
Short self-test routine 
recommended polling time:        (   1) minutes.
Extended self-test routine
recommended polling time:        ( 185) minutes.
Conveyance self-test routine
recommended polling time:        (   2) minutes.
SCT capabilities:              (0x103f) SCT Status supported.
                                        SCT Error Recovery Control supported.
                                        SCT Feature Control supported.
                                        SCT Data Table supported.

SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   114   099   006    Pre-fail  Always       -       76531810
  3 Spin_Up_Time            0x0003   095   095   000    Pre-fail  Always       -       0
  4 Start_Stop_Count        0x0032   097   097   020    Old_age   Always       -       3670
  5 Reallocated_Sector_Ct   0x0033   100   100   036    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000f   080   060   030    Pre-fail  Always       -       109834538
  9 Power_On_Hours          0x0032   091   091   000    Old_age   Always       -       8081
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   098   098   020    Old_age   Always       -       2145
183 Runtime_Bad_Block       0x0032   100   100   000    Old_age   Always       -       0
184 End-to-End_Error        0x0032   100   100   099    Old_age   Always       -       0
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
188 Command_Timeout         0x0032   100   098   000    Old_age   Always       -       30065360913
189 High_Fly_Writes         0x003a   100   100   000    Old_age   Always       -       0
190 Airflow_Temperature_Cel 0x0022   073   052   045    Old_age   Always       -       27 (Min/Max 21/28)
194 Temperature_Celsius     0x0022   027   048   000    Old_age   Always       -       27 (0 16 0 0 0)
195 Hardware_ECC_Recovered  0x001a   046   024   000    Old_age   Always       -       76531810
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0010   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age   Always       -       0
240 Head_Flying_Hours       0x0000   100   253   000    Old_age   Offline      -       171394964926508
241 Total_LBAs_Written      0x0000   100   253   000    Old_age   Offline      -       632333044
242 Total_LBAs_Read         0x0000   100   253   000    Old_age   Offline      -       483410560

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
No self-tests have been logged.  [To run self-tests, use: smartctl -t]


SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

SMART 2го диска

smartctl -a /dev/sdb
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.17.0-1.gc467423-desktop] (SUSE RPM)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Seagate Barracuda 7200.12
Device Model:     ST31000528AS
Serial Number:    6VP56J5Y
LU WWN Device Id: 5 000c50 0281c9ec3
Firmware Version: CC38
User Capacity:    1,000,204,886,016 bytes [1.00 TB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    7200 rpm
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA8-ACS T13/1699-D revision 4
SATA Version is:  SATA 2.6, 3.0 Gb/s
Local Time is:    Sun Oct 12 23:16:36 2014 MSK

==> WARNING: A firmware update for this drive may be available,
see the following Seagate web pages:
http://knowledge.seagate.com/articles/en_US/FAQ/207931en
http://knowledge.seagate.com/articles/en_US/FAQ/213891en

SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x82) Offline data collection activity
                                        was completed without error.
                                        Auto Offline Data Collection: Enabled.
Self-test execution status:      (   0) The previous self-test routine completed
                                        without error or no self-test has ever 
                                        been run.
Total time to complete Offline 
data collection:                (  609) seconds.
Offline data collection
capabilities:                    (0x7b) SMART execute Offline immediate.
                                        Auto Offline data collection on/off support.
                                        Suspend Offline collection upon new
                                        command.
                                        Offline surface scan supported.
                                        Self-test supported.
                                        Conveyance Self-test supported.
                                        Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
                                        power-saving mode.
                                        Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                                        General Purpose Logging supported.
Short self-test routine 
recommended polling time:        (   1) minutes.
Extended self-test routine
recommended polling time:        ( 178) minutes.
Conveyance self-test routine
recommended polling time:        (   2) minutes.
SCT capabilities:              (0x103f) SCT Status supported.
                                        SCT Error Recovery Control supported.
                                        SCT Feature Control supported.
                                        SCT Data Table supported.

SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   115   099   006    Pre-fail  Always       -       96554548
  3 Spin_Up_Time            0x0003   095   095   000    Pre-fail  Always       -       0
  4 Start_Stop_Count        0x0032   097   097   020    Old_age   Always       -       3673
  5 Reallocated_Sector_Ct   0x0033   100   100   036    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000f   078   060   030    Pre-fail  Always       -       75198316
  9 Power_On_Hours          0x0032   092   092   000    Old_age   Always       -       7789
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   098   098   020    Old_age   Always       -       2145
183 Runtime_Bad_Block       0x0032   100   100   000    Old_age   Always       -       0
184 End-to-End_Error        0x0032   100   100   099    Old_age   Always       -       0
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
188 Command_Timeout         0x0032   100   100   000    Old_age   Always       -       4295098371
189 High_Fly_Writes         0x003a   100   100   000    Old_age   Always       -       0
190 Airflow_Temperature_Cel 0x0022   073   053   045    Old_age   Always       -       27 (Min/Max 21/29)
194 Temperature_Celsius     0x0022   027   047   000    Old_age   Always       -       27 (0 16 0 0 0)
195 Hardware_ECC_Recovered  0x001a   019   015   000    Old_age   Always       -       96554548
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0010   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age   Always       -       0
240 Head_Flying_Hours       0x0000   100   253   000    Old_age   Offline      -       95971044241492
241 Total_LBAs_Written      0x0000   100   253   000    Old_age   Offline      -       715347849
242 Total_LBAs_Read         0x0000   100   253   000    Old_age   Offline      -       2536981240

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
No self-tests have been logged.  [To run self-tests, use: smartctl -t]


SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

★★★★★

Seagate Barracuda 7200.12

Лучше оба выбросить, пока они и правда не накрылись.

No self-tests have been logged

Для начала.

Хотя откуда инфа, что это именно диск посыпался?
Может у тебя шлейф мыши погрызли?

Goury ★★★★★ ()
Ответ на: комментарий от Goury

Шлейфы заменял, не помогает. Чтобы выбросить, нужно сначала узнать, на какой из них битый, чтобы скопировать данные с целого.

Khnazile ★★★★★ ()

SeaTools использовать нет желания?

UNiTE ★★★★★ ()
Ответ на: комментарий от peregrine

тогда как объяснить, что иногда я получаю правильный md5? я только читаю файлы, ничего не перезаписываю. Значит где-то все же есть правильная копия данных.

Khnazile ★★★★★ ()
Ответ на: комментарий от Khnazile

Не нужно ничего узнавать, нужно менять оба.
У тебя же есть где-то там на удалённом компе бекап. Тот, с которым ты суммы сверял.
Поиск глючного веника в данном случае будет пустой тратой времени.
Но скорее всего у тебя глюки не в венике.

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

Goury ★★★★★ ()

один из дисков в зеркале накрылся, и врет при чтении!

От подобного ни один RAID не поможет. И может глючить не диск, а контроллер на материнки.

Если у вас там RAID1, то, по идее, на каждом из винтов должна быть файловая система целиком, просто с каким-то смещением от начала. ″dmraid -r″ должен показать это смещения и потом через ″losetup″ с этим смещением можно создать отдельные половинки этого зеркала и их уже мучать, получая дампы проблемного файла с помощью debugfs из e2fsprogs (если у вас там ext2/3/4).

mky ★★★★★ ()
Ответ на: комментарий от Khnazile

А как ты сумму проверяешь? Мало ли. Если битый файл маленького размера открыть в hex редакторе, то какая разница будет между ним и исходным файлом?

peregrine ★★★★★ ()
Ответ на: комментарий от peregrine

md5sum <filename>

Но уже склоняюсь к мнению, что проблема не в дисках. Подключил свеженький диск, и с ним та же фигня. Пробовал подключать к разным контроллерам (на плате 2 контроллера jmicron и 1 amd), результат один. Проявляется это только на некоторых «магических» файлах, т.е. наличие проблемы как-то связано с содержимым файла. Боюсь, что сдох процессор или материнская плата... Придется жить так, замена всего сразу мне не по карману.

Khnazile ★★★★★ ()
Ответ на: комментарий от peregrine

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

cmp -b file.good file.bad 
file.good file.bad различаются: байт 70815273, строка 396102 равен 300 M-@ 304 M-D

Khnazile ★★★★★ ()
Ответ на: комментарий от Khnazile

Нашел это место (где-то в середине файла)
фрагмент оригинального файла

FB FF FF FF 10 0F 00 00 04 40 00 20 D8 C9 B8 C1 FF FF FF FF 10 0E 80 03 C0 00 00 00 B8 C1 FC AD 00 00 00 40 10 0D 8E 93 D8 4C 02 26 B8 C1 FC AD

фрагмент испорченного файла

FB FF FF FF 10 0F 00 00 04 40 00 20 D8 C9 B8 C1 FF FF FF FF 10 0E 80 03 C4 00 00 00 B8 C1 FC AD 00 00 00 40 10 0D 8E 93 D8 4C 02 26 B8 C1 FC AD

Khnazile ★★★★★ ()

Я по смарту проблем не увидел. Разве что, Command_Timeout, но и в моих сигейтах оно ненулевое.

anonymous ()

Блин, я от вас таких балдею. Слово «WARNING» большими буквами вообще ни о чём не говорит? СС49 вышла 11 марта 2011 года, на дворе конец 2014.

Deleted ()
Ответ на: комментарий от Khnazile

проблема не в дисках

Я тебе об этом в первом каменте сказал же

Goury ★★★★★ ()
Ответ на: комментарий от Deleted

В теории так и есть, но практика мне показала, что количество и частота сбоев у сигейтов этой серии никак не зависит ни от прошивки ни от обновления.

Goury ★★★★★ ()
Ответ на: комментарий от Goury

Пока практика не будет охватывать хотя бы несколько тысяч единиц HDD 7200.12 - это не практика, а погрешность (я сильно удивлён, что это надо писать технарю). Поэтому тезис «на старой прошивке дохнут быстрее» пока в силе.

Deleted ()
Ответ на: комментарий от Deleted

Я сильно удивлён, что ты всё ещё не знаешь, что я эти сигейты закупал и поставлял десятками тысяч последние восемь лет.

Goury ★★★★★ ()
Последнее исправление: Goury (всего исправлений: 1)

Это не диски, это фейк так работает. Нормальное поведение. На руткиты, впрочем, провериться не помешает.

handbrake ★★★ ()
Ответ на: комментарий от Goury

Я сильно удивлён, что ты всё ещё не знаешь

А откуда я должен знать? :)

что я эти сигейты закупал и поставлял десятками тысяч последние восемь лет.

7200.12 разве 8 лет делаются? :)

Deleted ()
Ответ на: комментарий от Deleted

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

Khnazile ★★★★★ ()

Переставил планки памяти местами, эта проблема пропала, но я боюсь, что бяка вылезет где-нибудь в другом месте? Чем можно проверить память на ошибки?
Уже пробовал:
memtest86
memtest86+
goldmem
(виндовый тест, не знаю как он называется)
Ни один из них не нашел никаких проблем

Khnazile ★★★★★ ()
Ответ на: комментарий от Deleted

Яразные сигейты закупал.
Конкретно 7200.12 терабайтных было всего восемь сотен.
А знаешь, какой у них процент брака за три года работы?
А он 100%

Goury ★★★★★ ()
Ответ на: комментарий от Goury

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

Khnazile ★★★★★ ()
Ответ на: комментарий от Khnazile

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

Значит, что-то делал не так, окирпичить при прошивке сложно.

Плюс, как оказалось, дело не в нем...

Да ну, конечно. Сначала обновлять фирмварь, потом диагностика и нахождение проблем.

Deleted ()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Goury

Конкретно 7200.12 терабайтных было всего восемь сотен.

Уже показатель, в принципе.

А знаешь, какой у них процент брака за три года работы? А он 100%

А есть статистика «обновлённые/не обновлённые»?

Deleted ()
Последнее исправление: Deleted (всего исправлений: 2)
Ответ на: комментарий от Deleted

Да ну, конечно. Сначала обновлять фирмварь, потом диагностика и нахождение проблем.

Читать умеешь? Я притащил совершенно другой диск (WD10EZEX), и на нем наблюдается та же проблема. Т.е. дело явно не в диске. А если процессор или оперативная память глючит, то прошивать вообще ничего нельзя.

Khnazile ★★★★★ ()
Ответ на: комментарий от Khnazile

Читать умеешь? Я притащил совершенно другой диск (WD10EZEX), и на нем наблюдается та же проблема.

Читать умею. Не написано, какие манипуляции производились. Добавил 3-й диск в зеркало? Убрал одну рыбу, заменил на новый WD? Убрал все рыбы, поставил однокрылый raid на WD?

А если процессор или оперативная память глючит, то прошивать вообще ничего нельзя.

Ну так прошей на другом компе.

Deleted ()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

Первые две сотни все обновлённые до последней на момент передачи заказчику, следующие две сотни приезжали в гости обновлять, остальные сдавали 50/50 с заводской/последней и не приезжали в гости.
Разницы никакой — как сыпались так и сыплются.
Цифры небольшие потому, что поставляю я их только самым упрямым, которым «или сигейт или ничего», но при этом на ES у них не хватает, но клиент ценный.

Goury ★★★★★ ()
Ответ на: комментарий от Deleted

Нет, мы их все обновляем на последнюю на моментсдачи заказчику. Вылетают в 12% за пять лет. Это заметно больше, чем другие, но не так страшно чтобы от них совсем отказываться.

Goury ★★★★★ ()
Ответ на: комментарий от Deleted

Не написано, какие манипуляции производились. Добавил 3-й диск в зеркало? Убрал одну рыбу, заменил на новый WD? Убрал все рыбы, поставил однокрылый raid на WD?

Манипуляции: просто подцепил еще один диск к контроллеру, смонтировал, слил на него каталог с нестабильно читающимися файлами, и обнаружил, что на новом диске они так же читаются нестабильно, т.е. md5 постоянно меняется.

Khnazile ★★★★★ ()
Ответ на: комментарий от Khnazile

Не надо экономить на шлейфах, не такие уж они и дорогие. А вот проблемы от копеечной экономии будут не такими уж и копеечными.

Goury ★★★★★ ()

Мое предположение - один из дисков в зеркале накрылся, и врет при чтении!

Скорее всего память дырявая или просто система нестабильна... memtest86 + 0cct под оффтопиком (WinPE) в помощь...

NiTr0 ★★★★★ ()
Ответ на: комментарий от Khnazile

Биос на матери последний? RAID на AHCI менял? Мать не гигабайт, случайно?

Deleted ()
Ответ на: комментарий от NiTr0

Это всё-равно не повод экономить сотню рублей на шлейфе.

Goury ★★★★★ ()
Ответ на: комментарий от Goury

Других небыло, нужны были с одним концом загнутым буквой Г, иначе в корпус не лезли. Но мне все равно кажется, что 80% брака при цене 160р за шнурок - это чистый грабеж. Ну не могут 7 медных жилок в изоляции стоить столько!

Khnazile ★★★★★ ()
Ответ на: комментарий от NiTr0

memtest проходит (пробовал разные версии, см. посты выше), occt держит 2ч даже в варианте PSU test (дальше надоело ждать), LinX тоже работает стабильно, все версии, которые только сумел найти.

Khnazile ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.