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
|