A FreeBSD 7.0-ás verziójának megjelenésével egy rég várt kiegészítés, a naplózás vált végre elérhetővé vált. Maga az implementáció a GEOM alrendszeren keresztül érhető el, és a gjournal(8) segédprogram segítségével könnyedén beállítható.
Mit is jelent a naplózás? A naplózás támogatásával a rendszer egy naplót vezet az állományrendszert érintő tranzakciókról - például az olyan változtatásokról, amelyek egy komplett írási műveletet eredményeznek - mielőtt még a metaadatok és lemezírási műveletek szabályosan befejeződnének. Ez a könyvelés később visszajátszható az állományrendszerben lezajlott tranzakciók reprodukálásához, és ezzel megelőzhetőek az állományrendszerben keletkező esetleges ellentmondások.
Ez egy újabb módszer az adatvesztés és az állományrendszerben előforduló ellentmondások elkerülésére. Eltérően a Soft Updates módszertől, ahol a metaadatok frissítését biztosítják és követik nyomon, vagy a Snapshots módszertől, ahol pillanatképeket tárolunk az állományrendszerről, itt egy konkrét naplót tárolunk a lemez erre a célra fenntartott részén, amely bizonyos esetekben akár egy teljes külön merevlemez is lehet.
Ellentétben a többi naplózó
állományrendszertől, a
gjournal
módszere blokk alapú
és nem az állományrendszer
részeként került implementálásra
- csupán a GEOM egyik
bővítménye.
A gjournal
támogatásához a FreeBSD rendszermag
konfigurációs állományában be
kell állítani a következő opciót
- amely a 7.0 és későbbi rendszereken
alapbeállítás:
options UFS_GJOURNAL
Amennyiben naplózással rendelkező
köteteket szeretnénk a rendszerindítás
során csatlakoztatni, a
/boot/loader.conf
állományban
következő sor hozzáadásával
töltessük be a geom_journal.ko
modult:
geom_journal_load="YES"
Szükség esetén ezt a funkciót akár a rendszermagba is beépíthetjük, ha felvesszük a következő sort a rendszermag konfigurációs állományába:
options GEOM_JOURNAL
Ha ezt aktiváltuk, egy szabad
állományrendszeren az alábbi
lépéseken keresztül tudunk létrehozni
egy naplót, feltéve, hogy a
da4
egy új
SCSI-meghajtó:
#
gjournal load
#
gjournal label /dev/ad4
Ennél a pontnál lennie kell egy
/dev/da4
és egy
/dev/da4.journal
eszközleírónak. Hozzunk létre egy
állományrendszert ezen az eszközön:
#
newfs -O 2 -J /dev/da4.journal
Ez a parancs létrehoz egy UFS2 állományrendszert a naplóval rendelkező eszközön.
Csatoljuk is be a mount
segítségével az eszközt
kívánt csatlakozási pontra:
#
mount /dev/da4.journal /mnt
Ha több slice-unk is van, akkor a napló
mindegyik slice-hoz külön létrejön.
Például, ha az ad4s1
és ad4s2
egyaránt
slice-ok, akkor a gjournal
legyártja
az ad4s1.journal
és
ad4s2.journal
eszközleírókat.
A jobb teljesítmény elérése
érdekében kívánatos lehet a
naplót egy másik lemezen tartani. Ilyen esetekben a
naplózás bekapcsolásához a
naplót biztosító szolgáltatót
vagy tárolóeszközt a naplózni
kívánt eszköz után kell szerepeltetni.
A naplózás akár az aktuálisan
használt állományrendszeren is
aktiválható a tunefs
használatával. Az állományrendszer
módosításakor viszont mindig érdemes
biztonsági másolatot készíteni! Az
esetek többségében a
gjournal
hibát fog jelezni, mivel nem
tudja létrehozni a naplót, azonban ez nem
védi meg az adatainkat a tunefs
helytelen használata által okozott
sérülésektől.
A rendszerindító lemezen is lehet naplózást használni. Ennek részleit a Naplózó UFS használata asztali számítógépeken című cikkből ismerhetjük meg.
Ha kérdése van a FreeBSD-vel kapcsolatban, a
következő címre írhat (angolul):
<questions@FreeBSD.org>.
Ha ezzel a dokumentummal kapcsolatban van kérdése, kérjük erre a címre írjon:
<gabor@FreeBSD.org>.