5Sep

Kako neočekivani isključci mogu štetiti Linux računalu?

Jesu li neočekivani isključivanja kao štetne za Linux kao i na drugim operativnim sustavima? Pročitajte kako istražujemo učinke katastrofalnih zaustavljanja sustava na Linux datotecnim sustavima.

Današnje pitanje &Sesija odgovora nam dolazi zahvaljujući SuperUseru - podjele Stack Exchange, grupiranjem zajednice Q & A web stranica.

Pitanje

čitač SuperUser User208554 je znatiželjan o Linux strukturama datoteka i zabrinut je za aplikaciju / instalaciju na kojoj radi:

Razvijajam aplikaciju na ugrađenoj ploči Linuxa( pokreće Debian), npr. Plava pi, Beagle Board / Bone, ili olimex. Ploče rade na okolišu da se električna energija neočekivano rezati( previše je komplicirano staviti PSU, itd.) I to će se dogoditi svaki dan par puta. Pitam se hoće li neočekivani prekidi napajanja uzrokovati problem na Linux operacijskom sustavu? Ako je to nešto za što bih trebalo brinuti, što biste predložili da biste spriječili oštećenja OS-a zbog neočekivanih prekida napajanja?

PS.Aplikacija treba napisati neke podatke na medij za pohranu( SD kartica), mislim da ne bi bilo prikladno postaviti ga kao samo za čitanje.

Dakle, što je presuda?

Odgovori

SuperUser suradnik l0b0 pruža uvid u datotečni sustavi bilježenja / neinfleksiranja:

To ovisi o

  1. -u bez obzira koristite li datotečni sustav datiranja i
  2. kako aplikacije uspijevaju obraditi obustavljenu obradu.

Razmotrite primjerice aplikaciju koja obrađuje datoteku i piše rezultate dok se izračunavaju( jedna izlaznica po ulaznoj liniji) u drugu datoteku. Ako se snaga prekine tijekom obrade, a isti program se pokreće nakon ponovnog pokretanja, ne može se samo ponovo pokrenuti obradu od početka datoteke ulaza - to bi značilo da će izlazna datoteka sadržavati duple informacije.

Moglo bi biti vrlo teško reći ništa čvrsto o hipotetičkom složenom sustavu, ali čini se da je najstabilniji Linux softver prilično lijep.

Stu predlaže razdvajanje operacijskog sustava i podataka te dodavanje sigurnosne kopije baterije:

Da bi se smanjila mogućnost korupcije operativnog sustava, vjerojatno je najbolje imati zasebne "sistemske" i "podatkovne" particije na SD kartici. Na taj način možete montirati particiju "sustav" samo za čitanje i upotrebljavati visoko elastični FS na particiji "podataka".

Osim toga, većina tih ploča ima vrlo niske snage, pa je moguće napraviti rezervnu bateriju. Ploča "LiPo rider" za maline Pi može se koristiti kao osnovni UPS kako bi osigurao čisto zatvaranje gubitka snage.

Konačno, Jenny D proširuje se na prijedlog sustava datotečnog sustava:

Neočekivani prekid napajanja može uzrokovati korupciju podataka datotečnih sustava, npr.ako je proces započeli pisati u datoteku, ali još nije dovršio pisanje, datoteka može završiti samo pola napisana. Sada zamislite ako se prekid napajanja događa kada ste na pola puta kroz nadogradnju jezgre. ..

Kao što je napisao l0b0, pomoćnik datotečnog sustava pomoći će jer će moći pratiti što se zapravo dogodilo. Osim wikipedia informacija koje l0b0 povezuje, možda ćete biti zainteresirani za A Journaling datotečni sustavi Jamstvo protiv korupcije nakon napajanja kao dobro.

Ti kao programer očito treba pažljivo razmotriti kako postupati s pisanjem datoteka, tako da postane atomski proces( tj. Potpuno je učinjeno ili nije uopće učinjeno, ali nikad do polovice).To je prilično složeno pitanje.

Imate li što dodati objašnjenju? Zvuči u komentarima.Želite li pročitati više odgovora od drugih tehnoloških korisnika Stack Exchangea? Pogledajte ovdje cijelu raspravu.