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

## 20.7. Дискний төхөөрөмжүүдийг хаяглах нь

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

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

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

### Тэмдэглэл:

`glabel` хэрэгсэл нь түр зуурын болон байнгын хаяг/шошгыг үүсгэж чадна. Хаяг/шошгонуудын ялгаануудын тухай дэлгэрэнгүй мэдээллийг glabel(8) гарын авлагын хуудаснаас үзнэ үү.

### 20.7.1. Хаяг/шошгоны төрлүүд болон жишээнүүд

Байнгын хаяг нь ердийн ба файлын системийн гэсэн хоёр төрлийн байдаг. Файлын системийн байнгын хаягийг tunefs(8) эсвэл newfs(8) тушаалаар үүсгэж болно. Эдгээр хаяг/шошгонуудын төрлүүд `/dev` сангийн дэд санд үүсгэгддэг бөгөөд файлын системийн төрлийн дагуу нэртэй байна. Жишээ нь UFS2 файлын системийн хаяг/шошгонууд `/dev/ufs` санд үүсгэгддэг. Ердийн хаягийг `glabel label` тушаалаар үүсгэж болдог. Эдгээр нь файлын системтэй хамааралгүй бөгөөд `/dev/label` санд үүсгэгдэх болно.

Түр зуурын хаяг/шошго нь дараагийн удаа ачаалахад арилдаг. Эдгээр хаяг/шошгонууд нь `/dev/label` санд үүсгэгдэх бөгөөд туршилтад тохирсон байдаг. Түр зуурын хаягийг `glabel create` тушаалаар үүсгэж болно.

Өгөгдлийг устгалгүйгээр UFS2 файлын системийн хувьд байнгын хаяг/шошго үүсгэхийн тулд доор дурдсан тушаалуудыг ажиллуулна:

`#` `tunefs -L `home` `/dev/da3``

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

Хэрэв файлын систем дүүрэн бол энэ нь өгөгдлийн эвдрэлд хүргэж болох юм.

Хаяг/шошго одоо `/dev/ufs` санд үүссэн байх ёстой бөгөөд түүнийг `/etc/fstab` файлд нэмж болох юм:

/dev/ufs/home /home ufs rw 2 2

### Тэмдэглэл:

`tunefs`-г ажиллуулахдаа файлын системийг холбох ёсгүй.

Одоо файлын системийг холбож болно:

`#` `mount /home`

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

Файлын систем нь `newfs` тушаалд өгөгдсөн `-L` тугны тусламжтайгаар анхдагч хаяг/шошготой үүсгэгдэж бас болно. Дэлгэрэнгүй мэдээллийг newfs(8)-с үзнэ үү.

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

`#` `glabel destroy home`

Ачаалах дискийн хуваалтуудыг хэрхэн хаяглахыг дараах жишээ харуулж байна.

Жишээ 20.1. Ачаалах диск дээрх хуваалтуудыг хаяглах нь

Ачаалах диск дээрх хуваалтуудыг байнгын байдлаар хаягласнаар дискийг өөр хянагч руу эсвэл өөр систем рүү шилжүүлсэн ч гэсэн систем хэвийнээр ачаалж чаддаг болох юм. Энэ жишээний хувьд системээр `ad0` гэж танигдсан ганц ATA диск хэрэглэгдэж байгаа болно. Бас `/`, `/var`, `/usr` ба `/tmp` болон swap хуваалттай FreeBSD-ийн стандарт хуваалтын хэлбэрийг ашиглаж байгаа болно.

Системийн дахин ачаалж ганц хэрэглэгчийн горимд ачаалж орохын тулд loader(8) тушаал хүлээх мөрөнд 4 товчлуурыг дарна. Дараа нь дараах тушаалуудыг ажиллуулна:

`#` `glabel label rootfs /dev/ad0s1a` GEOM_LABEL: Label for provider /dev/ad0s1a is label/rootfs `#` `glabel label var /dev/ad0s1d` GEOM_LABEL: Label for provider /dev/ad0s1d is label/var `#` `glabel label usr /dev/ad0s1f` GEOM_LABEL: Label for provider /dev/ad0s1f is label/usr `#` `glabel label tmp /dev/ad0s1e` GEOM_LABEL: Label for provider /dev/ad0s1e is label/tmp `#` `glabel label swap /dev/ad0s1b` GEOM_LABEL: Label for provider /dev/ad0s1b is label/swap `#` `exit`

Систем нь олон хэрэглэгчийн ачаалах горимоор үргэлжлэх болно. Ачаалж дууссаны дараа `/etc/fstab` файлыг засварлаж ердийн төхөөрөмжийн нэрсийг тохирох хаягуудаар солиорой. Төгсгөлийн `/etc/fstab` файл доорхтой адил харагдах болно:

# Device Mountpoint FStype Options Dump Pass# /dev/label/swap none swap sw 0 0 /dev/label/rootfs / ufs rw 1 1 /dev/label/tmp /tmp ufs rw 2 2 /dev/label/usr /usr ufs rw 2 2 /dev/label/var /var ufs rw 2 2

Системийг одоо дахин ачаалж болно. Хэрэв бүгд зөв болсон бол энэ нь хэвийн гарч ирэх бөгөөд `mount` тушаал дараахийг харуулах болно:

`#` `mount` /dev/label/rootfs on / (ufs, local) devfs on /dev (devfs, local) /dev/label/tmp on /tmp (ufs, local, soft-updates) /dev/label/usr on /usr (ufs, local, soft-updates) /dev/label/var on /var (ufs, local, soft-updates)

FreeBSD 7.2-оос эхлэн glabel(8) ангилал UFS файлын системийн хувьд давхардахгүй файлын системийн id `ufsid` дээр тулгуурлан шинэ хаягийн төрлийг дэмждэг. Эдгээр хаягууд нь `/dev/ufsid` санд байрлах бөгөөд системийн эхлэх явцад автоматаар үүсдэг. Хуваалтуудыг `/etc/fstab` боломжийг ашиглан холбохын тулд `ufsid` хаягийг ашиглах боломжтой байдаг. Файлын системийн жагсаалт болон тэдгээр файл системийн харгалзах `ufsid` хаягуудыг авахын тулд `glabel status` тушаал ашиглана:

`%` `glabel status` Name Status Components ufsid/486b6fc38d330916 N/A ad4s1d ufsid/486b6fc16926168e N/A ad4s1f

Дээрхи жишээн дээр `ad4s1d` нь `/var` файлын системийг илэрхийлж байгаа бол `ad4s1f` нь `/usr` файлын системийг илэрхийлж байна. Үзүүлсэн `ufsid` утгуудыг ашиглан эдгээр хуваалтуудыг `/etc/fstab` дахь дараах оруулгуудын тусламжтайгаар холбож болох юм:

/dev/ufsid/486b6fc38d330916 /var ufs rw 2 2 /dev/ufsid/486b6fc16926168e /usr ufs rw 2 2

`ufsid` хаягтай ямар ч хуваалтыг энэ аргаар холбож болох юм. Ингэснээр тэдгээрийн хувьд байнгын хаягийг үүсгэх шаардлагагүйгээс гадна төхөөрөмжийн нэрнээс үл хамаарах холболтын ашигтай талыг авсан хэвээр байх болно.

Өмнөх | Дээш | Дараах
20.6. GEOM Хаалга Сүлжээний Төхөөрөмжүүд | Эхлэл | 20.8. GEOM-ийн тусламжтай UFS тэмдэглэл

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

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