1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
|
<?xml version="1.0" encoding="iso-8859-2" standalone="no"?>
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V4.5-Based Extension//EN"
"../../../share/xml/freebsd45.dtd">
<!-- $FreeBSD$ -->
<!--
Implementing UFS Journaling on a desktop PC
The FreeBSD Documentation Project
-->
<!-- The FreeBSD Hungarian Documentation Project
Translated by: PALI, Gabor <pgj@FreeBSD.org>
%SOURCE% en_US.ISO8859-1/articles/gjournal-desktop/article.xml
%SRCID% 1.5
-->
<article lang="hu">
<articleinfo>
<title>Naplózó UFS használata asztali
számítógépeken</title>
<author>
<firstname>Manolis</firstname>
<surname>Kiagias</surname>
<affiliation>
<address><email>manolis@FreeBSD.org</email></address>
</affiliation>
</author>
<copyright>
<year>2008</year>
<holder role="mailto:manolis@FreeBSD.org">Manolis Kiagias</holder>
</copyright>
<pubdate>$FreeBSD$</pubdate>
<releaseinfo>$FreeBSD$</releaseinfo>
<legalnotice id="trademarks" role="trademarks">
&tm-attrib.freebsd;
&tm-attrib.general;
</legalnotice>
<abstract>
<para>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
&os; alaprendszerben megtalálható UFS
állományrendszer önmagában nem
tartalmaz naplózást, azonban a
&os; 7.<replaceable>X</replaceable> 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.</para>
<para><emphasis>Fordította: Páli Gábor,
utolsó ellenõrzés:
2010.11.28.</emphasis></para>
</abstract>
</articleinfo>
<sect1 id="introduction">
<title>Bevezetés</title>
<para>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.</para>
<para>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.</para>
<para>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 &os; telepítésén
keresztül ismertetjük, és olyan lépesekre
bontottuk, hogy lehetõleg kerüljük a bonyolultabb
parancssori mûveleteket.</para>
<para>A cikk elolvasása során megismerjük:</para>
<itemizedlist>
<listitem>
<para>a &os; telepítése során hogyan
hagyjunk helyet a napló számára;</para>
</listitem>
<listitem>
<para>hogyan töltsük be és
engedélyezzük a <literal>geom_journal</literal>
modult (vagy építsük be egy saját
rendszermagba);</para>
</listitem>
<listitem>
<para>hogyan alakítsuk át a már
meglevõ állományrendszereinket
naplózóvá, az
<filename>/etc/fstab</filename> állományban
milyen beállításokat kell megadnunk a
csatlakoztatásukhoz;</para>
</listitem>
<listitem>
<para>hogyan állítsuk be a naplózást
új (üres) partíciókon;</para>
</listitem>
<listitem>
<para>hogyan oldjuk meg a naplózással kapcsolatban
leggyakrabban jelentkezõ problémákat.</para>
</listitem>
</itemizedlist>
<para>A cikk elolvasásához ajánlott:</para>
<itemizedlist>
<listitem>
<para>a &unix; és a &os; alapvetõ fogalmainak
ismerete;</para>
</listitem>
<listitem>
<para>a &os; telepítés menetének és
a <application>sysinstall</application> alkalmazás
ismerete.</para>
</listitem>
</itemizedlist>
<warning>
<para>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 <emphasis>biztonsági
mentést</emphasis> 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.</para>
</warning>
</sect1>
<sect1 id="understanding-journaling">
<title>Naplózás &os; alatt</title>
<para>A &os; 7.<replaceable>X</replaceable>
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; 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 &os; 7.0-RELEASE
kiadásában még csak az UFS2 felett
mûködik.</para>
<para>Ezt a funkciót a <filename>geom_journal.ko</filename>
modul betöltésével (vagy rendszermagba
építésével) tudjuk aktiválni,
majd a <command>gjournal</command> 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</filename> 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ó).</para>
<para>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
<emphasis>adatterületnek</emphasis>, míg a
naplót tároló területet pedig
<emphasis>naplóterületnek</emphasis> 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
<command>gjournal</command> 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:</para>
<itemizedlist>
<listitem>
<para>A <filename class="devicefile">/dev/ad0s1f</filename>
eszközön található
<filename>/usr</filename> állományrendszeren
szeretnénk naplózást használni
(amely már eleve tartalmaz hasznos adatokat).</para>
</listitem>
<listitem>
<para>A partíciók létrehozása
során a <filename
class="devicefile">/dev/ad0s1g</filename> eszközön
lefoglaltunk valamennyi helyet.</para>
</listitem>
<listitem>
<para>A <command>gjournal</command> parancs
segítségével készítünk
egy <filename
class="devicefile">/dev/ad0s1f.journal</filename>
eszközt, ahol a <filename
class="devicefile">/dev/ad0s1f</filename> eszközön
tároljuk az adatokat és a <filename
class="devicefile">/dev/ad0s1g</filename> eszközön a
naplót. A továbbiakban ezt az új
eszközt fogjuk használni.</para>
</listitem>
</itemizedlist>
<para>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</filename> á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.</para>
<note>
<para>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.)</para>
</note>
<para>A naplózásról részleteiben a
&man.gjournal.8; man oldalon olvashatunk.</para>
</sect1>
<sect1 id="reserve-space">
<title>A &os; telepítése során
elvégzendõ lépések</title>
<sect2>
<title>Lemezterület lefoglalása a
naplónak</title>
<para>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
<application>sysinstall</application> á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</filename>
partícióra, viszont a <filename>/usr</filename>
foglalja el a merevlemez legnagyobb részét, hiszen
a felhasználók adatai és a rendszerre
telepített csomagok ide fognak kerülni.</para>
<para>Az alapértelmezés szerinti felosztás
(amely a <application>Disklabel</application>
partíciószerkesztõben az <keycap>A</keycap>
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</filename> 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.</para>
<para>A példában most egy 80 GB
méretû lemezt láthatunk. Az
ábrán most a telepítés közben a
<application>Disklabel</application> szerint
alapértelmezetten kiosztott partíciókat
láthatjuk:</para>
<mediaobject>
<imageobject>
<imagedata fileref="disklabel1.png"/>
</imageobject>
</mediaobject>
<para>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</filename> partíciót és a
<keycap>D</keycap> billentyû lenyomásával
töröljük le.</para>
<para>Ezután válasszuk ki a képernyõ
felsõ részében a lemez nevét, majd a
<keycap>C</keycap> billentyû lenyomásával
hozzunk létre egy új partíciót a
<filename>/usr</filename> számára. Ez viszont
legyen most 1 GB-tal (ha napló csak a
<filename>/usr</filename> mellé lesz) vagy 2 GB-tal
(ha egyaránt naplózni akarjuk a
<filename>/usr</filename> és <filename>/var</filename>
partíciókat is) kisebb. A felbukkanó
ablakban válasszuk az állományrendszer
létrehozását és a
<filename>/usr</filename> könyvtárat adjuk meg
csatlakozási pontként.</para>
<note>
<para>Szükségünk van-e naplóra a
<filename>/var</filename> 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</filename> 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.</para>
<para>A példánkban a <filename>/usr</filename>
és <filename>/var</filename> partíciókhoz
is kapcsoltunk naplókat. Természetesen a
módszer ezen lépése igény szerint
megváltoztatható.</para>
</note>
<para>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
<application>sysinstall</application>
segítésével végezzük. A
telepítés közben a
<application>sysinstall</application> 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,
<emphasis>egyáltalán nem is kell</emphasis>. Ezek
ugyanis nem olyan hétköznapi
partíciók, amelyeket bármikor is
csatlakoztatni fogunk.</para>
<para>A <application>sysinstall</application> 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
<application>sysinstall</application> 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</filename> állományban az
így létrehozott partíciók
jellemzõit.</para>
<para>Lapozóterület
kialakításához ismét a
nyílbillentyûk használatával
navigáljunk a <application>Disklabel</application>
alkalmazáshoz tartozó képernyõ
felsõ részébe és válasszuk ki a
lemez nevét. Ezután nyomjuk le az
<keycap>N</keycap> billentyût, majd adjuk meg a
kívánt méretet
(<replaceable>1024M</replaceable>) és a
következõ menübõl válasszuk a
<quote>swap space</quote> (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</filename>, és még egyet a
<filename>/var</filename> állományrendszer
számára. A végeredmény a
következõ képen látható:</para>
<mediaobject>
<imageobject>
<imagedata fileref="disklabel2.png"/>
</imageobject>
</mediaobject>
<para>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:</para>
<table pgwide="1">
<title>Partíciók és naplók</title>
<tgroup cols="3">
<thead>
<row>
<entry>Partíció</entry>
<entry>Csatlakozási pont</entry>
<entry>Napló</entry>
</row>
</thead>
<tbody>
<row>
<entry>ad0s1d</entry>
<entry>/var</entry>
<entry>ad0s1h</entry>
</row>
<row>
<entry>ad0s1f</entry>
<entry>/usr</entry>
<entry>ad0s1g</entry>
</row>
</tbody>
</tgroup>
</table>
<para>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.</para>
</sect2>
<sect2 id="first-boot">
<title>A rendszer elsõ indítása</title>
<para>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</filename>
állományból. A lapozóterületek
közül ténylegesen lapozásra
általában a <quote>b</quote> (tehát a
példánkban az <devicename>ad0s1b</devicename>)
partíciót érdemes meghagyni. Az
összes többit egyszerûen töröljük
ki, indítsuk újra a rendszerünket és a
&os; már nem fogja tovább használni
ezeket.</para>
<para>Ahogy a rendszer újra elindul, készen is
állunk a naplózás
beállítására.</para>
</sect2>
</sect1>
<sect1 id="configure-journal">
<title>A naplózás
beállítása</title>
<sect2 id="running-gjournal">
<title>A <command>gjournal</command> futtatása</title>
<para>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
<username>root</username> felhasználóként
és gépeljük be:</para>
<screen>&prompt.root; <userinput>shutdown now</userinput></screen>
<para>Ezután az <keycap>Enter</keycap> 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</filename> és
<filename>/var</filename> partíciók voltak:</para>
<screen>&prompt.root; <userinput>umount /usr /var</userinput></screen>
<para>Töltsük be a naplózáshoz
szükséges modult:</para>
<screen>&prompt.root; <userinput>gjournal load</userinput></screen>
<para>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</filename>
csatlakozási ponthoz az <filename
class="devicefile">ad0s1f</filename> eszköz tartozik,
és ennek a naplója az <filename
class="devicefile">ad0s1g</filename> eszköz lesz,
miközben a <filename>/var</filename> ponthoz az <filename
class="devicefile">ad0s1d</filename> eszközt
rendeltük, és ezt az <filename
class="devicefile">ad0s1h</filename> eszközön
naplózzuk. Ennek megfelelõen a következõ
parancsokat kell kiadnunk:</para>
<screen>&prompt.root; <userinput>gjournal label ad0s1f ad0s1g</userinput>
GEOM_JOURNAL: Journal 2948326772: ad0s1f contains data.
GEOM_JOURNAL: Journal 2948326772: ad0s1g contains journal.
&prompt.root; <userinput>gjournal label ad0s1d ad0s1h</userinput>
GEOM_JOURNAL: Journal 3193218002: ad0s1d contains data.
GEOM_JOURNAL: Journal 3193218002: ad0s1h contains journal.</screen>
<note>
<para>A <command>gjournal</command> hibát fog jelezni, ha
bármelyik partíció utolsó szektora
már használatban van. Ilyen helyzetekben az
<option>-f</option> kapcsoló
segítségével
felülírásra tudjuk
kényszeríteni a parancsot, mint
például:</para>
<screen>&prompt.root; <userinput>gjournal label -f ad0s1d ad0s1h</userinput></screen>
<para>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.</para>
</note>
<para>Létrejött két új eszköz,
név szerint az <filename
class="devicefile">ad0s1d.journal</filename> és az
<filename class="devicefile">ad0s1f.journal</filename>. Ezek
képviselik azokat a <filename>/var</filename> és
<filename>/usr</filename> 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:</para>
<screen>&prompt.root; <userinput>tunefs -J enable -n disable ad0s1d.journal</userinput>
tunefs: gjournal set
tunefs: soft updates cleared
&prompt.root; <userinput>tunefs -J enable -n disable ad0s1f.journal</userinput>
tunefs: gjournal set
tunefs: soft updates cleared</screen>
<para>Ezt követõen parancssorból csatlakoztassuk
az új eszközöket a nekik megfelelõ pontokra
(itt most már használhatjuk az
<option>async</option> beállítást):</para>
<screen>&prompt.root; <userinput>mount -o async /dev/ad0s1d.journal /var</userinput>
&prompt.root; <userinput>mount -o async /dev/ad0s1f.journal /usr</userinput></screen>
<para>Nyissuk meg az <filename>/etc/fstab</filename>
állományt, és az elõbbiek szerint
javítsuk ki a <filename>/usr</filename> és a
<filename>/var</filename> állományrendszerekhez
tartozó bejegyzéseket:</para>
<programlisting>/dev/ad0s1f.journal /usr ufs rw,async 2 2
/dev/ad0s1d.journal /var ufs rw,async 2 2</programlisting>
<warning>
<para>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!</para>
</warning>
<para>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</filename> állományt
és adjuk hozzá a következõ sort:</para>
<programlisting>geom_journal_load="YES"</programlisting>
<para>Gratulálunk, sikeresen beállítottuk a
rendszerünkön a naplózást! Innen vagy az
<userinput>exit</userinput> 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:</para>
<screen>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.</screen>
<para>Szabálytalan leállások esetén az
iménti üzenetek némileg változhatnak,
például:</para>
<screen>GEOM_JOURNAL: Journal ad0s1d consistent.</screen>
<para>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.</para>
</sect2>
<sect2 id="gjournal-new">
<title>A naplózás engedélyezése
frissen létrehozott partíciókon</title>
<para>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
class="devicefile">/dev/ad1s1d</filename> nevû
partíciót. A napló
létrehozása ekkor csupán ennyi:</para>
<screen>&prompt.root; <userinput>gjournal label ad1s1d</userinput></screen>
<para>A napló mérete alapértelmezés
szerint 1 GB lesz, amelyet viszont a <option>-s</option>
opció használatával tetszés szerint
átállíthatunk. Az értéket
megadhatjuk byte-okban, vagy a <literal>K</literal>,
<literal>M</literal>, illetve <literal>G</literal>
hozzáfûzésével kilobyte-okban,
megabyte-okban, illetve gigabyte-okban is. Arra azonban
figyeljünk, hogy a <command>gjournal</command> nem enged
túlságosan kis méretû naplót
létrehozni.</para>
<para>Például egy 2 GB méretû
napló az alábbi paranccsal hozható
létre:</para>
<screen>&prompt.root; <userinput>gjournal label -s 2G ad1s1d</userinput></screen>
<para>Mellé hozzunk létre egy
állományrendszert az új
partíción, ahol a <option>-J</option>
kapcsolóval engedélyezzük a
naplózást:</para>
<screen>&prompt.root; <userinput>newfs -J /dev/ad1s1d.journal</userinput></screen>
</sect2>
<sect2 id="configure-kernel">
<title>A naplózás támogatásának
beépítése a rendszermagba</title>
<para>Amennyiben nem kívánjuk betölteni a
<literal>geom_journal</literal> 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:</para>
<programlisting>options UFS_GJOURNAL # Megjegyzés: Ez része a GENERIC rendszermagnak
options GEOM_JOURNAL # Ezt se felejtsük ki</programlisting>
<para>A <ulink url="&url.books.handbook;/kernelconfig.html">&os;
kézikönyvben</ulink> szereplõ
utasítások mentén fordítsuk le
és telepítsük az új
rendszermagot.</para>
<para>Ha korábban használtuk volna a modult, akkor
ezzel együtt ne felejtsük el kivenni a
<filename>/boot/loader.conf</filename>
állományból sem a
hozzá tartozó sort.</para>
</sect2>
</sect1>
<sect1 id="troubleshooting-gjournal">
<title>A naplózás használata során
felmerülõ hibák kezelése</title>
<para>Ebben a szakaszban a naplózás
alkalmazásakor jelentkezõ gondokra vonatkozó
gyakran ismételt kérdéseket foglaljuk
össze.</para>
<qandaset>
<qandaentry>
<question id="kernel-panic">
<para>A rendszer folyamatosan összeomlik komolyabb
lemezterhelés mellett. Van ennek valamilyen köze
a naplózáshoz?</para>
</question>
<answer>
<para>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 <link
linkend="understanding-journaling">Naplózás
&os; alatt</link> címû szakaszt.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="unable-boot">
<para>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?</para>
</question>
<answer>
<para>Ilyenkor vagy elfelejtettük (vagy netalán
elírtuk) a <filename>/boot/loader.conf</filename>
állományban szükséges
bejegyzést, vagy az <filename>/etc/fstab</filename>
állományunk hibákat tartalmaz. Az
ilyen jellegû problémákat viszonylag
könnyû helyrehozni. Az <keycap>Enter</keycap>
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:</para>
<screen>&prompt.root; <userinput>cat /boot/loader.conf</userinput></screen>
<para>Ha innen hiányzik vagy nem helyesen szerepel a
<literal>geom_journal_load</literal> 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:</para>
<screen>&prompt.root; <userinput>gjournal load</userinput>
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.
&prompt.root; <userinput>mount -a</userinput>
&prompt.root; <userinput>exit</userinput>
<emphasis>(a rendszerindítás folytatódik)</emphasis></screen>
<para>Ha viszont ezzel a bejegyzéssel kapcsolatban
semmilyen hibát nem találtunk, akkor
nézzük meg az <filename>/etc/fstab</filename>
á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.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="remove-journaling">
<para>Visszavonható a naplózás, vissza
lehet valahogy térni a Soft Updates
használatához?</para>
</question>
<answer>
<para>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.</para>
<para>Jelentkezzük be <username>root</username>
felhasználóként és
váltsunk egyfelhasználós
módba:</para>
<screen>&prompt.root; <userinput>shutdown now</userinput></screen>
<para>Válasszuk le a naplózást
alkalmazó partíciókat:</para>
<screen>&prompt.root; <userinput>umount /usr /var</userinput></screen>
<para>Írassuk ki lemezre a naplók
tartalmát:</para>
<screen>&prompt.root; <userinput>gjournal sync</userinput></screen>
<para>Állítsuk le a
naplózóterületek
használatát:</para>
<screen>&prompt.root; <userinput>gjournal stop ad0s1d.journal</userinput>
&prompt.root; <userinput>gjournal stop ad0s1f.journal</userinput></screen>
<para>Töröljük le az eszközökön
tárolt összes naplózási
metainformációt:</para>
<screen>&prompt.root; <userinput>gjournal clear ad0s1d</userinput>
&prompt.root; <userinput>gjournal clear ad0s1f</userinput>
&prompt.root; <userinput>gjournal clear ad0s1g</userinput>
&prompt.root; <userinput>gjournal clear ad0s1h</userinput></screen>
<para>Tiltsuk le az állományrendszer
naplózását és
állítsuk vissza a Soft Updates
használatát:</para>
<screen>&prompt.root; <userinput>tunefs -J disable -n enable ad0s1d</userinput>
tunefs: gjournal cleared
tunefs: soft updates set
&prompt.root; <userinput>tunefs -J disable -n enable ad0s1f</userinput>
tunefs: gjournal cleared
tunefs: soft updates set</screen>
<para>Manuálisan csatlakoztassuk újra a
régi eszközöket:</para>
<screen>&prompt.root; <userinput>mount -o rw /dev/ad0s1d /var</userinput>
&prompt.root; <userinput>mount -o rw /dev/ad0s1f /usr</userinput></screen>
<para>Az <filename>/etc/fstab</filename>
állományban állítsunk vissza
mindent az eredeti állapotába:</para>
<programlisting>/dev/ad0s1f /usr ufs rw 2 2
/dev/ad0s1d /var ufs rw 2 2</programlisting>
<para>Végül a
<filename>/boot/loader.conf</filename>
állományból távolítsuk el
a <literal>geom_journal</literal> modul
betöltésére vonatkozó
bejegyzést és indítsuk újra a
rendszert.</para>
</answer>
</qandaentry>
</qandaset>
</sect1>
<sect1 id="further-reading">
<title>Ajánlott olvasmányok</title>
<para>A naplózás még viszonylag
újdonságnak számít a &os;
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:</para>
<itemizedlist>
<listitem>
<para>A &os; kézikönyv naplózással
foglalkozó <ulink
url="&url.books.handbook;/geom-gjournal.html">szakasza</ulink>.</para>
</listitem>
<listitem>
<para>&a.pjd;, a &man.gjournal.8; fejlesztõjének a
&a.current.name; levelezési listára
küldött <ulink
url="http://lists.freebsd.org/pipermail/freebsd-current/2006-June/064043.html">levele</ulink>.</para>
</listitem>
<listitem>
<para>&a.ivoras; a &a.questions.name; levelezési
listára küldött <ulink
url="http://lists.freebsd.org/pipermail/freebsd-questions/2008-April/173501.html">levele</ulink>.</para>
</listitem>
<listitem>
<para>A &man.gjournal.8; és &man.geom.8; man
oldalak.</para>
</listitem>
</itemizedlist>
</sect1>
</article>
|