Journalointi on tiedostojärjestelmän mekanismi, jossa tiedostojärjestelmä ylläpitää erikoistunutta tiedostoa (loki, journali), jolla voidaan korjata epäjohdonmukaisuudet tiedostojärjestelmässä.[1] Tarve korjauksille johtuu yleensä tietokoneen epänormaalista sammuttamisesta virransyötön häiriön tai ohjelmistovian seurauksena.[1]
Tiedostojärjestelmät vaativat useita vaiheita yksinkertaiseen kirjoitusoperaatioon:[2]
Järjestelmän keskeyttäminen ennen operaatioiden valmistumista johtaa levyjärjestelmän korruptoitumiseen (ei-eheään tilaan).[2]
Journaloinnin tavoite on tehdä tiedostojärjestelmästä vikasietoisempi ja välttää korruptoitumista.[3] Menetelmä toimii pitämällä journalissa tiedossa muutoksia, jotka ovat tulossa tiedostojärjestelmään, jolloin journalin tietoihin palaamalla vältetään järjestelmän korruptoituminen.[3] Ennen muutoksia levyllä oleviin tietoihin journaliin kirjoitetaan tehtävät muutokset.[1][4] Kun journaliin on tallennettu täydet tiedot (merkitään ”commit record” tiedolla) voi käyttöjärjestelmä tehdä päivitykset levylle omaan tahtiin.[4] Koska kiintolevyillä on suuret välimuistit ja ne voivat järjestää operaatiota uudelleen on journalin päivityksestä oltava erityisen huolellinen.[4]
Journalointia kutsutaan myös etukäteen kirjoitettavaksi logiksi (engl. write-ahead logging).[5] Journalointi voidaan toteuttaa fyysisenä tai loogisena: fyysisessä kaikki kirjoitetaan kahdesti, joka voi olla hidasta, kun taas loogisessa journaloinnissa vain metadata kirjoitetaan journaliin.[5]
Journalointia voidaan käyttää eri toimintatiloissa:[3]
Ilman journalointia tiedostojärjestelmän eheyttäminen erilaisilla työkaluilla, kuten fsck Unixin kaltaisissa järjestelmissä, on hitaampaa eikä välttämättä yhtä tuloksellista.[5]
<ref>
-elementti; viitettä linfo
ei löytynyt<ref>
-elementti; viitettä lj
ei löytynyt<ref>
-elementti; viitettä idw
ei löytynyt<ref>
-elementti; viitettä lwn
ei löytynyt<ref>
-elementti; viitettä ostep
ei löytynyt