31Jul

Ali se podatki o trdi diski lahko razširijo brez opozorila o škodi?

Vsi smo zaskrbljeni, da bi bili naši podatki in datoteke varni in nedotakljivi, vendar je mogoče, da se podatki poškodujejo in jih uporabniki dostopajo brez obvestila ali opozorila o kakršni koli problematiki? Današnji SuperUser Q & Objava ima odgovor na zaskrbljeno vprašanje bralca.

Današnje vprašanje &S sejo odgovora prihaja uporaba SuperUserja, ki je razdeljena na Stack Exchange, skupinsko spletno stran Q & A.

fotografsko dovoljenje generaliziranja( Flickr).

Vprašalnik

SuperUser čitalec topo morto želi vedeti, ali se podatki na trdih diskih lahko razgradijo in so dostopni brez opozorila o poškodbah:

Ali je možno, da lahko fizično poslabšanje trdega diska povzroči, da bi bitji "flip" v vsebini datotekebrez operacijskega sistema, ki opazuje spremembo in obvešča uporabnika o njem pri branju datoteke? Na primer, ali bi se lahko "p"( binarni 01110000) v besedilni datoteki ASCII spremenil v "q"( binarni 01110001), potem ko uporabnik odpre datoteko, vidijo "q", ne da bi vedeli, da je prišlo do napake?

Zanima me odgovore v zvezi z FAT, NTFS ali ReFS( če to naredi razliko).Želim vedeti, ali operacijski sistemi ščitijo uporabnike od tega, ali če bi morali preverjati naše podatke za razlike med kopijami v daljšem časovnem obdobju.

Ali se lahko podatki na trdem disku razkrijejo in dostopajo brez opozorila o škodi?

Odzivnik

SuperUser, ki prispeva Guntram Blohm odgovarja za nas:

Da, obstaja stvar, imenovana bitno gniloba. Ampak ne, to ne bo vplivalo na uporabnika neopaženo.

Če trdi disk zapisuje sektor na plošče, ne zapiše samo bitov na enak način, kot so shranjeni v RAM-u, ampak uporablja kodiranje, da se prepričate, da ni zaporedij istega bloka, ki so predolgi. Dodaja tudi kode ECC, ki omogočajo popravljanje napak, ki vplivajo na nekaj bitov in zaznajo napake, ki vplivajo na več kot nekaj bitov.

Ko trdi disk prebere sektor, preveri te kode ECC in po potrebi popravi podatke( in če je mogoče).Kaj se zgodi, je odvisno od okoliščin in strojne programske opreme trdega diska, na katerega vpliva oznaka pogona.

  • Če je mogoče branje sektorja in nima ECC kode težave, potem se prenese na operacijski sistem.
  • Če je sektor mogoče enostavno popraviti, popravljeno različico lahko zapisujete na disk, preberete, nato preverite, da ugotovite, ali je bila napaka naključna( npr. Kozmični žarki itd.) Ali če obstaja sistemska napaka z medijem.
  • Če trdi disk ugotovi, da medijem obstaja napaka, ta sektor prerazporedi.
  • Če sektorja po nekaj poskusih branja ne morete niti prebrati niti popraviti( na trdem disku, ki je označen kot trdi disk RAID), se bo trdi disk odrekel, prerazporedil sektor in povedal upravljavcu, da je prišlo doproblem. Oslanja se na krmilnik RAID, da bi rekonstruiral sektor od drugih članov RAID-a in ga zapisal nazaj na neuspeli trdi disk, ki ga nato shrani v sektorju, ki je prerazporejen( kar verjetno nima problema).
  • Če sektorja na trdem disku namizja ni mogoče brati ali popraviti, se bo trdi disk bolj poskusil prebrati. Odvisno od kakovosti trdega diska, lahko to vključuje ponovno postavitev glave, preverjanje, ali obstajajo kateri koli bitovi, ki se pri ponovnem branju preklopijo, preverjajo, kateri bitji so najšibkejši, in nekaj drugih stvari.Če katerikoli od teh poskusov uspe, bo trdi disk prerazporedil sektor in popravil popravljene podatke.

To je ena od glavnih razlik med trdi diski, ki se prodajajo kot trdi diski "namizni", "NAS / RAID" ali "video nadzor".Trdi disk RAID se lahko hitro hitro odpravi in ​​upravljavec popravi sektor, da se izogne ​​zakasnitvi na strani uporabnika. Namizni trdi disk se bo vedno znova poskusil, ker je uporabnik čakati nekaj sekund, je verjetno boljši od sporočanja, da so podatki izgubljeni. In video trdi disk vrednosti stalne podatkovne stopnje več kot okrevanje napak, saj poškodovan okvir običajno ne bo opazil.

V vsakem primeru bo trdi disk vedel, če je prišlo do gnilobe bitov, se bo po navadi izterjalo od nje, in če ne more, bo povedal krmilniku, ki bo nato povedal vozniku, ki bo nato povedal operacijskemu sistemu. Nato je do operacijskega sistema prikazana napaka uporabniku in deluje na njej. Zato cybernard pravi:

  • Nikoli nisem bil priča nobeni enojni bitni napaki, vendar sem videl veliko trdih diskov, kjer celotni sektorji niso uspeli.

Trdi disk bo vedel, če je nekaj narobe s sektorjem, vendar ne bo vedel, kateri bitji niso uspeli. En sam bit, ki ni uspel, bo vedno ujel ECC.

Upoštevajte, da chkdsk in datotečni sistemi, ki samodejno popravijo sami, ne obravnavajo popravljanja podatkov znotraj datotek. Te so usmerjene v korupcijo znotraj strukture samega datotečnega sistema, kot je razlika v velikosti datoteke med vnosom v imeniku in številom dodeljenih blokov. Samozadostna funkcija NTFS bo zaznala strukturne poškodbe in preprečila nadaljnje vplivanje na vaše podatke, vendar ne bo popravila nobenih podatkov, ki so že poškodovani.

Seveda obstajajo še drugi razlogi, zakaj se lahko podatki poškodujejo. Na primer, slab RAM na krmilniku lahko spremeni podatke, preden se celo pošlje na trdi disk. V tem primeru noben mehanizem na trdem disku ne bo odkril ali popravil podatkov, zato je to morda en razlog, zakaj je struktura datotečnega sistema poškodovana. Drugi razlogi vključujejo napake v programski opremi, izpadanje med zapisovanjem na trdi disk( čeprav se to obravnava z arhiviranjem datotečnega sistema) ali slabih gonilnikov datotečnega sistema( gonilnik NTFS na Linuxu je po dolgem času privzeto bralno branje odkar je bila NTFS preoblikovana,niso dokumentirani in razvijalci niso zaupali svoji kodi).

  • Ta scenarij sem imel enkrat, ko bi program shranil vse svoje datoteke na dva različna strežnika v dveh različnih podatkovnih centrih, da bi ohranil delovno kopijo razpoložljivih podatkov v vseh okoliščinah. Po nekaj mesecih smo opazili, da približno 0,1 odstotka vseh kopiranih datotek ni ustrezalo potrditvenemu znesku MD5, ki ga je aplikacija shranila v svojo bazo podatkov. Izkazalo se je, da je napaka kabel fiber med strežnikom in SAN.

Ti drugi razlogi so, zakaj nekateri datotečni sistemi, kot je ZFS, hranijo dodatne podatke o preverjanju vsote, da odkrijejo napake. Zasnovani so tako, da vas ščitijo pred veliko več stvari, ki bi lahko šlo narobe, kot pa samo gnilobe.

Ali želite dodati nekaj pojasnila? Zvok v komentarjih.Želite prebrati več odgovorov od drugih uporabniških članov stack Exchange? Oglejte si celotno temo za razpravo tukaj.