If-Koubou

Kuinka odottamattomat sammutukset haittaavat Linux-tietokoneen?

Kuinka odottamattomat sammutukset haittaavat Linux-tietokoneen? (Miten)

Ovatko odottamattomat sammutukset haitallisia Linuxille kuin muillakin käyttöjärjestelmillä? Lue, kun tutkitaan katastrofaalisten järjestelmän pysäytysten vaikutuksia Linux-tiedostojärjestelmissä.

Tämän päivän kysymys- ja vastausistunto tulee meihin SuperUserin hyväksi - Stack Exchangein alaosasto, joka on yhteisöllinen Q & A-sivustojen ryhmittely.

Kysymys

Super User lukija User208554 on utelias Linux-tiedostorakenteista ja huolissaan sovelluksesta / asennuksesta, jota hän työskentelee:

Kehitän sovellusta Linuxin sulautetulla aluksella (Debianin käyttö) esim. Vadelma Pi, Beagle Board / Bone tai olimex. Laudat toimivat ympäristössä, jossa sähkön leikkaus on odottamatonta (se on liian monimutkainen laittaa napauttamalla virtalähdettä jne.) Ja se tapahtuisi päivittäin pari kertaa. Ihmettelen, jos odottamattomat sähkökatkokset aiheuttaisivat ongelmia Linux-käyttöjärjestelmässä? Jos minun pitäisi olla huolissani, mitä ehdotatte estääkseen OS: n vahingoittumisen odottamattomia sähkökatkoksia vastaan?

PS. Sovelluksen täytyy kirjoittaa joitain tietoja tallennusvälineeseen (SD-kortti), mielestäni se ei olisi sopiva asennettavaksi vain luettavaksi.

Joten mikä on tuomiota?

Vastaus

SuperUser-avustaja l0b0 tarjoaa jonkinlaista näkemystä päivitys- / ei-journaling-tiedostojärjestelmistä:

Tämä riippuu

  1. onko käytössä päivitystiedostojärjestelmä ja
  2. kuinka hyvin sovellukset kykenevät käsittelemään keskeytettyä käsittelyä.

Harkitse esimerkiksi sovellusta, joka käsittelee tiedoston ja kirjoittaa tuloksia, kun ne lasketaan (yksi lähtölinja syöttölinjaa kohden) toiseen tiedostoon. Jos tehoa leikataan käsittelyn aikana ja sama sovellus suoritetaan uudelleenkäynnistyksen jälkeen, se ei voi käynnistää uudelleen käsittelyä syöttötiedoston alusta - mikä tarkoittaisi, että tulostustiedosto sisältäisi päällekkäisiä tietoja.

Voisi olla hyvin vaikeaa sanoa mitään selvää hypoteettisesta monimutkaisesta järjestelmästä, mutta vakavin Linux-ohjelmisto näyttää kykenevän käsittelemään kaatumisia melko hyvin.

Stu ehdottaa käyttöjärjestelmän ja tietojen erottelua sekä lisättävän akun varmuuskopiointia:

Jotta OS-korruptio estettäisiin mahdollisimman hyvin, SD-kortille on luultavasti parempi erillinen "järjestelmä" ja "data" -osiot. Näin voit asentaa "system" -osion vain luku -tilaan ja käyttää erittäin joustavaa FS: tä "data" -osiossa.

Lisäksi useimmilla näillä levyillä on erittäin alhainen virrankulutus, joten akun varmuuskopiointi on mahdollista. Raspberry Pi: n "LiPo rider" -levyä voidaan käyttää perus UPS: ksi, joka antaa siistin virrankatkoksen.

Lopuksi Jenny D laajenee lokitiedostojärjestelmän ehdotukseen:

Odottamattomat virransäästöt voivat vahingoittaa tiedostojärjestelmän tietoja - esim. jos prosessi on alkanut kirjoittaa tiedostoon, mutta sitä ei vielä ole kirjoitettu, tiedosto voi päätyä vain puoleen kirjalliseksi. Kuvittele, onko virta katkaistu, kun olet puolivälissä ytimen päivityksen aikana ...

Kuten l0b0 kirjoitti, päiväkirjoitusjärjestelmä auttaa, koska se pystyy seuraamaan, mitä todella on tapahtunut. Sen lisäksi, että wikipedia-tiedot, jotka l0b0 linkittyvät, saatat olla kiinnostunut Do Journaling Filesystemsin takuu korruptiosta Power Failurein jälkeen.

Sinä ohjelmoijina sinun on tietysti harkittava tarkasti, miten käsitellä tiedostoja kirjoittamalla niin, että siitä tulee atomiprosessi (eli se on joko kokonaan tehty tai ei lainkaan tehty, mutta ei koskaan koskaan tehty). Se on melko monimutkainen asia.

Onko jokin asia lisättävä selitykseen? Kuulkaa kommentit. Haluatko lukea lisää vastauksia muilta tech-tajuilta Stack Exchange-käyttäjiltä? Katso koko keskusteluketju täältä.