Kā var neparedzēti izslēgt Linux datoru?
Vai negaidīti pārtraukumi ir kaitīgi Linux, kā tie ir citām operētājsistēmām? Lasiet tālāk, kad mēs pētām katastrofālu sistēmas apturēšanas ietekmi uz Linux failu sistēmām.
Šodienas jautājumu un atbilžu sesija mums dod pieklājību no SuperUser-Stack Exchange apakšnodaļas, kas ir kopienas orientēta Q & A tīmekļa vietņu grupa.
Jautājums
SuperUser lasītājs User208554 ir ziņkārīgs par Linux failu struktūrām un uztraucas par lietotni / instalāciju, ar kuru viņš strādā:
Es izstrādāju lietojumprogrammu Linux iegultā diskā (palaiž Debian), piemēram, Raspberry Pi, Beagle Board / kaulu vai olimex. Plāksnes darbojas videi, kurā elektrība tiek sagaidīta negaidīti (PSU ievietošana utt.) Ir pārāk sarežģīta, un tas notiek katru dienu pāris reizes. Nez, vai negaidītie elektroenerģijas padeves pārtraukumi radītu problēmas Linux operētājsistēmā? Ja man būtu jāuztraucas par to, ko jūs ieteiktu, lai novērstu OS bojājumus pret negaidītiem elektroenerģijas padeves pārtraukumiem?
PS. Lietojumprogrammai ir nepieciešams rakstīt dažus datus uz datu nesēju (SD karti), es domāju, ka nebūtu piemēroti to uzstādīt kā tikai lasāmu.
Tātad, kas ir spriedums?
Atbilde
SuperUser ieguldītājs l0b0 piedāvā kādu ieskatu par žurnālistikas / nepublicēšanas failu sistēmām:
Tas būtu atkarīgs no
- vai izmantojat žurnālu failu sistēmu un
- cik labi pieteikumi spēj apstrādāt abortētu apstrādi.
Apsveriet, piemēram, lietojumprogrammu, kas apstrādā failu un raksta rezultātus, kad tie tiek aprēķināti (viena izvades līnija uz ievades līniju) uz citu failu. Ja apstrādes laikā tiek samazināta strāva, un to pašu lietojumprogrammu palaiž pēc atkārtotas palaišanas, tas nevar tikai atsākt apstrādi no ievades faila sākuma - tas nozīmētu, ka izejas failā būs dublēta informācija.
Varētu būt ļoti grūti pateikt kaut ko konkrētu par hipotētisku sarežģītu sistēmu, bet šķiet, ka visstabilākā Linux programmatūra spēj apstrādāt avārijas diezgan labi.
Stu iesaka atdalīt operētājsistēmu un datus, kā arī pievienot akumulatora dublējumu:
Lai palīdzētu mazināt OS korupcijas iespēju, iespējams, ka SD kartē ir atsevišķas “sistēmas” un “datu” nodalījumi. Tādā veidā jūs varat uzstādīt tikai "sistēmas" nodalījumu, kas ir tikai lasāms, un izmantojiet ļoti elastīgu FS uz "datu" nodalījuma.
Turklāt lielākajai daļai no šīm plātnēm ir ļoti mazas jaudas prasības, tāpēc ir iespējams veikt akumulatora dublēšanu. Raspberry Pi “LiPo rider” padomi var izmantot kā galveno UPS, lai nodrošinātu tīru elektroenerģijas zuduma izslēgšanu.
Visbeidzot, Jenny D izvērš žurnāla failu sistēmas ieteikumu:
Negaidīti strāvas padeves pārtraukumi var izraisīt failu sistēmas datu korupciju, piem. ja process ir sācis rakstīt uz failu, bet vēl nav pabeigts tā rakstīšana, fails var nonākt tikai uz pusēm. Tagad iedomājieties, vai elektroenerģijas padeves pārtraukšana notiek, kad esat pusceļā ar kodola jaunināšanu…
Kā l0b0 rakstīja, izmantojot žurnālu failu sistēmu, tas palīdzēs, jo tas varēs sekot līdzi tam, kas ir noticis. Papildus wikipedia informācijai, kas ir saistīta ar l0b0, jūs, iespējams, interesē arī failu žurnālu nodrošināšanas garantija pret korupciju pēc strāvas atteices..
Jums kā programmētājam, protams, ir rūpīgi jāapsver, kā rīkoties ar rakstīšanu failos, lai tas kļūtu par atomu procesu (t.i., tas ir pilnīgi paveikts vai vispār nav darīts, bet nekad nav pēkšņi darīts). Tas ir diezgan sarežģīts jautājums.
Vai kaut kas jāpievieno paskaidrojumam? Skaņas izslēgšana komentāros. Vai vēlaties lasīt vairāk atbildes no citiem tehnoloģiju gudriem Stack Exchange lietotājiem? Apskatiet pilnu diskusiju pavedienu šeit.