Az adatsérülés olyan számítógépes adathibára utal, amely az adatok írása, olvasása, mentése, átvitele vagy feldolgozása során fordul elő, és az eredeti adatok nem szándékos megváltoztatását jelenti. A számítógép, az átviteli rendszerek és a tárolórendszerek számos lépést tesznek az információk integritásának vagy a hibák hiányának megőrzése érdekében.
Általánosságban elmondható, hogy adatsérülés esetén az adatokat tartalmazó fájl váratlan eredményeket produkál, ha a rendszer vagy az alkalmazás használja. Az eredmény a kis adatvesztéstől a rendszerösszeomlásig változhat. Például, ha egy dokumentumfájl sérült, amikor a felhasználó megpróbálja megnyitni ezt a fájlt a dokumentumszerkesztővel, hibaüzenetet kaphat , ekkor a fájl vagy egyáltalán nem nyílik meg, vagy a némi torzítás (vagy bizonyos esetekben teljesen sérült). Ezenkívül, ha a képfájl sérült, az információ nagy része elvész.
Egyes rosszindulatú programok szándékosan megsemmisíthetik a fájlokat azáltal, hogy szemetet írnak, bár a jóindulatú vírusok akaratlanul is megsemmisíthetik a fájlokat, amikor megpróbálnak hozzáférni. Ha egy vírus vagy trójai megpróbálja megváltoztatni a kritikus fájlok hozzáférési módját a számítógép operációs rendszerében, az egész rendszer instabillá válhat.
Egyes programok kérhetik a fájlok automatikus javítását (hiba esetén), és egyes programok nem tudják kijavítani azokat. Minden a megsemmisítés mértékétől és a hibát kezelő alkalmazások beépített funkcióitól függ. A pusztulásnak többféle oka van.
A számítógépes rendszerekkel kapcsolatos adatsérülésnek két típusa van: fel nem ismert és felismert. A fel nem ismert adatsérülés, más néven néma adatsérülés , a legveszélyesebb hibákhoz vezet, mivel nincs jele annak, hogy az adatok hibásak. A felismert adatsérülés lehet tartós adatvesztéssel vagy átmeneti, amikor a rendszer egyes részei képesek észlelni és kijavítani a hibát. Ez utóbbi esetben nincs tényleges adatsérülés.
Az adatsérülés a rendszer bármely szintjén előfordulhat, a központi helytől a tárolóeszközökig. A mai rendszerek számos szinten próbálják észlelni a korrupciót, majd helyreállítani az adatokat vagy kijavítani a korrupciót. Ez a művelet szinte mindig sikeres, de nagyon ritka esetekben a rendszermemóriába beolvasott információ megsérül, és beláthatatlan következményekkel járhat.
Az adatátvitel során bekövetkező adatsérülésnek számos oka lehet. Az adatátvitel megszakadása információvesztést okoz . A környezeti feltételek befolyásolhatják az adatátvitelt, különösen a vezeték nélküli átviteli módszerek esetében. A sűrű felhők blokkolhatják a műholdas átvitelt. A vezeték nélküli hálózatok érzékenyek az olyan eszközök által okozott interferenciára, mint a mikrohullámú sütők.
A hardver és a szoftver meghibásodása az adatvesztés két fő oka . A háttérsugárzás , a fejroncsolás és a készülék mechanikai öregedése vagy kopása az első kategóriába tartozik, míg a szoftverhibák általában a programkód hibái miatt jelentkeznek . A kozmikus sugarak okozzák a legtöbb helyreállítható hibát a DRAM -ban [1] .
Néhány hiba észrevétlen marad anélkül, hogy a lemez firmware vagy a számítógép operációs rendszere észlelné. Ezeket a hibákat néma adatsérülésnek nevezik .
A lemezrendszeren kívül számos hibaforrás is lehet. Például a kábelek meglazulhatnak, az áramellátás instabil lehet [2] , a rezgések, például a hangos zajok [3] hatással lehetnek , a hálózatok fel nem ismert átviteli hibákat okozhatnak, [4] kozmikus sugarak és sok más hasonló ok szoftvermemória-hibákat okozhat és így tovább. 39 000 elemzett tárolórendszerben azt találták, hogy a rendszerhibák 5-10%-át a rendszerek beágyazott (firmware) szoftverének hibája okozta [5] . Összegezve le kell szögezni, hogy a fel nem ismert hibák száma a CERN megfigyelései szerint jelentősen meghaladja a 10 16 bitenkénti egy hibát [6] . Az Amazon.com online áruház hasonló mennyiségű adatsérülést ismer fel a rendszereiben [7] .
Az egyik probléma, hogy a lemezmeghajtók kapacitása folyamatosan növekszik, miközben a hibák százalékos aránya változatlan marad bennük. Az adatsérülési arány idővel állandó marad, ami azt jelenti, hogy a modern meghajtók nem megbízhatóbbak, mint a régebbiek. A régebbi meghajtókon az adatsérülés esélye nagyon kicsi volt a kevés tárolt adat miatt. A modern meghajtók sokkal valószínűbbek, mivel sokkal több adatot tárolnak anélkül, hogy megbízhatóbbá válnának. Így a látens adatsérülés nem jelent komoly gondot, amíg a tárolóeszközök viszonylag kicsik és lassúak maradnak. Következésképpen a kis kapacitású meghajtók felhasználói nagyon ritkán fedeznek fel rejtett korrupciót, így az adatsérülést nem tekintették kezelendő problémának. Napjainkban azonban a nagy meghajtók és a nagyon gyors RAID vezérlők megjelenésével a felhasználók 10 16 bitet képesek elég rövid idő alatt átvinni ahhoz, hogy könnyen elérjék az adatsérülés küszöbét [8] .
Példaként a ZFS készítője, Jeff Bonwick azt állítja, hogy a nagy adattárházak szoftverfejlesztésére és elemzésére szakosodott Greenplum cég gyors adatbázisa 15 percenként észleli az adatsérülést [9] . Egy másik példa, a NetApp által 41 hónap alatt több mint 1,5 millió HDD -n végzett tanulmány több mint 400 000 látens adatsérülést talált, amelyek közül több mint 30 000-et nem észleltek a RAID vezérlők. Egy másik, a CERN által több mint hat hónapon át végzett, több mint 97 petabájtnyi adattal végzett tanulmány körülbelül 128 megabájtnyi teljesen sérült adatot talált [10] [11] .
A látens adatsérülés lépcsőzetes összeomláshoz vezethet , amelyben a rendszer egy ideig egy fel nem ismert kezdeti hibával futhat, ami a hibák számának fokozatos növekedését okozza, amíg fel nem fedezik a sérülést [12] . Például a fájlrendszer metaadatainak meghibásodása több fájl részleges megsérüléséhez vezethet, vagy akár a teljes fájlrendszert elérhetetlenné teheti.
Amikor az adatsérülés Poisson-folyamatként viselkedik , ahol minden adatbit független, kis valószínűséggel változik, akkor az adatsérülés ellenőrző összegekkel észlelhető , és gyakran hibajavító kódokkal javítható .
Ha helyrehozhatatlan adatsérülést talál, olyan eljárások használhatók, mint az automatikus adatátvitel vagy a biztonsági másolatból való visszaállítás . A RAID -tömbök egyes szintjei képesek emlékezni és paritásbiteket használni egy lemezkészleten tárolt adatokhoz, és helyreállíthatják a sérült adatokat, ha egy vagy több lemez meghibásodik, a megvalósított RAID szintjétől függően. Egyes CPU architektúrák különféle átlátszó ellenőrzéseket használnak a processzor gyorsítótáraiban , a CPU puffereiben és a számítási folyamatban lévő adatsérülések észlelésére és enyhítésére . Például az Intel Instruction Replay technológia elérhető az Intel Itanium processzorokon . [13]
Sok hibát a lemezmeghajtók észlelnek és kijavítanak az egyes szektorokhoz a lemezen tárolt ECC / CRC kódok [14] segítségével. Ha a meghajtó több szektorolvasási hibát észlel, másolatot készít a hibás szektorról a lemez egy másik részére, üresnek jelölve a hibás szektort anélkül, hogy az operációs rendszer érintett volna (bár ez elhúzódhat a szektor következő írásáig). . Ez a "csendes javítás" a SMART segítségével vezérelhető , és a legtöbb operációs rendszer esetében rendelkezésre állnak olyan eszközök, amelyek automatikusan ellenőrzik a meghajtót a SMART leromlása miatti küszöbön álló hibák miatt.
Egyes fájlrendszerek , például a Btrfs , a HAMMER , a ReFS és a ZFS belső adatok és metaadatok ellenőrző összegzést használnak a látens adatsérülések észlelésére. Ezenkívül, ha a rendszer sérülést észlel, és a fájlrendszer adatredundanciát biztosító RAID-mechanizmusokat használ , az ilyen fájlrendszerek transzparensen rekonstruálhatják a sérülést [15] . Ez a megközelítés lehetővé teszi a teljes adatútra kiterjedő, jobb adatintegritás- védelmet , amelyet végpontok közötti adatvédelemnek neveznek , összehasonlítva más megközelítésekkel, amelyek nem fedik le az integritásvédelem más szintjeit, és lehetővé teszik az adatsérülést, amikor az adatok egyik szintről a másikra kerülnek [ 16]
Az egy másik módszer az adatsérülés lehetőségének csökkentésére, amikor a lemezhibákat a rendszer észleli és javítja, mielőtt sok hiba felhalmozódna. Ahelyett, hogy minden olvasásnál ellenőriznénk a paritást, az olvasást rendszeres lemezvizsgálat során ellenőrzik, gyakran alacsony prioritású háttérfolyamatként. Vegye figyelembe, hogy az "adattisztítás" művelet aktiválja a paritásellenőrzést. Ha a felhasználó egyszerűen futtat egy normál programot, amely adatokat olvas a lemezről, akkor a paritást nem ellenőrzi, amíg az olvasási paritást nem támogatja és engedélyezi a lemez alrendszerében.
Ha megfelelő mechanizmusok állnak rendelkezésre az adatsérülés észlelésére és kezelésére, ez biztosíthatja az adatok integritását. Ez különösen fontos kereskedelmi alkalmazásoknál (például bankoknál ), ahol egy fel nem tárt hiba tönkreteheti az adatbázis indexét vagy megváltoztathatja az adatokat, ami drasztikus hatást gyakorolhat a bankszámlákra. Az adatok titkosítása vagy tömörítése során egy kis hiba egy hatalmas adathalmazt használhatatlanná tehet [6] .
Adat | |
---|---|
|