Portál AbcLinuxu, 12. května 2025 08:49

Dotaz: Program pro kontrolu disku

20.10.2014 10:53 bfu
Program pro kontrolu disku
Přečteno: 516×
Odpovědět | Admin
Mám problémy s diskem. Kontrola SMART hlásí chyby při čtení sektorů. Snažím se zjistit, které sektory jsou vadné, případně přimět disk, aby je přealokoval a tak podobně. Taky mě zajímá, jestli jsou vadné sektory použité v souborech a které soubory to jsou.

Potíž je v tom, že disk je v raidu a na něm je LVM a lvm oddíly mají porůznu měněné velikosti, takže nejsou souvislé.

Dotaz zní: Existuje nějaký program, který dokáže zkontrolovat disk, zjistit vadné sektory, jejich čísla na disku, relativní čísla na partition, přepočítat to na LBA, určit jaký je to raid, jaká část LVM a které soubory to zasahuje? Abych to nemusel dělat ručně.
Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Max avatar 20.10.2014 11:10 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Program pro kontrolu disku
Odpovědět | | Sbalit | Link | Blokovat | Admin
badblocks -nvv /dev/sda -o badblocks.log
Pokud smart ukazuje, že jsou sektory realokované, tak je ti to samozřejmě na nic, protože jsou realokované, tudíž nepoužívané :). Taktéž se mi několikrát stalo, že obyčejný "-nvv" (nedestruktivní kontrola disku) neobjevila úplně vše, ale destruktivní kontrola ano (zneškodní všechny data na cílovém hdd):
badblocks -wvv /dev/sda -o badblocks.log
Osobně to dělám tak, že provedu long smart test, pak badblocks v destruktivním režimu a pak opět smart test, abych měl něco na porovnání.
Pokud jsi u SMARTu v mezích výrobce, tak bych to takto řešil, pokud jsi nějakou hodnotu již přešvihl, tak se tomu disku už nedá věřit (i když úspěšně projde badblocks -wvv).
Zdar Max
Měl jsem sen ... :(
20.10.2014 11:49 bfu
Rozbalit Rozbalit vše Re: Program pro kontrolu disku
Tak u toho patrně skončím, že celý disk přepíšu. Ale moc mě to netěší. Kdyby aspoň ty SMART hodnoty byly na reklamaci. Začal jsem s Multi_Zone_Error_Rate 3, bez dalších chyb. To bych patrně nevyreklamoval. Ale začal jsem disk testovat a objevil jsem vadné sektory. Byly v části disku, která se dala vyhodit z raidu. Tak jsem to udělal, otestoval, přepsal a ty sektory se realokovaly (nebo co). Teď mám SMART hodnoty téměř jako ze žurnálu. Při dlouhé kontrole to ale začalo hlásit chyby jinde. Tentokrát v oblasti raidu5.

Btw, když přepíšu blok přímo na disku (ve snaze realokovat sektory), který je v raidu5, pozná to CRC kontrola raidu a provede opravu?

Kromě toho mi odešel disk na notebooku, který ovšem není v záruce. Tam mám (mimo jiné) nějaké vadné sektory v hodně používaném lvm oddílu. A tam bych potřeboval vědět, co je tam za soubor(y). Takže řeším vlastně dva disky, oba doma.
21.10.2014 13:00 bfu
Rozbalit Rozbalit vše Re: Program pro kontrolu disku
Takže jsem disk v notebooku vyměnil a teď se starám o ten druhý.

Disk má 2TB a je zapojen do raidu na NAS serveru. A je v záruce. Na kusu na začátku je raid1 a na zbytku je raid5.

Napřed hlásil smartctl Multi_Zone_Error_Rate hodnotu 3. Na to mě upozornil NAS server, že mám zálohovat a disk vyměnit. Poté smartctl nahlásil chyby v oblasti raidu1. Ale Current_Pending_Sector 0, Reallocated_Event_Count 0.

Předevčírem jsem raid1 rozhodil, celou oblast přepsal. Smartctl začal hlásit chyby v oblasti raidu5. Current_Pending_Sector 0, Reallocated_Event_Count 0, ale Multi_Zone_Error_Rate teď 0. Zvedla se Raw_Read_Error_Rate, ale podle webu by se mi s reklamací vysmáli.

Protože disku už tak nějak nevěřím, rozhodil jsem i raid5 a jal jsem se testovat celý disk. Ten potřebný čas je ubíjející. Poštval jsem na to badblocks v rw módu, udělal jeden průchod a objevil jsem 372 sektorů, o kterých badblocks tvrdil, že jsou vadné. Ve smart hodnotách se zvedla Raw_Read_Error_Rate na 1202 a Current_Pending_Sector na 15. Reallocated_Event_Count 0. Začal jsem pomocí dd zapisovat na disk. Ješte zapisuji, ale smart hodnoty vypadají teď takhle:
=== START OF INFORMATION SECTION ===
Model Family:     Western Digital Red (AF)
Device Model:     WDC WD20EFRX-68AX9N0
Firmware Version: 80.00A80
User Capacity:    2,000,398,934,016 bytes [2.00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ACS-2 (minor revision not indicated)
SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 3.0 Gb/s)
Local Time is:    Tue Oct 21 12:24:41 2014 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled


SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   200   200   051    Pre-fail  Always       -       1202
  3 Spin_Up_Time            0x0027   177   175   021    Pre-fail  Always       -       4141
  4 Start_Stop_Count        0x0032   099   099   000    Old_age   Always       -       1804
  5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x002e   200   200   000    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   078   078   000    Old_age   Always       -       16247
 10 Spin_Retry_Count        0x0032   100   100   000    Old_age   Always       -       0
 11 Calibration_Retry_Count 0x0032   100   253   000    Old_age   Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       35
192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       26
193 Load_Cycle_Count        0x0032   200   200   000    Old_age   Always       -       1777
194 Temperature_Celsius     0x0022   107   101   000    Old_age   Always       -       40
196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   100   253   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always       -       0
200 Multi_Zone_Error_Rate   0x0008   200   200   000    Old_age   Offline      -       0

Teď už to vypadá, že se jedná o jeden z nejlepších disků v mém NAS serveru. Vidím to ale pořád jenom na bramborovou medaili, protože kvůli těm ostatním diskům (jeden je úplně stejný jako ten testovaný), mi prostě NAS server zprávy neposílá a nevyhrožuje ztrátou dat.

Mám tomu disku zase začít věřit?
Max avatar 21.10.2014 17:55 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Program pro kontrolu disku
badblocks v rw módu, udělal jeden průchod a objevil jsem 372 sektorů
Jasně zralý na reklamaci a normálně bych to tam i napsal (několikrát jsem to tak udával při reklamaci), že "badblocks -wvv /dev/sda -o badblocks.log" našel tolik a tolik vadných sektorů. Tebou udávaných 372 je silně za hodnotou realokace.
Další věcí je, že SMART není nic, čemu by se úplně na 100% dalo věřit. U starých disků určitě ne, u nových je to mnohem lepší, ale i tak se může disk dostat do stavu, kdy je SMART nefunkční a vrací blbosti, nebo nezaznamenává chyby.
Zdar Max
Měl jsem sen ... :(
31.10.2014 13:55 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Program pro kontrolu disku
Nevím SMART vypadá z mého pohledu dobře, kromě toho že píšeš že se zvětšuje Raw_Read_Error_Rate?

Nemůže být problém v napájení a pak elektronika disku blbne? Co skouknout ten nas zda nejsou nafouklé nějaké kondenzátory, co skusit vyměnit sata a napájecí kabel?

PS. Kdysi jsem taky hledal problém HDD vymontován a provedeny testy vše OK a při vrácení do jiného PC po nějaké době zase chyby nakonec to bylo zdrojem v tom PC. (Přičemž jiný HDD v tom PC fungoval OK - asi měl menší odběr či nebyl tak náchylný ke zvlnění napětí)
31.10.2014 16:26 bfu
Rozbalit Rozbalit vše Re: Program pro kontrolu disku
Od posledka jsem provedl rw kontrolu pomocí badblocks, nechal jsem proběhnout standardní 4 testovací vzory. Nenašlo to vůbec nic. Poté jsem několikrát kontroloval pomocí dlouhých a krátkých testů smart. Zase nic. Takže teď smartctl ukazuje všechny hodnoty úplně normální a téměř shodné se sesterským diskem, který je v témže zařízení. Jenom ta hodnota Raw_Read_Error_Rate je jiná, nenulová. Od posledka se nezměnila. Další rozdíl je ten, že kontrolovaný disk si pamatuje, že "ATA Error Count" je celkem 77. Tady je výsledek ze smartctl:
smartctl 6.2 (build date Mar  3 2014) [armv5tel-linux-2.6.32.12] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Western Digital Red (AF)
Device Model:     WDC WD20EFRX-68AX9N0
Firmware Version: 80.00A80
User Capacity:    2,000,398,934,016 bytes [2.00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ACS-2 (minor revision not indicated)
SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 3.0 Gb/s)
Local Time is:    Fri Oct 31 15:50:15 2014 CET
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:  (0x03)	Offline data collection activity
					is in progress.
					Auto Offline Data Collection: Disabled.
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: 		(27240) 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: 	 (   2) minutes.
Extended self-test routine
recommended polling time: 	 ( 275) minutes.
Conveyance self-test routine
recommended polling time: 	 (   5) minutes.
SCT capabilities: 	       (0x70bd)	SCT Status supported.
					SCT Error Recovery Control supported.
					SCT Feature Control supported.
					SCT Data Table supported.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   200   200   051    Pre-fail  Always       -       1202
  3 Spin_Up_Time            0x0027   177   175   021    Pre-fail  Always       -       4133
  4 Start_Stop_Count        0x0032   099   099   000    Old_age   Always       -       1830
  5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x002e   200   200   000    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   078   078   000    Old_age   Always       -       16490
 10 Spin_Retry_Count        0x0032   100   100   000    Old_age   Always       -       0
 11 Calibration_Retry_Count 0x0032   100   253   000    Old_age   Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       36
192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       26
193 Load_Cycle_Count        0x0032   200   200   000    Old_age   Always       -       1803
194 Temperature_Celsius     0x0022   114   101   000    Old_age   Always       -       33
196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   100   253   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always       -       0
200 Multi_Zone_Error_Rate   0x0008   200   200   000    Old_age   Offline      -       0

SMART Error Log Version: 1
ATA Error Count: 77 (device log contains only the most recent five errors)
	CR = Command Register [HEX]
	FR = Features Register [HEX]
	SC = Sector Count Register [HEX]
	SN = Sector Number Register [HEX]
	CL = Cylinder Low Register [HEX]
	CH = Cylinder High Register [HEX]
	DH = Device/Head Register [HEX]
	DC = Device Command Register [HEX]
	ER = Error register [HEX]
	ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Error 77 occurred at disk power-on lifetime: 16227 hours (676 days + 3 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 01 3f ec 5b e0  Error: UNC at LBA = 0x005bec3f = 6024255

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  20 00 01 3f ec 5b e0 08  33d+21:35:59.928  READ SECTOR(S)
  ec 00 00 00 00 00 00 08  33d+21:35:59.898  IDENTIFY DEVICE
  ec 00 00 00 00 00 a0 08  33d+21:35:59.849  IDENTIFY DEVICE
  ef 03 46 00 00 00 a0 08  33d+21:35:59.849  SET FEATURES [Set transfer mode]

Error 76 occurred at disk power-on lifetime: 16227 hours (676 days + 3 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 01 3e ec 5b e0  Error: UNC at LBA = 0x005bec3e = 6024254

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  20 00 01 3e ec 5b e0 08  33d+21:35:59.609  READ SECTOR(S)
  20 00 01 3d ec 5b e0 08  33d+21:35:59.597  READ SECTOR(S)
  20 00 01 3c ec 5b e0 08  33d+21:35:59.585  READ SECTOR(S)
  20 00 01 3b ec 5b e0 08  33d+21:35:59.573  READ SECTOR(S)
  20 00 01 3a ec 5b e0 08  33d+21:35:59.561  READ SECTOR(S)

Error 75 occurred at disk power-on lifetime: 16227 hours (676 days + 3 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 01 35 ec 5b e0  Error: UNC at LBA = 0x005bec35 = 6024245

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  20 00 01 35 ec 5b e0 08  33d+21:35:59.169  READ SECTOR(S)
  ec 00 00 00 00 00 00 08  33d+21:35:59.138  IDENTIFY DEVICE
  ec 00 00 00 00 00 a0 08  33d+21:35:59.090  IDENTIFY DEVICE
  ef 03 46 00 00 00 a0 08  33d+21:35:59.090  SET FEATURES [Set transfer mode]

Error 74 occurred at disk power-on lifetime: 16227 hours (676 days + 3 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 01 34 ec 5b e0  Error: UNC at LBA = 0x005bec34 = 6024244

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  20 00 01 34 ec 5b e0 08  33d+21:35:58.849  READ SECTOR(S)
  ec 00 00 00 00 00 00 08  33d+21:35:58.819  IDENTIFY DEVICE
  ec 00 00 00 00 00 a0 08  33d+21:35:58.770  IDENTIFY DEVICE
  ef 03 46 00 00 00 a0 08  33d+21:35:58.770  SET FEATURES [Set transfer mode]

Error 73 occurred at disk power-on lifetime: 16227 hours (676 days + 3 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 01 33 ec 5b e0  Error: UNC at LBA = 0x005bec33 = 6024243

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  20 00 01 33 ec 5b e0 08  33d+21:35:58.521  READ SECTOR(S)
  ec 00 00 00 00 00 00 08  33d+21:35:58.493  IDENTIFY DEVICE
  ec 00 00 00 00 00 a0 08  33d+21:35:58.460  IDENTIFY DEVICE
  ef 03 46 00 00 00 a0 08  33d+21:35:58.460  SET FEATURES [Set transfer mode]

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%     16476         -
# 2  Short offline       Completed without error       00%     16452         -
# 3  Short offline       Completed without error       00%     16428         -
# 4  Short offline       Completed without error       00%     16404         -
# 5  Extended offline    Completed without error       00%     16385         -
# 6  Short offline       Completed without error       00%     16357         -
# 7  Short offline       Completed without error       00%     16356         -
# 8  Short offline       Completed without error       00%     16344         -
# 9  Extended offline    Completed without error       00%     16329         -
#10  Short offline       Completed without error       00%     16323         -
#11  Short offline       Completed without error       00%     16323         -
#12  Short offline       Completed without error       00%     16323         -
#13  Short offline       Completed without error       00%     16320         -
#14  Short offline       Completed without error       00%     16320         -
#15  Short offline       Completed without error       00%     16320         -
#16  Short offline       Completed without error       00%     16320         -
#17  Short offline       Completed without error       00%     16320         -
#18  Short offline       Completed without error       00%     16320         -
#19  Short offline       Completed without error       00%     16320         -
#20  Short offline       Completed without error       00%     16320         -
#21  Short offline       Completed without error       00%     16320         -

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.


NAS server (Synology DS410j) jsem rozebral, vyčistil, disky vyjmul a zase dal na místo (to jsem měl udělat na začátku). Poté jsem zase zařadil disk do raidu a normálně ho používám. NAS server přestal na disk nadávat.

Nafouklých kondenzátorů jsem si nevšiml. Kabely se vyměnit nedají, protože tam žádné nejsou. Tedy nějaké asi ano, ale jsou nestandardní, zabudované. Disky se prostě jenom zasunují (a přišroubují, což mám poctivě udělané). NAS server je po celou dobu své existence napájený z UPS.

Každopádně děkuji za spolupráci Maxovi i tobě. Chystal jsem se sepsat toto shrnutí, ale nemohl jsem se k tomu pořád dostat.

Btw: otázka ze subjectu zůstala nezodpovězena, ale měl jsem kliku, na tom druhém disku, který se fakt položil, jsem přišel pouze o data v jednom bezvýznamném adresáři, která po přeinstalaci stejně ztratila význam.
31.10.2014 17:34 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Program pro kontrolu disku
Je možné že byl někde špatný kontakt v napájení, případně někdy je zrada mezi vlastní elektronikou HDD a vnitřní částí HDD, kdy to chce oddělat desku elektroniky a očistit napružit kontakty převážně ten k motorku HDD.

Prostě chce to sledovat a uvidíš zda to bude OK nebo se některé hodnoty zase začnou měnit.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.