Úvodná » ako » Môžu sa dáta na pevných diskoch zhoršovať bez varovania o poškodení?

    Môžu sa dáta na pevných diskoch zhoršovať bez varovania o poškodení?

    Všetci sa obávame o to, aby sme uchovali naše dáta a súbory bezpečné a neporušené, ale je možné, že sa údaje poškodia a používateľ ich bude mať prístup bez upozornenia alebo varovania akéhokoľvek druhu ohľadom tohto problému? Dnešný príspevok typu SuperUser Q & A má odpoveď na znepokojenú otázku čitateľa.

    Dnešná relácia otázok a odpovedí sa k nám pridelí zdvorilosťou SuperUser - podskupiny Stack Exchange, zoskupenia webových stránok typu Q & A.

    Foto s láskavým dovolením generalizácie (Flickr).

    Otázka

    Čítačka SuperUser topo morto chce vedieť, či sa údaje na pevných diskoch môžu zhoršiť a aby boli prístupné bez varovania o poškodení:

    Je možné, že fyzická degradácia pevného disku môže spôsobiť, že sa v obsahu súboru "preklopia" bity bez toho, aby si operačný systém všimol zmenu a o čom informoval používateľa o čítaní súboru? Napríklad by sa text "p" (binárny 01110000) v textovom súbore ASCII mohol zmeniť na "q" (binárne 01110001), potom keď používateľ otvorí súbor, uvidia "q" bez toho, aby si uvedomili, že došlo k poruche?

    Mám záujem o odpovede týkajúce sa FAT, NTFS alebo ReFS (ak to má vplyv). Chcem vedieť, či operačné systémy chránia používateľov pred týmto alebo či by sme mali kontrolovať naše údaje o rozdieloch medzi kópiami v čase.

    Môžu sa dáta na pevných diskoch zhoršovať a byť prístupné bez varovania o poškodení?

    Odpoveď

    Sponzor spoločnosti SuperUser Guntram Blohm má pre nás odpoveď:

    Áno, existuje jedna vec, ktorá sa nazýva bit hniloba. Ale nie, neovplyvní to užívateľa bez povšimnutia.

    Keď pevný disk zapíše sektor do platforiem, nepíše iba zápis bitov rovnakým spôsobom, ako sú uložené v pamäti RAM, používa kódovanie, aby sa uistili, že nie sú žiadne sekvencie toho istého bitu, ktoré sú príliš dlhé. Dodáva tiež ECC kódy, ktoré mu umožňujú opraviť chyby, ktoré ovplyvňujú niekoľko bitov a zisťujú chyby, ktoré ovplyvňujú viac ako niekoľko bitov.

    Keď pevný disk číta sektor, kontroluje tieto ECC kódy a v prípade potreby opraví údaje (a ak je to možné). Čo sa stane potom, závisí od okolností a firmvéru pevného disku, čo je ovplyvnené označením jednotky.

    • Ak je sektor čitateľný a nemá žiadne problémy s kódom ECC, prenesie ho na operačný systém.
    • Ak je sektor ľahko opraviteľný, môže byť opravená verzia zapísaná na disk, čítaná späť a následne overená, aby sa zistilo, či bola chyba náhodná (napr. Kozmické žiarenie atď.), Alebo či existuje systémová chyba s médiami.
    • Ak pevný disk určuje, že sa vyskytla chyba s médiami, prerozdelí sektor.
    • Ak sa po niekoľkých pokusoch o čítanie (na pevnom disku, ktorý je označený ako pevný disk RAID) sektoru nedá prečítať ani opraviť, potom sa pevný disk vzdal, opätovne pridelil sektor a povedal kontrolórovi, že došlo k problému , Spolieha sa na radič RAID, aby rekonštruoval sektor od ostatných členov RAID a napísal ho späť na neúspešný pevný disk, ktorý ho potom uloží do preradeného sektora (ktorý, dúfajme, nemá problém).
    • Ak sektor nie je možné čítať alebo opravovať na pevnom disku pracovnej plochy, pevný disk sa bude viac snažiť prečítať. V závislosti na kvalite pevného disku môže dôjsť k premiestneniu hlavy, kontrole, či sú nejaké bity, ktoré sa opakujú pri čítaní, či sú bity najslabšie a niečo iné. Ak sa niektorý z týchto pokusov podarí, pevný disk znovu pridelí sektor a napíše opravené údaje.

    Jedná sa o jeden z hlavných rozdielov medzi pevnými diskami, ktoré sa predávajú ako pevné disky "desktop", "NAS / RAID" alebo "video monitory". Pevný disk RAID sa môže rýchlo vzdať a robiť opravu sektora, aby sa zabránilo latencii na strane používateľa. Pevný disk na pracovnej ploche sa bude pokúšať znova a znova, pretože čakanie na niekoľko sekúnd používateľom je pravdepodobne lepšie, ako povedať im, že údaje sa stratili. A pevný disk videa hodnotí konštantné rýchlosti prenosu údajov viac ako obnovenie chýb, pretože poškodený rámček sa zvyčajne ani nezaznamená.

    Pevný disk bude v každom prípade vedieť, či došlo k malému hnilobe, zvyčajne sa z neho zotaví a ak to nedokáže, povedie riadiacemu pracovníkovi, ktorý zase povedie vodičovi, ktorý potom povie operačný systém. Potom je na operačnom systéme, aby používateľovi uviedla chybu a reagovala na ňu. Preto cybernard hovorí:

    • Nikdy som nebol sám svedkom jednej bitovej chyby, ale videl som veľa pevných diskov, kde celé odvetvia zlyhali.

    Pevný disk bude vedieť, či nie je v sektore niečo v poriadku, ale nevie, ktoré bity zlyhali. Jeden bit, ktorý zlyhal, bude ECC vždy zachytený.

    Upozorňujeme, že systém chkdsk a súborové systémy, ktoré sa automaticky opravia, neupravujú opravu údajov v rámci súborov. Sú zamerané na poškodenie v štruktúre samotného súborového systému, ako je rozdiel vo veľkosti súboru medzi položkou adresára a počtom pridelených blokov. Funkcia automatického hojenia systému NTFS detekuje štrukturálne škody a zabráni tomu, aby ovplyvnili vaše údaje ďalej, ale neopravuje žiadne poškodené údaje.

    Existujú samozrejme aj ďalšie dôvody, prečo sa môžu poškodiť údaje. Napríklad, zlý RAM na regulátore môže meniť dáta skôr, ako je dokonca poslaný na pevný disk. V takom prípade žiadny mechanizmus na pevnom disku nezistí alebo neopraví údaje a to môže byť jeden z dôvodov, prečo je poškodená štruktúra súborového systému. Ďalšie dôvody zahŕňajú softvérové ​​chyby, výpadky napätia pri písaní na pevný disk (aj keď je to riešené systémom žurnálového súborového systému) alebo zlé ovládače súborového systému (ovládač NTFS v systéme Linux je predvolený len dlho, pretože NTFS bol spätne upravený, neboli zdokumentované a vývojári neverili svojmu vlastnému kódu).

    • Mala som tento scenár raz, keď aplikácia zachránila všetky svoje súbory na dvoch rôznych serveroch v dvoch rôznych dátových centrách, aby uchovala pracovnú kópiu dostupných údajov za každých okolností. Po niekoľkých mesiacoch sme si všimli, že asi 0,1 percenta všetkých skopírovaných súborov nezodpovedá kontrolnej súčte MD5, ktorá je uložená v databáze. Ukázalo sa, že ide o chybný kábel medzi serverom a SAN.

    Tieto ďalšie dôvody sú dôvodom, prečo niektoré systémy súborov, ako napríklad ZFS, uchovávajú dodatočné informácie o kontrolných sumách, aby zistili chyby. Sú určené na to, aby vás ochránili pred veľa ďalších vecí, ktoré sa môžu pokaziť, ako len biti.


    Máte niečo doplniť vysvetlenie? Znie to v komentároch. Chcete sa dozvedieť viac odpovedí od iných používateľov technickej úrovne Stack Exchange? Pozrite sa na celý diskusný príspevok tu.