5Sep
Er uventede nedlukninger så skadelige for Linux, som de er til andre operativsystemer? Læs videre, da vi undersøger virkningerne af katastrofale systemafbrydelser på Linux filsystemer.
Dagens Spørgsmål &Svar session kommer til os høflighed af SuperUser-en underafdeling af Stack Exchange, en community-drevet gruppe af Q & A-websteder.
Spørgsmål
SuperUser-læser User208554 er nysgerrig efter Linux-filstrukturer og bekymret for en app / installation, han arbejder på:
Jeg udvikler en applikation på et Linux-indlejret kort( kører Debian) f.eks. Hindbær Pi, Beagle Board / Bone, eller olimex. Brædderne arbejder på et miljø, hvor strømmen skæres uventet( det er alt for kompliceret at placere PSU osv.), Og det ville ske hver dag et par gange. Jeg spekulerer på, om de uventede strømafbrydelser vil forårsage problemer på Linux Operation System? Hvis det er noget, jeg bør bekymre mig om, hvad vil du foreslå for at forhindre skade på OS mod de uventede strømafbrydelser?
PS.Ansøgningen skal skrive nogle data til lagermediet( SD-kort), jeg synes, det ikke ville være hensigtsmæssigt at montere det som skrivebeskyttet.
Så hvad er dommen?
Svaret
SuperUser-bidragyder l0b0 giver et indblik i journaling / ikke-journaling filsystemer:
Dette vil afhænge af
- , om du bruger et journaling-filsystem og
- , hvor godt applikationerne kan håndtere afbrudt behandling.
Overvej f.eks. En applikation, som behandler en fil og skriver resultaterne som de beregnes( en outputlinie pr inputlinje) til en anden fil. Hvis strømmen bliver skåret under behandlingen, og den samme applikation køres efter genstart, kan den ikke bare genstarte behandlingen fra begyndelsen af inputfilen - det ville betyde, at uddatafilen ville indeholde dobbeltoplysninger.
Det kan være meget svært at sige noget klart om et hypotetisk komplekst system, men det mest stabile Linux-program synes at kunne klare crashes ganske pænt.
Stu foreslår at adskille operativsystemet og data samt at tilføje et batteri backup:
For at minimere muligheden for OS korruption, er det nok bedst at have separate "system" og "data" partitioner på SD-kortet. På den måde kan du montere "system" partitionen skrivebeskyttet og bruge en stærkt modstandsdygtig FS på "data" partitionen.
Derudover har de fleste af disse kort meget lave strømkrav, så batteribackup er mulig."LiPo rider" bordet til Raspberry Pi kan bruges som en grundlæggende UPS for at give en ren nedlukning af strømtab.
Endelig udvider Jenny D på journaling filsystemet forslag:
Uventede strømafbrydelser kan forårsage korruption af filsystemdata - f.eks.hvis en proces er begyndt at skrive til en fil, men endnu ikke er færdig med at skrive den, kan filen kun ende med halv skriftlig. Forestil dig nu, om strømafbrydelsen sker, når du er halvvejs igennem en kernelopgradering. ..
Som l0b0 skrev, vil et journaling-filsystem hjælpe, da det vil være i stand til at holde styr på, hvad der faktisk er gjort. Ud over de wikipedia-oplysninger, der er forbundet med l0b0, kan du være interesseret i Do Journal of Filesystems-garanti mod korruption efter en strømfejl også.
Du som programmør skal naturligvis overveje omhyggeligt, hvordan man håndterer skrivning til filer, så det bliver en atomproces( dvs. det er enten helt færdigt eller slet ikke gjort, men aldrig nogensinde halvt færdigt).Det er et ret komplekst problem.
Har du noget at tilføje til forklaringen? Lyde af i kommentarerne. Vil du læse flere svar fra andre tech-savvy Stack Exchange brugere? Tjek den fulde diskussionstråd her.