5Sep

Hvordan kan uventede nedleggelser skade en Linux-datamaskin?

Er uventede nedleggelser like skadelige for Linux som de er til andre operativsystemer? Les videre da vi undersøker effektene av katastrofale systemstenger på Linux-filsystemer.

Dagens Spørsmål &Svar-sesjon kommer til oss med høflighet av SuperUser-en underavdeling av Stack Exchange, en fellesskapsdrevet gruppering av Q & A-nettsteder.

Spørsmålet

SuperUser-leser User208554 er nysgjerrig på Linux-filstrukturer og bekymret for en app / installasjon han jobber med:

Jeg utvikler et program på et Linux-innebygd kort( kjører Debian), f.eks. Raspberry Pi, Beagle Board / Bone, eller olimex. Brettene fungerer på et miljø som strømmen blir kuttet uventet( det er altfor komplisert å plassere PSU, etc.), og det ville skje hver dag et par ganger. Jeg lurer på om de uventede strømbruddene vil forårsake problemer på Linux Operations System? Hvis det er noe jeg burde bekymre meg for, hva vil du foreslå for å forhindre skade på OS mot uventede strømavbrudd?

PS.Søknaden må skrive noen data til lagringsmediet( SD-kort), jeg tror det ikke ville være egnet å montere det som skrivebeskyttet.

Så hva er dommen?

Svaret

SuperUser-bidragsyter l0b0 gir litt innsikt i journaling / ikke-journaling filsystemer:

Dette vil avhenge av

  1. om du bruker et journaling-filsystem og
  2. hvor godt programmene kan håndtere avbrutt behandling.

Tenk for eksempel et program som behandler en fil og skriver resultatene når de beregnes( en utgangslinje per inntastingslinje) til en annen fil. Hvis strømmen blir kuttet under behandling, og det samme programmet kjøres etter at du har startet på nytt, kan det ikke bare starte om behandling fra starten av inngangsfilen - det vil si at utdatafilen vil inneholde duplisert informasjon.

Det kan være veldig vanskelig å si noe klart om et hypotetisk komplekst system, men den mest stabile Linux-programvaren ser ut til å kunne håndtere krasjer ganske pent.

Stu foreslår at du skiller operativsystemet og dataene, samt legger til en batteribackup:

For å minimere muligheten for OS-korrupsjon, er det sannsynligvis best å ha separate "system" og "data" partisjoner på SD-kortet. På den måten kan du montere "system" partisjonen skrivebeskyttet og bruke en svært robust FS på "data" partisjonen.

I tillegg har de fleste av disse platene svært lave strømkrav, slik at batteridrift er mulig."LiPo rider" -bordet for Raspberry Pi kan brukes som en grunnleggende UPS for å gi en ren avslutning på strømbrudd.

Til slutt utvider Jenny D på journaling filsystemet forslag:

Uventede strømbrudd kan føre til korrupsjon av filsystemdata - f.eks.hvis en prosess har begynt å skrive til en fil, men ikke ferdig med å skrive den, kan filen ende opp med bare halv skriftlig. Forestill deg nå om strømbruken skjer når du er halvveis gjennom en kjerneoppgradering. ..

Som l0b0 skrev, vil bruk av et journaling-filsystem hjelpe, siden det vil kunne holde rede på hva som faktisk har blitt gjort. I tillegg til wikipedia-informasjonen som l0b0 er koblet, kan det hende du er interessert i å gjøre journaling av filsystemsgaranti mot korrupsjon etter en strømbrudd også.

Du som programmerer må selvsagt nøye vurdere hvordan man skal håndtere skriving til filer slik at det blir en atomprosess( dvs. det er enten fullstendig gjort eller ikke gjort i det hele tatt, men aldri noen gang gjort halvveis).Det er et ganske komplekst problem.

Har du noe å legge til forklaringen? Lyde av i kommentarene. Vil du lese flere svar fra andre tech-savvy Stack Exchange-brukere? Sjekk ut hele diskusjonstråden her.