aboutsummaryrefslogtreecommitdiff
path: root/mn_MN.UTF-8/books/handbook/geom/chapter.sgml
blob: bddcc75b2ef5a7c5b1ce16a3f90345de2c346506 (plain) (blame)
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
<!--
     The FreeBSD Mongolian Documentation Project

     Original revision 1.28

     $FreeBSD$
-->

<chapter id="GEOM">
  <chapterinfo>
    <authorgroup>
      <author>
	<firstname>Том</firstname>
	<surname>Рөүдс</surname>
	<contrib>Бичсэн  </contrib>
      </author>
    </authorgroup>
    <authorgroup>
      <author>
	<firstname>Цагаанхүүгийн</firstname>
	<surname>Ганболд</surname>
	<contrib>Орчуулсан  </contrib>
 	<!-- Nov 2006 -->
      </author>
    </authorgroup>
  </chapterinfo>

  <title>GEOM: Модульчлагдсан Диск Хувиргах Тогтолцоо</title>

  <sect1 id="GEOM-synopsis">
    <title>Ерөнхий агуулга</title>

    <indexterm>
      <primary>GEOM</primary>
    </indexterm>
    <indexterm>
      <primary>GEOM Дискний Тогтолцоо</primary>
      <see>GEOM</see>
    </indexterm>

    <para>Энэ бүлэг нь &os; дээр GEOM тогтолцооны хүрээнд дискийг хэрхэн хэрэглэх талаар 
	хамарсан. Энэ нь тохиргоонд зориулж тогтолцоог ашигладаг гол <acronym
      	role="Redundant Array of Inexpensive Disks">RAID</acronym>
	хянагч хэрэгслүүдийг багтаадаг. Энэ бүлэг нь I/O, доор нь байгаа дэд 
	систем, эсвэл кодыг GEOM хэрхэн зохицуулж эсвэл хянадаг талаар гүнзгий 
	хэлэлцэхгүй. Энэхүү мэдээлэл нь &man.geom.4; гарын авлагын хуудас болон 
	төрөл бүрийн SEE ALSO баримтуудын тусламжтай хангагддаг. Бас энэ бүлэг нь 
	<acronym>RAID</acronym> тохиргоонуудын дэлгэрэнгүй заавар биш юм.
	Зөвхөн GEOM-дэмжигдсэн <acronym>RAID</acronym> ангиллуудын талаар 
	хэлэлцэх болно.</para>

    <para>Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:</para>

    <itemizedlist>
      <listitem>
	<para>Ямар төрлийн <acronym>RAID</acronym> дэмжлэг GEOM-ийн хүрээнд 
	байдаг талаар.</para>
      </listitem>

      <listitem>
	<para>Хэрхэн үндсэн хэрэгслүүдийг ашиглаж тохиргоо хийх, ажиллагааг хангах, болон 
	төрөл бүрийн <acronym>RAID</acronym> түвшнүүдийг удирдах талаар.</para>
      </listitem>

      <listitem>
        <para>Хэрхэн толин тусгал болон судал үүсгэх, шифрлэх, алсаас GEOM-ийн хүрээнд 
	диск төхөөрөмжүүдийг холбох талаар.</para>
      </listitem>

      <listitem>
	<para>GEOM тогтолцоонд хавсаргасан дискнүүдийн алдааг хэрхэн олж засварлах талаар.</para>
      </listitem>
    </itemizedlist>

    <para>Энэ бүлгийг уншихаасаа өмнө, та дараах зүйлсийг мэдэх шаардлагатай:</para>

    <itemizedlist>
      <listitem>
	<para>&os; диск төхөөрөмжүүдийг хэрхэн үздэг талаар ойлгох 
	(<xref linkend="disks">).</para>
      <listitem>
	<para>Шинэ &os; цөм хэрхэн тохируулж суулгах талаар мэдэх 
	  (<xref linkend="kernelconfig">).</para>
      </listitem>
    </itemizedlist>
  </sect1>

  <sect1 id="GEOM-intro">
    <title>GEOM-ийн Танилцуулга</title>

    <para>GEOM нь Мастер Ачаалалтын Бичлэгүүд (MBR), <acronym>BSD</acronym> хаягууд,
	гэх мэт &mdash; ангиллуудад тухайн ангиллын дэмжигчид (providers) эсвэл 
	<filename role="directory">/dev</filename> дахь тусгай файлуудын 
	тусламжтайгаар хандах хандалт ба хяналтыг уг ангилалд зөвшөөрдөг.
	GEOM нь төрөл бүрийн програм хангамжийн <acronym>RAID</acronym> тохиргоонуудыг 
	ашиглаж үйлдлийн систем болон үйлдлийн системийн хэрэгслүүдэд саадгүйгээр
	хандах боломж олгодог.</para>
  </sect1>

  <sect1 id="GEOM-striping">
  <sect1info>
    <authorgroup>
      <author>
	<firstname>Том</firstname>
	<surname>Рөүдс</surname>
	<contrib>Бичсэн  </contrib>
      </author>
      <author>
	<firstname>Мюррей</firstname>
	<surname>Стөүкли</surname>
      </author>
    </authorgroup>
    <authorgroup>
      <author>
	<firstname>Цагаанхүүгийн</firstname>
	<surname>Ганболд</surname>
	<contrib>Орчуулсан  </contrib>
 	<!-- Nov 2006 -->
      </author>
    </authorgroup>
  </sect1info>

    <title>RAID0 - Судал үүсгэх</title>

    <indexterm>
      <primary>GEOM</primary>
    </indexterm>
    <indexterm>
      <primary>Судал үүсгэх</primary>
    </indexterm>

    <para>Судал үүсгэх нь хэд хэдэн дискнүүдийг нэг эзлэхүүн болгодог арга юм.
	Олон тохиолдолд энэ нь тоног төхөөрөмжийн хянагчуудыг ашиглан хийгддэг.
	GEOM дэд систем нь диск судал үүсгэх гэж бас нэрлэгддэг 
	<acronym>RAID</acronym>0-д зориулсан програмыг хангаж өгдөг.</para>

    <para><acronym>RAID</acronym>0 системд, дараалсан дискнүүдэд байгаа өгөгдлүүд
      нь багц болж хуваагддаг. Систем дээр нэг диск рүү 256k-ийг
      бичихийг хүлээснээс 64k-ийг 4 өөр диск рүү зэрэг бичих дээд зэргийн I/O буюу
      оруулах гаргах ажиллагааг <acronym>RAID</acronym>0 систем нь санал болгодог. Энэ ажиллагааг
      олон дискний хянагчуудыг ашиглан нэмэгдүүлж болдог.</para>

    <para>Багцалсан олон дискнүүдээс I/O хүсэлтүүд нь зэрэгцэж унших болон
      бичигддэг учраас <acronym>RAID</acronym>0 дискний хуваагдал нь бүгд ижил хэмжээтэй байх ёстой.</para>

      <mediaobject>
        <imageobject>
          <imagedata fileref="geom/striping" align="center">
        </imageobject>

        <textobject>
          <phrase>Диск судал үүсгэж байгаа зураг</phrase>
        </textobject>
      </mediaobject>

    <procedure>
      <title>Хэлбэржүүлэгдээгүй ATA дискнүүдийн судал үүсгэх</title>

      <step><para><filename>geom_stripe</filename>
        	модулийг ачаална:</para>

    <screen>&prompt.root; <userinput>kldload geom_stripe</userinput></screen>
	</step>

      <step><para>Тохирох холболтын цэг байгааг шалгаарай. Хэрэв энэ эзлэхүүн нь root хуваалт 
	болох ёстой бол түр зуур өөр <filename
        role="directory">/mnt</filename> гэх мэт холболтын цэгийг ашиглаарай:</para>

        <screen>&prompt.root; <userinput>mkdir /mnt</userinput></screen>
      </step>

      <step><para>Судал үүсгэх дискнүүдэд зориулсан төхөөрөмжийн нэрийг тодорхойлоод шинэ судал 
	төхөөрөмж үүсгэ. Жишээ нь хоёр ашиглагдаагүй, хуваалт хийгдээгүй 
	<filename>/dev/ad2</filename> болон <filename>/dev/ad3</filename> гэсэн 
	<acronym>ATA</acronym> дискнүүдэд судал үүсгэхийн тулд:</para>

        <screen>&prompt.root; <userinput>gstripe label -v st0 /dev/ad2 /dev/ad3</userinput></screen>

<!-- 
    <para>A message should be returned explaining that meta data has
      been stored on the devices.
XXX: What message?  Put it inside the screen output above.
-->
      </step>

      <step><para>Хуваалтын хүснэгт гэгддэг стандарт хаягийг шинэ эзлэхүүн дээр бичээд 
	анхдагч ачаалагдах кодыг суулгаарай:</para>

        <screen>&prompt.root; <userinput>bsdlabel -wB /dev/stripe/st0</userinput></screen>

      </step>

      <step><para>Энэ процесс хоёр төхөөрөмжийг <devicename>st0</devicename>
	төхөөрөмжийн хамт <filename role="directory">/dev/stripe</filename>
	санд үүсгэх ёстой. Тэдгээр нь <devicename>st0a</devicename> болон 
        <devicename>st0c</devicename> юм. Ингэсний дараа файлын системийг  
	<devicename>st0a</devicename> төхөөрөмж дээр <command>newfs</command> 
	хэрэгслийн тусламжтайгаар үүсгэж болно:</para>

      <screen>&prompt.root; <userinput>newfs -U /dev/stripe/st0a</userinput></screen>

      <para>Олон тоонууд дэлгэц дээр урсан өнгөрөх бөгөөд хэдхэн хормын дараа процесс төгсөнө.
	Ингээд эзлэхүүн үүсэж холболт хийгдэхэд бэлэн болно.</para>
    </step>
  </procedure>

  <para>Гараар үүсгэсэн дискний судлаа холбохын тулд:</para>

  <screen>&prompt.root; <userinput>mount /dev/stripe/st0a /mnt</userinput></screen>

  <para>Энэ судал үүсгэсэн файлын системдээ ачаалах үед автоматаар холболт хийхийн 
	тулд эзлэхүүний мэдээллийг <filename>/etc/fstab</filename> файлд 
	хийгээрэй:</para>

  <screen>&prompt.root; <userinput>echo "/dev/stripe/st0a /mnt ufs rw 2 2" \</userinput>
    <userinput>&gt;&gt; /etc/fstab</userinput></screen>

  <para><filename>/boot/loader.conf</filename> файлд мөр нэмж <filename>geom_stripe</filename> модулийг   
	систем эхлэхэд автоматаар ачаалагдахаар болгох ёстой:</para>

  <screen>&prompt.root; <userinput>echo 'geom_stripe_load="YES"' &gt;&gt; /boot/loader.conf</userinput></screen>

  </sect1>

  <sect1 id="GEOM-mirror">
    <title>RAID1 - Толин тусгал үүсгэх</title>

    <indexterm>
      <primary>GEOM</primary>
    </indexterm>
    <indexterm>
      <primary>Диск Толин тусгал үүсгэх</primary>
    </indexterm>

    <para>Толин тусгал үүсгэх нь олон корпорациуд болон гэрийн хэрэглэгчдийн ашигладаг
      өгөгдлийг тасалдалгүйгээр нөөцлөх технологи юм. Толин тусгал байх үед
      энэ нь diskB нь diskA-г хувилж байгаа гэсэн үг. Эсвэл магадгүй
      diskC+D нь diskA+B-г хувилж байгаа байж болно. Дискний тохиргооноос
      хамааралгүй чухал ойлголт бол нэг диск дээрх мэдээлэл болон хуваалт нь хувилагдах
      явдал юм. Сүүлд нь, хадгалсан өгөгдөл нь үйлчилгээ болон хандалтын тасалдалгүйгээр,
      амархан сэргээгдэж, нөөцлөгдөж бараг өгөгдлийн төмөр авдарт хадгалсан юм шиг байх болно.</para>

    <para>Эхлээд системд ижил хэмжээтэй хоёр диск байгааг шалгаарай, энэ 
	дасгалд уг дискнүүдэд шууд хандах (&man.da.4;) <acronym>SCSI</acronym> 
	дисктэй гэж үзэж байгаа болно.</para>

    <para>&os; үйлдлийн системийг нэг дэх диск дээр хоёр хуваалттайгаар суулгаарай.
	Нэг нь <acronym>RAM</acronym>-ийн хэмжээг хоёр дахин авсан swap 
	хуваалт байх ёстой бөгөөд үлдэж байгаа зай нь root 
	(<filename role="directory">/</filename>) файлын системд 
	зориулагдана. Бусад холболтын цэгүүдэд зориулсан тусдаа хуваалтуудтай 
	байж болох бөгөөд гэхдээ энэ нь &man.bsdlabel.8; болон &man.fdisk.8; 
	тохиргоонуудыг гараар өөрчилдгөөс болж  төвөгтэй байдлыг 10 дахин ихэсгэдэг.</para>

    <para>Дахин ачаалаад системийг бүрэн эхэлтэл хүлээгээрэй. Энэ үйлдэл дууссаны дараа 
	<username>root</username> хэрэглэгчээр нэвтэрнэ.</para>

    <para><filename>/dev/mirror/gm</filename> төхөөрөмж үүсгээд 
	<filename>/dev/da1</filename> файлтай холбоорой:</para>

    <screen>&prompt.root; <userinput>gmirror label -vnb round-robin gm0 /dev/da1</userinput></screen>

    <para>Систем дараах хариуг өгнө:</para>
    <screen>
Metadata value stored on /dev/da1.
Done.</screen>

    <para>GEOM-ийг эхлүүлэхэд <filename>/boot/kernel/geom_mirror.ko</filename>
	цөмийн модулийг ачаална:</para>

    <screen>&prompt.root; <userinput>gmirror load</userinput></screen>

    <note>
      <para>Энэ тушаал нь <devicename>gm0</devicename> төхөөрөмжийн 
	цэгийг <filename role="directory">/dev/mirror</filename>
	санд үүсгэх ёстой.</para>
    </note>

    <para>Ерөнхий <command>fdisk</command>-ийн хаяг болон ачаалах кодыг
	шинэ <devicename>gm0</devicename> төхөөрөмжид суулгаарай:</para>

    <screen>&prompt.root; <userinput>fdisk -vBI /dev/mirror/gm0</userinput></screen>

    <para>Одоо ерөнхий <command>bsdlabel</command> мэдээллийг суулгаарай:</para>

    <screen>&prompt.root; <userinput>bsdlabel -wB /dev/mirror/gm0s1</userinput></screen>

    <note>
      <para>Хэрэв олон зүсмэлүүд болон хуваалтууд байвал түрүүчийн хоёр тушаалын 
	тугуудыг өөрчлөх шаардлагатай. Тэд нөгөө дискний зүсмэл болон хуваалтын 
	хэмжээтэй тохирох ёстой.</para>
    </note>

    <para>Анхдагч <acronym>UFS</acronym> файлын системийг 
	<devicename>gm0s1a</devicename> төхөөрөмжийн цэг дээр байгуулахдаа 
	&man.newfs.8; хэрэгслийг ашиглана:</para>

    <screen>&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1a</userinput></screen>

    <para>Ингэснээр систем зарим мэдээлэл болон тоонуудыг үзүүлэх болно. 
	Энэ нь сайн гэсэн үг. Дэлгэц дээр алдаа байгаа эсэхийг шалгаад 
	төхөөрөмжийг <filename role="directory">/mnt</filename> 
	холболтын цэгт холбож өгөөрэй:</para>

    <screen>&prompt.root; <userinput>mount /dev/mirror/gm0s1a /mnt</userinput></screen>

    <para>Одоо ачаалах дискний бүх өгөгдлийг энэ шинэ файлын систем уруугаа 
	шилжүүлээрэй. Энэ жишээ нь  &man.dump.8; болон &man.restore.8; 
	тушаалуудыг ашиглаж байгаа; гэхдээ &man.dd.1; бас энэ тохиолдолд 
	ажиллах боломжтой.</para>

    <screen>&prompt.root; <userinput>dump -L -0 -f- / |(cd /mnt &amp;&amp; restore -r -v -f-)</userinput></screen>

    <para>Үүнийг файлын систем бүрийн хувьд хийх шаардлагатай. Дээр дурдсан тушаалыг 
	ажиллуулахдаа тохирох файлын системийг зөв газар нь байрлуулна.</para>

    <para>Одоо хувилагдсан <filename>/mnt/etc/fstab</filename> файлыг засаад 
	swap файлтай мөрийг устгаж эсвэл тайлбар болгоорой.
      <footnote>
	<para><filename>fstab</filename> дахь swap файлын оруулгыг тайлбар 
	болгосноор танд өөр замаар swap зайг дахин нээх шаардлагатай болно.   
	Дэлгэрэнгүй мэдээллийн талаар <xref linkend="adding-swap-space">-д
	хандана уу.</para>
      </footnote>.  Нөгөө файлын системийн мэдээллийг шинэ диск ашиглахаар 
	өөрчилж дараах жишээн дээрх шиг солино:</para>

    <programlisting># Device                Mountpoint      FStype  Options         Dump    Pass#
#/dev/da0s2b             none            swap    sw              0       0
/dev/mirror/gm0s1a       /               ufs     rw              1       1</programlisting>

    <para>Одоо <filename>boot.conf</filename> файлыг одоогийн болон 
	шинэ root хуваалт дээр үүсгэнэ. Энэ файл нь системийн <acronym>BIOS</acronym>-ийг 
	зөв хөтлөгчийг ачаалахад <quote>тусална</quote>:</para>

    <screen>&prompt.root; <userinput>echo "1:da(1,a)/boot/loader" &gt; /boot.config</userinput></screen>

    <screen>&prompt.root; <userinput>echo "1:da(1,a)/boot/loader" &gt; /mnt/boot.config</userinput></screen>

    <note>
      <para>Бид үүнийг зөв ачаалуулахын тулд хоёр root хуваалт дээр байрлуулсан.
	Хэрэв ямар нэг тохиолдлоор систем шинэ root хуваалтаас уншиж чадахгүй 
	бол failsafe боломж байдаг.</para>
    </note>

    <para><filename>geom_mirror.ko</filename> модулийг ачаалагдах үед ажиллуулахын  
	тулд дараах тушаалыг ажиллуулна:</para>

    <screen>&prompt.root; <userinput>echo 'geom_mirror_load="YES"' &gt;&gt; /mnt/boot/loader.conf</userinput></screen>

    <para>Системийг дахин эхлүүлнэ:</para>

    <screen>&prompt.root; <userinput>shutdown -r now</userinput></screen>

    <para>Хэрэв бүгд зүгээр болбол систем <devicename>gm0s1a</devicename> 
	төхөөрөмжөөс ачаалагдаж <command>login</command> тушаал хүлээх 
	мөр хүлээж байх болно. Хэрэв ямар нэг юм буруу болбол доор дурдсан 
	алдааг олж засварлах хэсгийг үзээрэй. Одоо 
      <devicename>da0</devicename> дискийг <devicename>gm0</devicename> 
	төхөөрөмжид нэмэх хэрэгтэй:</para>

    <screen>&prompt.root; <userinput>gmirror configure -a gm0</userinput>
&prompt.root; <userinput>gmirror insert gm0 /dev/da0</userinput></screen>

    <para><option>-a</option> туг нь &man.gmirror.8;-г автомат синхрончлолыг 
	ашиглах ёстойг хэлж байна; өөрөөр хэлбэл дискэнд бичих бичилтүүдийг автоматаар 
	толин тусгалаар хуулна гэсэн үг юм. Гарын авлагын хуудас дискнүүдийг хэрхэн 
	дахин бүтээх болон солих талаар тайлбарлах бөгөөд 
	<devicename>gm0</devicename>-ийн оронд <devicename>data</devicename>-г 
	хэрэглэсэн байгаа.</para>

    <sect2>
      <title>Алдааг олж засварлах нь</title>

      <sect3>
	<title>Систем ачаалахгүй байх</title>

	<para>Хэрэв систем дараах тушаал хүлээх мөр хүртэл ачаалсан бол:</para>

	<programlisting>ffs_mountroot: can't find rootvp
Root mount failed: 6
mountroot></programlisting>

	<para>Унтраах болон дахин эхлүүлэх товчийг дарж машиныг дахин эхлүүл.
	Ачаалах үеийн цэснээс (6) сонголтыг сонго. Ингэхэд системийг 
	&man.loader.8; тушаал хүлээх мөрд аваачна. Цөмийн модулийг гараар 
	ачаал:</para>

	<screen>OK? <userinput>load geom_mirror</userinput>
OK? <userinput>boot</userinput></screen>

	<para>Хэрэв энэ нь ажилласан бол модул ямар нэг шалтгаанаар буруу 
	ачаалагдсан байна. Дараах мөрийг:</para>

	<programlisting>options	GEOM_MIRROR</programlisting>

	<para>цөмийн тохиргооны файлд байрлуулж дахин бүтээж суулгаарай.
	  Ингэх нь энэ асуудлыг арилгах ёстой.</para>
      </sect3>
    </sect2>
  </sect1>

  <sect1 id="geom-ggate">
    <title>GEOM Хаалга Сүлжээний Төхөөрөмжүүд</title>

    <para>GEOM нь хаалга хэрэгслүүдийг ашиглан дискнүүд, CD-ROM-ууд, 
	файлууд гэх мэт төхөөрөмжүүдийг алсаас ашиглахыг дэмждэг.
	Энэ нь <acronym>NFS</acronym>-тэй адил юм.</para>

    <para>Экспортын файл эхэлж үүсгэх шаардлагатай. Энэ файл нь 
	экспорт хийгдсэн эх үүсвэрүүдэд хэнийг хандахыг зөвшөөрсөн болон 
	ямар түвшний хандалтыг тэд өгч байгааг тусгадаг. Жишээ нь эхний 
	<acronym>SCSI</acronym> диск дээр 4 дэх зүсмэлийг экспорт 
	хийхийн тулд дараах 
	<filename>/etc/gg.exports</filename> 
	нь хангалттай:</para>

    <programlisting>192.168.1.0/24 RW /dev/da0s4d</programlisting>

    <para>Энэ нь дотоод сүлжээний бүх хостууд <devicename>da0s4d</devicename> 
	хуваалт дээрх файлын системд хандах хандалтыг зөвшөөрнө.</para>

    <para>Энэ төхөөрөмжийг экспорт хийхдээ тухайн үед холболт хийгдээгүй эсэхийг шалгаад 
	&man.ggated.8; сервер дэмонг ажиллуулаарай:</para>

    <screen>&prompt.root; <userinput>ggated</userinput></screen>

    <para>Хэрэглэх машинаас уг экспортлогдсон төхөөрөмжид <command>холболт</command> хийхдээ 
	дараах тушаалыг өгнө үү:</para>

    <screen>&prompt.root; <userinput>ggatec create -o rw 192.168.1.1 /dev/da0s4d</userinput></screen>
    <screen>ggate0</screen>
    <screen>&prompt.root; <userinput>mount /dev/ggate0 /mnt</userinput></screen>

    <para>Эндээс эхлэн төхөөрөмжид <filename role="directory">/mnt</filename> 
	холболтын цэгийг ашиглан хандаж болно.</para>

    <note>
      <para>Хэрэв төхөөрөмж тухайн үед сервер машин эсвэл сүлжээн дэх өөр бусад машин 
	дээр холболт хийгдсэн байсан бол энэ нь амжилтгүй болохыг сануулъя.</para>
    </note>

    <para>Төхөөрөмж дахин шаардлагагүй болоход бусад дискний төхөөрөмжүүдийн нэгэн адил 
	&man.umount.8; тушаалын тусламжтайгаар салгаж болно.</para>
  </sect1>

  <sect1 id="geom-glabel">
    <title>Дискний төхөөрөмжүүдийг хаяглах нь</title>

    <indexterm>
      <primary>GEOM</primary>
    </indexterm>
    <indexterm>
      <primary>Дискний хаяг/шошгонууд</primary>
    </indexterm>

    <para>Системийг эхлүүлэх явцад &os; цөм төхөөрөмжүүдийг олж төхөөрөмжийн 
	цэгүүдийг үүсгэдэг. Төхөөрөмжүүдийг илрүүлэх энэ арга нь зарим нэг 
	асуудлуудтай байдаг, жишээ нь шинэ дискний төхөөрөмж <acronym>USB</acronym>-ээр 
	нэмэгдсэн бол яах вэ? Флэш төхөөрөмжид <devicename>da0</devicename> гэсэн 
	төхөөрөмжийн нэр өгөгдөж хуучин байсан <devicename>da0</devicename> нь 
	<devicename>da1</devicename> болж өөрчлөгдөх болов уу. Энэ нь хэрэв 
	файлын системүүд <filename>/etc/fstab</filename>-д жагсаагдсан 
	бол тэдгээрийг холбоход асуудал гаргах бөгөөд бүр системийг ачаалахгүй 
	байдалд хүргэж болох юм.</para>

    <para>Энэ асуудлын нэг шийдэл нь <acronym>SCSI</acronym> карт руу нэмэгдсэн 
	шинэ төхөөрөмжид төхөөрөмжийн ашиглагдаагүй дугаарууд өгөгдөхөөр болгож 
	<acronym>SCSI</acronym> төхөөрөмжүүдийг гинжин цуваа болгох явдал юм. 
	Гэхдээ анхдагч <acronym>SCSI</acronym> дискийг сольж болзошгүй 
	<acronym>USB</acronym> төхөөрөмжүүдийн хувьд яах вэ? Яагаад гэвэл <acronym>USB</acronym> 
	төхөөрөмжүүд нь ихэвчлэн <acronym>SCSI</acronym> картнуудаас өмнө 
	шалгагддаг. Үүний нэг шийдэл нь эдгээр төхөөрөмжүүдийг системийг ачаалсны 
	дараа залгах явдал юм. Өөр нэг арга нь зөвхөн ганц <acronym>ATA</acronym> 
	хөтөч ашиглаж <acronym>SCSI</acronym> төхөөрөмжүүдийг 
	<filename>/etc/fstab</filename> файлд хэзээ ч жагсаахгүй байх тийм 
	шийдэл байж болох юм.</para>

    <para>Илүү сайн шийдэл байдаг. <command>glabel</command> хэрэгсэл ашиглан 
	администратор эсвэл хэрэглэгч өөрсдийн дискний төхөөрөмжүүдийг хаяглаж эдгээр 
	хаяг/шошгонуудыг <filename>/etc/fstab</filename> файлд ашиглаж болох 
	юм. <command>glabel</command> нь өгөгдсөн үзүүлэгчийн сүүлийн секторт 
	хаяг/шошгыг хадгалдаг болохоор хаяг/шошго нь дахин ачаалахад хэвээр байх 
	болно. Энэ хаяг/шошгыг төхөөрөмж маягаар ашигласнаар ямар төхөөрөмжийн 
	цэгээр дамжин хандаж байгаагаас үл хамааран файлын систем нь үргэлж холбогдох 
	юм.</para>

    <note>
      <para>Хаяг/шошгыг байнгын болгохыг энд дурдсангүй. <command>glabel</command> 
	хэрэгсэл нь түр зуурын болон байнгын хаяг/шошгыг үүсгэхэд ашиглагдаж болно. 
	Зөвхөн байнгын хаяг/шошго нь дахин ачаалахад хэвээр үлдэх болно. Хаяг/шошгонуудын 
	ялгаануудын тухай дэлгэрэнгүй мэдээллийг &man.glabel.8; гарын авлагын хуудаснаас 
	үзнэ үү.</para>
    </note>

    <sect2>
      <title>Хаяг/шошгоны төрлүүд болон жишээнүүд</title>

      <para>Ерөнхий ба файлын системийн гэсэн хоёр төрлийн хаяг/шошго байдаг. 
	Хаяг/шошгонуудын ялгаа нь байнгын хаяг/шошготой холбоотой автомат 
	илрүүлэлт бөгөөд энэ төрлийн хаяг/шошго нь дахин ачаалахад хэвээр 
	үлддэг явдал юм. Эдгээр хаяг/шошгонуудад тэдгээрийн файлын системийн төрөл 
	дээр суурилсан нэр бүхий тусгай сан <filename role="directory">/dev</filename> 
	сан дотор өгөгддөг. Жишээ нь <acronym>UFS</acronym>2 файлын системийн 
	хаяг/шошгонууд <filename role="directory">/dev/ufs2</filename> санд 
	үүсгэгддэг.</para>

      <para>Ерөнхий хаяг/шошго нь дараагийн удаа ачаалахад арилдаг. Эдгээр хаяг/шошгонууд 
	нь <filename role="directory">/dev/label</filename> санд үүсгэгдэх 
	бөгөөд туршилтад сайн тохирсон байдаг.</para>

<!-- XXXTR: How do you create a file system label without running newfs
            or when there is no newfs (e.g.: cd9660)? -->

      <para>Байнгын хаяг/шошгонуудыг файлын систем дээр <command>tunefs</command> 
	эсвэл <command>newfs</command> хэрэгслүүд ашиглан байрлуулж болно.
	Өгөгдлийг устгалгүйгээр <acronym>UFS</acronym>2 файлын системийн хувьд байнгын 
	хаяг/шошго үүсгэхийн тулд доор дурдсан тушаалуудыг ажиллуулна:</para>

      <screen>&prompt.root; <userinput>tunefs -L home /dev/da3</userinput></screen>

      <warning>
	<para>Хэрэв файлын систем дүүрэн бол энэ нь өгөгдлийн эвдрэлд хүргэж 
	болох юм; гэхдээ хэрэв файлын систем дүүрэн бол гол зорилго нь 
	хуучирсан файлуудыг устгаж хаяг/шошгонуудыг нэмэхгүй байх 
	явдал юм.</para>
      </warning>

      <para>Хаяг/шошго одоо <filename role="directory">/dev/ufs2</filename> санд 
	үүссэн байх ёстой бөгөөд түүнийг <filename>/etc/fstab</filename> файлд нэмж 
	болох юм:</para>

      <programlisting>/dev/ufs2/home		/home            ufs     rw              2      2</programlisting>

      <note>
	<para><command>tunefs</command>-г ажиллуулахдаа файлын системийг 
	холбох ёсгүй.</para>
      </note>

      <para>Одоо файлын системийг ердийнхөөрөө холбож болно:</para>

      <screen>&prompt.root; <userinput>mount /home</userinput></screen>

      <para>Доор дурдсан тушаалыг хаяг/шошгыг устгахдаа ашиглаж болно:</para>

      <screen>&prompt.root; <userinput>glabel destroy home</userinput></screen>

      <para>Эндээс эхлэн ачаалах явцад <filename>/boot/loader.conf</filename> файлын 
	тусламжтайгаар <filename>geom_label.ko</filename> цөмийн модуль дуудагдсан байхад 
	эсвэл  <devicename>GEOM_LABEL</devicename> цөмийн тохируулга байхад 
	төхөөрөмжийн цэг системд ямар нэгэн буруу нөлөөлөлгүйгээр өөрчлөгдөж болох 
	юм.</para>

      <para>Файлын систем нь <command>newfs</command> тушаалд 
	өгөгдсөн <option>-L</option> тугны тусламжтайгаар анхдагч хаяг/шошготой 
	үүсгэгдэж бас болно. Дэлгэрэнгүй мэдээллийг &man.newfs.8; гарын авлагын хуудаснаас 
	үзнэ үү.</para>
    </sect2>
  </sect1>

<!--
  <sect1 id="geom-gjournal">
    <title>UFS Journaling Through GEOM</title>
    
    <indexterm>
      <primary>GEOM</primary>
    </indexterm>
    <indexterm>
      <primary>Journaling</primary>
    </indexterm>

    <para>With the release of &os;&nbsp;7.0, the long awaited feature
      of <acronym>UFS</acronym> journals has been implemented.  The
      implementation itself is provided through the
      <acronym>GEOM</acronym> subsystem and is easily configured
      via the &man.gjournal.8; utility.</para>

    <para>What is journaling?  Journaling capability stores a log of
      file system transactions, i.e.: changes that make up a complete
      disk write operation, before meta-data and file writes are
      committed to the disk proper. This transaction log can later
      be replayed to redo file system transactions, preventing file
      system inconsistencies.</para>

    <para>This method is yet another mechanism to protect against data
      loss and inconsistencies of the file system.  Unlike Soft Updates
      which tracks and enforces meta-data updates and Snapshots which
      is an image of the file system, an actual log is stored at the
      end sector and, in some cases, may be stored on another disk
      entirely.</para>

    <para>Unlike other file system journaling implementations, the
      <command>gjournal</command> method is block based and not
      implemented as part of the file system - only as a
      <acronym>GEOM</acronym> extension.</para>

    <para>To enable support for <command>gjournal</command>, the
      &os; kernel must have the following option - which is the
      default on 7.X systems:</para>

    <programlisting>options	UFS_GJOURNAL</programlisting>

    <para>Creating a journal on a free file system may now be done
      using the following steps, considering that the
      <devicename>da4</devicename> is a new <acronym>SCSI</acronym>
      disk:</para>

    <screen>&prompt.root; <userinput>gjournal label /dev/da4</userinput>
    <userinput>gjournal load</userinput></screen>

    <para>At this point, there should be a
      <devicename>/dev/da4</devicename> device node and a
      <devicename>/dev/da4.journal</devicename> device node.  A
      file system may now be created on this device:</para>

    <screen>&prompt.root; <userinput>newfs -O 2 -J /dev/da4.journal</userinput></screen>

    <para>The previously issued command will create a
      <acronym>UFS</acronym>2 file system with journaling being made
      active.

    <para>Effectively <command>mount</command> the device at the
      desired point with:</para>

    <screen>&prompt.root <userinput>mount /dev/da4.journal /mnt</userinput></screen>

    <note>
      <para>In the case of several slices, a journal will be created
	for each individual slice.  For instance, if ad4s1 and ad4s2
	are both slices, then <command>gjournal</command> will create
	ad4s1.journal and ad4s2.journal.  In the case of the command
	being run twice, the result will be
	<quote>journals</quote>.</para>
    </note>

    <para>Under some circumstances, keeping the journal on another disk
      may be desired.  For these cases, the journal provider or storage
      device should be listed after the device to enable journaling
      on.  Journaling may also be enabled on current file systems by
      using <command>tunefs</command>; however, always make a backup
      before attempting to alter a file system.  In most cases, the
      <command>gjournal</command> will fail if it is unable to create
      the actual journal but this does not protect against data loss
      incurred as a result of misusing
      <command>tunefs</command>.</para>
  </sect1>
-->
</chapter>

<!--
     Local Variables:
     mode: sgml
     sgml-declaration: "../chapter.decl"
     sgml-indent-data: t
     sgml-omittag: nil
     sgml-always-quote-attributes: t
     sgml-parent-document: ("../book.sgml" "part" "chapter")
     End:
-->