A FreeBSD 7.0-ás verziójának megjelenésével egy rég várt kiegészítés, a naplózó UFS végre elérhetővé válik. 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.X 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 label /dev/da4 # gjournal load
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 naplózó UFS2 állományrendszert.
Csatoljuk is be a mount segítségével az eszközt kívánt csatlakozási pontra:
# mount /dev/da4.journal /mnt
Megjegyzés: 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. Abban az esetben, ha kétszer futattjuk le a parancsot, az eredmény “journals” lesz.
Bizonyos körülmények között 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): <freebsd-questions@FreeBSD.org>.
Ha ezzel a dokumentummal kapcsolatban van kérdése,
kérjük erre a címre írjon: <gabor@FreeBSD.org>.