---
title: Naplózó UFS használata asztali számítógépeken
authors:
  - author: Manolis Kiagias
    email: manolis@FreeBSD.org
  - author: Kiagias
trademarks: ["freebsd", "general"]
---

= Naplózó UFS használata asztali számítógépeken
:doctype: article
:toc: macro
:toclevels: 1
:icons: font
:sectnums:
:source-highlighter: rouge
:experimental:
:images-path: articles/gjournal-desktop/

ifdef::env-beastie[]
ifdef::backend-html5[]
include::shared/authors.adoc[]
include::shared/mirrors.adoc[]
include::shared/releases.adoc[]
include::shared/attributes/attributes-{{% lang %}}.adoc[]
include::shared/{{% lang %}}/teams.adoc[]
include::shared/{{% lang %}}/mailing-lists.adoc[]
include::shared/{{% lang %}}/urls.adoc[]
:imagesdir: ../../../images/{images-path}
endif::[]
ifdef::backend-pdf,backend-epub3[]
include::../../../../shared/asciidoctor.adoc[]
endif::[]
endif::[]

ifndef::env-beastie[]
include::../../../../../shared/asciidoctor.adoc[]
endif::[]

[.abstract-title]
Kivonat

A naplózó állományrendszerek egy napló segítségével rögzítik az összes bennük lezajlott tranzakciót, ezzel igyekszenek megõrizni egy rendszeromlást vagy áramkimaradást követõen a rajtuk tárolt adatok épségét. Noha még így is elõfordulhat, hogy elveszítjük az adott pillanatban el nem mentett változtatásainkat, a naplózás viszont az állományrendszer számára tökéletes védelmet nyújt a rendszer szabálytalan leállása során keletkezõ sérülések ellen. Alkalmazása továbbá jelentõs mértékben lerövidíti a helyreállításhoz szükséges ellenõrzés idejét. A FreeBSD alaprendszerben megtalálható UFS állományrendszer önmagában nem tartalmaz naplózást, azonban a FreeBSD 7._X_ változataiban már megjelent egy olyan GEOM-osztály, amellyel az állományrendszertõl független módon ezt meg tudjuk valósítani. Ebben a cikkben bemutatjuk miként alakítsunk ki UFS alapú naplózást egy hétköznapi asztali számítógépen.

_Fordította: Páli Gábor, utolsó ellenõrzés: 2010.11.28._

'''

toc::[]

[[introduction]]
== Bevezetés

Míg az ipari szervereket általában alaposan felkészítik az esetlegesen bekövetkezõ váratlan leállásokra, addig egy átlagos asztali számítógép teljesen kiszolgáltatott az áramkimaradások, a véletlen újraindítások és minden más olyan beavatkozás számára, amelyek a rendszer nem szabályos leállását eredményezik. A Soft Updates ilyen helyzetekben általában hatékonyan védelmezi az állományrendszert, ez azonban a legtöbb esetben egy hosszadalmasabb háttérbeli ellenõrzést von maga után. Nagyon ritkán viszont az állományrendszer olyan mértékben károsodik, hogy a helyreállításához már felhasználói beavatkozás szükségeltetik és gyakran adatvesztéssel is jár.

A GEOM alrendszerhez nemrég hozzáadott új naplózási képesség az ilyen szituációkban remekül alkalmazható, és ennek köszönhetõen szinte egyáltalán nem igényel idõt a sérült állományrendszer ellenõrzése, illetve gondoskodik a legutolsó stabil állapot villámgyors visszaállításáról.

Ebben a cikkben bemutatunk egy eljárást, amely segítségével UFS állományrendszerekhez tudunk naplózást beállítani hagyományos asztali számítógépeken (feltételezzük, hogy az operációs rendszer és az adatok egyetlen merevlemezen helyezkednek el). A folyamatot a FreeBSD telepítésén keresztül ismertetjük, és olyan lépesekre bontottuk, hogy lehetõleg kerüljük a bonyolultabb parancssori mûveleteket.

A cikk elolvasása során megismerjük:

* a FreeBSD telepítése során hogyan hagyjunk helyet a napló számára;
* hogyan töltsük be és engedélyezzük a `geom_journal` modult (vagy építsük be egy saját rendszermagba);
* hogyan alakítsuk át a már meglevõ állományrendszereinket naplózóvá, az [.filename]#/etc/fstab# állományban milyen beállításokat kell megadnunk a csatlakoztatásukhoz;
* hogyan állítsuk be a naplózást új (üres) partíciókon;
* hogyan oldjuk meg a naplózással kapcsolatban leggyakrabban jelentkezõ problémákat.

A cikk elolvasásához ajánlott:

* a UNIX(R) és a FreeBSD alapvetõ fogalmainak ismerete;
* a FreeBSD telepítés menetének és a Sysinstall alkalmazás ismerete.

[WARNING]
====
Az itt megadott eljárás alapvetõen egy új rendszer telepítésének esetére vonatkozik, ahol még semmilyen felhasználói adatot nem tárolunk a lemezen. Természetesen ez a módszer átültethetõ mûködõ, éles rendszerekre is, azonban ilyenkor mindig készítsünk _biztonsági mentést_ mielõtt nekikezdenénk. Ugyanis amikor ilyen alacsony szinten dolgozunk lemezekkel és partíciókkal, bármilyen hiba könnyedén végzetesnek bizonyulhat az adatainkra nézve.
====

[[understanding-journaling]]
== Naplózás FreeBSD alatt

A FreeBSD 7._X_ változataiban a GEOM részérõl felkínált naplózási lehetõség (eltérõen például a Linux(R) típusú rendszerekben található ext3 állományrendszertõl) nem kötõdik konkrét állományrendszerhez, de blokkok szintjén üzemel. Habár ez arra utal, hogy különbözõ állományrendszerek esetén is használható, a FreeBSD 7.0-RELEASE kiadásában még csak az UFS2 felett mûködik.

Ezt a funkciót a [.filename]#geom_journal.ko# modul betöltésével (vagy rendszermagba építésével) tudjuk aktiválni, majd a `gjournal` paranccsal érjük el az állományrendszerek konfigurációjához szükséges felületet. Általában nagyobb állományrendszereken, például a [.filename]#/usr# partíción érdemes engedélyezni a naplózást. Nem szabad elfelejtenünk, hogy ehhez azonban fenn kell tartanunk némi szabad területet a lemezen (errõl a következõ szakaszban lesz szó).

Amikor egy állományrendszeren bekapcsoljuk a naplózást, magát a naplót is tárolnunk kell valahol a lemezen. A tényleges adatokat tároló lemezterületet __adatterületnek__, míg a naplót tároló területet pedig _naplóterületnek_ nevezzük. Ha egy meglevõ (nem üres) partícióhoz akarunk naplózást társítani, akkor az adat- és naplóterületeknek külön partíciókon kell lenniük. Amikor viszont egy teljesen új partícióhoz kapcsolunk naplózást, lehetõségünk van egyetlen területen tárolni az adatokat és a naplót. Bármelyik esettel is van dolgunk, a `gjournal` parancs a naplózó állományrendszer véglegesített változatát ezen két fajta terület egyesítésébõl hozza létre. Például:

* A [.filename]#/dev/ad0s1f# eszközön található [.filename]#/usr# állományrendszeren szeretnénk naplózást használni (amely már eleve tartalmaz hasznos adatokat).
* A partíciók létrehozása során a [.filename]#/dev/ad0s1g# eszközön lefoglaltunk valamennyi helyet.
* A `gjournal` parancs segítségével készítünk egy [.filename]#/dev/ad0s1f.journal# eszközt, ahol a [.filename]#/dev/ad0s1f# eszközön tároljuk az adatokat és a [.filename]#/dev/ad0s1g# eszközön a naplót. A továbbiakban ezt az új eszközt fogjuk használni.

A napló számára fenntartott hely mennyisége nem az adatok méretétõl, hanem az állományrendszer terheltségétõl függ. Például egy átlagos irodai számítógép esetén a [.filename]#/usr# állományrendszerhez nagyjából egy 1 GB méretû naplózási terület remekül megfelel, viszont egy terheltebb rendszer (amellyel például videoanyagok vágását végezzük) számára ennél több kellhet. A naplóterület idõ elõtti kimerülése a rendszermag összeomlásával jár.

[NOTE]
====
A cikkben javasolt méretek használatával nagyon valószínûtlen, hogy hétköznapi feladataink (böngészés az interneten, szövegszerkesztés, különbözõ multimédia anyagok lejátszása) közben bármilyen problémát észlelnénk. Ha viszont a lemezünk tartósabb terhelés alatt van, a következõ szabály betartásával érhetjük el a legjobb eredményt: a számítógépünkben levõ központi memória teljes tartalmának mindig el kell tudnia férni a naplóterület egyharmadán. Tehát például ha a rendszerünk 1 GB memóriával rendelkezik, akkor egy közel 3,3 GB méretû naplóterület ajánlott. (Általánosan: Úgy kapjuk meg a naplóterület méretét, ha megszorozzuk a memória méretet 3,3-mal.)
====

A naplózásról részleteiben a man:gjournal[8] man oldalon olvashatunk.

[[reserve-space]]
== A FreeBSD telepítése során elvégzendõ lépések

=== Lemezterület lefoglalása a naplónak

Az asztali számítógépekben többnyire csupán egyetlen merevlemez található, amelyen maga az operációs rendszer és az adatok helyezkednek el. A Sysinstall által felajánlott alapértelmezett partícionálási séma alkalmassága vitatható: egy asztali gép esetén például nincs szükségünk akkora [.filename]#/var# partícióra, viszont a [.filename]#/usr# foglalja el a merevlemez legnagyobb részét, hiszen a felhasználók adatai és a rendszerre telepített csomagok ide fognak kerülni.

Az alapértelmezés szerinti felosztás (amely a Disklabel partíciószerkesztõben az kbd:[A] billentyûvel érhetõ el) nem hagy semennyi lemezterületet szabadon. Ahány partíciót naplózással akarunk ellátni, annyi további partícióra lesz szükségünk a naplókhoz. Mivel a [.filename]#/usr# lesz közülük a legnagyobb, próbáljuk meg ezen partíció méretének csökkentésével helyet csinálni a naplónak.

A példában most egy 80 GB méretû lemezt láthatunk. Az ábrán most a telepítés közben a Disklabel szerint alapértelmezetten kiosztott partíciókat láthatjuk:

image::disklabel1.png[]

Amennyiben ez körülbelül megfelelõ a számunkra, akkor innen már nagyon egyszerû elõkészíteni a napló helyét. A nyilak használatával válasszuk ki a [.filename]#/usr# partíciót és a kbd:[D] billentyû lenyomásával töröljük le.

Ezután válasszuk ki a képernyõ felsõ részében a lemez nevét, majd a kbd:[C] billentyû lenyomásával hozzunk létre egy új partíciót a [.filename]#/usr# számára. Ez viszont legyen most 1 GB-tal (ha napló csak a [.filename]#/usr# mellé lesz) vagy 2 GB-tal (ha egyaránt naplózni akarjuk a [.filename]#/usr# és [.filename]#/var# partíciókat is) kisebb. A felbukkanó ablakban válasszuk az állományrendszer létrehozását és a [.filename]#/usr# könyvtárat adjuk meg csatlakozási pontként.

[NOTE]
====
Szükségünk van-e naplóra a [.filename]#/var# partícióhoz? A naplózásnak alapvetõen csak óriási méretû partíciók esetében van értelme. Ennek megfelelõen nem kell feltétlenül engedélyeznünk a naplózást a [.filename]#/var# partíción is, habár egy asztali gép esetében ez sosem árthat. Ha ezt az állományrendszert alig használjuk (ami nagyon valószínû egy asztali gépnél), kevesebb területet is rendelhetünk a naplóhoz.

A példánkban a [.filename]#/usr# és [.filename]#/var# partíciókhoz is kapcsoltunk naplókat. Természetesen a módszer ezen lépése igény szerint megváltoztatható.
====

Mivel továbbra sem szeretnénk elbonyolítani a lépéseket, ezért a naplózás bevezetéséhez szükséges partíciók létrehozását szintén a Sysinstall segítésével végezzük. A telepítés közben a Sysinstall feltétlenül ragaszkodik ahhoz, hogy minden létrehozott partícióhoz csatlakozási pontot is megadjunk. A naplókat tároló partíciókhoz viszont ilyen nem tartozik, sõt, __egyáltalán nem is kell__. Ezek ugyanis nem olyan hétköznapi partíciók, amelyeket bármikor is csatlakoztatni fogunk.

A Sysinstall használata során ezt a problémát úgy tudjuk elkerülni, ha a naplózásnak szánt partíciókat lapozóterületként adjuk meg. A lapozóterületet sem kell soha csatlakoztatni, és a Sysinstall ezekbõl tetszõleges mennyiségût képes készíteni. A telepítést követõ újraindítás után természetesen majd át kell szerkesztenünk az [.filename]#/etc/fstab# állományban az így létrehozott partíciók jellemzõit.

Lapozóterület kialakításához ismét a nyílbillentyûk használatával navigáljunk a Disklabel alkalmazáshoz tartozó képernyõ felsõ részébe és válasszuk ki a lemez nevét. Ezután nyomjuk le az kbd:[N] billentyût, majd adjuk meg a kívánt méretet (_1024M_) és a következõ menübõl válasszuk a "swap space" (lapozóterület) típust. Ismételjük meg az iménti mûveletet az összes napló esetén. A példánkban ezen a módon készítettünk egy naplót a [.filename]#/usr#, és még egyet a [.filename]#/var# állományrendszer számára. A végeredmény a következõ képen látható:

image::disklabel2.png[]

Javasoljuk, ahogy befejeztük a partíciók létrehozását, jegyezzük fel a neveiket és a hozzá tartozó csatlakozási pontokat, így a soron következõ konfigurációs lépésekben könnyebben tudunk majd velük dolgozni. Ez egyben segít mérsékelni a telepítést károsító hibák elkövetésének esélyét. A következõ táblázatban a példában említett konfigurációhoz vettük fel ezeket az adatokat:

.Partíciók és naplók
[cols="1,1,1", options="header"]
|===
| Partíció
| Csatlakozási pont
| Napló

|ad0s1d
|/var
|ad0s1h

|ad0s1f
|/usr
|ad0s1g
|===

Ezután a megszokott módon folytassuk a telepítést. Javasoljuk azonban, hogy a külsõ alkalmazásokat (csomagokat) addig még ne tegyünk fel a rendszerünkre, amíg teljesen be nem fejeztük a naplózás beállítását.

[[first-boot]]
=== A rendszer elsõ indítása

A rendszerünk a szokásos módon fog indulni, de a naplók számára hozzáadott plusz lapozóterületekhez tartozó bejegyzéseket el kell távolítanunk az [.filename]#/etc/fstab# állományból. A lapozóterületek közül ténylegesen lapozásra általában a "b" (tehát a példánkban az [.filename]#ad0s1b#) partíciót érdemes meghagyni. Az összes többit egyszerûen töröljük ki, indítsuk újra a rendszerünket és a FreeBSD már nem fogja tovább használni ezeket.

Ahogy a rendszer újra elindul, készen is állunk a naplózás beállítására.

[[configure-journal]]
== A naplózás beállítása

[[running-gjournal]]
=== A `gjournal` futtatása

A naplózást nagyon könnyû lesz beállítani miután már elõkészítettük az ehhez szükséges partíciókat. Váltsunk át egyfelhasználós módba, tehát jelentkezzünk be `root` felhasználóként és gépeljük be:

[source,shell]
....
# shutdown now
....

Ezután az kbd:[Enter] billentyû lenyomásával megkapjuk az alapértelmezett parancsértelmezõt. Válasszuk le azokat a partíciókat, amelyeken engedélyezni kívánjuk a naplózást. Ezek a példánkban a [.filename]#/usr# és [.filename]#/var# partíciók voltak:

[source,shell]
....
# umount /usr /var
....

Töltsük be a naplózáshoz szükséges modult:

[source,shell]
....
# gjournal load
....

Most pedig a korábbi feljegyzéseink alapján állapítsuk meg melyik naplóhoz melyik partíciót fogjuk rendelni. A példánkban a [.filename]#/usr# csatlakozási ponthoz az [.filename]#ad0s1f# eszköz tartozik, és ennek a naplója az [.filename]#ad0s1g# eszköz lesz, miközben a [.filename]#/var# ponthoz az [.filename]#ad0s1d# eszközt rendeltük, és ezt az [.filename]#ad0s1h# eszközön naplózzuk. Ennek megfelelõen a következõ parancsokat kell kiadnunk:

[source,shell]
....
# gjournal label ad0s1f ad0s1g
GEOM_JOURNAL: Journal 2948326772: ad0s1f contains data.
GEOM_JOURNAL: Journal 2948326772: ad0s1g contains journal.

# gjournal label ad0s1d ad0s1h
GEOM_JOURNAL: Journal 3193218002: ad0s1d contains data.
GEOM_JOURNAL: Journal 3193218002: ad0s1h contains journal.
....

[NOTE]
====
A `gjournal` hibát fog jelezni, ha bármelyik partíció utolsó szektora már használatban van. Ilyen helyzetekben az `-F` kapcsoló segítségével felülírásra tudjuk kényszeríteni a parancsot, mint például:

[source,shell]
....
# gjournal label -f ad0s1d ad0s1h
....

Mivel most telepítettük a rendszerünket, elég kicsi a valószínûsége, hogy így bármit is ténylegesen felülírnánk.
====

Létrejött két új eszköz, név szerint az [.filename]#ad0s1d.journal# és az [.filename]#ad0s1f.journal#. Ezek képviselik azokat a [.filename]#/var# és [.filename]#/usr# partíciókat, amelyeket valójában csatlakoztatnunk kell. A csatlakoztatásuk elõtt azonban állítsuk be hozzájuk a naplózást és tiltsuk le a Soft Updates használatát:

[source,shell]
....
# tunefs -J enable -n disable ad0s1d.journal
tunefs: gjournal set
tunefs: soft updates cleared

# tunefs -J enable -n disable ad0s1f.journal
tunefs: gjournal set
tunefs: soft updates cleared
....

Ezt követõen parancssorból csatlakoztassuk az új eszközöket a nekik megfelelõ pontokra (itt most már használhatjuk az `async` beállítást):

[source,shell]
....
# mount -o async /dev/ad0s1d.journal /var
# mount -o async /dev/ad0s1f.journal /usr
....

Nyissuk meg az [.filename]#/etc/fstab# állományt, és az elõbbiek szerint javítsuk ki a [.filename]#/usr# és a [.filename]#/var# állományrendszerekhez tartozó bejegyzéseket:

[.programlisting]
....
/dev/ad0s1f.journal     /usr            ufs     rw,async      2       2
/dev/ad0s1d.journal     /var            ufs     rw,async      2       2
....

[WARNING]
====
Figyelmesen ellenõrizzük a bejegyzéseket, mert ha hibásan adjuk meg ezeket, akkor az újraindítás után gondok lehetnek a rendszer indításával!
====

Végezetül gondoskodjunk róla, hogy a man:gjournal[8] modul minden egyes indítás során betöltõdjön. Ehhez nyissuk meg a [.filename]#/boot/loader.conf# állományt és adjuk hozzá a következõ sort:

[.programlisting]
....
geom_journal_load="YES"
....

Gratulálunk, sikeresen beállítottuk a rendszerünkön a naplózást! Innen vagy az `exit` begépelésével lépjünk vissza a többfelhasználós módba, vagy egy újraindítással próbáljuk ki a konfiguráció eredményét (mi ezt javasoljuk). A rendszerindítás során a következõhöz hasonló üzeneteket kell majd látnunk:

[source,shell]
....
ad0: 76293MB XEC XE800JD-00HBC0 08.02D08 at ata0-master SATA150
GEOM_JOURNAL: Journal 2948326772: ad0s1g contains journal.
GEOM_JOURNAL: Journal 3193218002: ad0s1h contains journal.
GEOM_JOURNAL: Journal 3193218002: ad0s1d contains data.
GEOM_JOURNAL: Journal ad0s1d clean.
GEOM_JOURNAL: Journal 2948326772: ad0s1f contains data.
GEOM_JOURNAL: Journal ad0s1f clean.
....

Szabálytalan leállások esetén az iménti üzenetek némileg változhatnak, például:

[source,shell]
....
GEOM_JOURNAL: Journal ad0s1d consistent.
....

Ez általában arra utal, hogy a man:gjournal[8] a naplóterületen tárolt információk segítségével helyreállította az állományrendszert.

[[gjournal-new]]
=== A naplózás engedélyezése frissen létrehozott partíciókon

Míg az elõbbiekben tárgyalt megoldást leginkább olyan partíciók esetén alkalmazhatjuk, amelyek már eleve tartalmaznak adatokat, addig egy újonnan létrehozott partíciót némileg könnyebb naplózással ellátni, mivel ilyenkor az adat- és a naplóterület egyazon partíción is kialakítható. Például most tegyük fel, hogy hozzáadtunk egy újabb lemezt a rendszerünkhöz, amelyen készítettünk egy új [.filename]#/dev/ad1s1d# nevû partíciót. A napló létrehozása ekkor csupán ennyi:

[source,shell]
....
# gjournal label ad1s1d
....

A napló mérete alapértelmezés szerint 1 GB lesz, amelyet viszont a `-s` opció használatával tetszés szerint átállíthatunk. Az értéket megadhatjuk byte-okban, vagy a `K`, `M`, illetve `G` hozzáfûzésével kilobyte-okban, megabyte-okban, illetve gigabyte-okban is. Arra azonban figyeljünk, hogy a `gjournal` nem enged túlságosan kis méretû naplót létrehozni.

Például egy 2 GB méretû napló az alábbi paranccsal hozható létre:

[source,shell]
....
# gjournal label -s 2G ad1s1d
....

Mellé hozzunk létre egy állományrendszert az új partíción, ahol a `-J` kapcsolóval engedélyezzük a naplózást:

[source,shell]
....
# newfs -J /dev/ad1s1d.journal
....

[[configure-kernel]]
=== A naplózás támogatásának beépítése a rendszermagba

Amennyiben nem kívánjuk betölteni a `geom_journal` modult, lehetõségünk van közvetlenül a rendszermagba beépíteni a hozzá tartozó funkcionalitást. Ehhez nyissunk meg (vagy hozzunk létre) egy saját rendszermag-konfigurációs állományt, és vegyük fel benne a következõ két sort:

[.programlisting]
....
options UFS_GJOURNAL # Megjegyzés: Ez része a GENERIC rendszermagnak
options GEOM_JOURNAL # Ezt se felejtsük ki
....

A extref:{handbook}kernelconfig[FreeBSD kézikönyvben, kernelconfig] szereplõ utasítások mentén fordítsuk le és telepítsük az új rendszermagot.

Ha korábban használtuk volna a modult, akkor ezzel együtt ne felejtsük el kivenni a [.filename]#/boot/loader.conf# állományból sem a hozzá tartozó sort.

[[troubleshooting-gjournal]]
== A naplózás használata során felmerülõ hibák kezelése

Ebben a szakaszban a naplózás alkalmazásakor jelentkezõ gondokra vonatkozó gyakran ismételt kérdéseket foglaljuk össze.

=== A rendszer folyamatosan összeomlik komolyabb lemezterhelés mellett. Van ennek valamilyen köze a naplózáshoz?

A napló ilyenkor valószínûleg gyorsabban betelik, mint ahogy kiíródhatna a lemezre. Nem szabad elfeledkeznünk róla, hogy a napló méretének sosem az adatterület méretével kell arányosnak lennie, hanem a lemez terheltségével. Ha tehát a lemezeink nagyobb terhelés alatt vannak, akkor egy nagyobb területet kell hozzárendelnünk a naplóhoz. Ezzel kapcsolatban lásd a <<understanding-journaling>> címû szakaszt.

=== Valamit nem sikerült rendesen beállítani a konfiguráció során, ezért most nem indul a rendszer. Meg lehet valahogy javítani?

Ilyenkor vagy elfelejtettük (vagy netalán elírtuk) a [.filename]#/boot/loader.conf# állományban szükséges bejegyzést, vagy az [.filename]#/etc/fstab# állományunk hibákat tartalmaz. Az ilyen jellegû problémákat viszonylag könnyû helyrehozni. Az kbd:[Enter] billentyû lenyomásával hozzuk elõ az egyfelhasználós módhoz tartozó parancsértelmezõt. Ha ez sikerült, akkor kutassuk fel a probléma okát:

[source,shell]
....
# cat /boot/loader.conf
....

Ha innen hiányzik vagy nem helyesen szerepel a `geom_journal_load` bejegyzés, akkor a naplózás használatához szükséges eszközök nem fognak létrejönni. Töltsük be a modult manuálisan, csatlakoztassuk az összes partíciót és folytassuk a többfelhasználós mód indítását:

[source,shell]
....
# gjournal load

GEOM_JOURNAL: Journal 2948326772: ad0s1g contains journal.
GEOM_JOURNAL: Journal 3193218002: ad0s1h contains journal.
GEOM_JOURNAL: Journal 3193218002: ad0s1d contains data.
GEOM_JOURNAL: Journal ad0s1d clean.
GEOM_JOURNAL: Journal 2948326772: ad0s1f contains data.
GEOM_JOURNAL: Journal ad0s1f clean.

# mount -a
# exit
(a rendszerindítás folytatódik)
....

Ha viszont ezzel a bejegyzéssel kapcsolatban semmilyen hibát nem találtunk, akkor nézzük meg az [.filename]#/etc/fstab# állományt. Akkor valószínûleg itt fogunk találni egy hibásan beírt vagy éppen hiányzó bejegyzést. Amennyiben errõl lenne szó, csatlakoztassuk kézzel a fennmaradó partíciókat és folytassuk a többfelhasználós mód indítását.

=== Visszavonható a naplózás, vissza lehet valahogy térni a Soft Updates használatához?

Hogyne. A most következõ módszer segítségével megfordítható az egész folyamat. Miután végeztünk, a naplózás részére korábban kialakított partíciók tetszés szerint felhasználhatóak.

Jelentkezzük be `root` felhasználóként és váltsunk egyfelhasználós módba:

[source,shell]
....
# shutdown now
....

Válasszuk le a naplózást alkalmazó partíciókat:

[source,shell]
....
# umount /usr /var
....

Írassuk ki lemezre a naplók tartalmát:

[source,shell]
....
# gjournal sync
....

Állítsuk le a naplózóterületek használatát:

[source,shell]
....
# gjournal stop ad0s1d.journal
# gjournal stop ad0s1f.journal
....

Töröljük le az eszközökön tárolt összes naplózási metainformációt:

[source,shell]
....
# gjournal clear ad0s1d
# gjournal clear ad0s1f
# gjournal clear ad0s1g
# gjournal clear ad0s1h
....

Tiltsuk le az állományrendszer naplózását és állítsuk vissza a Soft Updates használatát:

[source,shell]
....
# tunefs -J disable -n enable ad0s1d
tunefs: gjournal cleared
tunefs: soft updates set

# tunefs -J disable -n enable ad0s1f
tunefs: gjournal cleared
tunefs: soft updates set
....

Manuálisan csatlakoztassuk újra a régi eszközöket:

[source,shell]
....
# mount -o rw /dev/ad0s1d /var
# mount -o rw /dev/ad0s1f /usr
....

Az [.filename]#/etc/fstab# állományban állítsunk vissza mindent az eredeti állapotába:

[.programlisting]
....
/dev/ad0s1f     /usr            ufs     rw      2       2
/dev/ad0s1d     /var            ufs     rw      2       2
....

Végül a [.filename]#/boot/loader.conf# állományból távolítsuk el a `geom_journal` modul betöltésére vonatkozó bejegyzést és indítsuk újra a rendszert.

[[further-reading]]
== Ajánlott olvasmányok

A naplózás még viszonylag újdonságnak számít a FreeBSD esetében, ezért nem feltétlenül találunk róla túlságosan sok dokumentációt. Ettõl függetlenül azonban a következõ források elolvasása azért hasznosnak bizonyulhat:

* A FreeBSD kézikönyv naplózással foglalkozó extref:{handbook}geom[szakasza, geom-gjournal].
* `{pjd}`, a man:gjournal[8] fejlesztõjének a {freebsd-current} levelezési listára küldött http://lists.freebsd.org/pipermail/freebsd-current/2006-June/064043.html[levele].
* `{ivoras}` a {freebsd-questions} levelezési listára küldött http://lists.freebsd.org/pipermail/freebsd-questions/2008-April/173501.html[levele].
* A man:gjournal[8] és man:geom[8] man oldalak.
