HDD, co se presne deje pri 'aktomaticke oprave vadnych sektoru' ?

Jaroslav Lukesh lukesh na seznam.cz
Pondělí Leden 23 10:51:46 CET 2012


Disk z vadného sektoru přemapovávádata  kdykoli během čtení, i během čtení 
dat uživatelem a OS se o tom nedozví. Ne každá chyba čtení je katastrofická 
a nekorigovatelná.

Pouze u neopravitelné chyby, tedy kdy už ani samoopravné procesy nepomohou, 
disk hlásí chybu čtení.

Pokud někdo zálohuje na disky, opravdu se může stát, že u velmi dlouho 
ležícího disku (roky),nemusí být schopen přečíst některá data, nebo se vůbec 
disk neroztočí. Netýká se to velmi starých disků (cca >10 GB), ale 
novějších, které mají subdoménovou velikost bitu.


----- Původní zpráva ----- 
Od: "Václav Ovsík" <vaclav.ovsik na gmail.com>
Komu: "HW-news" <hw-list na list.hw.cz>
Odesláno: 23. ledna 2012 8:05
Předmět: Re: HDD, co se presne deje pri 'aktomaticke oprave vadnych sektoru' 
?


On Sun, Jan 22, 2012 at 04:15:23PM +0100, Jiri Sladek wrote:
> Kdyz uz tady probehla diskuse o odchazejicim disku v PC, tak mne
> napadaji dva dotazy.
>
> 1. Co se stane s daty, kdyz disk nedokaze precist vadny sektor a
> provede premapovani (nahradu) vadneho sektoru jinym sektorem?

Tohle pri cteni disk nikdy neudela. Nedozvedel byste se o poruseni dat.

> 2. Co se stane s daty, kdyz treba program CHKDSK zjisti vadny sektor
> a provede automaticky presmerovani clusteru na jine misto na disku?

CHKDSK nepuzivam...

> Predpokladam, ze data z vadneho sektoru se nepodarilo precist ani na
> x-ty pokus. Nahradni sektor tedy obsahuje nuly (?).
> Uzivatel se ale nedozvi nic, protoze oprava probehla automaticky a
> tise. Nebo se neco dozvi?

Dozvi, pri cteni vrati OS chybu.
Nuly na mista, ktera nejdou precist zaradi utilita dd_rescue nebo
ddrescue. Ta pokracuje ve cteni i za chybou a sepise seznam vadnych mist
do logu. Jinak OS pri cteni souboru delky N pri narazu na chybu v miste
L skonci a dal nepokracuje. Takze kdyz mate soubor 1M a bude vadny jeden
sektor nekde na 10kB, tak bude kopirovany soubor dlouhy 10kB. Na
precteni vsech zbyvajicich dat se pouziva dd_rescue, ktere to prave
vyplni nulami.


> Protoze je to zkuseny uzivatel, tak provadi pravidelne zalohovani
> dat v nekolika generacich. Nejstarsi zaloha se premazava.
>
> Po delsi dobe, treba po roce, uzivatel zjisti, ze nektery dulezity
> soubor je poskozeny, protoze doslo k oprave podle popisu vyse.

Nenastane. Zalohovani by melo skoncit chybou.

> Zjisti se, ze soubor obsahuje 512bytu, kde jsou same nuly. Potom se
> najde dalsi poskozeny soubor, a dalsi a dalsi.
> Uzivatel tedy obnovi soubory ze zaloh, ale i tam je stejne poskozeni.
> Prusvih. A k tomu vsemu, nelze s urcitosti zjistit, ktere soubory
> jsou poskozene, kdyz obsahuji nejake nuly.
>
>
> Muzete mi vysvetlit, jestli je moje teorie spravna?

Nastesti neni.

Naopak pokud mate disk s vadnymi bloky, lze ho resuscitovat pomoci
zapisu. Zapis - to je ta vhodna chvile, kdy si muze disk dovolit sektory
premapovat.
Na tohle je jako delana utilitka badblocks s volbou -w.
Uz jsem tim spravil lecktere vadne bloky, napr. ted jedu na 2.5" HDD
500GB WD Scorpio Blue, kterej uz mam cca 3 roky. Asi po 3/4 roce se
objevilo nejakych 120 vadnych sektoru. Prisel jsem na ne pri pravedelnem
spousteni SMART Long testu a nastesti v tom miste nebyla data. pres LVM
jsem na tomiste naalokoval logical volume a pustil na to badblocks. Za
chvili bylo po vadnych sektorech. Dodnes na tom disku jedu.

Je treba periodicku poustet SMART Long test, pri kterem vam disk sam
precte cely povrch a pokud je vse ok, zapise:

# 1  Extended offline    Completed without error       00%      8992

Jakmile, ale narazi na chybu, skonci a ve vysledcich je:

# 2  Extended offline    Completed: read failure       50%      8980
622240201

Jo - tak ted si vzpominam, ze jeden vadnej sektor asi 2 mesice zpet byl.
A jdu honem zase pustit Long test ;).

bobek:~# smartctl -t long /dev/sda
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.2.0-1-amd64] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Extended self-test routine immediately in 
off-line mode".
Drive command "Execute SMART Extended self-test routine immediately in 
off-line mode" successful.
Testing has begun.
Please wait 154 minutes for test to complete.
Test will complete after Mon Jan 23 10:35:27 2012

Use smartctl -X to abort test.

Jak vidno - pojede to 154 minut. Po tu dobu není možné počítač vypnout
ani rebootovat, jinak se kontrola přeruší pochopitelně.

Výsledek se po uvedené době (nebo déle pokud bude mít disk více práce
nebo menší problémy se čtením) objeví v logu ve SMARTU, který je vidět
ve smartctl -a /dev/sda.

A mimochodem, vadné sektory nemusí být způsobený vadným diskem, ale také
vadným napájením, což píšu z vlastní zkušenosti :(.

-- 
Zito
_______________________________________________
HW-list mailing list  -  sponsored by www.HW.cz
Hw-list na list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list 



Další informace o konferenci Hw-list