Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Zmizely mi vadné bloky... Jak je to možné? [vyřešeno]  (Přečteno 3176 krát)

arrange

  • Závislák
  • ***
  • Příspěvků: 4031
  • "jdu s hlavou vztyčenou..."
Zmizely mi vadné bloky... Jak je to možné? [vyřešeno]
« kdy: 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)
Kód: [Vybrat]
   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)
Kód: [Vybrat]
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, 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ý)
Kód: [Vybrat]
   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.
« Poslední změna: 16 Března 2010, 21:48:25 od arrange »
http://www.openstreetmap.org - mapy celého světa "wiki style"

Roman Vacho

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 6023
Re: Zmizely mi vadné bloky... Jak je to možné?
« Odpověď #1 kdy: 16 Března 2010, 14:21:54 »
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?
« Poslední změna: 16 Března 2010, 14:27:44 od Rovano »
Vyřešená vlákna je vhodné uzavřít "Topic Solved" dole pod vláknem. Děkujeme.

RiP

  • Aktivní člen
  • *
  • Příspěvků: 148
    • Richard Pastrňák
Re: Zmizely mi vadné bloky... Jak je to možné?
« Odpověď #2 kdy: 16 Března 2010, 15:06:58 »
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-smart-testy-a-monitorovani

Citace
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ě.

Citace
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.

arrange

  • Závislák
  • ***
  • Příspěvků: 4031
  • "jdu s hlavou vztyčenou..."
Re: Zmizely mi vadné bloky... Jak je to možné?
« Odpověď #3 kdy: 16 Března 2010, 15:43:12 »
>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.
http://www.openstreetmap.org - mapy celého světa "wiki style"

Roman Vacho

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 6023
Re: Zmizely mi vadné bloky... Jak je to možné?
« Odpověď #4 kdy: 16 Března 2010, 16:06:17 »
Aha. To jsem netušil, že ta utilitka je přímo v něm.
Vyřešená vlákna je vhodné uzavřít "Topic Solved" dole pod vláknem. Děkujeme.

 

Provoz zaštiťuje spolek OpenAlt.