Jak mohou neočekávané výpadky poškodit počítač Linux?
Jsou neočekávané odstavování škodlivé pro Linux tak, jak jsou v jiných operačních systémech? Přečtěte si, jak zkoumáme účinky katastrofického odstavení systému na souborových systémech Linux.
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.
Otázka
Reader SuperUser User208554 je zvědavý na struktury souborů Linux a je znepokojen aplikací / instalací, na které pracuje:
Vyvíjím aplikaci na desce s integrovaným systémem Linux (běží Debian), např. Malina Pi, Beagle Board / Bone nebo olimex. Desky pracují na prostředí, které neočekávaně přerušuje elektřinu (je příliš složité umístit PSU apod.) A stalo by se to několikrát denně. Zajímalo by mě, jestli by neočekávané výpadky napájení způsobily problémy v operačním systému Linux? Pokud se jedná o něco, o co bych se měl bát, co byste navrhli, abyste zabránili poškození systému OS proti neočekávaným výpadkům napájení?
PS. Aplikace potřebuje zapsat některé údaje na paměťové médium (SD karta), myslím, že by nebylo vhodné jej připojit jako čtení.
Takže jaký je verdikt?
Odpověď
Příspěvek SuperUser l0b0 nabízí nějaký pohled na žurnálový / ne-žurnálový souborový systém:
To bude záviset na tom
- zda používáte souborový systém žurnálu a
- jak dobře jsou aplikace schopny zpracovat přerušené zpracování.
Zvažte například aplikaci, která zpracovává soubor a zapisuje výsledky, jak jsou vypočítány (jeden výstupní řádek na vstupní řádku) do jiného souboru. Pokud je během zpracování řezaný výkon a stejná aplikace běží po restartování, nemůže se restartovat pouze ze začátku vstupního souboru - to by znamenalo, že výstupní soubor by obsahoval duplicitní informace.
Mohlo by být velmi obtížné říci něco o jistém hypotetickém komplexním systému, ale nejvíce stabilní linuxový software vypadá, že je schopen zvládnout pády docela hezky.
Stu navrhuje oddělení operačního systému a dat, stejně jako přidání záložní baterie:
Chcete-li minimalizovat možnost poškození operačního systému, pravděpodobně byste měli mít na SD kartě oddělené oddíly "systém" a "data". Tímto způsobem můžete připojit "systémový" oddíl pouze pro čtení a použít vysoce odolný FS na oddílu "data".
Navíc většina těchto desek má velmi nízké požadavky na napájení, takže je možné zálohování baterie. Deska "LiPo rider" pro Raspberry Pi může být použita jako základní UPS k zajištění čistého vypnutí při výpadku napájení.
Nakonec Jenny D rozšiřuje návrh žurnálovacího souborového systému:
Neočekávané výpadky napájení mohou způsobit poškození dat systému souborů - např. pokud proces začal psát do souboru, ale dosud nebyl dokončen zápis, soubor může skončit pouze napůl napsaný. Nyní si představte, jestli se výpadek elektrického proudu vyskytne, když jste uprostřed aktualizace jádra ...
Jak píše l0b0, pomůže vám to pomocí žurnálovacího souborového systému, protože bude schopen sledovat, co skutečně získal. Kromě informací o wikipedii, které jsou spojeny s l0b0, můžete mít zájem o záruční systém souborů jménem proti korupci i po výpadku napájení.
Jste jako programátor zřejmě nutně pečlivě zvážit, jak zvládnout psaní souborů tak, aby se staly atomovým procesem (to znamená, že je buď úplně hotov, nebo vůbec nebylo provedeno, ale nikdy nebylo nikdy provedeno). Je to docela složitá záležitost.
Musíte něco přidat k vysvětlení? Vypadně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.