4. A naplózás beállítása

4.1. 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:

# shutdown now

Ezután az 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 /usr és /var partíciók voltak:

# umount /usr /var

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

# 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 /usr csatlakozási ponthoz az ad0s1f eszköz tartozik, és ennek a naplója az ad0s1g eszköz lesz, miközben a /var ponthoz az ad0s1d eszközt rendeltük, és ezt az ad0s1h eszközön naplózzuk. Ennek megfelelően a következő parancsokat kell kiadnunk:

# 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.

Megjegyzés: 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:

# 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 ad0s1d.journal és az ad0s1f.journal. Ezek képviselik azokat a /var és /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:

# 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):

# mount -o async /dev/ad0s1d.journal /var
# mount -o async /dev/ad0s1f.journal /usr

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

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

Figyelem: 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 gjournal(8) modul minden egyes indítás során betöltődjön. Ehhez nyissuk meg a /boot/loader.conf állományt és adjuk hozzá a következő sort:

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:

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:

GEOM_JOURNAL: Journal ad0s1d consistent.

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

4.2. 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 /dev/ad1s1d nevű partíciót. A napló létrehozása ekkor csupán ennyi:

# 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:

# 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:

# newfs -J /dev/ad1s1d.journal

4.3. 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:

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

A FreeBSD kézikönyvben 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 /boot/loader.conf állományból sem a hozzá tartozó sort.

Ha kérdése van a FreeBSD-vel kapcsolatban, a következő címre írhat (angolul): <freebsd-questions@FreeBSD.org>.
Ha ezzel a dokumentummal kapcsolatban van kérdése, kérjük erre a címre írjon: <gabor@FreeBSD.org>.