Domovská » jak » Mohou data na pevných discích zhoršovat bez upozornění na poškození?

    Mohou data na pevných discích zhoršovat bez upozornění na poškození?

    Všichni se obáváme, že naše data a soubory budou uchovávány v bezpečí a neporušené, ale je možné, že se údaje stanou poškozenými a budou mít přístup k uživateli bez jakéhokoli upozornění nebo varování o problému? Dnešní příspěvek SuperUser Q & A má odpověď na znepokojenou otázku čtenáře.

    Dnešní zasedání Otázky a odpovědi nás přichází s laskavým svolením SuperUser - podřízené rozdělení Stack Exchange, které je založeno na komunitě prostřednictvím skupin webových stránek.

    Foto s laskavým svolením generalizace (Flickr).

    Otázka

    Topo morto čtečka SuperUser chce vědět, zda se data na pevných discích mohou degradovat a být přístupná bez upozornění na poškození:

    Je možné, že fyzická degradace pevného disku může způsobit, že se v souboru obsahují "bit", aniž by operační systém zaznamenal změnu a upozorňoval uživatele na čtení souboru? Například by se "p" (binární 01110000) v textovém souboru ASCII změnil na "q" (binární 01110001), pak když uživatel otevře soubor, uvidí "q", aniž by si uvědomoval, že došlo k selhání?

    Mám zájem o odpovědi týkající se FAT, NTFS nebo ReFS (pokud to dělá rozdíl). Chci vědět, jestli operační systémy chrání uživatele před tím, nebo bychom měli kontrolovat naše data o odchylkách mezi kopiemi v čase.

    Mohou data na pevných discích zhoršovat a být přístupná bez varování o poškození?

    Odpověď

    Příspěvek SuperUser Guntram Blohm má pro nás odpověď:

    Ano, existuje věc, která se nazývá bit hniloba. Ale ne, neovlivní to uživatele bez povšimnutí.

    Když pevný disk zapíše sektor do platforem, nepsává pouze bitů stejným způsobem, jako jsou uloženy v paměti RAM, používá kódování, aby se ujistil, že neexistují žádné sekvence stejného bitu, které jsou příliš dlouhé. Také přidává kódy ECC, které mu umožňují opravit chyby, které ovlivňují několik bitů a detekují chyby, které ovlivňují více než několik bitů.

    Když pevný disk přečte sektor, zkontroluje tyto ECC kódy a případně opraví data (a pokud je to možné). Co se stane dále, závisí na okolnostech a firmwaru pevného disku, což je ovlivněno označením jednotky.

    • Pokud je sektor čitelný a nemá žádné problémy s kódem ECC, pak je předán operačnímu systému.
    • Pokud lze sektor snadno opravit, může být opravená verze zapsána na disk, přečtena zpět a ověřena, zda byla chyba náhodná (tj. Kosmické paprsky apod.) Nebo jestliže dochází k systematické chybě s médiem.
    • Pokud pevný disk zjistí chybu s médiem, přerozdělí sektor.
    • Pokud se po několika pokusech o čtení (na pevném disku označeném jako pevný disk RAID) nemůže číst nebo opravit sektor, pak se pevný disk vzdá, znovu přidělí sektor a říká správci, že došlo k problému . Spoléhá se na řadič RAID, aby rekonstruoval sektor od ostatních členů RAID a zapsal jej zpět na neúspěšný pevný disk, který ho pak uloží do reallocated sektoru (který snad nemá problém).
    • Pokud sektor nelze číst nebo opravit na pevném disku počítače, pevný disk se bude snažit více číst. V závislosti na kvalitě pevného disku může dojít k přemístění hlavy, kontrole, zda se objeví nějaké bity, které se při opakovaném přečtení převracejí, zkontrolují, které bity jsou nejslabší, a několik dalších věcí. Pokud některý z těchto pokusů uspěje, pevný disk znovu přidělí sektor a zapíše opravená data.

    Jedná se o jeden z hlavních rozdílů mezi pevnými disky, které se prodávají jako pevné disky typu "desktop", "NAS / RAID" nebo "video surveillance". Pevný disk RAID se může rychle vzdát a regulátor provede opravu sektoru, aby se zabránilo latenci na straně uživatele. Pevný disk stolního počítače se bude i nadále pokoušet znovu a znovu, protože uživatel může počkat několik sekund, je pravděpodobně lepší, než když je informuje o ztrátě dat. A video pevný disk hodnotí konstantní datové rychlosti více než obnovení chyb, protože poškozený snímek nebude zpravidla ani zaznamenán.

    Pevný disk bude v každém případě vědět, zda došlo k malému hnilobě, obvykle se z něj zotaví, a pokud to nemůže, říká řídícímu pracovníkovi, který zase povědí řidiči, který pak řekne operačnímu systému. Poté je na operačním systému, aby uživateli zobrazil chybu a jednal na něm. To je důvod, proč cybernard říká:

    • Nikdy jsem nebyl svědkem jedné bitové chyby, ale viděl jsem spoustu pevných disků, kde selhaly celé sektory.

    Pevný disk bude vědět, pokud je v sektoru něco špatně, ale nebude vědět, které bity selhaly. Jeden bit, který selhal, bude ECC vždy zachycen.

    Vezměte prosím na vědomí, že chkdsk a souborové systémy, které se automaticky opravují, se netýkají opravy dat uvnitř souborů. Ty jsou zaměřeny na poškození v rámci struktury samotného systému souborů, jako je rozdíl v velikosti souboru mezi položkou adresáře a počtem přiřazených bloků. Samoléčebná funkce systému souborů NTFS zjistí strukturální poškození a zabrání tomu, aby vaše data dále ovlivnila, ale nebude opravovat žádná data, která jsou již poškozena.

    Existují samozřejmě i další důvody, proč se mohou data poškodit. Například špatná paměť RAM na řadiči může změnit data ještě předtím, než je dokonce odeslána na pevný disk. V takovém případě žádný mechanismus na pevném disku nezjistí nebo neopraví data a to může být jeden z důvodů poškození struktury souborového systému. Mezi další důvody patří softwarové chyby, výpadky při psaní na pevný disk (i když se jedná o souborové systémové žurnálování) nebo špatné ovladače souborového systému (ovladač NTFS v systému Linux byl v pohotovostním režimu pouze na čtení, nebyl zdokumentován a vývojáři nevěřili vlastnímu kódu).

    • Měl jsem tento scénář jednou, kdy aplikace by zachránila všechny své soubory na dvou různých serverech ve dvou různých datových centrech, aby uchovala pracovní kopii dat dostupných za všech okolností. Po několika měsících jsme si všimli, že asi 0,1% všech zkopírovaných souborů neodpovídá kontrolní součtu MD5, která je uložena ve své databázi. Ukázalo se, že se jedná o vadný kabel mezi serverem a SAN.

    Tyto další důvody jsou důvodem, proč některé systémy souborů, jako je ZFS, uchovávají další informace o součtové hodnotě za účelem zjištění chyb. Jsou navrženy tak, aby vás ochraňovaly před mnohem více věcí, které se mohou pokazit, než jen hnilobit.


    Musíte něco přidat k vysvětlení? Vyjměte v komentářích. Chcete se dozvědět více odpovědí od ostatních uživatelů technologie Stack Exchange? Podívejte se na celý diskusní příspěvek zde.