Kuidas saab ootamatuid väljalülitamisi kahjustada Linuxi arvutit?
Kas ootamatud sulgemised on Linuxile kahjulikud, nagu need on teistele operatsioonisüsteemidele? Lugege edasi, kui uurime katastroofiliste süsteemi sulgemiste mõju Linuxi failisüsteemidele.
Tänane küsimuste ja vastuste seanss saabub meiega kohtades, kus on SuperUser-Stack Exchange'i alajaotis, kogukondlikult juhitav Q&A veebisaitide rühmitus.
Küsimus
SuperUser-lugeja User208554 on uudishimulik Linuxi failistruktuuride pärast ja on mures selle rakenduse / installi pärast, mida ta töötab:
Ma arendan rakendust Linuxi sisseehitatud pardal (töötab Debian), nt. Raspberry Pi, Beagle Board / Bone või olimex. Plaadid töötavad keskkonnas, kus elektrit ootamatult lõigatakse (PSU-d jne on liiga keeruline paigutada jne) ja see juhtub iga päev paar korda. Ma ei tea, kas ootamatud elektrikatked põhjustaksid Linuxi operatsioonisüsteemis probleemi? Kui see on midagi, mida ma peaks muretsema, mida soovitaksite, et vältida OS-i kahjude teket ootamatute elektrikatkestuste vastu?
PS. Rakendus peab salvestama andmekandjale (SD-kaardile) mõned andmed, ma arvan, et see ei sobiks selle lugemiseks ainult lugemiseks.
Mis siis on otsus?
Vastus
SuperUser-i toetaja l0b0 pakub mõningast ülevaadet ajakirjandus- / mitteajakirjanduslike failisüsteemide kohta:
See sõltub
- kas kasutate ajakirjafailisüsteemi ja
- kui hästi on rakendused võimelised katkestatud töötlemisega tegelema.
Vaatleme näiteks rakendust, mis töötleb faili ja kirjutab tulemused nende arvutamisel (üks väljundliin sisendjoone kohta) teisele failile. Kui töötlemise ajal voolu vähendatakse ja sama rakendust käivitatakse pärast taaskäivitamist, ei saa see lihtsalt töötluse alustamist sisendfaili algusest peale - see tähendab, et väljundfail sisaldab kahekordset teavet.
Hüpoteetilise keerulise süsteemi kohta võib olla väga raske öelda midagi kindlat, kuid kõige stabiilsem Linuxi tarkvara tundub olevat võimeline krahhidega hästi toime tulema.
Stu soovitab eraldada operatsioonisüsteemi ja andmeid ning lisada aku varukoopia:
OS-i korruptsiooni võimaluse minimeerimiseks on ilmselt parim, kui SD-kaardil on eraldi “süsteem” ja “andmed”. Nii saate paigaldada “süsteem” partitsiooni ainult lugemiseks ja kasutada väga vastupidavat FS-i “andme” partitsioonil.
Lisaks on enamikul nendest plaatidest väga väikesed võimsusnõuded, seega on võimalik aku varundamine. Raspberry Pi jaoks mõeldud "LiPo rider" -plaati saab kasutada UPS-i põhivõrguna, et tagada voolukadude puhas seiskamine.
Lõpuks laiendab Jenny D ajakirjafailisüsteemi soovitust:
Ootamatu elektrikatkestus võib põhjustada failisüsteemi andmete korruptsiooni - nt. kui protsess on hakanud faili kirjutama, kuid ei ole veel selle kirjutamise lõpetanud, võib fail lõppeda vaid poolega. Kujutage ette, kui voolukatkestus juhtub siis, kui olete pooleldi kerneli uuendamise…
Nagu l0b0 kirjutas, aitab ajakirjandusfailisüsteemi kasutamine, sest see suudab jälgida, mis on tegelikult tehtud. Lisaks wikipedia infole, mida l0b0 lingitas, võite olla huvitatud ka failide süsteemide tagamise korruptsioonivastasest tagatisest pärast võimsusviga..
Teil on programmeerijal ilmselt vaja hoolikalt kaaluda, kuidas failidele kirjutada, nii et see muutub aatomi protsessiks (s.t. see on kas täielikult tehtud või üldse mitte tehtud, kuid mitte kunagi pooleldi valmis). See on üsna keeruline küsimus.
Kas teil on midagi lisada selgitusele? Hääletage kommentaarides. Kas soovite lugeda rohkem vastuseid teistelt tech-savvy Stack Exchange'i kasutajatelt? Vaadake siin täielikku arutelu lõiku.