Kako lahko nepričakovane zaustavitve poškodujejo računalnik Linux?
Ali so nepričakovane zaustavitve škodljive za Linux, kot za druge operacijske sisteme? Preberite, kako preučujemo učinke katastrofalnih zaustavitev sistema na datotečnih sistemih Linux.
Današnja seja vprašanj in odgovorov prihaja z namenom SuperUser-a, ki je del skupine Stack Exchange, ki temelji na skupnostih spletnih mest za vprašanja in odgovore.
Vprašanje
Bralnik SuperUser User208554 je radoveden za datotečne strukture Linuxa in ga skrbi aplikacija / namestitev, na kateri dela:
Razvijam aplikacijo na vgrajeni plošči Linux (upravlja Debian), npr. Raspberry Pi, Beagle Board / Bone ali olimex. Plošče delujejo v okolju, v katerem se električna energija nepričakovano zmanjša (preveč je zapleteno, da se napolni PSU, itd.), In to bi se zgodilo vsak dan nekajkrat. Zanima me, če bi nepričakovano izpadanje energije povzročilo težave na operacijskem sistemu Linux? Če je to nekaj, kar bi vas moralo skrbeti, kaj bi predlagali, da preprečite škodo na OS pred nepričakovanimi izpadi električne energije?
PS. Aplikacija mora zapisati nekaj podatkov v pomnilniški medij (SD kartica), mislim, da ga ne bi bilo primerno namestiti kot samo za branje.
Torej, kaj je sodba?
Odgovor
Prispevek uporabnika SuperUser l0b0 ponuja nekaj vpogleda v datotečne sisteme za beleženje / ne-dnevnike:
To bi bilo odvisno od tega
- ali uporabljate datotečni sistem dnevnika in
- kako dobro so aplikacije sposobne obvladovati prekinjeno obdelavo.
Razmislite na primer o aplikaciji, ki obdeluje datoteko in zapiše rezultate, ko se izračunajo (ena izhodna vrstica na vhodno vrstico) v drugo datoteko. Če se med obdelavo zmanjša poraba in se po vnovičnem zagonu izvede ista aplikacija, ne morejo znova zagnati obdelave od začetka vhodne datoteke - to pomeni, da bo izhodna datoteka vsebovala podvojene informacije.
Lahko bi bilo zelo težko reči nekaj dokončnega o hipotetičnem kompleksnem sistemu, vendar se zdi, da je najbolj stabilna programska oprema Linuxa sposobna dobro obvladovati nesreče..
Stu predlaga ločitev operacijskega sistema in podatkov ter dodajanje varnostne kopije baterije:
Da bi zmanjšali možnost poškodb operacijskega sistema, je najbolje, da imate na kartici SD ločene particije »sistem« in »podatki«. Na ta način lahko namestite sistemsko particijo samo za branje in uporabite visoko odporno FS na particiji »podatki«.
Poleg tega ima večina teh plošč zelo majhne zahteve glede porabe energije, zato je možna rezervna baterija. "LiPo voznik" plošča za Raspberry Pi se lahko uporablja kot osnovni UPS za zagotavljanje čiste zaustavitve na izgubo moči \ t.
Nazadnje se Jenny D razširi na predlog datotečnega sistema dnevnika:
Nepričakovani izpadi napajanja lahko povzročijo poškodbe podatkov datotečnega sistema - npr. če je proces začel pisati v datoteko, vendar še ni končal s pisanjem, se lahko datoteka konča le do polovice. Zdaj pa si zamislite, če se izklopi električna energija, ko ste na polovici nadgradnje jedra ...
Kot je napisal l0b0, bo z uporabo datotečnega sistema journaling pomagalo, saj bo lahko sledilo, kaj se je dejansko zgodilo. Poleg informacij o wikipediji, ki so povezane z l0b0, vas bo morda zanimalo tudi Zagotavljanje branja datotečnih sistemov proti korupciji po napaki z napajanjem..
Očitno morate kot programer skrbno razmisliti, kako ravnati s pisanjem datotek, tako da postane atomski proces (to pomeni, da je bodisi v celoti izveden ali pa sploh ni storjen, vendar nikoli do polovice). To je dokaj zapleteno vprašanje.
Imate kaj dodati pojasnilu? Zvok izključen v komentarjih. Želite prebrati več odgovorov drugih uporabnikov tehnologije Stack Exchange? Oglejte si celotno nit razprave tukaj.