31Jul

Mogu li podaci s tvrdih diskova degradirati bez upozorenja o oštećenosti?

click fraud protection

Svi se brinemo o tome da su naši podaci i datoteke sigurni i netaknuti, ali je li moguće da podaci postanu oštećeni i da ih korisnik može pristupiti bez ikakve obavijesti ili upozorenja o problemu? Danas SuperUser Q & A post ima odgovor na pitanje zabrinute čitatelje.

Današnje pitanje &Sesija odgovora nam dolazi zahvaljujući SuperUseru - podjele Stack Exchange, grupiranjem zajednice Q & A web stranica.

Fotografija ljubaznošću generaliziranja( Flickr).

Pitanje

SuperUser čitač topo morto želi znati mogu li se podaci o tvrdim diskovima umanjivati ​​i biti dostupni bez upozorenja o oštećenju:

Je li moguće da fizička degradacija tvrdog diska može uzrokovati da se "sadržaj"bez da operacijski sustav primijetiti promjenu i obavijestiti korisnika o tome prilikom čitanja datoteke? Na primjer, može li "p"( binarni 01110000) u ASCII tekstnoj datoteci promijeniti u "q"( binarni 01110001), a kada korisnik otvori datoteku, oni vide "q", a da nisu svjesni da je došlo do kvara?

instagram viewer

Zanima me odgovore koji se odnose na FAT, NTFS ili ReFS( ako to čini razliku).Želim znati da li operacijski sustavi štite korisnike od toga ili ako bismo trebali provjeravati naše podatke za varijante između kopija tijekom vremena.

Može li se podaci o tvrdim diskovima umanjiti i biti dostupni bez upozorenja o oštećenju?

Odgovor

SuperUser suradnik Guntram Blohm ima odgovor za nas:

Da, postoji stvar koja se zove bit trulež.No ne, to neće utjecati na korisnika neprimjetno.

Kad tvrdi disk piše sektor na ploče, ne piše samo bitove na isti način kao što su pohranjeni u RAM-u, već koristi kodiranje kako bi se osiguralo da nema istih dugačkih sekvenci. Također dodaje ECC kodove koji mu omogućuju popravak pogrešaka koji utječu na nekoliko bitova i otkrivanje pogrešaka koje utječu na više od nekoliko bitova.

Kad tvrdi disk čita sektor, provjerava ove ECC kodove i popravlja podatke ako je potrebno( i ako je moguće).Ono što će se dogoditi sljedeće ovisi o okolnostima i firmware hard disk, na koju utječe oznaka pogona.

  • Ako se sektor može čitati i nema ECC kod problema, tada se prenosi na operativni sustav.
  • Ako se sektor može lako popraviti, popravljena verzija može se napisati na disk, čitati i potvrditi da bi se utvrdilo je li pogreška slučajna( tj. Kozmičke zrake itd.) Ili ako postoji sustavna pogreška s medijima,
  • Ako tvrdi disk utvrdi da postoji pogreška s medijem, ona preraspodjeljuje sektor.
  • Ako se sektor ne može čitati niti ispraviti nakon nekoliko pokušaja čitanja( na tvrdom disku koji je označen kao RAID tvrdi disk), tvrdi disk će odustati, preraspodijeliti sektor i reći kontroloru da postojiproblem. Ono se oslanja na RAID kontrolera da rekonstruira sektor od ostalih članova RAID-a i napiše ga na neuspjelu tvrdi disk, koji ga zatim pohranjuje u prenamjenom sektoru( koji nadamo se nema problema).
  • Ako se sektor ne može čitati ili ispraviti na tvrdom disku računala, tvrdi disk će se uključiti u više pokušaja da ga pročitaju. Ovisno o kvaliteti tvrdog diska, to bi moglo uključiti repozicioniranje glave, provjeravajući ima li bitova koji se fiksiraju pri čitanju, provjeravajući koji su bitovi najslabiji i još nekoliko stvari. Ako bilo koji od tih pokušaja uspije, tvrdi disk će preraspodijeliti sektor i napisati popravljene podatke.

Ovo je jedna od glavnih razlika između tvrdih diskova koji se prodaju kao "desktop", "NAS / RAID" ili "video nadzor" tvrdih diskova. RAID tvrdi disk može brzo odustati i izvršiti regulator popravak sektora kako bi se izbjeglo kašnjenje na strani korisnika. Tvrdi disk na tvrdom disku će i dalje pokušavati ponovo i ponovno jer je korisnik pričekajte nekoliko sekundi vjerojatno je bolje nego da im kaže da su podaci izgubljeni. I video tvrdi disk vrednuje konstantne brzine prijenosa podataka više od oporavka pogreške kao oštećenog okvira obično nećemo ni primijetiti.

U svakom slučaju, tvrdi disk će znati je li došlo do propadanja bitova, obično će se oporaviti od njega i ako to ne može, on će reći kontroleru koji će zauzvrat reći upravljaču koji će tada reći operacijskom sustavu. Zatim, na operacijskom sustavu je potrebno predočiti pogrešku korisniku i djelovati na njemu. Zato cybernard kaže:

  • Ja nikad nisam svjedočio sam pogrešku samo jednom, ali sam vidio dosta tvrdih diskova u kojima su čitav sektor propali.

Tvrdi disk će znati ako nešto nije u redu s nekim sektorom, ali neće znati koji su bitovi uspjeli. ECC će uvijek uhvatiti jedan jedini bit koji nije uspio.

Imajte na umu da se chkdsk i datotečni sustavi koji se automatski popravljaju ne rješavaju popravak podataka unutar datoteka. Oni su usmjereni na korupciju unutar same strukture datotečnog sustava, kao što je razlika u veličini datoteke između unosa direktorija i broja dodijeljenih blokova. Značaj samoiscjeljivanja NTFS-a će otkriti strukturne štete i spriječiti daljnje utječe na vaše podatke, ali neće popraviti podatke koji su već oštećeni.

Postoje, naravno, i drugi razlozi zbog kojih se podaci mogu oštetiti. Na primjer, loše RAM na kontroleru može mijenjati podatke prije nego što se čak i šalje na tvrdi disk. U tom slučaju, nikakav mehanizam na tvrdom disku neće otkriti ili popraviti podatke, a to može biti i jedan od razloga zašto je struktura datotečnog sustava oštećena. Drugi razlozi uključuju softverske greške, nesvjestice dok se pišu na tvrdi disk( iako je to riješeno dnevnikom datotečnog sustava) ili loše upravljačke programe datoteka( NTFS vozač na Linuxu zadano je samo za čitanje dugo vremena otkako je NTFS bio obrnut,nije dokumentirano, a programeri nisu imali povjerenja u vlastiti kôd).

  • Imam ovaj scenarij jednom kada bi aplikacija spremila sve svoje datoteke na dva različita poslužitelja u dva različita podatkovna centra kako bi zadržala radnu kopiju podataka dostupnih u svim okolnostima. Nakon nekoliko mjeseci primijetili smo da oko 0,1 posto svih kopiranih datoteka ne odgovara zbroju sumnje MD5 da je aplikacija pohranjena u svojoj bazi podataka. Pokazalo se da je neispravan vlaknasti kabel između poslužitelja i SAN-a.

Ovi drugi razlozi su razlog zašto neki datotečni sustavi, poput ZFS-a, drže dodatne informacije o provjeri kako bi otkrili pogreške. Osmišljeni su da bi vas zaštitili od mnogo više stvari koje mogu pogriješiti nego samo truleži.

Imate li nešto za objašnjenje? Zvuči u komentarima.Želite li pročitati više odgovora od drugih tehnoloških korisnika Stack Exchangea? Pogledajte ovdje cijelu raspravu.