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

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

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

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

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

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

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

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

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

Өгөгдлийг устгалгүйгээр 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

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

Жишээ 19-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` хаягтай ямар ч хуваалтыг энэ аргаар холбож болох юм. Ингэснээр тэдгээрийн хувьд байнгын хаягийг үүсгэх шаардлагагүйгээс гадна төхөөрөмжийн нэрнээс үл хамаарах холболтын ашигтай талыг авсан хэвээр байх болно.

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

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

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