Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Hardware => Téma založeno: arrange 16 Března 2010, 13:25:24
-
Bude to asi trochu náročnější čtení, ale směle do toho.
Pro lenivce souhrn hned na začátku- pokud vám tuhne nějaká aplikace nebo systém, podívejte se i na zdraví disku
- můj problém: proč se ze SMART dat ztratil záznam o vadných blocích?
Full verze:
Včera mi začal tuhnout FF. Po kratším ohledání jsem zjistil, že mám zvýšené I/O wait, takže jsem hledal problémy s diskem, a taky že jo.
SMART (viz current-pending a raw-read)
ATA SMART: Updated at Mon 15 Mar 2010 10:38:52 PM CET
overall assessment: Disk has a few bad sectors
===============================================================================
Attribute Current|Worst|Threshold Status Value Type Updates
===============================================================================
raw-read-error-rate 200|200| 51 good 179 Pre-fail Online
spin-up-time 157|156| 21 good 3.1 secs Pre-fail Online
start-stop-count 100|100| 0 n/a 557 Old-age Online
reallocated-sector-count 200|200|140 good 0 sectors Pre-fail Online
seek-error-rate 200|200| 0 n/a 0 Old-age Online
power-on-hours 96| 96| 0 n/a 125.8 days Old-age Online
spin-retry-count 100|100| 0 n/a 0 Old-age Online
calibration-retry-count 100|100| 0 n/a 0 Old-age Online
power-cycle-count 100|100| 0 n/a 555 Old-age Online
power-off-retract-count 200|200| 0 n/a 11 Old-age Online
load-cycle-count 200|200| 0 n/a 557 Old-age Online
temperature-celsius-2 102| 94| 0 n/a 41C / 106F Old-age Online
reallocated-event-count 200|200| 0 n/a 0 Old-age Online
current-pending-sector 200|200| 0 n/a 2 sectors Old-age Online
offline-uncorrectable 200|200| 0 n/a 0 sectors Old-age Offline
udma-crc-error-count 200|200| 0 n/a 0 Old-age Online
multi-zone-error-rate 200|200| 0 n/a 0 Old-age Offline
dmesg (oblíbený DRDY ERR a Unrecovered read error - auto reallocate failed) ata4.01: BMDMA stat 0x64
ata4.01: cmd c8/00:20:8f:0d:b1/00:00:00:00:00/f8 tag 0 dma 16384 in
res 51/40:00:a4:0d:b1/00:00:00:00:00/f8 Emask 0x9 (media error)
ata4.01: status: { DRDY ERR }
ata4.01: error: { UNC }
ata4.00: configured for UDMA/133
ata4.01: configured for UDMA/133
ata4: EH complete
ata4.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata4.01: BMDMA stat 0x64
ata4.01: cmd c8/00:20:8f:0d:b1/00:00:00:00:00/f8 tag 0 dma 16384 in
res 51/40:00:a4:0d:b1/00:00:00:00:00/f8 Emask 0x9 (media error)
ata4.01: status: { DRDY ERR }
ata4.01: error: { UNC }
ata4.00: configured for UDMA/133
ata4.01: configured for UDMA/133
ata4: EH complete
ata4.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata4.01: BMDMA stat 0x64
ata4.01: cmd c8/00:20:8f:0d:b1/00:00:00:00:00/f8 tag 0 dma 16384 in
res 51/40:00:a4:0d:b1/00:00:00:00:00/f8 Emask 0x9 (media error)
ata4.01: status: { DRDY ERR }
ata4.01: error: { UNC }
ata4.00: configured for UDMA/133
ata4.01: configured for UDMA/133
Unhandled sense code
Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
Descriptor sense data with sense descriptors (in hex):
72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00
08 b1 0d a4
Add. Sense: Unrecovered read error - auto reallocate failed
end_request: I/O error, dev sdb, sector 145821092
ata4: EH complete
badblocks: Pass completed, 159 bad blocks found.
Problém byl v tom, že se jednalo o read error (ne write), a tak nedošlo k automatické realokaci vadného sektoru. FF tuhnul dál. raw-read a pending-sectors se postupně zvyšovaly (na stovky, respektive desítky).
Nevadí, našel jsem úžasnou stránku, kde je problém popsán i s řešením (http://www.linuxzone.cz/index.phtml?ids=29&idc=1334), a zjistil, že je problém v cache souborech FF, které se nedají přečíst.
Navrhnuté řešení spočívalo v tom, že se člověk pokusil o zápis do poškozeného souboru, a pokud by se to nepovedlo, vadný blok by byl automaticky realokován (kýžený write error). Navrhované dd do souboru nemělo žádný účinek, a tak jsem zkusil shred poškozených cache souborů. Ten zafungoval až moc zázračně.
V čem je problém? Vše funguje jak po čisté instalaci, jen po vadných blocích ani památky. V logách není nikde vidět, že by byly realokovány. Jak je to možné?
SMART teď (disk jako nový) ATA SMART: Updated at Tue 16 Mar 2010 12:29:23 PM CET
overall assessment: Good
===============================================================================
Attribute Current|Worst|Threshold Status Value Type Updates
===============================================================================
raw-read-error-rate 200|200| 51 good 804 Pre-fail Online
spin-up-time 157|156| 21 good 3.1 secs Pre-fail Online
start-stop-count 100|100| 0 n/a 558 Old-age Online
reallocated-sector-count 200|200|140 good 0 sectors Pre-fail Online
seek-error-rate 100|253| 0 n/a 0 Old-age Online
power-on-hours 96| 96| 0 n/a 126.0 days Old-age Online
spin-retry-count 100|100| 0 n/a 0 Old-age Online
calibration-retry-count 100|100| 0 n/a 0 Old-age Online
power-cycle-count 100|100| 0 n/a 556 Old-age Online
power-off-retract-count 200|200| 0 n/a 11 Old-age Online
load-cycle-count 200|200| 0 n/a 558 Old-age Online
temperature-celsius-2 101| 94| 0 n/a 42C / 108F Old-age Online
reallocated-event-count 200|200| 0 n/a 0 Old-age Online
current-pending-sector 200|200| 0 n/a 0 sectors Old-age Online
offline-uncorrectable 200|200| 0 n/a 0 sectors Old-age Offline
udma-crc-error-count 200|200| 0 n/a 0 Old-age Online
multi-zone-error-rate 200|200| 0 n/a 0 Old-age Offline
Očekával bych záznam v reallocated-sector-count, příp. v reallocated-event-count. Ale nic. Badblocks také hlásí čisto. Jak to? (Jinak disk je to WD, cca rok starý.)
Díky za příp. postřehy.
-
Vylekal jsi mě a pustil jsem na 2 hdd long self testy. Je mi záhadou co píšeš. Neobešel to nějak souborový systém EXT? Něco jsem četl, že to umí.
BTW: Nevíš proč v htop nevidím puštěný smartctl -t long xxx?
-
V čem je problém? Vše funguje jak po čisté instalaci, jen po vadných blocích ani památky. V logách není nikde vidět, že by byly realokovány. Jak je to možné?
To že některé bloky nešly přečíst ještě nutně nemusí znamenat, že jsou poškozené. Poškozená v nich mohla být jenom (a zřejmě jenom byla) zapsaná data. Pěkně to bylo nedávno popsáno v článcích na Linuxexpresu:
http://www.linuxexpres.cz/praxe/sprava-linuxoveho-serveru-s-m-a-r-t-logy (http://www.linuxexpres.cz/praxe/sprava-linuxoveho-serveru-s-m-a-r-t-logy)
http://www.linuxexpres.cz/praxe/sprava-linuxoveho-serveru-smart-testy-a-monitorovani (http://www.linuxexpres.cz/praxe/sprava-linuxoveho-serveru-smart-testy-a-monitorovani)
Právě na tomto příkladu bych rád ukázal a zdůraznil, že chybové hlášky v logu ještě nutně nemusí znamenat problém s diskem. V tomto konkrétním případě došlo k přerušení napájení, když disk prováděl zápis. Výsledkem bylo několik sektorů u kterých došlo k nekonzistenci mezi daty a ECC záznamy (Error Checking and Correction). Z toho disk při čtení usoudil, že sektor nelze přečíst (jakmile porovnal data a příslušné ECC záznamy), tudíž došlo k neopravitelné chybě čtení (viz UNC = uncorrectable error in data v chybové hlášce v logu). Po přepsání těchto sektorů problém zmizel a disk nyní funguje bezvadně.
Tento výpis náleží disku Hitachi, kterého se týkal onen problém s výpadkem napájení a následné nekonzistenci mezi ECC záznamem a daty v osmi sektorech, která vyvolala chybu čtení.
...
Z výpisu testů je jasně patrné, že tato chyba byla odstraněna (pozdější testy proběhly bez chyby) a nulová hodnota S.M.A.R.T. atributu "reallocated sectors count" potvrzuje, že se nejednalo o špatné sektory, které by bylo nutné přemapovat. Tento disk je tedy zcela v pořádku.
-
>RiP
Děkuji ti za odpověď. Ty odkazy jsem neznal; teď už je skládanka úplnější. Myslel jsem si, že příčina může být jen hardwarová. I když konkrétní důvod této chyby čtení neznám (nedošlo u mě včera k výpadku proudu nebo něco podobného). Taky to znamená, že by bývalo stačilo dané soubory (cache) prostě vymazat, shred nebyl nutný.
>Rovano
Dle uvedených odkazů se jedná o firmware disku, který tedy asi jede nezávisle na OS.
-
Aha. To jsem netušil, že ta utilitka je přímo v něm.