If-Koubou

Kā negaidīti slēgumi var kaitēt Linux datoram?

Kā negaidīti slēgumi var kaitēt Linux datoram? (Kā)

Vai negaidīta slēgšana ir kaitīga Linux, jo tā ir citās operētājsistēmās? Lasiet tālāk, kad pētām katastrofālas sistēmas izslēgšanas ietekmi uz Linux failu sistēmām.

Šodienas jautājumu un atbilžu sesija mums priecājas par SuperUser - Stack Exchange dalību, kas ir kopienas vadīta Q & A tīmekļa vietņu grupa.

Jautājums

SuperUser lasītājs User208554 ir ieinteresēts par Linux failu struktūru un norūpējies par lietotni / instalāciju, uz kuru viņš strādā:

Es izstrādāju lietojumprogrammu Linux iegulto dēli (darbojas Debian), piemēram, Aveņu Pi, Beagle Board / Kaulu vai olimex. Dēļi strādā vidē, kurā negaidīti tiek sagriezta elektrība (pārāk sarežģīti izvietot barošanas bloku utt.) Un tas notiks katru dienu pāris reizes. Es domāju, vai neparedzētie jaudas samazinājumi varētu radīt Linux operētājsistēmas problēmas? Ja tas ir kaut kas, par ko man būtu jāuztraucas, ko jūs ieteiktu novērst OS bojājumus pret negaidītajām jaudas samazinājumiem?

PS Lietojumam ir jāuzraksta dati uz datu nesēju (SD karte), es domāju, ka tas nebūtu piemērots, lai uzstādītu to kā lasāmvielu.

Tātad, kāds ir spriedums?

Atbilde

SuperUser ieguldītājs l0b0 piedāvā dažus ieskatus žurnālu veidošanas / neoficiālās failu sistēmās:

Tas būtu atkarīgs no

  1. vai jūs izmantojat žurnālu failu sistēmu un
  2. cik labi pieteikumi var apstrādāt pārtrauktās apstrādes.

Apsveriet, piemēram, lietojumprogrammu, kas apstrādā failu un raksta rezultātus, kā tos aprēķina (viena izvades līnija uz ievades līniju) uz citu failu. Ja strāvas padeve tiek pārtraukta apstrādes laikā un tā pati programma tiek palaista pēc restartēšanas, tā var ne tikai restartēt apstrādi no ievades faila sākuma - tas nozīmētu, ka izvades fails satur dublējošu informāciju.

Tas varētu būt ļoti grūti pateikt kaut ko noteiktu par hipotētisku sarežģītu sistēmu, bet lielākā daļa stabilās Linux programmatūras, šķiet, ir spējīgi kārtot avārijas diezgan labi.

Stu iesaka atdalīt operētājsistēmu un datus, kā arī pievienot akumulatora dublējumkopiju:

Lai palīdzētu samazināt OS korupcijas iespējamību, visticamāk vislabāk ir izveidot atsevišķas "sistēmas" un "datu" sadaļas SD kartē. Tādā veidā jūs varat uzstādīt "sistēmas" nodalījumu tikai lasīšanai un "datu" nodalījumā izmantot augsti elastīgu FS.

Turklāt lielākajai daļai šo dēļu ir ļoti mazas jaudas prasības, tādēļ ir iespējama akumulatora dublēšana. Raspberry Pi "LiPo" braucējs var tikt izmantots kā pamata UPS, lai nodrošinātu tīru izslēgšanos no jaudas zuduma.

Visbeidzot, Jenny D izvērš žurnālfailu sistēmas ieteikumu:

Neparedzēti enerģijas samazinājumi var izraisīt failu sistēmas datu bojājumus, piemēram, ja process ir sākusi rakstīt failu, bet vēl nav to pabeidzis, failā var būt tikai puse rakstīts. Tagad iedomājieties, ja strāvas padeve tiek pārtraukta, ja jūs pusei veicat kodola jaunināšanu ...

Kā rakstīja l0b0, palīdzēs izmantot žurnālu failu sistēmu, jo tā varēs sekot tam, kas faktiski ir iegūts. Papildus wikipedia informācijai, kas saistīta ar l0b0, jūs, iespējams, interesē Vai žurnālu failu sistēmas garantē korupciju pēc jaudas neveiksmes, kā arī.

Jums kā programmētājam, protams, ir rūpīgi jāizvērtē, kā rīkoties ar failu rakstīšanu, lai tas kļūtu par atomu procesu (t.i., tas ir vai nu pilnīgi pabeigts, vai arī vispār nav paveikts, bet nekad nav pabeigts). Tas ir diezgan sarežģīts jautājums.

Vai kaut ko pievienot paskaidrojumam? Skatieties komentāros. Vēlaties lasīt citas atbildes no citiem tehnoloģiju savvy Stack Exchange lietotājiem? Šeit skatiet pilnu diskusiju pavedienu.