5Sep

Cum pot provoca neașteptate oprirea unui computer Linux?

click fraud protection

Sunt opriri neașteptate la fel de dăunătoare pentru Linux ca și alte sisteme de operare? Citiți în timp ce investigăm efectele opririi sistemelor catastrofale asupra sistemelor de fișiere Linux.

Întrebarea de astăzi &Sesiunea de răspuns vine de la amabilitatea SuperUser - o subdiviziune a Stack Exchange, o grupare bazată pe comunitate a site-urilor web Q & A.

Întrebarea

Reader SuperUser User208554 este curios despre structurile de fișiere Linux și preocupat de o aplicație / instalare la care lucrează:

Sunt în curs de dezvoltare o aplicație pe o placă încorporată Linux( rulează Debian) de ex. Zmeura Pi, Beagle Board / Oase, sau olimex. Plăcile lucrează într-un mediu în care energia electrică este tăiată în mod neașteptat( este prea complicat să se pună PSU etc.) și s-ar întâmpla în fiecare zi de câteva ori. Mă întreb dacă reducerile de energie neașteptate ar cauza probleme în sistemul de operare Linux? Dacă este ceva de care ar trebui să vă faceți griji, ce ați sugera pentru a preveni daunele cauzate de sistemul de operare împotriva reducerilor de energie neașteptate?

instagram viewer

PS.Aplicația trebuie să scrie unele date pe suportul de stocare( cardul SD), cred că nu ar fi potrivit să-l montezi ca fiind doar pentru citire.

Deci, care este verdictul?

Răspunsul la răspunsul

Contributor SuperUser l0b0 oferă o oarecare perspectivă asupra sistemelor de fișiere de jurnalizare / non-jurnalizare:

Aceasta ar depinde de

  1. dacă utilizați un sistem de fișiere de jurnalizare și
  2. cât de bine aplicațiile sunt capabile să gestioneze procesarea avortată.

Luați în considerare, de exemplu, o aplicație care procesează un fișier și scrie rezultatele în timp ce acestea sunt calculate( o linie de ieșire pe linie de intrare) într-un alt fișier. Dacă se taie curentul în timpul procesării și aceeași aplicație se execută după repornire, nu se poate reporni doar procesarea de la începutul fișierului de intrare - ceea ce înseamnă că fișierul de ieșire va conține informații duplicat.

Ar putea fi foarte dificil să spui ceva definit despre un sistem complex ipotetic, dar cel mai stabil software-ul Linux pare să poată gestiona accidentele destul de frumos.

Stu sugerează separarea sistemului de operare și a datelor, precum și adăugarea unei baterii de rezervă:

Pentru a minimiza posibilitatea corupției sistemului de operare, probabil că este bine să aveți partiții separate "sistem" și "date" pe cardul SD.În acest fel, puteți monta partiția "sistem" numai pentru citire și utilizați un FS foarte rezistent pe partiția "date".

În plus, majoritatea acestor plăci au cerințe de putere foarte scăzute, astfel încât este posibilă o baterie de rezervă.Placa "LiPo rider" pentru Raspberry Pi poate fi folosita ca un UPS de baza pentru a oferi o inchidere curata a pierderii de putere.

În cele din urmă, Jenny D se extinde la sugestia privind sistemul de fișiere jurnal:

Reducerea neașteptată a tensiunii poate provoca coruperea datelor din sistemul de fișiere - de ex.dacă un proces a început să scrie într-un fișier, dar nu a terminat încă să-l scrie, fișierul poate ajunge doar pe jumătate scris. Acum imaginați-vă dacă întreruperea alimentării se întâmplă când sunteți pe jumătate printr-un upgrade la kernel. ..

Așa cum a scris l0b0, va fi de ajutor un sistem de fișiere de jurnalizare, deoarece va putea urmări ceea ce a fost făcut.În plus față de informațiile despre wikipedia care leagă l0b0, s-ar putea să fiți interesat în Garantarea sistemelor de fișiere de jurnalizare împotriva corupției și după un defect de putere.

Sunteți, în calitate de programator, evident că trebuie să analizați cu atenție cum să se ocupe de scrierea fișierelor, astfel încât să devină un proces atomic( adică este fie făcut complet, fie nu făcut deloc, dar niciodată făcut vreodată pe jumătate).Este o problemă destul de complexă.

Aveți ceva de adăugat la explicație? Sunați în comentariile. Doriți să citiți mai multe răspunsuri de la alți utilizatori de tehnologie Stack Exchange? Check out discuția completă aici.