MFen: Resync with the English version of the handbook

Obtained from: FreeBSD Mongolian Documentation project
This commit is contained in:
Ganbold Tsagaankhuu 2012-11-07 01:17:26 +00:00
parent 23b85f6cb6
commit 5093db7cf1
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=39956

View file

@ -2,7 +2,7 @@
<!--
The FreeBSD Mongolian Documentation Project
Original revision 1.55
Original revision 39910
$FreeBSD$
-->
@ -233,208 +233,609 @@ Done.</screen>
<primary>GEOM</primary>
</indexterm>
<indexterm>
<primary>Диск Толин тусгал үүсгэх</primary>
<primary>Disk Mirroring</primary>
</indexterm>
<indexterm>
<primary>RAID1</primary>
</indexterm>
<para>Толин тусгал үүсгэх нь олон корпорациуд болон гэрийн хэрэглэгчдийн ашигладаг
өгөгдлийг тасалдалгүйгээр нөөцлөх технологи юм. Толин тусгал байх үед
энэ нь diskB нь diskA-г хувилж байгаа гэсэн үг. Эсвэл магадгүй
diskC+D нь diskA+B-г хувилж байгаа байж болно. Дискний тохиргооноос
хамааралгүй чухал ойлголт бол нэг диск дээрх мэдээлэл болон хуваалт нь хувилагдах
явдал юм. Сүүлд нь, хадгалсан өгөгдөл нь үйлчилгээ болон хандалтын тасалдалгүйгээр,
амархан сэргээгдэж, нөөцлөгдөж бараг өгөгдлийн төмөр авдарт хадгалсан юм шиг байх болно.</para>
<para><acronym>RAID1</acronym>, буюу
<firstterm>mirroring</firstterm> нь
нэг өгөгдлийг нэгээс илүү диск дээр бичих техникийг хэлдэг.
Толин тусгал нь диск ажиллахаа байсан үед өгөгдлийг алдагдахаас
хамгаалахад ихэвчлэн хэрэглэгддэг. Толин тусгал дахь диск бүр
өгөгдлийн ижил хуулбарыг агуулж байдаг. Тухайн диск ажиллахаа
больсон үед ажиллаж байгаа дискнүүд дэх өгөгдлөөр ханган
толин тусгал ажилласан хэвээр байна. Компьютер энэ үед ажилласаар
байх бөгөөд администратор нь ажиллахаа больсон дискийг хэрэглэгчийн
оролцоогүйгээр солих боломжтой болдог.</para>
<para>Эхлээд системд ижил хэмжээтэй хоёр диск байгааг шалгаарай, энэ
дасгалд уг дискнүүдэд шууд хандах (&man.da.4;) <acronym>SCSI</acronym>
дисктэй гэж үзэж байгаа болно.</para>
<para>Эдгээр жишээнүүд дээр хоёр түгээмэл тохиолдлыг харуулсан байгаа.
Эхнийх дээр нь хоёр шинэ дискнээс бүтэх толин тусгал үүсгэж одоо
байгаа нэг дискний оронд ашиглаж байгаа талаар бичсэн. Хоёр дахь
жишээ нь нэг шинэ диск дээр толин тусгал үүсгэж хуучин дискний
өгөгдлийг хуулж дараа нь хуучин дискийг толин тусгал руу оруулж
байгаа талаар болно. Энэ процедур нь илүү төвөгтэй боловч зөвхөн
ганц диск шаарддаг.</para>
<sect2>
<title>Үндсэн дискүүдийг тольдох нь</title>
<para>Уламжлалаар толин тусгал дахь хоёр диск нь модел болон
хэмжээний хувьд ижил байдаг боловч &man.gmirror.8; нь тийм байхыг
шаарддаггүй. Өөр дискнүүдээс тогтсон толин тусгал нь хамгийн бага
дискний хэмжээтэй ижил байдаг. Илүү том диск дээрх илүүдэл зай нь
ашиглагддаггүй. Толин тусгал руу сүүлд нэмэх диск нь толин тусгал
дахь хамгийн бага хэмжээтэй дискний хэмжээтэй ижил байх
ёстой.</para>
<para>&os; эхний <devicename>da0</devicename> дискийн төхөөрөмж дээр
суулгагдсан гэж үзвэл &man.gmirror.8;-д өөрийн үндсэн өгөгдлийг
тэнд хадгал гэж зааж өгсөн байх ёстой.</para>
<warning>
<para>Энд үзүүлсэн толин тусгал болгож байгаа процедур эвдлэх
шинж чанаргүй боловч дискний үйл ажиллагаатай холбоотой учраас
бүрэн хэмжээний нөөцлөлтийг эхлээд хийгээрэй.</para>
</warning>
<para>Толь бүтээхээсээ өмнө <varname>kern.geom.debugflags</varname>
гэсэн &man.sysctl.8;-ийн тохиргоог дараах утгаар тохируулж
нэмэлт дибаг мэдээллийг идэвхжүүлж төхөөрөмжид хандах хандалтыг
нээж өгнө:</para>
<sect2 id="GEOM-mirror-metadata">
<title>Мета өгөгдөлтэй холбоотой асуудлууд</title>
<screen>&prompt.root; <userinput>sysctl kern.geom.debugflags=17</userinput></screen>
<para>Дискний олон систем мета өгөгдлийг диск бүрийн төгсгөлд
хадгалдаг. Дискийг толин тусгалд дахин ашиглахын тулд хуучин
мета өгөгдлийг устгах ёстой. Ихэнх асуудал хуучин үлдсэн
мета өгөгдлийн хоёр төрлөөс болж үүсдэг: GPT хуваалтын хүснэгтүүд,
болон өмнөх толин тусгалын хуучин &man.gmirror.8; мета өгөгдөл юм.</para>
<para>Одоо толь үүсгэнэ.
<filename class="devicefile">/dev/mirror/gm</filename>
төхөөрөмжийг үр ашигтайгаар үүсгэн мета өгөгдлийг үндсэн дискийн төхөөрөмж
дээр хадгалан процессийг дараах тушаал ашиглан
эхлүүлнэ:</para>
<para>GPT мета өгөгдлийг &man.gpart.8; ашиглан устгаж болно.
Энэ жишээн дээр анхдагч болон нөөц GPT хуваалтын хүснэгтийг
<devicename>ada8</devicename> дискнээс устгаж байна:</para>
<warning>
<para>Дискний сүүлийн секторт ямар нэгэн өгөгдөл хадгалсан бол
ачаалах хөтчөөр толин тусгал хийх тохиолдолд өгөгдлийн алдагдалд
хүргэж болох юм. &os;-г шинээр суулгасны дараахан нь толин тусгал
үүсгэснээр энэ эрсдэлийг багасгаж болно.
&os;&nbsp;9.<replaceable>X</replaceable> нь шинэ <acronym>GPT</acronym>
хуваалтын схем ашигладаг учир дараах процедур нь
&os;&nbsp;9.<replaceable>X</replaceable>-н анхдагч суулгалтын
тохиргоотой нийцтэй биш юм. GEOM нь <acronym>GPT</acronym>
мета өгөгдлийг дарж бичих бөгөөд энэ нь өгөгдлийн алдагдал
болон магадгүй ачаалж орохгүй систем бий болгоход хүргэж
болох юм.</para>
</warning>
<screen>&prompt.root; <userinput>gpart destroy -F ada8</userinput></screen>
<screen>&prompt.root; <userinput>gmirror label -vb round-robin gm0 /dev/da0</userinput></screen>
<para>&man.gmirror.8; нь ажиллаж байгаа толин тусгалаас дискийг
салгаж мета өгөгдлийг арилгахыг нэг алхмаар хийж чаддаг.
Энд жишээ диск <devicename>ada8</devicename>-г ажиллаж байгаа
толин тусгал <devicename>gm4</devicename>-с салгаж байна:</para>
<para>Систем дараах хариуг өгнө:</para>
<screen>Metadata value stored on /dev/da0.
Done.</screen>
<screen>&prompt.root; <userinput>gmirror remove gm4 ada8</userinput></screen>
<para>GEOM-ийг эхлүүлэхэд <filename>/boot/kernel/geom_mirror.ko</filename>
цөмийн модулийг ачаална:</para>
<para>Хэрэв толин тусгал ажиллахгүй байгаа бөгөөд хуучин
толин тусгалын мета өгөгдөл диск дээр байгаа хэвээр бол
<command>gmirror clear</command> тушаал ашиглан устгаж
болно:</para>
<screen>&prompt.root; <userinput>gmirror load</userinput></screen>
<screen>&prompt.root; <userinput>gmirror clear ada8</userinput></screen>
<note>
<para>Энэ тушаал бүрэн ажиллаж дууссаны дараа
<devicename>gm0</devicename> төхөөрөмжийн
цэгийг <filename class="directory">/dev/mirror</filename>
санд үүсгэх ёстой.</para>
</note>
<para>Системийг эхлүүлэх үед <filename>geom_mirror.ko</filename>
цөмийн модулийг дуудахыг идэвхжүүлнэ:</para>
<screen>&prompt.root; <userinput>echo 'geom_mirror_load="YES"' &gt;&gt; /boot/loader.conf</userinput></screen>
<para>Хуучин байсан <devicename>da0</devicename>-г
<devicename>gm0</devicename> толин төхөөрөмжийн шинэ төхөөрөмжийн цэгээр
сольж <filename>/etc/fstab</filename> файлыг засварлах хэрэгтэй.</para>
<note>
<para>Хэрэв &man.vi.1; таны дуртай засварлагч бол үүнийг дараах
хялбар аргаар хийж болно:</para>
<screen>&prompt.root; <userinput>vi /etc/fstab</userinput></screen>
<para>&man.vi.1; дээр <userinput>:w /etc/fstab.bak</userinput>
гэж бичин <filename>fstab</filename>-ийн одоо байгаа агуулгыг
нөөцөлнө. Дараа нь хуучин байсан бүх <devicename>da0</devicename>-г
<devicename>gm0</devicename>-р
<userinput>:%s/da/mirror\/gm/g</userinput> гэж бичин
сольно.</para>
</note>
<para>Үүний үр дүнд <filename>fstab</filename> файл дараахтай төстэй
харагдах ёстой. Дискийн хөтчүүд <acronym>SCSI</acronym> эсвэл
<acronym>ATA</acronym> байх нь хамаагүй бөгөөд эдгээрээс
үл хамааран <acronym>RAID</acronym> төхөөрөмж нь
<devicename>gm</devicename> байх болно.</para>
<programlisting># Device Mountpoint FStype Options Dump Pass#
/dev/mirror/gm0s1b none swap sw 0 0
/dev/mirror/gm0s1a / ufs rw 1 1
/dev/mirror/gm0s1d /usr ufs rw 0 0
/dev/mirror/gm0s1f /home ufs rw 2 2
#/dev/mirror/gm0s2d /store ufs rw 2 2
/dev/mirror/gm0s1e /var ufs rw 2 2
/dev/acd0 /cdrom cd9660 ro,noauto 0 0</programlisting>
<para>Системийг дахин эхлүүлнэ:</para>
<screen>&prompt.root; <userinput>shutdown -r now</userinput></screen>
<para>Системийг эхлүүлэх үед <devicename>gm0</devicename>-г
<devicename>da0</devicename> төхөөрөмжийн оронд ашиглах
ёстой. Бүрэн эхэлж дууссаны дараа үүнийг
<command>mount</command>
тушаалаас гарах үр дүнг хянаснаар шалгаж болно:</para>
<screen>&prompt.root; <userinput>mount</userinput>
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/mirror/gm0s1a 1012974 224604 707334 24% /
devfs 1 1 0 100% /dev
/dev/mirror/gm0s1f 45970182 28596 42263972 0% /home
/dev/mirror/gm0s1d 6090094 1348356 4254532 24% /usr
/dev/mirror/gm0s1e 3045006 2241420 559986 80% /var
devfs 1 1 0 100% /var/named/dev</screen>
<para>Үр дүн санасны дагуу зөв харагдаж байна. Төгсгөлд нь
синхрончлолыг эхлүүлэхийн тулд <devicename>da1</devicename>
дискийг толь руу дараах тушаал ашиглан хийнэ:</para>
<screen>&prompt.root; <userinput>gmirror insert gm0 /dev/da1</userinput></screen>
<para>Толин тусгал бүтээгдсэний дараа түүнийн төлвийг доор дурдсан
тушаал ашиглан шалгаж болно:</para>
<screen>&prompt.root; <userinput>gmirror status</userinput></screen>
<para>Толь бүтээгдэж одоо байгаа бүх өгөгдөл
синхрончлогдсоны дараа дээрх тушаалаас гарах
үр дүн иймэрхүү байх ёстой:</para>
<screen> Name Status Components
mirror/gm0 COMPLETE da0
da1</screen>
<para>Ямар нэг асуудал байх юм уу эсвэл толь нь
бүтээх процессоо хийсээр байвал уг жишээ
<literal>COMPLETE</literal>-ийн оронд
<literal>DEGRADED</literal> гэж харуулах болно.</para>
<para>&man.gmirror.8; нь мета өгөгдлийн нэг блокийг дискний төгсгөлд
хадгалдаг. GPT хуваалтын схем нь мета өгөгдлийг бас дискний
төгсгөлд хадгалдаг учраас бүтэн GPT дискүүдийг &man.gmirror.8;
ашиглан толин тусгал хийхийг зөвлөдөггүй. Энд MBR хуваалтыг
ашигладаг, учир нь энэ хуваалт нь хуваалтын хүснэгтийг дискний
зөвхөн эхэнд хадгалдаг бөгөөд &man.gmirror.8;-той харшилддаггүй.</para>
</sect2>
<sect2>
<title>Алдааг олж засварлах нь</title>
<title>Хоёр шинэ дискнээс толин тусгал үүсгэх</title>
<para>Энэ жишээн дээр &os; нь <devicename>ada0</devicename> гэсэн
нэг диск дээр суулгасан байгаа. <devicename>ada1</devicename> ба
<devicename>ada2</devicename> гэсэн хоёр шинэ диск систем
рүү холбогдсон байгаа. Энэ хоёр диск дээр шинэ толин тусгал
үүсгэх бөгөөд нэг хуучин дискийг солиход ашиглагдах
болно.</para>
<para>&man.gmirror.8; нь цөмд цуг бүтээгдсэн эсвэл ачаалах
буюу ажиллах үед дуудагдах <filename>geom_mirror.ko</filename>
цөмийн модулийг шаарддаг. Цөмийн модулийг гараар одоо
дуудна:</para>
<screen>&prompt.root; <userinput>gmirror load</userinput></screen>
<para>Хоёр шинэ дискээс тогтох толин тусгал үүсгэнэ.</para>
<screen>&prompt.root; <userinput>gmirror label -v gm0 /dev/ada1 /dev/ada2</userinput></screen>
<para><devicename>gm0</devicename> нь шинэ толин тусгалд өгсөн
хэрэглэгчийн сонгосон төхөөрөмжийн нэр юм. Толин тусгал
эхэлсний дараа төхөөрөмжийн нэр <filename>/dev/mirror/</filename>
санд гарч ирнэ.</para>
<para>MBR болон bsdlabel хуваалтын хүснэгтүүдийг толин тусгал
дээр &man.gpart.8;-н тусламжтай үүсгэж болно. Энд бид
<filename>/</filename>, swap, <filename>/var</filename>,
<filename>/tmp</filename>, ба <filename>/usr</filename> гэсэн
хуваалтуудтай уламжлалт хуваалттай файлын системийн бүтцийг
харуулж байна. Ганц <filename>/</filename> болон swap
хуваалт байж бас болно.</para>
<para>Толин тусгал дахь хуваалтууд нь одоо байгаа дискнүүд
шиг ижил хэмжээтэй
байх албагүй боловч <devicename>ada0</devicename> дээр байгаа
бүх өгөгдлийг агуулах хэмжээтэй байх ёстой.</para>
<screen>&prompt.root; <userinput>gpart create -s MBR mirror/gm0</userinput>
&prompt.root; <userinput>gpart add -t -a 4kfreebsd mirror/gm0</userinput>
&prompt.root; <userinput>gpart show mirror/gm0</userinput>
=> 63 156301423 mirror/gm0 MBR (74G)
63 63 - free - (31k)
126 156301299 1 freebsd (74G)
156301425 61 - free - (30k)</screen>
<screen>&prompt.root; <userinput>gpart create -s BSD mirror/gm0s1</userinput>
&prompt.root; <userinput>gpart add -t freebsd-ufs -a 4k -s 2g mirror/gm0s1</userinput>
&prompt.root; <userinput>gpart add -t freebsd-swap -a 4k -s 4g mirror/gm0s1</userinput>
&prompt.root; <userinput>gpart add -t freebsd-ufs -a 4k -s 2g mirror/gm0s1</userinput>
&prompt.root; <userinput>gpart add -t freebsd-ufs -a 4k -s 1g mirror/gm0s1</userinput>
&prompt.root; <userinput>gpart add -t freebsd-ufs -a 4k mirror/gm0s1</userinput>
&prompt.root; <userinput>gpart show mirror/gm0s1</userinput>
=> 0 156301299 mirror/gm0s1 BSD (74G)
0 2 - free - (1.0k)
2 4194304 1 freebsd-ufs (2.0G)
4194306 8388608 2 freebsd-swap (4.0G)
12582914 4194304 4 freebsd-ufs (2.0G)
16777218 2097152 5 freebsd-ufs (1.0G)
18874370 137426928 6 freebsd-ufs (65G)
156301298 1 - free - (512B)</screen>
<para>Ачаалах кодыг MBR болон bsdlabel-д суулган
идэвхтэй зүсмэлийг тохируулж толин тусгалыг ачаалах
боломжтой болгоно:</para>
<screen>&prompt.root; <userinput>gpart bootcode -b /boot/mbr mirror/gm0</userinput>
&prompt.root; <userinput>gpart set -a active -i 1 mirror/gm0</userinput>
&prompt.root; <userinput>gpart bootcode -b /boot/boot mirror/gm0s1</userinput></screen>
<para>Зөөлөн шинэчлэлийг идэвхжүүлэн шинэ толин тусгал дээрх
файлын системийг формат хийнэ.</para>
<screen>&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1a</userinput>
&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1d</userinput>
&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1e</userinput>
&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1f</userinput></screen>
<para>Эх диск (<devicename>ada0</devicename>) дээрх файлын
системийг толин тусгал руу &man.dump.8; ба &man.restore.8;
тушаалыг ашиглан хуулж болно.</para>
<screen>&prompt.root; <userinput>mount /dev/mirror/gm0s1a /mnt</userinput>
&prompt.root; <userinput>dump -C16 -b64 -0aL -f - / | (cd /mnt && restore -rf -)</userinput>
&prompt.root; <userinput>mount /dev/mirror/gm0s1d /mnt/var</userinput>
&prompt.root; <userinput>mount /dev/mirror/gm0s1e /mnt/tmp</userinput>
&prompt.root; <userinput>mount /dev/mirror/gm0s1f /mnt/usr</userinput>
&prompt.root; <userinput>dump -C16 -b64 -0aL -f - /var | (cd /mnt/var && restore -rf -)</userinput>
&prompt.root; <userinput>dump -C16 -b64 -0aL -f - /tmp | (cd /mnt/tmp && restore -rf -)</userinput>
&prompt.root; <userinput>dump -C16 -b64 -0aL -f - /usr | (cd /mnt/usr && restore -rf -)</userinput></screen>
<para><filename>/mnt/etc/fstab</filename>-г шинэ толин
тусгал файлын систем рүү заагдсан байхаар засварлах
ёстой:</para>
<programlisting># Device Mountpoint FStype Options Dump Pass#
/dev/mirror/gm0s1a / ufs rw 1 1
/dev/mirror/gm0s1b none swap sw 0 0
/dev/mirror/gm0s1d /var ufs rw 2 2
/dev/mirror/gm0s1e /tmp ufs rw 2 2
/dev/mirror/gm0s1f /usr ufs rw 2 2</programlisting>
<para>Хэрэв &man.gmirror.8; цөмийн модул цөмд цуг бүтээгдээгүй
бол модулийг ачаалахад дуудахын тулд <filename>/mnt/boot/loader.conf</filename>
файлыг засах ёстой:</para>
<programlisting>geom_mirror_load="YES"</programlisting>
<para>Шинэ толин тусгалыг тест хийхийн тулд системийг
дахин ачаалж бүх өгөгдөл хуулагдсан эсэхийг шалгаарай.
BIOS толин тусгалыг толин тусгал гэж харахгүй, харин
хоёр тусдаа диск гэж харна. Дискнүүд ижил учраас
аль нь ачаалахаар сонгогдсон нь чухал биш юм.</para>
<para>Ачаалахад асуудалтай байгаа бол
<link linkend="gmirror-troubleshooting">Алдааг олж засварлах</link>
хэсгийг үзээрэй. Унтраагаад эхний <devicename>ada0</devicename>
дискийг салгаснаар уг дискийг нөөц маягаар байх боломжийг
бүрдүүлдэг.</para>
<para>Ашиглаж байгаа үед толин тусгал нь
яг л анхны ганц диск шиг л ажиллах болно.</para>
</sect2>
<sect2>
<title>Байгаа дискүүд ашиглан толин тусгал үүсгэх</title>
<para>Энэ жишээн дээр &os; <devicename>ada0</devicename> гэсэн
нэг диск дээр суусан байгаа. Шинэ диск <devicename>ada1</devicename>-г
системд холбосон байгаа. Нэг дискээс тогтох толин тусгалыг
шинэ диск дээр үүсгэж байгаа системийг түүн рүү хуулж
дараа нь хуучин дискийг толин тусгал руу оруулна. Энэ илүү
төвөгтэй процедур нь зайлшгүй шаардлагатай байдаг, учир нь &man.gmirror.8; нь
512 байт блок бүхий мета өгөгдлийг диск бүрийн төгсгөлд
нэмэх хэрэгтэй байдаг бөгөөд байгаа <devicename>ada0</devicename>
бүх зай ихэвчлэн ашиглагдчихсан байдаг.</para>
<para>&man.gmirror.8; цөмийн модулийг дуудна.</para>
<screen>&prompt.root; <userinput>gmirror load</userinput></screen>
<para>&man.diskinfo.8; ашиглан эхний дискний хэмжээг
шалгана.</para>
<screen>&prompt.root; <userinput>diskinfo -v ada0 | head -n3</userinput>
/dev/ada0
512 # sectorsize
1000204821504 # mediasize in bytes (931G)</screen>
<para>Шинэ диск дээр толин тусгалыг үүсгэнэ. Эхний дискнээс
толин тусгалын хэмжээ их биш гэдгийг шалгахын тулд
&man.gnop.8; ашиглан ижил хэмжээтэй хуурамч диск үүсгэж үзнэ.
Энэ диск нь ямар ч өгөгдөл хадгалахгүй бөгөөд толин тусгалын
хэмжээг хязгаарлахад зөвхөн ашиглагдана. &man.gmirror.8; нь
толин тусгал үүсгэхдээ хэдийгээр шинэ диск
(<devicename>ada1</devicename>) илүү зайтай байсан ч гэсэн
<devicename>gzero.nop</devicename>-н хэмжээгээр багтаамжийг
хязгаарлана. Хоёр дахь мөрөн дээр байгаа
<replaceable>1000204821504</replaceable> утга нь дээрх
&man.diskinfo.8;-р харуулсантай адил
<devicename>ada0</devicename>-н хэмжээтэй ижил байх
ёстой.</para>
<screen>&prompt.root; <userinput>geom zero load</userinput>
&prompt.root; <userinput>gnop create -s 1000204821504 gzero</userinput>
&prompt.root; <userinput>gmirror label -v gm0 gzero.nop ada1</userinput>
&prompt.root; <userinput>gmirror forget gm0</userinput></screen>
<para><devicename>gzero.nop</devicename> нь ямар ч өгөгдөл
хадгалдаггүй учраас толин тусгал холбогдсон гэж хардаггүй.
<devicename>gzero.nop</devicename>-той
холбоотой мэдээллийг устган холбогдоогүй
байгаа зүйлийг <quote>март</quote> гэж толин тусгалд
хэлдэг гэсэн үг юм. Үүний үр дүнд толин тусгал нь
зөвхөн ганц диск <devicename>ada1</devicename>-с тогтоно.</para>
<para><devicename>gm0</devicename>-г үүсгэсний дараа
<devicename>ada0</devicename> дээрх хуваалтын хүснэгтийг харна.</para>
<para>Эндэх гаралт нь 1&nbsp;TB дискнээс юм. Дискний
төгсгөлд хуваарилагдаагүй зай байгаа бол өгөгдөл
<devicename>ada0</devicename>-с шууд шинэ толин тусгал руу
хуулагдаж болно.</para>
<para>Гэхдээ гаралт нь дараах жагсаалт дээрх шиг диск дээрх
бүх зай бүхлээрээ хуваарилагдсан байгаагаар харуулж байгаа бол
512 байт &man.gmirror.8; мета өгөгдлийн хувьд дискний төгсгөлд
зай байхгүй гэсэн үг юм.</para>
<screen>&prompt.root; <userinput>gpart show ada0</userinput>
=> 63 1953525105 ada0 MBR (931G)
63 1953525105 1 freebsd [active] (931G)</screen>
<para>Энэ тохиолдолд <devicename>mirror/gm0</devicename> дээрх
багтаамжийг нэг сектороор багасгахын тулд хуваалтын хүснэгтийг
засварлах хэрэгтэй. Уг процедурыг дараа тайлбарлах болно.</para>
<para>Аль ч тохиолдолд анхдагч диск дээрх хуваалтын
хүснэгтүүдийг эхэлж хуулах хэрэгтэй. Үүнийг &man.gpart.8;
<command>backup</command> ба <command>restore</command> дэд тушаалуудыг
ашиглан гүйцэтгэнэ.</para>
<screen>&prompt.root; <userinput>gpart backup ada0 &gt; table.ada0</userinput>
&prompt.root; <userinput>gpart backup ada0s1 &gt; table.ada0s1</userinput></screen>
<para>Эдгээр тушаал нь
<filename>table.ada0</filename> ба
<filename>table.ada0s1</filename> гэсэн хоёр
файл үүсгэнэ. Энэ жишээ нь 1&nbsp;TB дискнээс юм:</para>
<screen>&prompt.root; <userinput>cat table.ada0</userinput>
MBR 4
1 freebsd 63 1953525105 [active]</screen>
<screen>&prompt.root; <userinput>cat table.ada0s1</userinput>
BSD 8
1 freebsd-ufs 0 4194304
2 freebsd-swap 4194304 33554432
4 freebsd-ufs 37748736 50331648
5 freebsd-ufs 88080384 41943040
6 freebsd-ufs 130023424 838860800
7 freebsd-ufs 968884224 984640881</screen>
<para>Хэрэв &man.gpart.8; <command>show</command> тушаалын
гаралтад бүтэн диск ашиглагдаж байгаа бол эдгээр хуваалтын
хүснэгтүүд дээрх багтаамжийг нэг сектороор багасгах хэрэгтэй.
Зүсмэл болон сүүлийн хуваалтын зайг нэгээр багасган хоёр
файлыг засварлах хэрэгтэй. Эдгээр нь жагсаалт бүрийн сүүлийн
тоонууд юм.</para>
<screen>&prompt.root; <userinput>cat table.ada0</userinput>
MBR 4
1 freebsd 63 <emphasis>1953525104</emphasis> [active]</screen>
<screen>&prompt.root; <userinput>cat table.ada0s1</userinput>
BSD 8
1 freebsd-ufs 0 4194304
2 freebsd-swap 4194304 33554432
4 freebsd-ufs 37748736 50331648
5 freebsd-ufs 88080384 41943040
6 freebsd-ufs 130023424 838860800
7 freebsd-ufs 968884224 <emphasis>984640880</emphasis></screen>
<para>Дискний төгсгөлд хамгийн багадаа нэг сектор хуваарилагдаагүй
байгаа бол эдгээр хоёр файлыг засварлалгүйгээр ашиглаж болно.</para>
<para>Одоо хуваалтын хүснэгтийг
<devicename>mirror/gm0</devicename> руу сэргээнэ.</para>
<screen>&prompt.root; <userinput>gpart restore mirror/gm0 &lt; table.ada0</userinput>
&prompt.root; <userinput>gpart restore mirror/gm0s1 &lt; table.ada0s1</userinput></screen>
<para>&man.gpart.8; <command>show</command> тушаалаар
хуваалтын хүснэгтийг шалгана. Энэ жишээ нь
<devicename>gm0s1a</devicename>-г <filename>/</filename>,
<devicename>gm0s1d</devicename>-г <filename>/var</filename>,
<devicename>gm0s1e</devicename>-г <filename>/usr</filename>,
<devicename>gm0s1f</devicename>-г
<filename>/data1</filename>, ба
<devicename>gm0s1g</devicename>-г
<filename>/data2</filename>-д ашиглана.</para>
<screen>&prompt.root; <userinput>gpart show mirror/gm0</userinput>
=> 63 1953525104 mirror/gm0 MBR (931G)
63 1953525042 1 freebsd [active] (931G)
1953525105 62 - free - (31k)
&prompt.root; <userinput>gpart show mirror/gm0s1</userinput>
=> 0 1953525042 mirror/gm0s1 BSD (931G)
0 2097152 1 freebsd-ufs (1.0G)
2097152 16777216 2 freebsd-swap (8.0G)
18874368 41943040 4 freebsd-ufs (20G)
60817408 20971520 5 freebsd-ufs (10G)
81788928 629145600 6 freebsd-ufs (300G)
710934528 1242590514 7 freebsd-ufs (592G)
1953525042 63 - free - (31k)</screen>
<para>Зүсмэл болон сүүлийн хуваалт диск бүрийн төгсгөлд
сул зайтай байх ёстой.</para>
<para>Энэ шинэ хуваалтууд дээр файлын систем үүсгэнэ.
Хэдэн хуваалт байх нь эх диск <devicename>ada0</devicename>
дээрх хуваалтуудаас хамаарч янз бүр байна.</para>
<screen>&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1a</userinput>
&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1d</userinput>
&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1e</userinput>
&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1f</userinput>
&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1g</userinput></screen>
<para>Идэвхтэй зүсмэлийг тохируулж MBR болон bsdlabel дээр
ачаалах кодыг суулгаж толин тусгалыг ачаалах боломжтой
болгоно:</para>
<screen>&prompt.root; <userinput>gpart bootcode -b /boot/mbr mirror/gm0</userinput>
&prompt.root; <userinput>gpart set -a active -i 1 mirror/gm0</userinput>
&prompt.root; <userinput>gpart bootcode -b /boot/boot mirror/gm0s1</userinput></screen>
<para>Толин тусгал дээрх шинэ хуваалтыг ашиглахаар
болгож <filename>/etc/fstab</filename> файлыг тохируулна.
<filename>/etc/fstab.orig</filename> руу хуулж энэ файлыг
эхлээд нөөцөлж авах хэрэгтэй.</para>
<screen>&prompt.root; <userinput>cp /etc/fstab /etc/fstab.orig</userinput></screen>
<para><devicename>/dev/ada0</devicename>-г
<devicename>mirror/gm0</devicename>-р сольж
<filename>/etc/fstab</filename> файлыг засварлана.</para>
<programlisting># Device Mountpoint FStype Options Dump Pass#
/dev/mirror/gm0s1a / ufs rw 1 1
/dev/mirror/gm0s1b none swap sw 0 0
/dev/mirror/gm0s1d /var ufs rw 2 2
/dev/mirror/gm0s1e /usr ufs rw 2 2
/dev/mirror/gm0s1f /data1 ufs rw 2 2
/dev/mirror/gm0s1g /data2 ufs rw 2 2</programlisting>
<para>Хэрэв &man.gmirror.8; цөмийн модул цөмд цуг бүтээгдээгүй
бол <filename>/boot/loader.conf</filename>-г засварлаж түүнийг
дуудна:</para>
<programlisting>geom_mirror_load="YES"</programlisting>
<para>Эх диск дээрх файлын системүүдийг одоо
&man.dump.8; ба &man.restore.8; тушаалуудыг ашиглан толин тусгал
руу хуулж болно. <command>dump -L</command> тушаалаар авагдсан
файл систем бүрийн хувьд хормын хувилбар үүсгэхэд хугацаа
шаардагдаж магадгүйг санаарай.</para>
<screen>&prompt.root; <userinput>mount /dev/mirror/gm0s1a /mnt</userinput>
&prompt.root; <userinput>dump -C16 -b64 -0aL -f - / | (cd /mnt && restore -rf -)</userinput>
&prompt.root; <userinput>mount /dev/mirror/gm0s1d /mnt/var</userinput>
&prompt.root; <userinput>mount /dev/mirror/gm0s1e /mnt/usr</userinput>
&prompt.root; <userinput>mount /dev/mirror/gm0s1f /mnt/data1</userinput>
&prompt.root; <userinput>mount /dev/mirror/gm0s1g /mnt/data2</userinput>
&prompt.root; <userinput>dump -C16 -b64 -0aL -f - /usr | (cd /mnt/usr && restore -rf -)</userinput>
&prompt.root; <userinput>dump -C16 -b64 -0aL -f - /var | (cd /mnt/var && restore -rf -)</userinput>
&prompt.root; <userinput>dump -C16 -b64 -0aL -f - /data1 | (cd /mnt/data1 && restore -rf -)</userinput>
&prompt.root; <userinput>dump -C16 -b64 -0aL -f - /data2 | (cd /mnt/data2 && restore -rf -)</userinput></screen>
<para><devicename>ada1</devicename>-с ачаалж
системийг дахин ачаална. Бүгд ажиллаж байгаа бол
систем <devicename>mirror/gm0</devicename>-с ачаалах бөгөөд
энэ нь <devicename>ada0</devicename>-н өмнө агуулж байсан
өгөгдлийг бас агуулах болно. Ачаалахтай холбоотой асуудал
байгаа бол <link linkend="gmirror-troubleshooting">Алдааг олж засварлах</link>
хэсгийг харна уу.</para>
<para>Энд хүрэхэд толин тусгал нь зөвхөн ганц диск
<devicename>ada1</devicename>-с тогтох болно.</para>
<para><devicename>mirror/gm0</devicename>-с амжилттай
ачаалсны дараа сүүлийн алхам бол <devicename>ada0</devicename>-г
толин тусгал руу оруулах явдал юм.</para>
<important>
<para><devicename>ada0</devicename>-г толин тусгал руу
оруулах үед хуучин агуулга нь толин тусгал дээрх агуулгаар
дарагдаж бичигддэг. <devicename>ada0</devicename>-г
толин тусгал руу нэмэхээсээ өмнө <devicename>mirror/gm0</devicename> нь
<devicename>ada0</devicename>-н өгөгдлийг яг агуулж байгаа
эсэхийг шалгаарай. &man.dump.8; ба &man.restore.8;-г
ашиглан хуулсан агуулгатай холбоотой ямар нэг асуудал үүссэн бол
файлын системийг <devicename>ada0</devicename>-с холбохоор
болгож <filename>/etc/fstab</filename>-г тохируулж дахин
ачаалан дээрх алхмуудыг дахин эхнээс нь хийж үзэх хэрэгтэй.</para>
</important>
<screen>&prompt.root; <userinput>gmirror insert gm0 ada0</userinput>
GEOM_MIRROR: Device gm0: rebuilding provider ada0</screen>
<para>Хоёр дискний хоорондох синхрончлол шууд эхэлнэ.
&man.gmirror.8; <command>status</command> тушаал явцыг
харуулна.</para>
<screen>&prompt.root; <userinput>gmirror status</userinput>
Name Status Components
mirror/gm0 DEGRADED ada1 (ACTIVE)
ada0 (SYNCHRONIZING, 64%)</screen>
<para>Тодорхой хугацааны дараа синхрончлол дуусна.</para>
<screen>GEOM_MIRROR: Device gm0: rebuilding provider ada0 finished.
&prompt.root; <userinput>gmirror status</userinput>
Name Status Components
mirror/gm0 COMPLETE ada1 (ACTIVE)
ada0 (ACTIVE)</screen>
<para><devicename>mirror/gm0</devicename> нь одоо
<devicename>ada0</devicename> ба <devicename>ada1</devicename> гэсэн
хоёр дискээс тогтох бөгөөд агуулгууд нь нэг нэгэнтэйгээ
автоматаар синхрончлогдсон байна. Ашиглагдаж байгаа үед
<devicename>mirror/gm0</devicename> нь яг л эхний ганц диск
шиг ажиллах болно.</para>
</sect2>
<sect2 id="gmirror-troubleshooting">
<title>Алдааг олж засварлах</title>
<sect3>
<title>Систем ачаалахгүй байх</title>
<title>Ачаалахтай холбоотой асуудлууд</title>
<para>Хэрэв систем дараах тушаал хүлээх мөр хүртэл ачаалсан бол:</para>
<sect4>
<title>BIOS тохиргоо</title>
<programlisting>ffs_mountroot: can't find rootvp
Root mount failed: 6
mountroot></programlisting>
<para>BIOS тохиргоог шинээр толин тусгал болгосон
дискнүүдийн аль нэгнээс ачаалахаар болгож тохируулах
хэрэгтэй байж магадгүй юм. Аль ч дискийг ачаалахад
ашиглаж болно. Толин тусгалын нэг хэсэг учраас тэдгээр нь
ижил өгөгдөлтэй байдаг.</para>
</sect4>
<para>Унтраах болон дахин эхлүүлэх товчийг дарж машиныг дахин эхлүүл.
Ачаалах үеийн цэснээс (6) сонголтыг сонго. Ингэхэд системийг
&man.loader.8; тушаал хүлээх мөрд аваачна. Цөмийн модулийг гараар
ачаал:</para>
<sect4>
<title>Ачаалах үеийн асуудлууд</title>
<screen>OK? <userinput>load geom_mirror</userinput>
OK? <userinput>boot</userinput></screen>
<para>Хэрэв ачаалалт ийм мэдэгдэлтэй зогссон бол
толин тусгал төхөөрөмж асуудалтай байж болох юм:</para>
<para>Хэрэв энэ нь ажилласан бол модул ямар нэг шалтгаанаар буруу
ачаалагдсан байна. <filename>/boot/loader.conf</filename> файлд
тохирох мөр байгаа эсэхийг шалгах хэрэгтэй. Хэрэв асуудалтай хэвээр
байвал дараах:</para>
<screen>Mounting from ufs:/dev/mirror/gm0s1a failed with error 19.
<programlisting>options GEOM_MIRROR</programlisting>
Loader variables:
vfs.root.mountfrom=ufs:/dev/mirror/gm0s1a
vfs.root.mountfrom.options=rw
<para>мөрийг цөмийн тохиргооны файлд байрлуулж дахин бүтээж суулгаарай.
Ингэх нь энэ асуудлыг арилгах ёстой.</para>
Manual root filesystem specification:
&lt;fstype&gt;:&lt;device&gt; [options]
Mount &lt;device&gt; using filesystem &lt;fstype&gt;
and with the specified (optional) option list.
eg. ufs:/dev/da0s1a
zfs:tank
cd9660:/dev/acd0 ro
(which is equivalent to: mount -t cd9660 -o ro /dev/acd0 /)
? List valid disk boot devices
. Yield 1 second (for background tasks)
&lt;empty line&gt; Abort manual input
mountroot&gt;</screen>
<para><filename>geom_mirror</filename> модулийг
<filename>/boot/loader.conf</filename>-т оруулж дуудахаа
мартсан бол энэ асуудал гарна. Үүнийг засахын тулд
&os;-9 эсвэл түүнээс хойшхи хувилбарын CD эсвэл USB дискнээс
ачаалаад эхний асуулт дээр <literal>Shell</literal>-г
сонгох хэрэгтэй. Дараа нь толин тусгалын модулийг дуудаж
толин тусгал төхөөрөмжийг холбох хэрэгтэй:</para>
<screen>&prompt.root; <userinput>gmirror load</userinput>
&prompt.root; <userinput>mount /dev/mirror/gm0s1a /mnt</userinput></screen>
<para>Толин тусгалын модулийг дуудах мөрийг
<filename>/mnt/boot/loader.conf</filename>-д оруулж
засварлана:</para>
<programlisting>geom_mirror_load="YES"</programlisting>
<para>Файлыг хадгалж дахин ачаална.</para>
<para><literal>error 19</literal> гаргаж байгаа
бусад асуудлуудыг засварлахад илүү хүч зарах
шаардлагатай. Асууж лавлах дэлгэц дээр
<literal>ufs:/dev/ada0s1a</literal> гэж оруулж өгнө.
Систем хэдийгээр <devicename>ada0</devicename>-с
ачаалах ёстой боловч бүрхүүл сонгох асууж лавлах дэлгэц
дахин гарч ирнэ. <filename>/etc/fstab</filename>
файл буруу байгаа учраас тэр юм. Оруулах товчийг энэ
үед дарах хэрэгтэй. Толин тусгалын оронд эх дискнээс
(<devicename>ada0</devicename>) файлын системийг холбохоор
болгож <filename>/etc/fstab</filename>-г тохируулж өөрчлөлтийг
буцаах хэрэгтэй. Системийг дахин ачаалж алхмуудыг дахин
оролдож үзэх хэрэгтэй.</para>
<screen>Enter full pathname of shell or RETURN for /bin/sh:
&prompt.root; <userinput>cp /etc/fstab.orig /etc/fstab</userinput>
&prompt.root; <userinput>reboot</userinput></screen>
</sect4>
</sect3>
</sect2>
<sect2>
<title>Дискийн эвдрэлээс буцаж сэргээх нь</title>
<title>Диск ажиллахаа болиход сэргээх</title>
<para>Дискийг тольдохын гайхамшигтай тал нь диск
эвдрэхэд ямар ч өгөгдөл алдалгүйгээр түүнийг сольж болоход
оршино.</para>
<para>Толин тусгалын гайхамшигтай тал бол аль нэг диск ажиллахаа
байхад толин тусгал дээрх өгөгдөл алдагддаггүй явдал
юм.</para>
<para>Өмнөх <acronym>RAID</acronym>1 тохиргоог байна гэж
үзээд <devicename>da1</devicename> эвдэрсэн бөгөөд
солих хэрэгтэй байгаа гэж үзье. Солихын тулд аль диск
эвдэрснийг мэдээд системийг унтраана.
Одоо дискийг шинээр сольж системийг асааж болно.
Системийг дахин ачаалсны дараа дискийг солихын тулд
дараах тушаалуудыг ашиглаж болно:</para>
<para><devicename>ada0</devicename> нь дээрх жишээн дээр толин тусгал
үүсгэж байгаа дискнүүдийн нэг юм. Хэрэв <devicename>ada0</devicename>
ажиллахаа боливол нөгөө ажиллаж байгаа диск болох <devicename>ada1</devicename>-с
өгөгдлөө өгөн толин тусгал ажилласан хэвээр байх болно.</para>
<para>Ажиллахаа больсон дискийг солихын тулд компьютерыг
унтрааж эвдэрсэн дискийг ижил эсвэл илүү хэмжээтэй дискээр
солих хэрэгтэй. Үйлдвэрлэгчид дискний хэмжээг гигабайтаар
хэмжихдээ дурын утга ашигладаг бөгөөд итгэлтэй байхын тулд
зөвхөн <command>diskinfo -v</command> тушаалаар харагдах
секторын тоог харьцуулах явдал юм. Толин тусгалын хэмжээнээс том
диск болох боловч шинэ диск дээрх илүү зай ашиглагдахгүй.</para>
<para>Компьютер ассаны дараа толин тусгал <quote>degraded</quote>
буюу <quote>ажиллагаа саарсан</quote> горимд нэг дисктэйгээр
ажиллах болно. Толин тусгал нь залгагдаагүй байгаа дискийг
мартаж ажиллана:</para>
<screen>&prompt.root; <userinput>gmirror forget gm0</userinput></screen>
<screen>&prompt.root; <userinput>gmirror insert gm0 /dev/da1</userinput></screen>
<para>Хуучин мета өгөгдлийг <link
linkend="GEOM-mirror-metadata">сольсон дискээс арилгах
хэрэгтэй</link>. Дараа нь энэ жишээн дээрх
<devicename>ada4</devicename> дискийг толин тусгал руу оруулна:</para>
<para>Дахин бүтээлтийн явцыг хянахын тулд
<command>gmirror</command> <option>status</option> тушаалыг
ашиглана. Энэ нь ийм амархан юм.</para>
<screen>&prompt.root; <userinput>gmirror insert gm0 /dev/ada4</userinput></screen>
<para>Шинэ диск толин тусгалд ороход дахин синхрончлол
хийгдэж эхэлнэ. Толин тусгалын өгөгдлийг шинэ диск рүү хуулах
процесс удаж болно. Толин тусгалын үйл ажиллагаа хуулж байх явцад
удаашрах учраас компьютерын хэрэглээ бага үед шинэ дискийг
хийх нь зүйтэй.</para>
<para>Үйл явцыг <command>gmirror status</command> тушаалаар
монитор хийж болох бөгөөд синхрончлол хийгдэж байгаа дискнүүд
болон ажиллаж байгаа хувийг энэ тушаал харуулдаг. Дахин синхрончлолын
үед төлөв <computeroutput>DEGRADED</computeroutput> байж байгаад
процесс дуусахдаа <computeroutput>COMPLETE</computeroutput> болж
өөрчлөгдөнө.</para>
</sect2>
</sect1>