Tietojen korruptio

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 2. huhtikuuta 2022 tarkistetusta versiosta . vahvistus vaatii 1 muokkauksen .

Tietojen korruptiolla tarkoitetaan tietojen kirjoittamisen, lukemisen, tallennuksen, siirron tai käsittelyn aikana tapahtuvia tietokoneen tietovirheitä , jotka edustavat tahattomia muutoksia alkuperäiseen tietoon. Tietokone, siirtojärjestelmät ja tallennusjärjestelmät ottavat monia toimenpiteitä säilyttääkseen tietojen eheyden tai virheiden puuttumisen.

Yleensä kun tiedot vioittuvat, kyseiset tiedot sisältävä tiedosto tuottaa odottamattomia tuloksia, kun järjestelmä tai sovellus käyttää sitä. Tulos voi vaihdella pienestä tietojen katoamisesta järjestelmän kaatumiseen. Jos esimerkiksi dokumenttitiedosto on vioittunut, kun käyttäjä yrittää avata tämän tiedoston dokumenttieditorilla, hän saattaa saada virheilmoituksen , jolloin tiedostoa ei välttämättä avata ollenkaan tai se voidaan avata jonkin verran vääristymää (tai joissain tapauksissa täysin vioittunutta). Lisäksi, jos kuvatiedosto on vioittunut, suuri osa tiedoista menetetään.

Jotkut haittaohjelmatyypit voivat tarkoituksella tuhota tiedostoja kirjoittamalla roskaa, vaikka hyvänlaatuiset virukset voivat myös tuhota tiedostoja tahattomasti yrittäessään päästä niihin käsiksi. Jos virus tai troijalainen yrittää muuttaa kriittisten tiedostojen käyttötapaa tietokoneen käyttöjärjestelmässä, koko järjestelmä voi muuttua epävakaaksi.

Jotkin ohjelmat saattavat pyytää sinua korjaamaan tiedostot automaattisesti (virheen sattuessa), ja jotkin ohjelmat eivät voi korjata niitä. Kaikki riippuu tuhoamisesta ja virhettä käsittelevien sovellusten sisäänrakennetusta toiminnasta. Tuhoamiseen on useita syitä.

Yleiskatsaus

Tietokonejärjestelmiin liittyy kahden tyyppistä tietojen korruptiota - tunnistamaton ja tunnistettu. Tunnistamaton tietojen korruptio, joka tunnetaan myös nimellä hiljainen tietojen korruptio , johtaa vaarallisimpiin virheisiin, koska ei ole oireita siitä, että tiedot ovat virheellisiä. Tunnistettu tietojen vioittuminen voi olla pysyvää tietojen katoamisen myötä tai tilapäistä, jolloin jotkin järjestelmän osat pystyvät havaitsemaan ja korjaamaan virheen. Jälkimmäisessä tapauksessa todellista tietojen korruptiota ei ole.

Tietojen vioittumista voi tapahtua millä tahansa järjestelmän tasolla keskuspaikasta tallennusvälineisiin. Nykyiset järjestelmät yrittävät havaita korruption monilla tasoilla ja sitten palauttaa tiedot tai korjata korruption. Tämä toiminto onnistuu lähes aina, mutta erittäin harvoissa tapauksissa järjestelmämuistiin haettu tieto vioittuu ja voi aiheuttaa arvaamattomia seurauksia.

Tietojen vioittuminen lähetyksen aikana johtuu useista syistä. Tiedonsiirron keskeytyminen aiheuttaa tiedon menetyksen . Ympäristöolosuhteet voivat vaikuttaa tiedonsiirtoon, erityisesti kun käsitellään langattomia tiedonsiirtomenetelmiä. Tiheät pilvet voivat estää satelliittilähetyksen. Langattomat verkot ovat herkkiä laitteiden, kuten mikroaaltouunien, aiheuttamille häiriöille.

Laitteisto- ja ohjelmistovirheet ovat kaksi tärkeintä tietojen menetyksen syytä . Taustasäteily , pään tuhoutuminen ja laitteen mekaaninen vanheneminen tai kuluminen kuuluvat ensimmäiseen kategoriaan, kun taas ohjelmistovirheet johtuvat yleensä ohjelmakoodin virheistä . Kosmiset säteet aiheuttavat eniten korjattavissa olevia virheitä DRAMissa [1] .

Tunnistamaton tietojen korruptio

Jotkut virheet jäävät huomaamatta ilman, että levyn laiteohjelmisto tai tietokoneen käyttöjärjestelmä havaitse niitä. Näitä virheitä kutsutaan hiljaiseksi tietojen korruptioksi .

On monia muitakin virhelähteitä kuin itse levyjärjestelmä. Esimerkiksi kaapelit voivat olla löysällä, virta voi olla epävakaa [2] , värinät, kuten kovat äänet [3] voivat vaikuttaa , verkot voivat aiheuttaa tunnistamattomia siirtovirheitä, [4] kosmiset säteet ja monet muut vastaavat syyt aiheuttavat ohjelmiston muistivirheitä ja niin edelleen. 39 000 analysoidusta tallennusjärjestelmästä havaittiin, että 5–10 % järjestelmävirheistä johtui järjestelmien sulautettujen (firmware) ohjelmistojen virheistä [5] . Yhteenvetona voidaan todeta, että CERNin havaintojen mukaan tunnistamattomien virheiden määrä ylittää merkittävästi yhden virheen jokaista 10 16 bittiä kohden [6] . Amazon.com - verkkokauppa tunnistaa saman verran tietojen korruptiota järjestelmissään [7] .

Yksi ongelmista on, että levyasemien kapasiteetti kasvaa jatkuvasti, kun taas niissä olevien virheiden prosenttiosuus pysyy ennallaan. Tietojen korruptioaste pysyy vakiona ajan myötä, mikä tarkoittaa, että nykyaikaiset asemat eivät ole luotettavampia kuin vanhemmat. Vanhemmissa asemissa tietojen vioittumisen mahdollisuus oli hyvin pieni, koska tallennettua dataa oli vähän. Nykyaikaiset asemat ovat paljon todennäköisempiä, koska ne tallentavat paljon enemmän tietoa muuttumatta luotettavammiksi. Siten piilevä tietojen korruptio ei ole vakava huolenaihe niin kauan kuin tallennuslaitteet ovat suhteellisen pieniä ja hitaita. Näin ollen pienikapasiteettisten asemien käyttäjät huomaavat hyvin harvoin piilotettua korruptiota, joten tietojen korruptiota ei pidetty ongelmana, johon pitäisi puuttua. Kuitenkin nykyään suurten asemien ja erittäin nopeiden RAID-ohjainten myötä käyttäjät pystyvät siirtämään 10 16 bittiä riittävän lyhyessä ajassa, jotta tietojen korruption kynnys on helppo saavuttaa [8] .

Esimerkkinä ZFS :n luoja Jeff Bonwick väittää, että Greenplumin nopea tietokanta , joka on erikoistunut suurten tietovarastojen ohjelmistokehitykseen ja analytiikkaan, havaitsee tietojen korruption 15 minuutin välein [9] . Toisena esimerkkinä NetAppin yli 1,5 miljoonalle kiintolevylle 41 kuukauden aikana tekemässä tutkimuksessa havaittiin yli 400 000 piilevää datavirhettä, joista RAID-ohjaimet eivät havainneet yli 30 000:ta. Toisessa CERNin yli kuuden kuukauden aikana tekemässä tutkimuksessa yli 97 petatavun datasta löytyi noin 128 megatavua täysin vioittunutta dataa [10] [11] .

Piilevä tietojen korruptio voi johtaa peräkkäisiin kaatumisiin , joissa järjestelmä voi toimia jonkin aikaa havaitsemattomalla alkuvirheellä, joka aiheuttaa ongelmien määrän asteittaisen lisääntymisen, kunnes korruptio havaitaan [12] . Esimerkiksi tiedostojärjestelmän metatietojen virheet voivat johtaa useiden tiedostojen osittaiseen vioittumiseen tai jopa tehdä koko tiedostojärjestelmän käyttökelvottomaksi.

Vastatoimenpiteet

Kun tietojen korruptio käyttäytyy kuin Poisson-prosessi , jossa jokaisella databitillä on riippumaton pieni todennäköisyys muuttua, tietojen korruptio voidaan havaita tarkistussummien avulla ja usein korjata virheenkorjauskoodeilla .

Jos korjaamaton tietojen korruptio löytyy, voidaan käyttää prosesseja, kuten automaattista tietojen uudelleensiirtoa tai palautusta varmuuskopiosta . Joillakin RAID -ryhmien tasoilla on kyky muistaa ja käyttää pariteettibittejä levyjoukolle tallennetuille tiedoille, ja ne voivat palauttaa vioittuneet tiedot, jos yksi tai useampi levy epäonnistuu toteutetun RAID-tason mukaan. Jotkin suoritinarkkitehtuurit käyttävät erilaisia ​​läpinäkyviä tarkistuksia prosessorin välimuistien , suoritinpuskureiden ja laskentaprosessin tietojen vioittumisen havaitsemiseen ja lieventämiseen . Esimerkiksi Intel Instruction Replay -tekniikka on saatavilla Intel Itanium -suorittimissa . [13]

Levyasemat havaitsevat ja korjaavat monet virheet käyttämällä ECC / CRC - koodeja [14] , jotka on tallennettu levylle kullekin sektorille. Jos asema havaitsee useita sektorin lukuvirheitä, se tekee kopion viallisesta sektorista toiseen levyn osaan ja merkitsee viallisen sektorin tyhjäksi ilman, että käyttöjärjestelmä on osallisena (vaikka tämä saattaa viivästyä seuraavaan sektoriin kirjoittamiseen). . Tätä "hiljaista korjausta" voi hallita SMART , ja useimmille käyttöjärjestelmille on saatavana työkaluja, jotka voivat tarkistaa aseman automaattisesti SMARTin heikkenemisestä johtuvien välittömien vikojen varalta.

Jotkin tiedostojärjestelmät , kuten Btrfs , HAMMER , ReFS ja ZFS , käyttävät sisäisten tietojen ja metatietojen tarkistussummaa havaitakseen piilevän tiedon korruption. Lisäksi, jos korruptio havaitaan ja tiedostojärjestelmä käyttää RAID-mekanismeja, jotka tarjoavat tietojen redundanssin , tällaiset tiedostojärjestelmät voivat rekonstruoida korruption läpinäkyvästi [15] . Tämä lähestymistapa mahdollistaa parannetun tietojen eheyden suojauksen , joka kattaa koko  tietopolun , eli päästä päähän -tietosuojaksi , verrattuna muihin lähestymistapoihin, jotka eivät kata muita eheyssuojan tasoja ja mahdollistavat tietojen korruption, kun tiedot siirtyvät tasolta toiselle [ 16]

Tietojen on toinen tapa vähentää tietojen vioittumisen mahdollisuutta, kun levyvirheet havaitaan ja korjataan ennen kuin monia virheitä kertyy. Sen sijaan, että pariteetti tarkistettaisiin jokaisessa lukukerrassa, luku tarkistetaan tavallisen levytarkistuksen aikana, joka suoritetaan usein alhaisen prioriteetin taustaprosessina. Huomaa, että "tietojen puhdistus" aktivoi pariteettitarkistuksen. Jos käyttäjä yksinkertaisesti suorittaa tavallisen ohjelman, joka lukee tietoja levyltä, pariteettia ei tarkisteta ennen kuin lukupariteetti on tuettu ja otettu käyttöön levyalijärjestelmässä.

Jos käytössä on asianmukaiset mekanismit tietojen korruption havaitsemiseksi ja käsittelemiseksi, tämä voi varmistaa tietojen eheyden. Tämä on erityisen tärkeää kaupallisissa sovelluksissa (kuten pankeissa ), joissa havaitsematon virhe voi tuhota tietokantahakemiston tai muuttaa tietoja, mikä voi johtaa rajuihin vaikutuksiin pankkitilille. Tietoa salattaessa tai pakattaessa pieni virhe voi tehdä valtavan tietojoukon hyödyttömäksi [6] .

Katso myös

Muistiinpanot

  1. Scientific American . Aurinkomyrskyt: nopeita faktoja . Nature Publishing Group (21. heinäkuuta 2008). Haettu 8. joulukuuta 2009. Arkistoitu alkuperäisestä 26. joulukuuta 2010.
  2. Eric Lowe. ZFS pelastaa päivän (-ta)! (Blogi). Oracle - Ytimen hakkerin aivojen ydinjätteet - Eric Lowen blogi . Oracle (16. marraskuuta 2005). Haettu 9. kesäkuuta 2012. Arkistoitu alkuperäisestä 5. helmikuuta 2012.
  3. bcantrill. Huutaminen tietokeskuksessa (videotiedosto). YouTube . Google (31. joulukuuta 2008). Haettu 9. kesäkuuta 2012. Arkistoitu alkuperäisestä 3. heinäkuuta 2012.
  4. jforonda. Viallinen FC-portti ja ZFS (Blogi). Blogger - Outside the Box . Google (31. tammikuuta 2007). Haettu 9. kesäkuuta 2012. Arkistoitu alkuperäisestä 26. huhtikuuta 2012.
  5. Ovatko levyt hallitseva tekijä tallennushäiriöissä? Kattava tutkimus tallennusosajärjestelmän vikojen ominaisuuksista . USENIX. Haettu 18. tammikuuta 2014. Arkistoitu alkuperäisestä 25. tammikuuta 2022.
  6. 1 2 Bernd Panzer-Steindel. Luonnos 1.3 . tietojen eheys . CERN (8. huhtikuuta 2007). Haettu 9. kesäkuuta 2012. Arkistoitu alkuperäisestä 13. lokakuuta 2012.
  7. Havaintoja virheistä, korjauksista ja riippuvaisten järjestelmien luottamisesta . Arkistoitu alkuperäisestä 29. lokakuuta 2013.
  8. Hiljainen tietojen korruptio levyryhmissä: Ratkaisu (PDF). NEC (2009). Haettu 24. lokakuuta 2013. Arkistoitu alkuperäisestä 29. lokakuuta 2013.
  9. Keskustelu Jeff Bonwickin ja Bill Mooren kanssa . Computing Machinery Association (15. marraskuuta 2007). Haettu 6. joulukuuta 2010. Arkistoitu alkuperäisestä 16. heinäkuuta 2011.
  10. David S.H. Rosenthal . Bittien turvassa pitäminen: kuinka vaikeaa se voi olla? , ACM-jono  (1. lokakuuta 2010). Arkistoitu alkuperäisestä 17. joulukuuta 2013. Haettu 2. tammikuuta 2014.
  11. Lakshmi N. Bairavasundaram; Garth R. Goodson; Shankar Pasupathy; Jiri Schindler. Levyasemien piilevien sektorivirheiden analyysi  (määrittämätön)  // Kansainvälisen tietokonejärjestelmien mittauksia ja mallintamista käsittelevän konferenssin (SIGMETRICS'07) julkaisuja. - San Diego, Kalifornia, Yhdysvallat: ACM, 2007. - kesäkuu. - S. 289-300 . doi : 10.1145 / 1254882.1254917 .
  12. David Fiala; Frank Mueller; Christian Engelmann; Rolf Riesen; Kurt Ferreira; Ron Brightwell. Hiljaisen datan korruption havaitseminen ja korjaaminen suuren mittakaavan korkean suorituskyvyn tietojenkäsittelyssä . fiala.me . IEEE (marraskuu 2012). Käyttöpäivä: 26. tammikuuta 2015. Arkistoitu alkuperäisestä 7. marraskuuta 2014.
  13. Steve Bostian. Paranna luotettavuutta kriittisiin sovelluksiin: Intel Instruction Replay Technology (PDF). Intel (2012). Käyttöpäivä: 27. tammikuuta 2016. Arkistoitu alkuperäisestä 2. helmikuuta 2016.
  14. Lue virheiden vakavuus ja virheenhallintalogiikka . Haettu 4. huhtikuuta 2012. Arkistoitu alkuperäisestä 7. huhtikuuta 2012.
  15. Margaret Bierman; Lenz Grimmer. Kuinka käytän Btrfs:n lisäominaisuuksia . Oracle Corporation (elokuu 2012). Käyttöpäivä: 2. tammikuuta 2014. Arkistoitu alkuperäisestä 2. tammikuuta 2014.
  16. Yupu Zhang; Abhishek Rajimwale; Andrea C. Arpaci-Dusseau; Remzi H. Arpaci-Dusseau. Päästä päähän -tietojen eheys tiedostojärjestelmille: ZFS-tapaustutkimus (PDF). Tietojenkäsittelytieteiden osasto, Wisconsinin yliopisto (4. helmikuuta 2010). Haettu 12. elokuuta 2014. Arkistoitu alkuperäisestä 26. kesäkuuta 2011.

Kirjallisuus

Linkit