Ako môžu neočakávané vypínanie poškodiť počítač Linux?
Sú neočakávané odstávky ako škodlivé pre Linux, ako aj iné operačné systémy? Čítajte ďalej, keď skúmame účinky katastrofického odstavenia systému na systémoch súborových systémov Linux.
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.
Otázka
Reader SuperUser User208554 je zvedavý pre štruktúry súborov Linux a znepokojuje aplikáciu / inštaláciu, na ktorej pracuje:
Rozvíjam aplikáciu na vstavanú dosku s Linuxom (beží Debian), napr. Raspberry Pi, Beagle Board / Bone alebo olimex. Dosky pracujú na prostredí, ktoré neočakávane spôsobuje elektrickú energiu (je príliš zložité umiestniť PSU atď.) A stalo by sa to niekoľkokrát každý deň. Zaujímalo by ma, či by neočakávané výpadky napájania spôsobili problémy v operačnom systéme Linux? Ak je to niečo, na čo by som sa mal obávať, čo by ste navrhli, aby ste zabránili poškodeniu systému OS v dôsledku neočakávaných výpadkov napájania?
PS. Aplikácia potrebuje na uloženie niektorých údajov na pamäťové médium (SD karta), myslím, že by to nebolo vhodné pripojiť ako pamäťové médium.
Takže aký je verdikt?
Odpoveď
Sprostredkovateľ SuperUser l0b0 ponúka nejaký pohľad do denníkov / non-journaling súborových systémov:
To by záviselo od
- či používate databázový systém a
- ako dobre sú aplikácie schopné zvládnuť prerušené spracovanie.
Zvážte napríklad aplikáciu, ktorá spracováva súbor a zapíše výsledky, ako sú vypočítané (jeden výstupný riadok na vstupný riadok) do iného súboru. Ak sa počas spracovania preruší napájanie a tá istá aplikácia sa spustí po reštartovaní, nie je možné len reštartovať spracovanie od začiatku vstupného súboru - to by znamenalo, že výstupný súbor by obsahoval duplicitné informácie.
Mohlo by byť veľmi ťažké povedať niečo definitívne o hypotetickom komplexnom systéme, ale najstabilnejší Linuxový softvér sa zdá byť schopný zvládnuť pády celkom pekne.
Stu navrhuje oddelenie operačného systému a dát, ako aj pridanie záložnej batérie:
Aby ste minimalizovali možnosť poškodenia operačného systému, je pravdepodobne najlepšie mať na SD karte oddelené oddiely "system" a "data". Týmto spôsobom môžete pripojiť oddiel "systém" iba na čítanie a používať vysoko odolnú FS na oddieli "dáta".
Navyše väčšina týchto dosiek má veľmi nízke požiadavky na napájanie, takže je možné zálohovanie batérie. Doska "LiPo rider" pre Raspberry Pi môže byť použitá ako základná UPS na zabezpečenie čistého odstavenia pri výpadku napájania.
Napokon, Jenny D rozširuje návrh žurnálneho súborového systému:
Neočakávané výpadky napájania môžu spôsobiť poškodenie dát súborového systému - napr. ak proces začal písať do súboru, ale ešte nekončil jeho písanie, súbor môže skončiť len napoly napísaný. Teraz si predstavte, či sa prerušenie napájania stane, keď ste na polovicu aktualizácie jadra ...
Ako písal l0b0, pomôcť pomocou žurnálového súborového systému, pretože bude schopný sledovať, čo vlastne urobil. Okrem informácie o wikipédii, ktoré sú prepojené s l0b0, môžete mať záujem o zabezpečenie spravodajských súborových systémov proti korupcii aj po výpadku napájania.
Vy ako programátor musíte zrejme dôkladne zvážiť, ako spracovať písanie súborov tak, aby sa stali atómovým procesom (t. J. Je to buď úplne hotové, alebo vôbec neurobilo, ale nikdy nikdy nedokončené). Je to dosť zložitá záležitosť.
Máte niečo doplniť vysvetlenie? Vyjadrite sa 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.