20.4. RAID1 - Толин тусгал үүсгэх
Өмнөх | Бүлэг 20. GEOM: Модульчлагдсан Диск Хувиргах Тогтолцоо | Дараах

## 20.4. RAID1 - Толин тусгал үүсгэх

RAID1, буюу mirroring нь нэг өгөгдлийг нэгээс илүү диск дээр бичих техникийг хэлдэг. Толин тусгал нь диск ажиллахаа байсан үед өгөгдлийг алдагдахаас хамгаалахад ихэвчлэн хэрэглэгддэг. Толин тусгал дахь диск бүр өгөгдлийн ижил хуулбарыг агуулж байдаг. Тухайн диск ажиллахаа больсон үед ажиллаж байгаа дискнүүд дэх өгөгдлөөр ханган толин тусгал ажилласан хэвээр байна. Компьютер энэ үед ажилласаар байх бөгөөд администратор нь ажиллахаа больсон дискийг хэрэглэгчийн оролцоогүйгээр солих боломжтой болдог.

Эдгээр жишээнүүд дээр хоёр түгээмэл тохиолдлыг харуулсан байгаа. Эхнийх дээр нь хоёр шинэ дискнээс бүтэх толин тусгал үүсгэж одоо байгаа нэг дискний оронд ашиглаж байгаа талаар бичсэн. Хоёр дахь жишээ нь нэг шинэ диск дээр толин тусгал үүсгэж хуучин дискний өгөгдлийг хуулж дараа нь хуучин дискийг толин тусгал руу оруулж байгаа талаар болно. Энэ процедур нь илүү төвөгтэй боловч зөвхөн ганц диск шаарддаг.

Уламжлалаар толин тусгал дахь хоёр диск нь модел болон хэмжээний хувьд ижил байдаг боловч gmirror(8) нь тийм байхыг шаарддаггүй. Өөр дискнүүдээс тогтсон толин тусгал нь хамгийн бага дискний хэмжээтэй ижил байдаг. Илүү том диск дээрх илүүдэл зай нь ашиглагддаггүй. Толин тусгал руу сүүлд нэмэх диск нь толин тусгал дахь хамгийн бага хэмжээтэй дискний хэмжээтэй ижил байх ёстой.

### Сануулга:

Энд үзүүлсэн толин тусгал болгож байгаа процедур эвдлэх шинж чанаргүй боловч дискний үйл ажиллагаатай холбоотой учраас бүрэн хэмжээний нөөцлөлтийг эхлээд хийгээрэй.

### 20.4.1. Мета өгөгдөлтэй холбоотой асуудлууд

Дискний олон систем мета өгөгдлийг диск бүрийн төгсгөлд хадгалдаг. Дискийг толин тусгалд дахин ашиглахын тулд хуучин мета өгөгдлийг устгах ёстой. Ихэнх асуудал хуучин үлдсэн мета өгөгдлийн хоёр төрлөөс болж үүсдэг: GPT хуваалтын хүснэгтүүд, болон өмнөх толин тусгалын хуучин gmirror(8) мета өгөгдөл юм.

GPT мета өгөгдлийг gpart(8) ашиглан устгаж болно. Энэ жишээн дээр анхдагч болон нөөц GPT хуваалтын хүснэгтийг `ada8` дискнээс устгаж байна:

`#` `gpart destroy -F ada8`

gmirror(8) нь ажиллаж байгаа толин тусгалаас дискийг салгаж мета өгөгдлийг арилгахыг нэг алхмаар хийж чаддаг. Энд жишээ диск `ada8`-г ажиллаж байгаа толин тусгал `gm4`-с салгаж байна:

`#` `gmirror remove gm4 ada8`

Хэрэв толин тусгал ажиллахгүй байгаа бөгөөд хуучин толин тусгалын мета өгөгдөл диск дээр байгаа хэвээр бол `gmirror clear` тушаал ашиглан устгаж болно:

`#` `gmirror clear ada8`

gmirror(8) нь мета өгөгдлийн нэг блокийг дискний төгсгөлд хадгалдаг. GPT хуваалтын схем нь мета өгөгдлийг бас дискний төгсгөлд хадгалдаг учраас бүтэн GPT дискүүдийг gmirror(8) ашиглан толин тусгал хийхийг зөвлөдөггүй. Энд MBR хуваалтыг ашигладаг, учир нь энэ хуваалт нь хуваалтын хүснэгтийг дискний зөвхөн эхэнд хадгалдаг бөгөөд gmirror(8)-той харшилддаггүй.

### 20.4.2. Хоёр шинэ дискнээс толин тусгал үүсгэх

Энэ жишээн дээр FreeBSD нь `ada0` гэсэн нэг диск дээр суулгасан байгаа. `ada1` ба `ada2` гэсэн хоёр шинэ диск систем рүү холбогдсон байгаа. Энэ хоёр диск дээр шинэ толин тусгал үүсгэх бөгөөд нэг хуучин дискийг солиход ашиглагдах болно.

gmirror(8) нь цөмд цуг бүтээгдсэн эсвэл ачаалах буюу ажиллах үед дуудагдах `geom_mirror.ko` цөмийн модулийг шаарддаг. Цөмийн модулийг гараар одоо дуудна:

`#` `gmirror load`

Хоёр шинэ дискээс тогтох толин тусгал үүсгэнэ.

`#` `gmirror label -v gm0 /dev/ada1 /dev/ada2`

`gm0` нь шинэ толин тусгалд өгсөн хэрэглэгчийн сонгосон төхөөрөмжийн нэр юм. Толин тусгал эхэлсний дараа төхөөрөмжийн нэр `/dev/mirror/` санд гарч ирнэ.

MBR болон bsdlabel хуваалтын хүснэгтүүдийг толин тусгал дээр gpart(8)-н тусламжтай үүсгэж болно. Энд бид `/`, swap, `/var`, `/tmp`, ба `/usr` гэсэн хуваалтуудтай уламжлалт хуваалттай файлын системийн бүтцийг харуулж байна. Ганц `/` болон swap хуваалт байж бас болно.

Толин тусгал дахь хуваалтууд нь одоо байгаа дискнүүд шиг ижил хэмжээтэй байх албагүй боловч `ada0` дээр байгаа бүх өгөгдлийг агуулах хэмжээтэй байх ёстой.

`#` `gpart create -s MBR mirror/gm0` `#` `gpart add -t -a 4k mirror/gm0` `#` `gpart show mirror/gm0` => 63 156301423 mirror/gm0 MBR (74G) 63 63 - free - (31k) 126 156301299 1 freebsd (74G) 156301425 61 - free - (30k)
`#` `gpart create -s BSD mirror/gm0s1` `#` `gpart add -t freebsd-ufs -a 4k -s 2g mirror/gm0s1` `#` `gpart add -t freebsd-swap -a 4k -s 4g mirror/gm0s1` `#` `gpart add -t freebsd-ufs -a 4k -s 2g mirror/gm0s1` `#` `gpart add -t freebsd-ufs -a 4k -s 1g mirror/gm0s1` `#` `gpart add -t freebsd-ufs -a 4k mirror/gm0s1` `#` `gpart show mirror/gm0s1` => 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)

Ачаалах кодыг MBR болон bsdlabel-д суулган идэвхтэй зүсмэлийг тохируулж толин тусгалыг ачаалах боломжтой болгоно:

`#` `gpart bootcode -b /boot/mbr mirror/gm0` `#` `gpart set -a active -i 1 mirror/gm0` `#` `gpart bootcode -b /boot/boot mirror/gm0s1`

Зөөлөн шинэчлэлийг идэвхжүүлэн шинэ толин тусгал дээрх файлын системийг формат хийнэ.

`#` `newfs -U /dev/mirror/gm0s1a` `#` `newfs -U /dev/mirror/gm0s1d` `#` `newfs -U /dev/mirror/gm0s1e` `#` `newfs -U /dev/mirror/gm0s1f`

Эх диск `ada0` дээрх файлын системийг толин тусгал руу dump(8) ба restore(8) тушаалыг ашиглан хуулж болно.

`#` `mount /dev/mirror/gm0s1a /mnt` `#` `dump -C16 -b64 -0aL -f - / | (cd /mnt && restore -rf -)` `#` `mount /dev/mirror/gm0s1d /mnt/var` `#` `mount /dev/mirror/gm0s1e /mnt/tmp` `#` `mount /dev/mirror/gm0s1f /mnt/usr` `#` `dump -C16 -b64 -0aL -f - /var | (cd /mnt/var && restore -rf -)` `#` `dump -C16 -b64 -0aL -f - /tmp | (cd /mnt/tmp && restore -rf -)` `#` `dump -C16 -b64 -0aL -f - /usr | (cd /mnt/usr && restore -rf -)`

`/mnt/etc/fstab`-г шинэ толин тусгал файлын систем рүү заагдсан байхаар засварлах ёстой:

# 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

Хэрэв gmirror(8) цөмийн модул цөмд цуг бүтээгдээгүй бол модулийг ачаалахад дуудахын тулд `/mnt/boot/loader.conf` файлыг засах ёстой:

geom_mirror_load="YES"

Шинэ толин тусгалыг тест хийхийн тулд системийг дахин ачаалж бүх өгөгдөл хуулагдсан эсэхийг шалгаарай. BIOS толин тусгалыг толин тусгал гэж харахгүй, харин хоёр тусдаа диск гэж харна. Дискнүүд ижил учраас аль нь ачаалахаар сонгогдсон нь чухал биш юм.

Ачаалахад асуудалтай байгаа бол Алдааг олж засварлах хэсгийг үзээрэй. Унтраагаад эхний `ada0` дискийг салгаснаар уг дискийг нөөц маягаар байх боломжийг бүрдүүлдэг.

Ашиглаж байгаа үед толин тусгал нь яг л анхны ганц диск шиг л ажиллах болно.

### 20.4.3. Байгаа дискүүд ашиглан толин тусгал үүсгэх

Энэ жишээн дээр FreeBSD `ada0` гэсэн нэг диск дээр суусан байгаа. Шинэ диск `ada1`-г системд холбосон байгаа. Нэг дискээс тогтох толин тусгалыг шинэ диск дээр үүсгэж байгаа системийг түүн рүү хуулж дараа нь хуучин дискийг толин тусгал руу оруулна. Энэ илүү төвөгтэй процедур нь зайлшгүй шаардлагатай байдаг, учир нь gmirror(8) нь 512 байт блок бүхий мета өгөгдлийг диск бүрийн төгсгөлд нэмэх хэрэгтэй байдаг бөгөөд байгаа `ada0`-н бүх зай ихэвчлэн ашиглагдчихсан байдаг.

gmirror(8) цөмийн модулийг дуудна.

`#` `gmirror load`

diskinfo(8) ашиглан эхний дискний хэмжээг шалгана.

`#` `diskinfo -v ada0 | head -n3` /dev/ada0 512 # sectorsize 1000204821504 # mediasize in bytes (931G)

Шинэ диск дээр толин тусгалыг үүсгэнэ. Эхний дискнээс толин тусгалын хэмжээ их биш гэдгийг шалгахын тулд gnop(8) ашиглан ижил хэмжээтэй хуурамч диск үүсгэж үзнэ. Энэ диск нь ямар ч өгөгдөл хадгалахгүй бөгөөд толин тусгалын хэмжээг хязгаарлахад зөвхөн ашиглагдана. gmirror(8) нь толин тусгал үүсгэхдээ хэдийгээр шинэ диск (`ada1`) илүү зайтай байсан ч гэсэн `gzero.nop`-н хэмжээгээр багтаамжийг хязгаарлана. Хоёр дахь мөрөн дээр байгаа `1000204821504` утга нь дээрх diskinfo(8)-р харуулсантай адил `ada0`-н хэмжээтэй ижил байх ёстой.

`#` `geom zero load` `#` `gnop create -s 1000204821504 gzero` `#` `gmirror label -v gm0 gzero.nop ada1` `#` `gmirror forget gm0`

`gzero.nop` нь ямар ч өгөгдөл хадгалдаггүй учраас толин тусгал холбогдсон гэж хардаггүй. `gzero.nop`-той холбоотой мэдээллийг устган холбогдоогүй байгаа зүйлийг «март» гэж толин тусгалд хэлдэг гэсэн үг юм. Үүний үр дүнд толин тусгал нь зөвхөн ганц диск `ada1`-с тогтоно.

`gm0`-г үүсгэсний дараа `ada0` дээрх хуваалтын хүснэгтийг харна.

Эндэх гаралт нь 1 TB дискнээс юм. Дискний төгсгөлд хуваарилагдаагүй зай байгаа бол өгөгдөл `ada0`-с шууд шинэ толин тусгал руу хуулагдаж болно.

Гэхдээ гаралт нь дараах жагсаалт дээрх шиг диск дээрх бүх зай бүхлээрээ хуваарилагдсан байгаагаар харуулж байгаа бол 512 байт gmirror(8) мета өгөгдлийн хувьд дискний төгсгөлд зай байхгүй гэсэн үг юм.

`#` `gpart show ada0` => 63 1953525105 ada0 MBR (931G) 63 1953525105 1 freebsd [active] (931G)

Энэ тохиолдолд `mirror/gm0` дээрх багтаамжийг нэг сектороор багасгахын тулд хуваалтын хүснэгтийг засварлах хэрэгтэй. Уг процедурыг дараа тайлбарлах болно.

Аль ч тохиолдолд анхдагч диск дээрх хуваалтын хүснэгтүүдийг эхэлж хуулах хэрэгтэй бөгөөд gpart(8) `backup` ба `restore` дэд тушаалуудыг ашиглан гүйцэтгэнэ.

`#` `gpart backup ada0 > table.ada0` `#` `gpart backup ada0s1 > table.ada0s1`

Эдгээр тушаал нь `table.ada0` ба `table.ada0s1` гэсэн хоёр файл үүсгэнэ. Энэ жишээ нь 1 TB дискнээс юм:

`#` `cat table.ada0` MBR 4 1 freebsd 63 1953525105 [active]
`#` `cat table.ada0s1` 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

Хэрэв `gpart show` тушаал дискний төгсгөлд зай байхгүй байгааг харуулж байгаа бол зүсмэл болон сүүлийн хуваалтыг нэг сектороор багасгах хэрэгтэй. Зүсмэл болон сүүлийн хуваалтын зайг нэгээр багасган хоёр файлыг засварлах хэрэгтэй. Эдгээр нь жагсаалт бүрийн сүүлийн тоонууд юм.

`#` `cat table.ada0` MBR 4 1 freebsd 63 1953525104 [active]
`#` `cat table.ada0s1` 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 984640880

Дискний төгсгөлд хамгийн багадаа нэг сектор хуваарилагдаагүй байгаа бол эдгээр хоёр файлыг засварлалгүйгээр ашиглаж болно.

Одоо хуваалтын хүснэгтийг `mirror/gm0` руу сэргээнэ:

`#` `gpart restore mirror/gm0 < table.ada0` `#` `gpart restore mirror/gm0s1 < table.ada0s1`

`gpart show` тушаалаар хуваалтын хүснэгтийг шалгана. Энэ жишээ нь `gm0s1a`-г `/`, `gm0s1d`-г `/var`, `gm0s1e`-г `/usr`, `gm0s1f`-г `/data1`, ба `gm0s1g`-г `/data2`-д ашиглана.

`#` `gpart show mirror/gm0` => 63 1953525104 mirror/gm0 MBR (931G) 63 1953525042 1 freebsd [active] (931G) 1953525105 62 - free - (31k) `#` `gpart show mirror/gm0s1` => 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)

Зүсмэл болон сүүлийн хуваалт диск бүрийн төгсгөлд сул зайтай байх ёстой.

Энэ шинэ хуваалтууд дээр файлын систем үүсгэнэ. Хэдэн хуваалт байх нь эх диск `ada0` дээрх хуваалтуудаас хамаарч янз бүр байна.

`#` `newfs -U /dev/mirror/gm0s1a` `#` `newfs -U /dev/mirror/gm0s1d` `#` `newfs -U /dev/mirror/gm0s1e` `#` `newfs -U /dev/mirror/gm0s1f` `#` `newfs -U /dev/mirror/gm0s1g`

Идэвхтэй зүсмэлийг тохируулж MBR болон bsdlabel дээр ачаалах кодыг суулгаж толин тусгалыг ачаалах боломжтой болгоно:

`#` `gpart bootcode -b /boot/mbr mirror/gm0` `#` `gpart set -a active -i 1 mirror/gm0` `#` `gpart bootcode -b /boot/boot mirror/gm0s1`

Толин тусгал дээрх шинэ хуваалтыг ашиглахаар болгож `/etc/fstab` файлыг тохируулна. `/etc/fstab.orig` руу хуулж энэ файлыг эхлээд нөөцөлж авах хэрэгтэй.

`#` `cp /etc/fstab /etc/fstab.orig`

`/dev/ada0`-г `mirror/gm0`-р сольж `/etc/fstab` файлыг засварлана.

# 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

Хэрэв gmirror(8) цөмийн модул цөмд цуг бүтээгдээгүй бол `/boot/loader.conf`-г засварлаж түүнийг дуудна:

geom_mirror_load="YES"

Эх диск дээрх файлын системүүдийг одоо dump(8) ба restore(8) тушаалуудыг ашиглан толин тусгал руу хуулж болно. `dump -L` тушаалаар авагдсан файл систем бүрийн хувьд хормын хувилбар үүсгэхэд хугацаа шаардагдаж магадгүйг санаарай.

`#` `mount /dev/mirror/gm0s1a /mnt` `#` `dump -C16 -b64 -0aL -f - / | (cd /mnt && restore -rf -)` `#` `mount /dev/mirror/gm0s1d /mnt/var` `#` `mount /dev/mirror/gm0s1e /mnt/usr` `#` `mount /dev/mirror/gm0s1f /mnt/data1` `#` `mount /dev/mirror/gm0s1g /mnt/data2` `#` `dump -C16 -b64 -0aL -f - /usr | (cd /mnt/usr && restore -rf -)` `#` `dump -C16 -b64 -0aL -f - /var | (cd /mnt/var && restore -rf -)` `#` `dump -C16 -b64 -0aL -f - /data1 | (cd /mnt/data1 && restore -rf -)` `#` `dump -C16 -b64 -0aL -f - /data2 | (cd /mnt/data2 && restore -rf -)`

`ada1`-с ачаалж системийг дахин ачаална. Бүгд ажиллаж байгаа бол систем `mirror/gm0`-с ачаалах бөгөөд энэ нь `ada0`-н өмнө агуулж байсан өгөгдлийг бас агуулах болно. Ачаалахтай холбоотой асуудал байгаа бол Алдааг олж засварлах хэсгийг харна уу.

Энд хүрэхэд толин тусгал нь зөвхөн ганц диск `ada1`-с тогтох болно.

`mirror/gm0`-с амжилттай ачаалсны дараа сүүлийн алхам бол `ada0`-г толин тусгал руу оруулах явдал юм.

### Чухал:

`ada0`-г толин тусгал руу оруулах үед хуучин агуулга нь толин тусгал дээрх агуулгаар дарагдаж бичигддэг. `ada0`-г толин тусгал руу нэмэхээсээ өмнө `mirror/gm0` нь `ada0`-н өгөгдлийг яг агуулж байгаа эсэхийг шалгаарай. dump(8) ба restore(8)-г ашиглан хуулсан агуулгатай холбоотой ямар нэг асуудал үүссэн бол файлын системийг `ada0`-с холбохоор болгож `/etc/fstab`-г тохируулж дахин ачаалан дээрх алхмуудыг дахин эхнээс нь хийж үзэх хэрэгтэй.

`#` `gmirror insert gm0 ada0` GEOM_MIRROR: Device gm0: rebuilding provider ada0

Хоёр дискний хоорондох синхрончлол шууд эхэлнэ. gmirror(8) `status` тушаал явцыг харуулна.

`#` `gmirror status` Name Status Components mirror/gm0 DEGRADED ada1 (ACTIVE) ada0 (SYNCHRONIZING, 64%)

Тодорхой хугацааны дараа синхрончлол дуусна.

GEOM_MIRROR: Device gm0: rebuilding provider ada0 finished. `#` `gmirror status` Name Status Components mirror/gm0 COMPLETE ada1 (ACTIVE) ada0 (ACTIVE)

`mirror/gm0` нь одоо `ada0` ба `ada1` гэсэн хоёр дискээс тогтох бөгөөд агуулгууд нь нэг нэгэнтэйгээ автоматаар синхрончлогдсон байна. Ашиглагдаж байгаа үед `mirror/gm0` нь яг л эхний ганц диск шиг ажиллах болно.

### 20.4.4. Алдааг олж засварлах

#### 20.4.4.1. Ачаалахтай холбоотой асуудлууд

##### 20.4.4.1.1. BIOS тохиргоо

BIOS тохиргоог шинээр толин тусгал болгосон дискнүүдийн аль нэгнээс ачаалахаар болгож тохируулах хэрэгтэй байж магадгүй юм. Толин тусгалын нэг хэсэг учраас тэдгээр нь ижил өгөгдөлтэй байдаг бөгөөд аль ч дискийг ачаалахад ашиглаж болно.

##### 20.4.4.1.2. Ачаалах үеийн асуудлууд

Хэрэв ачаалалт ийм мэдэгдэлтэй зогссон бол толин тусгал төхөөрөмж асуудалтай байж болох юм:

Mounting from ufs:/dev/mirror/gm0s1a failed with error 19. Loader variables: vfs.root.mountfrom=ufs:/dev/mirror/gm0s1a vfs.root.mountfrom.options=rw Manual root filesystem specification: <fstype>:<device> [options] Mount <device> using filesystem <fstype> 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) <empty line> Abort manual input mountroot>

`geom_mirror` модулийг `/boot/loader.conf`-т оруулж дуудахаа мартсан бол энэ асуудал гарна. Үүнийг засахын тулд FreeBSD 9.0 эсвэл түүнээс хойшхи хувилбарын CD эсвэл USB дискнээс ачаалаад эхний асуулт дээр `Shell`-г сонгох хэрэгтэй. Дараа нь толин тусгалын модулийг дуудаж толин тусгал төхөөрөмжийг холбох хэрэгтэй:

`#` `gmirror load` `#` `mount /dev/mirror/gm0s1a /mnt`

Толин тусгалын модулийг дуудах мөрийг `/mnt/boot/loader.conf`-д оруулж засварлана:

geom_mirror_load="YES"

Файлыг хадгалж дахин ачаална.

`error 19` гаргаж байгаа бусад асуудлуудыг засварлахад илүү хүч зарах шаардлагатай. Ачаалах үеийн асууж лавлах дэлгэц дээр `ufs:/dev/ada0s1a` гэж оруулж өгнө. Систем хэдийгээр `ada0`-с ачаалах ёстой боловч бүрхүүл сонгох асууж лавлах дэлгэц дахин гарч ирнэ. `/etc/fstab` файл буруу байгаа учраас тэр юм. Оруулах товчийг энэ үед дарах хэрэгтэй. Толин тусгалын оронд эх дискнээс (`ada0`) файлын системийг холбохоор болгож `/etc/fstab`-г тохируулж өөрчлөлтийг буцаах хэрэгтэй. Системийг дахин ачаалж алхмуудыг дахин оролдож үзэх хэрэгтэй.

Enter full pathname of shell or RETURN for /bin/sh: `#` `cp /etc/fstab.orig /etc/fstab` `#` `reboot`

### 20.4.5. Диск ажиллахаа болиход сэргээх

Толин тусгалын ашигтай тал бол аль нэг диск ажиллахаа байхад толин тусгал дээрх өгөгдөл алдагддаггүй явдал юм. Дээрх жишээн дээр `ada0` ажиллахаа болиход ажиллаж байгаа диск болох `ada1`-с өгөгдлөө өгөн толин тусгал ажилласан хэвээр байх болно.

Ажиллахаа больсон дискийг солихын тулд компьютерыг унтрааж эвдэрсэн дискийг ижил эсвэл илүү хэмжээтэй дискээр солих хэрэгтэй. Үйлдвэрлэгчид дискний хэмжээг гигабайтаар хэмжихдээ дурын утга ашигладаг бөгөөд итгэлтэй байхын тулд зөвхөн `diskinfo -v` тушаалаар харагдах секторын тоог харьцуулах явдал юм. Толин тусгалын хэмжээнээс том диск болох боловч шинэ диск дээрх илүү зай ашиглагдахгүй.

Компьютер ассаны дараа толин тусгал «degraded» буюу «ажиллагаа саарсан» горимд нэг дисктэйгээр ажиллах болно. Толин тусгал нь залгагдаагүй байгаа дискийг мартаж ажиллана:

`#` `gmirror forget gm0`

Хуучин мета өгөгдлийг сольсон дискээс арилгах хэрэгтэй. Дараа нь энэ жишээн дээрх `ada4` дискийг толин тусгал руу оруулна:

`#` `gmirror insert gm0 /dev/ada4`

Шинэ диск толин тусгалд ороход дахин синхрончлол хийгдэж эхэлнэ. Толин тусгалын өгөгдлийг шинэ диск рүү хуулах процесс удаж болно. Толин тусгалын үйл ажиллагаа хуулж байх явцад удаашрах учраас компьютерын хэрэглээ бага үед шинэ дискийг хийх нь зүйтэй.

Үйл явцыг `gmirror status` тушаалаар монитор хийж болох бөгөөд синхрончлол хийгдэж байгаа дискнүүд болон ажиллаж байгаа хувийг энэ тушаал харуулдаг. Дахин синхрончлолын үед төлөв `DEGRADED` байж байгаад процесс дуусахдаа `COMPLETE` болж өөрчлөгдөнө.

Өмнөх | Дээш | Дараах
20.3. RAID0 - Судал үүсгэх | Эхлэл | 20.5. RAID3 - Parity бүхий байтын түвшний тусдаа судалжуулалт (Striping)

Энэ болон бусад баримтуудыг ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ хаягаас татаж авч болно.

FreeBSD-ийн талаар <questions@FreeBSD.org> хаягтай холбоо барихаасаа өмнө баримтыг уншина уу.
Энэ бичиг баримттай холбоотой асуулт байвал <doc@FreeBSD.org> хаягаар цахим захидал явуулна уу.
Энэ бичиг баримтын орчуулгатай холбоотой асуулт байвал <admin@mnbsd.org> хаягаар цахим захидал явуулна уу.