Coruperea datelor

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită la 2 aprilie 2022; verificarea necesită 1 editare .

Coruperea datelor se referă la erorile de date ale computerului care apar în timpul scrierii, citirii, salvării, transferului sau procesării datelor și care reprezintă modificări neintenționate ale datelor originale. Calculatorul, sistemele de transmisie și sistemele de stocare fac mulți pași pentru a menține integritatea informațiilor sau absența erorilor.

În general, atunci când are loc coruperea datelor, un fișier care conține acele date va produce rezultate neașteptate atunci când este utilizat de sistem sau de aplicație. Rezultatul poate varia de la pierderi mici de date la o prăbușire a sistemului. De exemplu, dacă un fișier document este corupt, atunci când utilizatorul încearcă să deschidă acest fișier folosind editorul de documente, el poate primi un mesaj de eroare , atunci fișierul poate fie să nu fie deschis deloc, fie să fie deschis cu unele distorsiuni (sau în unele cazuri complet corupte). De asemenea, dacă fișierul imagine este corupt, o mare parte din informații se pierd.

Unele tipuri de malware pot distruge în mod intenționat fișiere prin scrierea de gunoi, deși virușii benigni pot, de asemenea, să distrugă fișiere neintenționat atunci când încearcă să le acceseze. Dacă un virus sau un troian încearcă să schimbe metoda de acces pentru fișierele critice din sistemul de operare al computerului, întregul sistem poate deveni instabil.

Unele programe vă pot solicita să remediați fișierele automat (în caz de eroare), iar unele programe nu le pot repara. Totul depinde de nivelul de distrugere și de funcționalitatea încorporată a aplicațiilor care se ocupă de eroare. Există diverse motive pentru distrugere.

Prezentare generală

Există două tipuri de corupție a datelor asociate cu sistemele informatice - nerecunoscut și recunoscut. Coruperea nerecunoscută a datelor, cunoscută și sub numele de corupție silențioasă a datelor , duce la cele mai periculoase erori, deoarece nu există simptome că datele sunt incorecte. Coruperea datelor recunoscută poate fi permanentă cu pierderea datelor sau temporară, în cazul în care unele părți ale sistemului sunt capabile să detecteze și să corecteze eroarea. În acest din urmă caz, nu există o corupție reală a datelor.

Coruperea datelor poate apărea la orice nivel al sistemului, de la site-ul central la mediile de stocare. Sistemele de astăzi încearcă să detecteze corupția la mai multe niveluri și apoi să recupereze datele sau să repare corupția. Această operațiune are aproape întotdeauna succes, dar în cazuri foarte rare, informațiile preluate în memoria sistemului sunt corupte și pot provoca consecințe imprevizibile.

Coruperea datelor în timpul transmiterii are diverse cauze. Întreruperea transmiterii datelor provoacă pierderea de informații . Condițiile de mediu pot afecta transmisia de date, în special atunci când aveți de-a face cu metode de transmisie fără fir. Norii densi pot bloca transmisia prin satelit. Rețelele wireless sunt susceptibile la interferențe de la dispozitive precum cuptoarele cu microunde.

Eșecurile hardware și software sunt cele două cauze principale ale pierderii datelor . Radiația de fundal , distrugerea capului și îmbătrânirea mecanică sau uzura dispozitivului se încadrează în prima categorie, în timp ce erorile software apar de obicei din cauza erorilor din codul programului. Razele cosmice provoacă cele mai multe erori recuperabile în DRAM [1] .

Coruperea datelor nerecunoscute

Unele erori trec neobservate fără a fi detectate de firmware-ul discului sau de sistemul de operare al computerului. Aceste erori sunt cunoscute sub numele de corupție silențioasă a datelor .

Există multe surse de erori, altele decât sistemul de disc în sine. De exemplu, cablurile pot fi slăbite, puterea poate fi instabilă [2] , vibrațiile precum zgomotele puternice [3] pot fi afectate , rețelele pot introduce erori de transmisie nerecunoscute, [4] razele cosmice și multe alte cauze similare cauzează erori de memorie software și așa mai departe. În 39.000 de sisteme de stocare analizate, s-a constatat că 5–10% dintre erorile de sistem au fost cauzate de erori în software-ul (firmware) încorporat al sistemelor [5] . Rezumând, trebuie subliniat că numărul erorilor nerecunoscute conform observațiilor CERN depășește semnificativ o eroare la fiecare 10 16 biți [6] . Magazinul online Amazon.com recunoaște o cantitate similară de corupție a datelor în sistemele lor [7] .

Una dintre probleme este că capacitatea unităților de disc crește constant, în timp ce procentul de erori din acestea rămâne neschimbat. Rata de corupere a datelor rămâne constantă în timp, ceea ce înseamnă că unitățile moderne nu sunt mai fiabile decât cele mai vechi. În unitățile mai vechi, șansa de corupere a datelor era foarte mică din cauza cantității mici de date stocate. Unitățile moderne sunt mult mai probabile, deoarece stochează mult mai multe date fără a deveni mai fiabile. Astfel, corupția latentă a datelor nu este o preocupare serioasă atâta timp cât dispozitivele de stocare rămân relativ mici și lente. În consecință, utilizatorii de unități cu capacitate redusă descoperă foarte rar corupție ascunsă, astfel încât corupția datelor nu a fost văzută ca o problemă care trebuie rezolvată. Cu toate acestea, în zilele noastre, odată cu apariția unităților mari și a controlerelor RAID foarte rapide, utilizatorii sunt capabili să transfere 10 16 biți într-un timp suficient de scurt încât este ușor să ajungă la pragul corupției datelor [8] .

De exemplu, creatorul ZFS Jeff Bonwick susține că o bază de date rapidă de la Greenplum , o companie specializată în dezvoltarea și analiza software-ului pentru depozite mari de date, detectează corupția datelor la fiecare 15 minute [9] . Ca un alt exemplu, un studiu realizat de NetApp pe peste 1,5 milioane de HDD -uri pe parcursul a 41 de luni a constatat peste 400.000 de corupții latente ale datelor, dintre care peste 30.000 nu au fost detectate de controlerele RAID. Un alt studiu efectuat de CERN pe parcursul a mai mult de șase luni pe mai mult de 97 de petabytes de date a găsit aproximativ 128 de megabytes de date complet corupte [10] [11] .

Coruperea latentă a datelor poate duce la blocări în cascadă , în care sistemul poate rula o perioadă de timp cu o eroare inițială nedetectată care determină o creștere treptată a numărului de probleme până la descoperirea corupției [12] . De exemplu, eșecurile în metadatele sistemului de fișiere pot duce la coruperea parțială a mai multor fișiere sau chiar pot face întregul sistem de fișiere inaccesibil.

Contramăsuri

Când corupția datelor se comportă ca un proces Poisson , în care fiecare bit de date are o probabilitate mică independentă de a fi modificat, corupția datelor poate fi detectată folosind sume de control și poate fi adesea corectată folosind coduri de corectare a erorilor .

Dacă se constată o corupție ireparabilă a datelor, pot fi utilizate procese precum retransferul automat al datelor sau restaurarea dintr-o copie de rezervă . Unele niveluri de matrice RAID au capacitatea de a reține și de a utiliza biți de paritate pentru datele stocate pe un set de discuri și pot recupera datele corupte dacă unul sau mai multe discuri eșuează, în funcție de nivelul RAID implementat. Unele arhitecturi CPU utilizează diverse verificări transparente pentru a detecta și atenua coruperea datelor în memoria cache a procesorului , în bufferele CPU și în conducta de calcul . De exemplu, tehnologia Intel Instruction Replay este disponibilă pe procesoarele Intel Itanium . [13]

Multe erori sunt detectate și corectate de unitățile de disc folosind codurile ECC / CRC [14] care sunt stocate pe disc pentru fiecare sector. Dacă unitatea detectează mai multe erori de citire de sector, face o copie a sectorului defect într-o altă parte a discului, marcând sectorul defect ca gol, fără ca sistemul de operare să fie implicat (deși acest lucru poate fi amânat până la următoarea scriere în sector) . Această „remediere silențioasă” poate fi controlată de SMART și, pentru majoritatea sistemelor de operare, sunt disponibile instrumente pentru a verifica automat unitatea pentru defecțiuni iminente din cauza degradării SMART.

Unele sisteme de fișiere , cum ar fi Btrfs , HAMMER , ReFS și ZFS , utilizează datele interne și suma de verificare a metadatelor pentru a detecta corupția latentă a datelor. În plus, dacă este detectată corupție și sistemul de fișiere folosește mecanisme RAID care asigură redundanța datelor , astfel de sisteme de fișiere pot reconstrui corupția în mod transparent [15] . Această abordare permite o protecție îmbunătățită a integrității datelor care acoperă întreaga cale a datelor , cunoscută sub numele de protecție a  datelor end-to-end , în comparație cu alte abordări care nu acoperă alte niveluri de protecție a integrității și permit corupția datelor atunci când datele se mută de la un nivel la altul [ 16]

datelor este o altă metodă de a reduce posibilitatea coruperii datelor atunci când erorile de disc sunt detectate și corectate înainte ca multe erori să se acumuleze. În loc să verifice paritatea la fiecare citire, citirea este verificată în timpul unei scanări obișnuite de disc, deseori rulată ca proces de fundal cu prioritate scăzută. Rețineți că operația de „curățare a datelor” activează verificarea parității. Dacă utilizatorul pur și simplu rulează un program normal care citește datele de pe disc, atunci paritatea nu va fi verificată până când paritatea de citire nu este acceptată și activată pe subsistemul disc.

Dacă există mecanisme adecvate pentru a detecta și trata corupția datelor, acest lucru poate asigura integritatea datelor. Acest lucru este deosebit de important în aplicațiile comerciale (cum ar fi băncile ) în care o eroare nedetectată ar putea distruge un index al bazei de date sau poate modifica datele, ceea ce duce la efecte drastice asupra unui cont bancar. La criptarea sau comprimarea datelor, o mică eroare poate face inutil un set imens de date [6] .

Vezi și

Note

  1. Scientific American . Furtunile solare: fapte rapide . Nature Publishing Group (21 iulie 2008). Consultat la 8 decembrie 2009. Arhivat din original pe 26 decembrie 2010.
  2. Eric Lowe. ZFS salvează ziua (-ta)! (Blog). Oracle - Core Dumps of a Kernel Hacker's Brain - Blogul lui Eric Lowe . Oracle (16 noiembrie 2005). Consultat la 9 iunie 2012. Arhivat din original pe 5 februarie 2012.
  3. bcantrill. Strigăt în centrul de date (fișier video). YouTube . Google (31 decembrie 2008). Preluat la 9 iunie 2012. Arhivat din original la 3 iulie 2012.
  4. jforonda. Portul FC defect îndeplinește ZFS (Blog). Blogger - Outside the Box . Google (31 ianuarie 2007). Consultat la 9 iunie 2012. Arhivat din original pe 26 aprilie 2012.
  5. Discurile sunt contribuția dominantă pentru erorile de stocare? Un studiu cuprinzător al caracteristicilor defecțiunii subsistemului de stocare . USENIX. Consultat la 18 ianuarie 2014. Arhivat din original la 25 ianuarie 2022.
  6. 1 2 Bernd Panzer-Steindel. Proiectul 1.3 . integritatea datelor . CERN (8 aprilie 2007). Consultat la 9 iunie 2012. Arhivat din original la 13 octombrie 2012.
  7. Observații privind erorile, corecțiile și încrederea sistemelor dependente . Arhivat din original pe 29 octombrie 2013.
  8. Coruperea silențioasă a datelor în matrice de discuri: O soluție (PDF). NEC (2009). Consultat la 24 octombrie 2013. Arhivat din original pe 29 octombrie 2013.
  9. O conversație cu Jeff Bonwick și Bill Moore . Asociația pentru Mașini de Calcul (15 noiembrie 2007). Preluat la 6 decembrie 2010. Arhivat din original la 16 iulie 2011.
  10. David S.H. Rosenthal . Păstrarea biților în siguranță: cât de greu poate fi? , ACM Queue  (1 octombrie 2010). Arhivat din original pe 17 decembrie 2013. Preluat la 2 ianuarie 2014.
  11. Lakshmi N. Bairavasundaram; Garth R. Goodson; Pasupatia Shankar; Jiri Schindler. An Analysis of Latent Sector Errors in Disk Drives  (nedefinit)  // Proceedings of the International Conference on Measurements and Modeling of Computer Systems (SIGMETRICS'07). - San Diego, California, Statele Unite: ACM, 2007. - iunie. - S. 289-300 . doi : 10.1145 / 1254882.1254917 .
  12. David Fiala; Frank Mueller; Christian Engelmann; Rolf Riesen; Kurt Ferreira; Ron Brightwell. Detectarea și corectarea corupției silențioase a datelor pentru calcularea de înaltă performanță la scară largă . fiala.me . IEEE (noiembrie 2012). Data accesului: 26 ianuarie 2015. Arhivat din original pe 7 noiembrie 2014.
  13. Steve Bostian. Rachet Up Fiabilitate pentru aplicații critice: Tehnologia Intel Instruction Replay (PDF). Intel (2012). Data accesului: 27 ianuarie 2016. Arhivat din original pe 2 februarie 2016.
  14. Citiți gravitatea erorilor și logica de gestionare a erorilor . Consultat la 4 aprilie 2012. Arhivat din original pe 7 aprilie 2012.
  15. Margaret Bierman; Lenz Grimmer. Cum folosesc capabilitățile avansate ale Btrfs . Oracle Corporation (august 2012). Data accesului: 2 ianuarie 2014. Arhivat din original pe 2 ianuarie 2014.
  16. Yupu Zhang; Abhishek Rajimwale; Andrea C. Arpaci-Dusseau; Remzi H. Arpaci-Dusseau. Integritatea datelor de la capăt la capăt pentru sistemele de fișiere: un studiu de caz ZFS (PDF). Departamentul de Științe Calculatoare, Universitatea din Wisconsin (4 februarie 2010). Preluat la 12 august 2014. Arhivat din original la 26 iunie 2011.

Literatură

Link -uri