Početna » kako da » Kako mogu neočekivana isključenja nauditi Linux računalu?

    Kako mogu neočekivana isključenja nauditi Linux računalu?

    Jesu li neočekivani zatvaranja štetna za Linux kao i za druge operacijske sustave? Čitajte dalje dok istražujemo učinke katastrofalnih prekida sustava na Linux datotečnim sustavima.

    Današnja sesija pitanja i odgovora dolazi nam ljubaznošću SuperUser-a, podjele Stack Exchangea, grupiranja web-lokacija za pitanja i odgovore u zajednici.

    Pitanje

    Čitač SuperUser User208554 znatiželjan je za strukture datoteka Linuxa i zabrinut je zbog aplikacije / instalacije na kojoj radi:

    Razvijam aplikaciju na ugrađenoj ploči Linuxa (pokreće Debian) npr. Raspberry Pi, Beagle Board / Bone ili olimex. Ploče rade u okruženju u kojem se električna energija neočekivano siječe (previše je komplicirano za postavljanje PSU-a, itd.) I to bi se događalo svaki dan nekoliko puta. Pitam se bi li neočekivani prekidi struje uzrokovali probleme na Linux operativnom sustavu? Ako je to nešto o čemu bih trebao brinuti, što biste predložili da spriječite štete na OS-u od neočekivanih nestanka struje?

    P.S. Aplikacija mora zapisati neke podatke na medij za pohranu (SD kartica), mislim da ne bi bilo prikladno montirati ih kao samo za čitanje.

    Dakle, kakva je presuda?

    Odgovor

    Doprinositelj SuperUser-a l0b0 nudi uvid u datotečne sustave za bilježenje / ne-dnevnike:

    To će ovisiti o tome

    1. koristite li datotečni sustav i. \ t
    2. koliko dobro aplikacije mogu obraditi prekinutu obradu.

    Razmotrite primjerice aplikaciju koja obrađuje datoteku i zapisuje rezultate dok se izračunavaju (jedna izlazna linija po ulaznoj liniji) u drugu datoteku. Ako se tijekom obrade isključi napajanje, a nakon ponovnog pokretanja pokrene se ista aplikacija, ona ne može samo ponovno pokrenuti obradu od početka ulazne datoteke - to bi značilo da bi izlazna datoteka sadržavala duple informacije.

    Moglo bi biti vrlo teško reći nešto definitivno o hipotetičkom složenom sustavu, ali čini se da većina stabilnog Linux softvera može dobro obraditi padove..

    Stu predlaže odvajanje operacijskog sustava i podataka, kao i dodavanje rezervne baterije:

    Da bi se smanjila mogućnost oštećenja OS-a, vjerojatno je najbolje imati zasebne particije "system" i "data" na SD kartici. Na taj način možete montirati "sistemsku" particiju samo za čitanje i koristiti visoko elastičnu FS na particiji "data".

    Osim toga, većina tih ploča ima vrlo male zahtjeve za napajanjem, tako da je moguća rezerva baterije. "LiPo rider" ploča za Raspberry Pi može se koristiti kao osnovni UPS uređaj kako bi osigurao čisto isključivanje zbog gubitka snage.

    Konačno, Jenny D proširuje prijedlog za datotečni sustav dnevnika:

    Neočekivani prekidi napajanja mogu uzrokovati oštećenje podataka datotečnog sustava - npr. ako je proces započeo s pisanjem u datoteku, ali još nije dovršio pisanje, datoteka može završiti samo do polovice. Sada zamislite ako do nestanka struje dođe kada ste na pola puta nadogradnje kernela ...

    Kao što je napisao l0b0, pomoću datotečnog sustava journaling pomoći će, budući da će moći pratiti što je zapravo učinjeno. Osim informacija o wikipediji koje su povezane s l0b0, možda ćete biti zainteresirani i za jamstvo Zabilježite datotečne sustave protiv korupcije i nakon prekida napajanja.

    Vi kao programer očito trebate pažljivo razmisliti o tome kako se nositi s pisanjem u datoteke tako da postane atomski proces (tj. Ili je u potpunosti učinjeno ili se uopće ne radi, ali nikada nije napola učinjeno). To je prilično složeno pitanje.


    Imate li što dodati objašnjenju? Zvuk isključen u komentarima. Želite li pročitati više odgovora od drugih tehničkih korisnika Stack Exchangea? Pogledajte cjelokupnu temu za raspravu ovdje.