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
|
<?xml version="1.0" encoding="iso-8859-2"?>
<!--
The FreeBSD Documentation Project
$FreeBSD$
-->
<!-- The FreeBSD Hungarian Documentation Project
Translated by: PALI, Gabor <pgj@FreeBSD.org>
%SOURCE% en_US.ISO8859-1/books/handbook/filesystems/chapter.xml
%SRCID% 1.9
-->
<chapter id="filesystems" lang="hu">
<chapterinfo>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Írta: </contrib>
</author>
</authorgroup>
</chapterinfo>
<title>Támogatott állományrendszerek</title>
<sect1 id="filesystems-synopsis">
<title>Áttekintés</title>
<indexterm><primary>állományrendszerek</primary></indexterm>
<indexterm>
<primary>támogatott
állományrendszerek</primary>
<see>állományrendszerek</see>
</indexterm>
<para>Az állományrendszerek szerves
részét képezik napjaink operációs
rendszereinek. Segítségükkel a
felhasználók adatokat tölthetnek fel és
tárolhatnak a számítógépen,
szabályozhatják a
hozzáférésüket, és
természetesen mûködtethetik a merevlemezeiket. A
különféle operációs rendszerekben
általában azért annyi közös, hogy
mindannyiukhoz tartozik egy natív, vagyis általuk
alapból ismert állományrendszer. A &os;
esetében ezt konkrétan a Fast File System vagy
röviden <acronym>FFS</acronym>, amely az eredeti Unix™
File System, vagy más néven <acronym>UFS</acronym>
megoldásain alapszik. A &os; tehát a merevlemezeken
ebben a natív állományrendszerben
tárol adatokat.</para>
<para>A &os; természetesen ezen kívül még
ismer számos egyéb állományrendszert,
ezáltal képes adatokat olvasni más
operációs rendszerek részérõl is
kezelhetõ partíciókról,
például helyi
<acronym>USB</acronym>-eszközökrõl,
flashkártyákról és
merevlemezekrõl. Továbbá ismeri
néhány más operációs rendszer
natív állományrendszerét, mint
például a &linux; Extended File System
(<acronym>EXT</acronym>) vagy éppen a &sun; Z File System
(<acronym>ZFS</acronym>).</para>
<para>&os; alatt az egyes állományrendszerek ismerete
változó. Bizonyos esetekben elegendõ
csupán egy megfelelõ modul betöltése,
máskor viszont egy komplett eszközkészlet
segítségével tudunk velük dolgozni. Ez
a fejezet igyekszik a &sun;-féle Z
állományrendszerrel kezdõdõen bemutatni a
&os; felhasználói számára más
állományrendszerek használatát.</para>
<para>A fejezet elolvasása során
megismerjük:</para>
<itemizedlist>
<listitem>
<para>a natív és támogatott
állományrendszerek közti
különbségeket;</para>
</listitem>
<listitem>
<para>a &os; által ismert
állományrendszereket;</para>
</listitem>
<listitem>
<para>hogyan engedélyezzünk, állítsunk
be és érjünk el nem natív
állományrendszereket.</para>
</listitem>
</itemizedlist>
<para>A fejezet elolvasásához ajánlott:</para>
<itemizedlist>
<listitem>
<para>a &unix; és &os; alapjainak ismerete (<xref
linkend="basics"/>);</para>
</listitem>
<listitem>
<para>a rendszermag konfigurációjának
és fordításának alapvetõ
fogásainak ismerete (<xref
linkend="kernelconfig"/>);</para>
</listitem>
<listitem>
<para>a különbözõ külsõ
fejlesztésû szoftverek
telepítésének ismerete (<xref
linkend="ports"/>);</para>
</listitem>
<listitem>
<para>a lemezek és egyéb
tárolóeszközök, valamint a &os; alatt az
eszközök elnevezésének
minimális ismerete (<xref linkend="disks"/>).</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="filesystems-zfs">
<title>A Z állományrendszer (ZFS)</title>
<para>A &sun; Z állományrendszere egy új,
közös tárolási módszeren
nyugvó technológia. Ez annyit jelent a
gyakorlatban, hogy mindig csak annyi helyet foglal, amennyire az
adatoknak közvetlenül szüksége van.
Emellett úgy alakították ki, hogy az adatok
épségét minél inkább
védje, ezért például
megtalálhatjuk benne a pillanatképek
készítését, a másolatok
létrehozását és az adatok
sértetlenségének
ellenõrzését. Továbbá egy
<acronym>RAID</acronym>-Z néven bemutatott új
replikációs modellt is támogat. A
<acronym>RAID</acronym>-Z alapvetõen a
<acronym>RAID</acronym>-5 megoldásához
hasonlít, azonban írás során
keletkezõ hibák ellen igyekszik védelmet
nyújtani.</para>
<sect2>
<title>A ZFS finomhangolása</title>
<para>A <acronym>ZFS</acronym> funkcióit
megvalósító alrendszer
alapértelmezés szerint meglehetõsen sok
erõforrást kíván, ezért nem
árt a legjobb hatékonyságra behangolnunk a
mindennapokban felmerülõ igények mentén.
Mivel ez még egy fejlesztés és
tesztelés alatt álló része a
&os;-nek, elképzelhetõ, hogy ez a jövõben
változik, viszont jelen pillanatban a következõ
lépéseket javasoljuk.</para>
<sect3>
<title>Memória</title>
<para>Hasznos, ha a rendszerünkben legalább
1 GB memória található, de
inkább 2 vagy több az ajánlott. Az itt
szereplõ példákban ehelyett azonban
mindenhol csupán 1 GB-ot
feltételezünk.</para>
<para>Néhányaknak sikerült
1 GB-nál kevesebb központi
memóriával is használni ezt az
állományrendszert, azonban ilyenkor nagyon
könnyen elõfordulhat, hogy komolyabb terhelés
esetén a &os; a memória elfogyása miatt
egyszerûen összeomlik.</para>
</sect3>
<sect3>
<title>A rendszermag beállításai</title>
<para>A rendszermag konfigurációs
állományából javasolt
eltávolítani az összes nem használt
meghajtót és funkciót. A legtöbb
meghajtó egyébként is
elérhetõ modul formájában, és
a <filename>/boot/loader.conf</filename>
állományon keresztül minden gond
nélkül betölthetõek.</para>
<para>Az &i386; architektúránál
szükségünk lesz az alábbi
konfigurációs beállítás
megadására, majd a rendszermag
újrafordítására, végül
a rendszer újraindítására:</para>
<programlisting>options KVA_PAGES=512</programlisting>
<para>Ezzel az opcióval a rendszermag
címterét növeljük meg, aminek
eredményeképpen a <varname>vm.kvm_size</varname>
változót immáron az eredetileg
1 GB-os (<acronym>PAE</acronym> használata
esetén pedig 2 GB-os) határ felé
tudjuk állítani. Az itt megadandó
értéket úgy tudjuk meghatározni,
ha a beállítani kívánt
méret MB-okban számolt
értékét elosztjuk néggyel. A
példában tehát az <literal>512</literal>
egy 2 GB nagyságú címteret ad
meg.</para>
</sect3>
<sect3>
<title>A rendszertöltõ
beállításai</title>
<para>A <devicename>kmem</devicename> címterét az
összes &os; által ismert architektúra
esetében érdemes megnövelnünk. A
teszteléshez használt rendszeren 1 GB
fizikai memória állt rendelkezésre, itt a
<filename>/boot/loader.conf</filename>
állományban a következõ
értékek megadásával minden
remekül mûködött:</para>
<programlisting>vm.kmem_size="330M"
vm.kmem_size_max="330M"
vfs.zfs.arc_max="40M"
vfs.zfs.vdev.cache.size="5M"</programlisting>
<para>A ZFS finomhangolásával kapcsolatos
további javasolatokat a <ulink
url="http://wiki.freebsd.org/ZFSTuningGuide"></ulink>
címen olvashatunk.</para>
</sect3>
</sect2>
<sect2>
<title>A <acronym>ZFS</acronym> használata</title>
<para>A Z állományrendszerhez létezik egy
olyan mechanizmus, amelyen keresztül már a &os;
indítása során el tudjuk végezni a
közös tárolók
csatlakoztatását:</para>
<screen>&prompt.root; <userinput>echo 'zfs_enable="YES"' >> /etc/rc.conf</userinput>
&prompt.root; <userinput>/etc/rc.d/zfs start</userinput></screen>
<para>A leírás fennmaradó
részében feltételezzük, hogy
három <acronym>SCSI</acronym>-lemezünk van,
amelyeket rendre a
<devicename><replaceable>da0</replaceable></devicename>,
<devicename><replaceable>da1</replaceable></devicename>
és
<devicename><replaceable>da2</replaceable></devicename>
eszközök formájában tudunk
elérni. Az <acronym>IDE</acronym> lemezek
tulajdonosainak értelemszerûen itt majd az
<devicename><replaceable>ad</replaceable></devicename>
eszközneveket kell használniuk a
<acronym>SCSI</acronym>-eszközök hivatkozásai
helyett.</para>
<sect3>
<title>Egyetlen közös tároló
használata</title>
<para>A <command>zpool</command> kiadásával
egyetlen lemezen is létre tudunk hozni egy
egyszerû, nem redundáns <acronym>ZFS</acronym>
partíciót:</para>
<screen>&prompt.root; <userinput>zpool create minta /dev/da0</userinput></screen>
<para>Az új közös tárterület a
<command>df</command> parancs
felhasználásával rögtön
láthatóvá válik:</para>
<screen>&prompt.root; <userinput>df</userinput>
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/ad0s1a 2026030 235230 1628718 13% /
devfs 1 1 0 100% /dev
/dev/ad0s1d 54098308 1032846 48737598 2% /usr
minta 17547136 0 17547136 0% /minta</screen>
<para>A parancs kimenetében tisztán
láthatjuk, hogy a <literal>minta</literal> nevû
tároló nem csak egyszerûen
elkészült, hanem egyúttal
<emphasis>csatolódott</emphasis>. Innentõl
már a többi állományrendszerhez
hasonlóan tetszõlegesen elérhetõ, az
alábbi példához hasonlóan
állományok hozhatóak rajta létre
vagy listázható a tartalma:</para>
<screen>&prompt.root; <userinput>cd /minta</userinput>
&prompt.root; <userinput>ls</userinput>
&prompt.root; <userinput>touch proba</userinput>
&prompt.root; <userinput>ls -al</userinput>
total 4
drwxr-xr-x 2 root wheel 3 Aug 29 23:15 .
drwxr-xr-x 21 root wheel 512 Aug 29 23:12 ..
-rw-r--r-- 1 root wheel 0 Aug 29 23:15 proba</screen>
<para>Sajnos azonban ez a tároló még ki sem
használja a <acronym>ZFS</acronym> által
felkínált lehetõségeket.
Ezért most hozzunk létre egy
állományrendszert ezen a tárolón
belül és engedélyezzük rajta a
tömörítést:</para>
<screen>&prompt.root; <userinput>zfs create minta/tomoritett</userinput>
&prompt.root; <userinput>zfs set compression=gzip minta/tomoritett</userinput></screen>
<para>A <literal>minta/tomoritett</literal> most már egy
tömörített Z állományrendszer.
Próbáljuk ki mit tud, és másoljunk
néhány nagyobb méretû
állományt a <filename
class="directory">/minta/tomoritett</filename>
könyvtárba.</para>
<para>Ezután a tömörítés
akár ki is kapcsolható:</para>
<screen>&prompt.root; <userinput>zfs set compression=off minta/tomoritett</userinput></screen>
<para>Az állományrendszer
leválasztásához adjuk ki a lenti parancsot,
majd ellenõrizzük az eredményét a
<command>df</command> használatával:</para>
<screen>&prompt.root; <userinput>zfs umount minta/tomoritett</userinput>
&prompt.root; <userinput>df</userinput>
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/ad0s1a 2026030 235232 1628716 13% /
devfs 1 1 0 100% /dev
/dev/ad0s1d 54098308 1032864 48737580 2% /usr
minta 17547008 0 17547008 0% /minta</screen>
<para>Tegyük ismét elérhetõvé
és csatlakoztassuk újra az
állományrendszert, majd nézzük meg
az eredményt a <command>df</command> paranccsal:</para>
<screen>&prompt.root; <userinput>zfs mount minta/tomoritett</userinput>
&prompt.root; <userinput>df</userinput>
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/ad0s1a 2026030 235234 1628714 13% /
devfs 1 1 0 100% /dev
/dev/ad0s1d 54098308 1032864 48737580 2% /usr
minta 17547008 0 17547008 0% /minta
minta/tomoritett 17547008 0 17547008 0% /minta/tomoritett</screen>
<para>A közös terület és az
állományrendszer mellesleg a
<command>mount</command> parancs kimenetébõl is
megfigyelhetõ:</para>
<screen>&prompt.root; <userinput>mount</userinput>
/dev/ad0s1a on / (ufs, local)
devfs on /dev (devfs, local)
/dev/ad0s1d on /usr (ufs, local, soft-updates)
minta on /minta (zfs, local)
minta/tomoritett on /minta/tomoritett (zfs, local)</screen>
<para>Látható, hogy a létrehozásuk
után a Z állományrendszerek teljesen
hétköznapi módon viselkednek, de
természetesen további lehetõségek is
elérhetõek hozzájuk. A következõ
példában <literal>adat</literal> néven
készítünk egy új
állományrendszert. Mivel ide majd nagyon fontos
állományokat akarunk elhelyezni,
állítsuk be, hogy minden adatblokkból
két példány legyen:</para>
<screen>&prompt.root; <userinput>zfs create minta/adat</userinput>
&prompt.root; <userinput>zfs set copies=2 minta/adat</userinput></screen>
<para>A <command>df</command> újbóli
kiadásával most már látható
is ez az állományrendszer és annak
tárfoglalása:</para>
<screen>&prompt.root; <userinput>df</userinput>
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/ad0s1a 2026030 235234 1628714 13% /
devfs 1 1 0 100% /dev
/dev/ad0s1d 54098308 1032864 48737580 2% /usr
minta 17547008 0 17547008 0% /minta
minta/tomoritett 17547008 0 17547008 0% /minta/tomoritett
minta/adat 17547008 0 17547008 0% /minta/adat</screen>
<para>Vegyük észre, hogy a közös
területen levõ állományrendszerek
mindegyikén ugyanannyi szabad terület van. A
<command>df</command> segítségével a
késõbbiekben remekül megfigyelhetõ lesz,
hogy az egyes állományrendszerek mindig csak
annyi területet foglalnak el a közös
területbõl, amennyire abban a pillanatban
ténylegesen szükségünk van. A Z
állományrendszerek esetén megszûnik
a partíciók és kötetek fogalma,
és több állományrendszer
tárolódik egyazon közös
területen. Ha már nem akarjuk használni,
egyszerûen csak töröljük le az
állományrendszereket és ezt a
közös tárolót:</para>
<screen>&prompt.root; <userinput>zfs destroy minta/tomoritett</userinput>
&prompt.root; <userinput>zfs destroy minta/adat</userinput>
&prompt.root; <userinput>zpool destroy minta</userinput></screen>
<para>Nyilván tapasztalhattunk már, hogy a
lemezeink olykor menthetetlenül meghibásodnak.
Amikor egy lemezes meghajtó tönkremegy, a rajta
tárolt adatok általában elvesznek. Az
ilyen jellegû kellemetlenségek
elkerülésének egyik módja az
ún. <acronym>RAID</acronym>-tömbök
építése. A következõ
szakaszban bemutatjuk, hogy a Z
állományrendszerek esetén hogyan tudunk
ilyen tömböket készíteni.</para>
</sect3>
<sect3>
<title><acronym>RAID</acronym>-Z tömbök</title>
<para>Korábban már utaltunk rá, hogy ebben
a szakaszban három <acronym>SCSI</acronym>-lemez,
vagyis a <devicename>da0</devicename>,
<devicename>da1</devicename> és
<devicename>da2</devicename> eszközök
használatát feltételezzük (vagy
természetesen <devicename>ad0</devicename> és
így tovább, ha IDE-lemezeket használunk).
Egy <acronym>RAID</acronym>-Z formátumú
közös tároló
készítéséhez a következõ
parancsot kell kiadni:</para>
<screen>&prompt.root; <userinput>zpool create tarolo raidz da0 da1 da2</userinput></screen>
<note>
<para>A &sun; ajánlása szerint egy
<acronym>RAID</acronym>-Z konfigurációban
legalább három, legfeljebb kilenc lemezt
javasolt alkalmazni. Ha egyetlen közös
tárolóban esetleg tíznél
több lemezt szeretnénk felhasználni,
akkor érdemes inkább kisebb
<acronym>RAID</acronym>-Z csoportokra felosztani ezeket. Ha
viszont csak két lemezünk van, de
továbbra is redundanciára lenne
szükségünk, hozzunk helyette létre
egy <acronym>ZFS</acronym> tükrözést.
Ezzel kapcsolatban részletesebben a &man.zpool.8; man
oldalon keresztül
tájékozódhatunk.</para>
</note>
<para>Ennek hatására tehát keletkezik egy
<literal>tarolo</literal> nevû Z-tároló.
Ez a korábbiakhoz hasonló módon
ellenõrizhetõ is a &man.mount.8; és
&man.df.1; parancsokon keresztül. Természetesen
az iménti listába további
lemezeszközök tetszõlegesen felvehetõek.
Most hozzunk létre ezen a közös
területen egy <literal>felhasznalok</literal> nevû
állományrendszert, ahová majd a
felhasználók adatait fogjuk tenni:</para>
<screen>&prompt.root; <userinput>zfs create tarolo/felhasznalok</userinput></screen>
<para>Miután ezzel megvagyunk, az imént
létrehozott állományrendszerre nyugodtan
beállíthatunk tömörítést
és biztonsági másolatokat. Ebben az
alábbi parancsok lesznek a
segítségünkre:</para>
<screen>&prompt.root; <userinput>zfs set copies=2 tarolo/felhasznalok</userinput>
&prompt.root; <userinput>zfs set compression=gzip tarolo/felhasznalok</userinput></screen>
<para>Ezt követõen költöztessük
át a felhasználókat, vagyis másoljuk
át az adataikat ide és hozzuk létre a
megfelelõ szimbolikus linkeket:</para>
<screen>&prompt.root; <userinput>cp -rp /home/* /tarolo/felhasznalok</userinput>
&prompt.root; <userinput>rm -rf /home /usr/home</userinput>
&prompt.root; <userinput>ln -s /tarolo/felhasznalok /home</userinput>
&prompt.root; <userinput>ln -s /tarolo/felhasznalok /usr/home</userinput></screen>
<para>A felhasználók adatai immáron a
frissen létrehozott <filename
class="directory">/tarolo/felhasznalok</filename>
állományrendszeren tárolódnak.
Próbáljuk ki, hozzunk létre egy új
felhasználót és jelentkezzünk be
vele.</para>
<para>Készítsünk most egy
pillanatképet is, amelyet aztán késõbb
szükség esetén vissza tudunk
állítani:</para>
<screen>&prompt.root; <userinput>zfs snapshot tarolo/felhasznalok@08-08-30</userinput></screen>
<para>A <literal>snapshot</literal> csak valós
állományrendszerekkel mûködik,
könyvtárakra vagy állományokra nem.
A nevében a <literal>@</literal> karakter
választja el egymástól a
hozzá tartozó címkét az
állományrendszer vagy kötet
nevétõl. Ha netalán a
felhasználói könyvtárak
valamiért megsérültek volna, a
következõ paranccsal
állíthatóak vissza:</para>
<screen>&prompt.root; <userinput>zfs rollback tarolo/felhasznalok@08-08-30</userinput></screen>
<para>Az adott idõpontban aktív
pillanatképeket az adott állományrendszer
<filename class="directory">.zfs/snapshot</filename>
könyvtárában találhatjuk meg.
Például az elõbb készített
pillanatkép az alábbi paranccsal
nézhetõ meg:</para>
<screen>&prompt.root; <userinput>ls /tarolo/felhasznalok/.zfs/snapshot</userinput></screen>
<para>Ha ebbõl elindulunk, akkor pillanatok alatt
írható egy olyan szkript, amely a
felhasználók adatairól havonta
készít egy pillanatképet. Ilyenkor
azonban fontos számításba vennünk,
hogy az idõvel felgyülemlõ pillanatképek
rengeteg helyet el tudnak foglalni. A korábbi
pillanatkép így távolítható
el:</para>
<screen>&prompt.root; <userinput>zfs destroy tarolo/felhasznalok@08-08-30</userinput></screen>
<para>Miután alaposan kipróbáltuk a
<filename class="directory">/tarolo/felhasznalok</filename>
néven létrehozott
állományrendszerünket,
állítsuk be véglegesen ez eddigi
<filename class="directory">/home</filename>
állományrendszer helyére:</para>
<screen>&prompt.root; <userinput>zfs set mountpoint=/home tarolo/felhasznalok</userinput></screen>
<para>Ekkor a <command>df</command> és
<command>mount</command> parancsok használatával
meggyõzõdhetünk róla, hogy ezt az
állományrendszert innentõl már
valóban a <filename class="directory">/home</filename>
könyvtárnak tekintjük:</para>
<screen>&prompt.root; <userinput>mount</userinput>
/dev/ad0s1a on / (ufs, local)
devfs on /dev (devfs, local)
/dev/ad0s1d on /usr (ufs, local, soft-updates)
tarolo on /tarolo (zfs, local)
tarolo/felhasznalok on /home (zfs, local)
&prompt.root; <userinput>df</userinput>
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/ad0s1a 2026030 235240 1628708 13% /
devfs 1 1 0 100% /dev
/dev/ad0s1d 54098308 1032826 48737618 2% /usr
tarolo 26320512 0 26320512 0% /tarolo
tarolo/felhasznalok 26320512 0 26320512 0% /home</screen>
<para>Ezzel lényegében befejeztük a
<acronym>RAID</acronym>-Z tömb
konfigurációját. Az
állományrendszerek állapotára
vonatkozóan a &man.periodic.8;
alkalmazásával akár naponta
kérhetünk ellenõrzést:</para>
<screen>&prompt.root; <userinput>echo 'daily_status_zfs_enable="YES"' >> /etc/periodic.conf</userinput></screen>
</sect3>
<sect3>
<title>A <acronym>RAID</acronym>-Z
helyreállítása</title>
<para>Minden szoftveres <acronym>RAID</acronym>
implementáció kínál valamilyen
megoldást az állapotának
ellenõrzésére, ez alól
tulajdonképpen a <acronym>ZFS</acronym> sem
kivétel. A <acronym>RAID</acronym>-Z
eszközök állapota a következõ
paranccsal kérdezhetõ le:</para>
<screen>&prompt.root; <userinput>zpool status -x</userinput></screen>
<para>Ezt az üzenetet láthatjuk, amikor minden
tároló kifogástalanul mûködik
és semmilyen probléma sincs:</para>
<screen>all pools are healthy</screen>
<para>Ha viszont valamilyen gond lenne valamelyik lemezzel,
például leállt, akkor az elõbbi
parancs eredménye ehhez lesz hasonló:</para>
<screen> pool: tarolo
state: DEGRADED
status: One or more devices has been taken offline by the administrator.
Sufficient replicas exist for the pool to continue functioning in a
degraded state.
action: Online the device using 'zpool online' or replace the device with
'zpool replace'.
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
tarolo DEGRADED 0 0 0
raidz1 DEGRADED 0 0 0
da0 ONLINE 0 0 0
da1 OFFLINE 0 0 0
da2 ONLINE 0 0 0
errors: No known data errors</screen>
<para>A válasz szerint az eszközt az
adminisztrátor állította le. Ez
ennél a példánál valóban
igaz. Lemezeket a következõ módon lehet
leállítani:</para>
<screen>&prompt.root; <userinput>zpool offline tarolo da1</userinput></screen>
<para>Így miután leállítottuk a
rendszert, a <devicename>da1</devicename> eszköz
cserélhetõ. A rendszer soron következõ
indításakor ezzel a paranccsal tudjuk jelezni
logikailag is a lemez cseréjét:</para>
<screen>&prompt.root; <userinput>zpool replace tarolo da1</userinput></screen>
<para>Nézzük meg újra a tömb
állapotát, de ezúttal a <option>-x</option>
kapcsoló megadása nélkül, mivel csak
így fogjuk látni:</para>
<screen>&prompt.root; <userinput>zpool status tarolo</userinput>
pool: tarolo
state: ONLINE
scrub: resilver completed with 0 errors on Sat Aug 30 19:44:11 2008
config:
NAME STATE READ WRITE CKSUM
tarolo ONLINE 0 0 0
raidz1 ONLINE 0 0 0
da0 ONLINE 0 0 0
da1 ONLINE 0 0 0
da2 ONLINE 0 0 0
errors: No known data errors</screen>
<para>A példa szerint minden megfelelõen
mûködik.</para>
</sect3>
<sect3>
<title>Az adatok ellenõrzése</title>
<para>Elõzetesen már szó esett róla,
hogy a <acronym>ZFS</acronym> képes a tárolt
adatok sértetlenségének
ellenõrzésére. Az új
állományrendszerek
létrehozásánál ez a
lehetõség automatikusan aktiválódik,
de tetszés szerint letiltható:</para>
<screen>&prompt.root; <userinput>zfs set checksum=off tarolo/felhasznalok</userinput></screen>
<para>Ez a lépés viszont nem
feltétlenül jó döntés, mivel az
adatintegritás megtartásához
felhasznált ellenõrzõ összegek nagyon
kevés helyet foglalnak és meglehetõsen
hasznosak. Emellett semmilyen észlelhetõ
lassulást nem okoznak az állományrendszer
használata során. Ha engedélyezzük,
a <acronym>ZFS</acronym> ilyen ellenõrzõ
összegek segítségével folyamatosan
figyelni tudja az adatok épségét. Ezt az
ellenõrzést a <literal>scrub</literal> paranccsal
válthatjuk ki. Nézzük meg
például a <literal>tarolo</literal>
esetében:</para>
<screen>&prompt.root; <userinput>zpool scrub tarolo</userinput></screen>
<para>Ez a vizsgálat a tárolt adatok
mennyiségétõl függõen nagyon
sokáig is eltarthat, illetve rengeteg
lemezmûveletet foglal magában, ezért
egyszerre csak egy ilyen futtatása javasolt.
Miután befejezõdött, a tároló
állapota az eredményének megfelelõen
frissül, amelyet közvetlenül utána le is
kérdezhetünk:</para>
<screen>&prompt.root; <userinput>zpool status tarolo</userinput>
pool: tarolo
state: ONLINE
scrub: scrub completed with 0 errors on Sat Aug 30 19:57:37 2008
config:
NAME STATE READ WRITE CKSUM
tarolo ONLINE 0 0 0
raidz1 ONLINE 0 0 0
da0 ONLINE 0 0 0
da1 ONLINE 0 0 0
da2 ONLINE 0 0 0
errors: No known data errors</screen>
<para>A példában látható az
utolsó ellenõrzés ideje. Ezen
lehetõség használatával
hosszú idõn keresztül szavatolni tudjuk az
adataink épségét.</para>
<para>A Z állományrendszerrel kapcsolatos
további beállítási
lehetõségekrõl a &man.zfs.8; és
&man.zpool.8; man oldalakon olvashatunk.</para>
</sect3>
</sect2>
</sect1>
</chapter>
|