Vadné sektory (BLOKY, LBA), jejich detekce a monitoring
Kategorie: Harddisky Datum: 5.2.2007 Žádný harddisk nevydrží věčně, dříve nebo později se nějaký ten vadný sektor může objevit a je lépe být na to připraven. Z technického hlediska vzniku vadných sektorů pochopitelně zabránit nelze, lze ale pravidelně data zálohovat (o zálohování se ale dnes bavit nebudeme), ale také lze zdraví disku průběžně monitorovat - často tak můžeme problémům s vadnými sektory předejít tím, že je zavčasu ošetříme.Při monitorování zdraví pevných disků dnes hraje klíčovou roli technologie S.M.A.R.T., což je zkratka pro "Self-Monitoring, Analysis and Reporting Technology System", kterou disponují všechny moderní ATA/SATA/SCSI disky.
Jak vlastně lze dopředu odhadnout, že s pevným diskem něco není v pořádku? Disk se obvykle nepokazí během jednoho krátkého okamžiku - lze sledovat řadu parametrů, které by se měly za normálních okolností pohybovat v určitém předem daném rozmezí (např. provozní teplota, doba používání, jak často dochází k uplatnění opravných algoritmů při čtení a zápisu, počty realokovaných sektorů apod.). Pokud za provozu zařízení hodnota jednoho či více parametru překročí stanovené meze, lze předpokládat, zařízení sice ještě může fungovat, ale jeho životnost a spolehlivost je ohrožena. S.M.A.R.T. zařízení evidují stav řady parametrůi jejichž přípustné rozmezí hodnot stanoví výrobce podle vlastností jednotlivých modelů a tyto jsou uloženy ve firmware zařízení. S.M.A.R.T. nám na 100% nezaručí, že nebudeme překvapeni výpadkem disku, ale pokud budeme S.M.A.R.T. používat, můžeme se řadě nečekaných problémů vyhnout.
Ještě než přejdeme ke konkrétnímu problému, podívejme se na možnosti, jak se pevný disk může s vadným sektorem vyrovnat.
Moderní disky mají malou část své kapacity vyhrazenou jako rezervu pro případ, že se během provozu disku vyskytnou vadné sektory. Tyto sektory se pak v případě potřeby použijí namísto vadných. Protože počet rezervních sektorů je omezen, může disk realokovat (přemístit) jen tento omezený počet vadných sektorů.
Pokud na nový vadný sektor narazíme při zápisu a na disku jsou k dispozici volné sektory vyhrazené pro realokaci, v podstatě to není problém. Nelze-li sektor zapsat, je okamžitě označen jako vadný, je zapsán do seznamu vadných sektorů a data se místo něj zapíší na nově alokovaný sektor. O této chybě se operační systém zpravidla vůbec nedozví, protože chyba je napravena bez prodlevy přímo na úrovni disku.
Pokud dojde k chybě při čtení, je to problém. Pokud disk není schopen obsah postiženého sektoru ani s pomocí korekčních algoritmů přečíst, pak operační systém detekuje chybu I/O. Disk si takový sektor označí jako vadný, ale zpravidla jej nerealokuje do té doby, dokud se na něj nepokusíme zapsat. (Pozn. SCSI disky umožňují nastavit příznak ARRE, což znamená "Automatic Read Reallocation".)
Někdy můžeme narazit na částečně vadný sektor, který
jednou přečíst jde, podruhé nejde, pak zase jde atd.
Pokusy o přepsání sektoru se ale podaří, takže firmware
disku sektor nerealokuje (!) a následuje totéž co
předtím - jednou přečíst lze a podruhé ne. V tom případě
máme dvě možnosti: výrobci disků poskytují obvykle
zdarma diagnostický software, kterým je možné vynutit realokaci problematických sektorů. Nevýhodou je, že až
na výjimky je takový software dostupný pro platformy MS
DOS nebo Windows. Druhou možností je vytvořit na daném
diskovém oddílu souborový systém znovu s vynecháním
vadných bloků (některé souborové systémy to umožňují -
např. ext2/3, reiserfs; některé ne - např. xfs).