[EMAIL PROTECTED] napsal/wrote, On 02/27/07 14:21: > Chtel bych se zeptat, jak se tento problem resi pod FreeBSD. Nepodarilo se mi > nalezt uspokojive reseni. Myslim neco analogickeho jako treba u Linuxu: > mke2fs -c . > Nemohu se zbavit pocitu, ze kdyz pridam novy disk a provedu bsdlabel (nebo > sysinstall), > tak ze mohu nahravat na spatne bloky. Moc bych nespolehal na to, ze si to sam > disk > osetri, pokud jsem dobre informovan.
Ja si trochu pustim hubu na spacir. Jen takovy sled par poznatku a uvah. Mozna si z toho nekdo neco rozumneho vyberete. Kdo vite jak disky a interakce OS s nimi funguje, anito nectete, nic noveho tady pro vas nebude. Disky ve skutecnosti s moznosti vady pocitaji. Proto jsou ulozena data zabezpecena samoopravnymi kody. Chyby prvni vznikaji nepresnosti vystaveni hlavy, mirnymi odchylkami v rychlosti rotace, rusenim, drobnymi otresy a jinymi podobnymi nahodnymi jevy. Takove chyby jsou zcela bezne, prvni uroven samoopravnych mechanismu se s nimi vyrovna a tak nemaji zadny pozorovatelny vnejsi efekt a typicky nemaji ani zadny vnitrni dopad. Z pohledu "uzivatele disku" se vyskyt teto udalosti vlastne ani za chybu nepovazuje - jednak je to prilis "bezna" vec, jednak se o ni nedozvedi. Co se nepodari opravit na prvni urovni postupuje do druheho kola oprav. Sem se dostavaji zavaznejsi problemy, mj. vady media ci zaznamu na nej. I zde se pouzivaji samoopravne kody, ale slozitejsi a delsi dobu trvajici vypocet, ktery umoznuje opravit vetsi chyby nez "rychla analyza" v prvnim kole. V nouzi nejvyssi pak muze disk sahnout i k opakovanemu media. Chyby druhe urovne uz maji vliv navenek. Krome zpozdeni v dodani dat je vnejsimu svetu poskytnuta informace o vzniku teto situace i explicitne. I pripade, ze se chybu podari napravit obsahuje zaverecny operace informaci "opravena chyba". A samozrejme, nepovede-li se oprava, je vysledkem operace "neopravitelna chyba". Tim se OS muze dozvedet o chybach drive, nez se stanou neopravitelnymi. FreeBSD vytvori LOG hlasku o "soft error", ktera se, podle nastaveni v SYSLOGu objevi v prislusnych LOG souborech, na konzoli, a pripadne v nocnich hlasenich. Pozor, dneska se z disku malokdy cte jediny sektor - cislo sektoru uvedene v takove hlasce je obvykle prvni cislo bloku sektoru, se kterymi se pracovalo. Ale nelze zjistit, ke kteremu z nich se chyba/varovani vztahovalo presne. Varovani/ozmaneni chyby ale neni vsechno. Prakticky vsechny soucasne disku (a "soucasne" dnes zahrnuje uz i disky hezkych par let stare) obsahuji "nahradni sektory" a cele "nahradni stopy". Tyto sektory nejsou bezne dostupne. Jejich pocet se lisi podle typu disku a je to udaj, ktery obvykle neni verejne zjistitelny, ale patrne je typicky pomerne velky - mam duvod odhadovat, ze by typicky mohlo jit o vice nez promile a mene nez procento celkove kapacity disku. Disk, ktery zjisti pri zapisu neopravitelnou chybu media takovy sektor vyradi a misto nej zacne pouzivat nektery z nahradnich. Ucini tak tise, bez toho, ze o tom uzivatele nejak informuji. Vyjimku z "tise" mohou tvorit disky podporujici S.M.A.R.T - prostrednictvim tohoto protokolu disk MUZE dat k dispozici informaci o tom, ze k nejakym relokacim v historii disku doslo. Ale nemusi. Pripadna moznost zjistit "kolikrat" uz je pak vyslovene proprietarni zalezitost. U cteni je situace jina - neopravitelne chyby pri cteni konci chybou, ale relokace se neprovadi. Sektor ale muze/nemusi byt oznacen jako uncorrectable/pending coz vyvola jeho nepodminenou relokaci pri pristim zapisu (nezkouma se tedy, jestli by novy zapis dat do sektoru problem nevyresil). Opravitelna chyba muze vyvolat zpetny zapis vypoctenych opravenych dat zpet na medium, do stejneho nebo nahradniho sektoru. Nicmene, presne chovani disku je proprietarni a neverejna zalezitost a ruzne disky mohou (ne)relokovat i na zaklade jinych (ci dalsich) podminek. "Specialni" testovaci utility vyrobce ve skutecnosti nejsou nic magickeho - typicky vyuzivaji zcela standardni pristupove funkce. Takova typicka testovaci rutina disk proste pouze precte. V lepsim pripade, narazi-li na problem, zapise prectena data zpet, coz pripadne vyvola vnitrni relokaci. Typickym vysledkem testovaci utility vyrobce tedy je "disk bez zavad" (ti poctivejsi nekdy, pokud neco najdou, "nalezene zavady uspesne opraveny"). Soucasne FreeBSD nepocita s trvalym vyskytem na disku. Kdysi se s takovou moznosti pocitalo a OS obsahoval nejake automaticke reakce na vyskyt takove udalosti, ale mam dojem, ze nekde v oblasti prechodu 3.x->4.x byla "podpora behu na vadnych discich" odstranena. Nicmene, stale zustala moznost vadny sektor izolovat "rucne" (man badsect) - to je ale mozne jen u vadnych sektoru, ktere nepadly "do nevhodneho mista" (to ale do znacne miry platilo i pro puvodni system). --------------- Tolik tedy informace, aby si kazdy mohl svoji cestu rozmyslet sam. A jak jsem si to rozmyslel ja ? Aktualni stav disku lze zjistit jeho kompletnim prectenim. Jak soft tak hard error - i kdyby jen jedna - jsou signalem, ze disk neni vhodny pro dulezita data. I v pripade, ze cteni zadnou chybu nezjisti, neni to dukaz, ze disk za sebou nema pohnutou historii - muze obsahovt desitky i stovky relokovanych sektoru. Pokud nam informaci o nich neposkytne S.M.A.R.T. (a jak jsem psal, i kdyz tam je, tak nemusi, a i kdyz poskytne, nemusi tak udelat detailnim zpusobem) mame smulu. Konsolidaci disku (ukryti pripadnych problemu) lze dosahnout zapisem do vsech sektoru - pripadne problematicke sektory budou relokovany. Na rozdil od cteni, ktere o stavu disku poskytne alespon nejakou informaci, zapis je v tomto ohledu bezcenny - on chyby neukaze - proste je "odstrani" (ve skutecnosti ukryje). Tedy - vyjma pripadu, kdy zapis skutecne nejakou chybu ukaze - pak je ale disk nejspis v prevelice spatnem stavu a pro ukladani dat nevhodny. "Specialni utility od vyrobce" neudelaji nic lepsiho a tedy jejich pouziti vetsinou nic zajimaveho neprinese. Na discich, ktere maji S.M.A.R.T. lze take vyvolat vnitrni test. co dela presne ten se nevi, patrne udela jen proste cteni celeho disku, tedy totez co "uzivatelske precteni", ale uskodit to spis nemuze. "Predformatovaci" kontrola "podle Dana" tedy spociva v precteni a nasledne zapsani vsech sektoru (oboji pomoci dd) a je-li S.M.A.R.T. tak vyvolani vnitrniho long testu - a kontrole udaju, ktere S.M.A.R.T. poskytne - budou-li nejake pouzitelne. "Provozni" kontrola je velmi omezena - k dispozici jsou pouze varovani o soft-error. Plus to, co poskytne S.M.A.R.T. Predpokladejme, ze chyba, ktera nevznikla "nasilim" je chyba postupne se objevujici a bude vcas oznamena takto nez se stane neopravitelnou. Chyby vznikle nasilim (mechanicky naraz, prepeti v napajeni, upadla cteci hlava a pod.) sice budou "bez varovani neopravitelne", ale ty stejne nelze predikovat otestovanim disku. Tak si z toho neco vyberte ... Dan -- Dan Lukes SISAL MFF UK AKA: [EMAIL PROTECTED], [EMAIL PROTECTED],[EMAIL PROTECTED] -- FreeBSD mailing list (users-l@freebsd.cz) http://www.freebsd.cz/listserv/listinfo/users-l