Lista pecet@man.lodz.pl
[Lista archiwów] [Inne Listy]

Re: [PECET] Dziwnie padający Seagate

To: pecet@man.lodz.pl
Subject: Re: [PECET] Dziwnie padający Seagate
From: Marcin Debowski <agatek@INVALID.zoho.com>
Date: Fri, 15 Nov 2024 07:57:53 GMT
On 2024-11-09, marrgol <marrgol@address.invalid> wrote:
> On 2024-11-08 at 23:48 Marcin Debowski wrote:
>>> W Seagate'ach interpretacja wartości atrybutów SMART nie jest taka
>>> oczywista.  Np. chyba gdzieś kiedyś czytałem, że atrybut Seek Error
>>> Rate ma 48 bitów, z czego pierwsze 16 to liczba błędów, a pozostałe
>>> 32 to całkowita liczba operacji seek. […]
> I tak właśnie jest -- odszukałem w międzyczasie, gdzie to widziałem:
> https://t1.daumcdn.net/brunch/service/user/axm/file/zRYOdwPu3OMoKYmBOby1fEEQEbU.pdf

Rekord przed modyfikacją:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  
WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   080   038   006    Pre-fail  Always       
-       94033347
  3 Spin_Up_Time            0x0003   096   096   000    Pre-fail  Always       
-       0
  4 Start_Stop_Count        0x0032   100   100   020    Old_age   Always       
-       85
  5 Reallocated_Sector_Ct   0x0033   099   096   010    Pre-fail  Always       
-       1888
  7 Seek_Error_Rate         0x000f   081   060   045    Pre-fail  Always       
-       115218404
  9 Power_On_Hours          0x0032   096   096   000    Old_age   Always       
-       4077 (248 217 0)
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       
-       0
 12 Power_Cycle_Count       0x0032   100   100   020    Old_age   Always       
-       82
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   099   099   000    Old_age   Always       
-       1
188 Command_Timeout         0x0032   100   090   000    Old_age   Always       
-       24 41 74
189 High_Fly_Writes         0x003a   100   100   000    Old_age   Always       
-       0
190 Airflow_Temperature_Cel 0x0022   060   053   040    Old_age   Always       
-       40 (Min/Max 32/40)
191 G-Sense_Error_Rate      0x0032   100   100   000    Old_age   Always       
-       0
192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always       
-       43
193 Load_Cycle_Count        0x0032   098   098   000    Old_age   Always       
-       5209
194 Temperature_Celsius     0x0022   040   047   000    Old_age   Always       
-       40 (0 30 0 0 0)
195 Hardware_ECC_Recovered  0x001a   080   064   000    Old_age   Always       
-       94033347
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      
-       3040h+35m+26.635s
241 Total_LBAs_Written      0x0000   100   253   000    Old_age   Offline      
-       40983957166
242 Total_LBAs_Read         0x0000   100   253   000    Old_age   Offline      
-       106428972707

> Wykorzystując te informacje, jeśli wpiszesz do /etc/smart_drivedb.h
> taki rekord:
>
>   { "Seagate BarraCuda 3.5",
>     "ST4000DM004-2CV104",
>     "",
>     "",
>     "-v 1,hex56,Raw_Read_Error_Rate "
>     "-v 7,hex48,Seek_Error_Rate "
>     "-v 195,hex56,Hardware_ECC_Recovered"
>   }

Po dodaniu powyższego:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  
WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   080   038   006    Pre-fail  Always       
-       0x000000059ad5c3
  3 Spin_Up_Time            0x0003   096   096   000    Pre-fail  Always       
-       0
  4 Start_Stop_Count        0x0032   100   100   020    Old_age   Always       
-       85
  5 Reallocated_Sector_Ct   0x0033   099   096   010    Pre-fail  Always       
-       1888
  7 Seek_Error_Rate         0x000f   081   060   045    Pre-fail  Always       
-       0x000006de1843
  9 Power_On_Hours          0x0032   096   096   000    Old_age   Always       
-       4077 (160 91 0)
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       
-       0
 12 Power_Cycle_Count       0x0032   100   100   020    Old_age   Always       
-       82
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   099   099   000    Old_age   Always       
-       1
188 Command_Timeout         0x0032   100   090   000    Old_age   Always       
-       103081902154
189 High_Fly_Writes         0x003a   100   100   000    Old_age   Always       
-       0
190 Airflow_Temperature_Cel 0x0022   060   053   040    Old_age   Always       
-       40 (Min/Max 32/40)
191 G-Sense_Error_Rate      0x0032   100   100   000    Old_age   Always       
-       0
192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always       
-       43
193 Load_Cycle_Count        0x0032   098   098   000    Old_age   Always       
-       5209
194 Temperature_Celsius     0x0022   040   047   000    Old_age   Always       
-       40 (0 30 0 0 0)
195 Hardware_ECC_Recovered  0x001a   080   064   000    Old_age   Always       
-       0x000000059ad5c3
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      
-       3040 (26 173 0)
241 Total_LBAs_Written      0x0000   100   253   000    Old_age   Offline      
-       40983957166
242 Total_LBAs_Read         0x0000   100   253   000    Old_age   Offline      
-       106428972707

> to dla tego modelu dysku smartctl będzie pokazywał raw values wymienionych
> atrybutów heksadecymalnie.  Np. gdyby w 100000000 operacji Seek było
> zero, jeden lub dwa błędy, smartctl standardowo pokazałby raw values
> 100000000, 4394967296 lub 8689934592, a z powyższym wpisem 0x000005F5E100,
> 0x000105F5E100 lub 0x000205F5E100 (dzięki temu widać zmianę tylko na dwóch
> najstarszych bajtach określających liczbę błędów).
>
> Albo, jeśli zamienić linie z '-v' na:
>
>     "-v 1,raw24/raw32,Raw_Read_Error_Rate "
>     "-v 7,raw24/raw32:z543210,Seek_Error_Rate "
>     "-v 195,raw24/raw32,Hardware_ECC_Recovered"
>
> może pokazywać jeszcze czytelniej, bo w formacie 'liczba błędów/liczba
> operacji', czyli w przykładzie j.w. pokazałby 0/100000000, 1/100000000
> lub 2/100000000.

ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  
WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   080   038   006    Pre-fail  Always       
-       0/94033347
  3 Spin_Up_Time            0x0003   096   096   000    Pre-fail  Always       
-       0
  4 Start_Stop_Count        0x0032   100   100   020    Old_age   Always       
-       85
  5 Reallocated_Sector_Ct   0x0033   099   096   010    Pre-fail  Always       
-       1888
  7 Seek_Error_Rate         0x000f   081   060   045    Pre-fail  Always       
-       0/115218524
  9 Power_On_Hours          0x0032   096   096   000    Old_age   Always       
-       4077 (178 13 0)
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       
-       0
 12 Power_Cycle_Count       0x0032   100   100   020    Old_age   Always       
-       82
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   099   099   000    Old_age   Always       
-       1
188 Command_Timeout         0x0032   100   090   000    Old_age   Always       
-       103081902154
189 High_Fly_Writes         0x003a   100   100   000    Old_age   Always       
-       0
190 Airflow_Temperature_Cel 0x0022   060   053   040    Old_age   Always       
-       40 (Min/Max 32/40)
191 G-Sense_Error_Rate      0x0032   100   100   000    Old_age   Always       
-       0
192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always       
-       43
193 Load_Cycle_Count        0x0032   098   098   000    Old_age   Always       
-       5209
194 Temperature_Celsius     0x0022   040   047   000    Old_age   Always       
-       40 (0 30 0 0 0)
195 Hardware_ECC_Recovered  0x001a   080   064   000    Old_age   Always       
-       0/94033347
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      
-       3040 (44 95 0)
241 Total_LBAs_Written      0x0000   100   253   000    Old_age   Offline      
-       40983957166
242 Total_LBAs_Read         0x0000   100   253   000    Old_age   Offline      
-       106428972707

Przy czym ten software Seagate'a raportuje wyniki według wersji 
pierwotnej i robi to nadal, co wskazuje, że nie korzysta ze 
smartmontools'ów. Nazwy konkretnych rekordów są odrobinę inne, ale 
semantycznie wydają się zbliżone.

-- 
Marcin

<Pop. w Wątku] Aktualny Wątek [Nast. w Wątku>