diff --git a/mn_MN.UTF-8/books/handbook/filesystems/chapter.sgml b/mn_MN.UTF-8/books/handbook/filesystems/chapter.sgml index 1af2125f47..338c07160d 100644 --- a/mn_MN.UTF-8/books/handbook/filesystems/chapter.sgml +++ b/mn_MN.UTF-8/books/handbook/filesystems/chapter.sgml @@ -1,611 +1,611 @@ Том Рөүдс Бичсэн Файлын системийн дэмжлэг Ерөнхий агуулга File Systems File Systems Support File Systems Файлын системүүд нь үйлдлийн системийн бүрэлдэхүүн хэсэг юм. Тэдгээр нь хэрэглэгчдэд файл хуулж хадгалах, өгөгдөлд хандах боломжийг бүрдүүлэх, тэгээд мэдээж хатуу хөтчүүдийг ашигтай болгодог. Өөр өөр үйлдлийн системүүд нь нийтлэг нэг гол үзэлтэй бөгөөд тэр нь тэдгээрийн эх файлын систем юм. &os; дээр энэ файлын систем нь бас UFS гэгддэг эх Unix™ Файлын Систем дээр бүтээгдсэн Түргэн Файлын Систем буюу FFS юм. Энэ нь өгөгдөлд хандахад зориулж хатуу дискүүд дээр байрлуулагддаг &os; дээрх эх файлын систем юм. &os; нь бас бусад үйлдлийн системийн өгөгдөлд өөр дээрээсээ өөрөөр хэлбэл холбогдсон USB хадгалалтын төхөөрөмжүүд, флэш хөтчүүд болон хатуу дискүүд дээр хадгалагдсан өгөгдөлд хандах боломжийг бүрдүүлэх зорилгоор төрөл бүрийн олон файлын системийг дэмждэг. Бас зарим эх бус файлын системүүдэд зориулсан дэмжлэг байдаг. Эдгээр нь &linux;-ийн Extended буюу Өргөтгөсөн Файлын Систем (EXT), болон &sun;-ий Z Файлын Систем (ZFS) зэрэг өөр үйлдлийн системүүд дээр хөгжүүлэгдсэн файлын системүүд юм. &os; дээр төрөл бүрийн файлын системүүдэд зориулсан дэмжлэгийн янз бүрийн түвшингүүд байдаг. Зарим нь цөмийн модулийг дуудахыг шаарддаг бол зарим нь хэрэгслүүд суулгахыг шаардаж болох юм. Энэ бүлэг нь &os;-ийн хэрэглэгчдэд өөрийн систем дээрээ &sun;-ий Z файлын системээс эхлээд бусад файлын системүүдэд хандахад туслах зорилгоор хийгдсэн. Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно: Эх болон дэмжигдсэн файлын системүүдийн ялгаа. &os; дээр ямар файлын системүүд дэмжигдсэн талаар. Эх бус файлын системүүдийг хэрхэн идэвхжүүлж, тохируулж хандан ашиглах талаар. Энэ бүлгийг уншихаасаа өмнө та дараах зүйлсийг гүйцэтгэх хэрэгтэй: &unix; болон &os;-ийн үндсүүдийг () ойлгох. Цөмийн тохиргоо/эмхэтгэлтийн () үндсийг мэддэг байх. &os; дээр гуравдагчдын програм хангамжийг суулгаж () чаддаг байх. &os; дээрх диск, хадгалалт болон төхөөрөмжийн нэрстэй танилцсан байх (). ZFS боломж нь туршилтын гэж тооцогддог. Зарим тохиргоонууд ажиллагааны хувьд дутуу, зарим хэсэг нь ерөөсөө ажиллахгүй байж болох юм. Цагийн явцад энэ боломж нь үйлдвэрлэлд ашиглагдахад бэлэн гэж тооцогдох бөгөөд энэ баримт нь тэр тохиолдолд таарахаар өөрчлөгдөх болно. Z Файлын Систем &sun;-ий хөгжүүлсэн Z  файлын систем нь цөөрөм хэлбэрийн хадгалалтын аргыг ашиглахаар хийгдсэн шинэ технолог юм. Энэ нь зай зөвхөн өгөгдөл хадгалалтад хэрэгтэй нөхцөлд ашиглагдана гэсэн үг юм. Энэ нь өгөгдлийн хормын хувилбарууд, олон хуулбарууд, болон өгөгдлийн хяналтын нийлбэрийг дэмжин өгөгдлийн максимум бүрэн бүтэн байдалд зориулагдан бас хийгдсэн юм. RAID-Z гэгддэг өгөгдлийн шинэ хуулбарлах загвар нэмэгдсэн. RAID-Z загвар нь RAID5-тай төстэй боловч өгөгдлийн бичилтийн эвдрэлтээс хамгаалахаар хийгдсэн. ZFS тааруулалт ZFS дэд систем нь системийн эх үүсвэрүүдийн ихэнхийг хэрэглэгдэг учир өдөр тутмын хэрэглээнд максимум үр ашгийг хангахад шаардлагатай зарим нэг тааруулалт шаардлагатай байдаг. &os; дээр туршилтын боломж гэгдэж байгаа боловч энэ нь ойрын ирээдүйд өөрчлөгдөж болох юм. Гэхдээ одоогоор дараах алхмуудыг зөвлөдөг. Санах ой Нийт системийн санах ой хамгийн багаа бодоход нэг гигабайт байх ёстой бөгөөд хоёр болон түүнээс дээшхийг зөвлөдөг. Энд байгаа бүх жишээнүүдэд систем нь нэг гигабайт санах ойтой, хэд хэдэн бусад тааруулах аргын хамтаар байх болно. Зарим хүмүүс нэг гигабайт санах ойгоос бага санах ойг амжилттай ашиглаж чадсан боловч тийм хязгаарлагдмал физик санах ойтой систем ачаалал ихтэй үед &os; нь санах ойн шавхалтаас болж үймэх нь маш боломжийн байх болно. Цөмийн тохиргоо Хэрэгцээгүй драйверууд болон тохиргоонуудыг цөмийн тохиргооны файлаас устгахыг зөвлөдөг. Ихэнх төхөөрөмжүүд модуль хэлбэрээр байдаг болохоор тэдгээрийг /boot/loader.conf файлын тусламжтай дуудаж болно. i386 архитектурын хэрэглэгчид өөрсдийн цөмийн тохиргооны файлдаа дараах тохиргоог нэмж цөмөө дахин бүтээж дахин ачаалах хэрэгтэй: options KVA_PAGES=512 Энэ тохиргоо нь vm.kvm_size тохируулгыг одоо байгаа 1 GB (PAE-ийн хувьд 2 GB) хязгаарыг давах боломжийг бүрдүүлж цөмийн хаягийн талбарыг өргөтгөх болно. Энэ тохиргооны хувьд хамгийн тохиромжтой утгыг олохын тулд мегабайтаар хүссэн хаягийн талбараа дөрөвт (4) хуваана. Энэ тохиолдолд 2 GB-ийн хувьд 512 байна. Дуудагчийн тохируулгууд kmem хаягийн талбарыг &os;-ийн бүх архитектур дээр ихэсгэх ёстой. Нэг гигабайт физик санах ойтой тест систем дээр /boot/loader.conf файлд хийсэн дараах тохируулгууд болон системийг дахин ачаалсны дараа амжилттай болсон: - vm.kmem_slze="330M" + vm.kmem_size="330M" vm.kmem_size_max="330M" vfs.zfs.arc_max="40M" vfs.zfs.vdev.cache.size="5M" ZFS-тэй холбоотой тохируулгуудын талаар илүү дэлгэрэнгүй зөвлөмжүүдийн жагсаалтыг хаягаас үзнэ үү. <acronym>ZFS</acronym>-г ашиглах нь ZFS цөөрмүүдийг систем эхлэх үед холбох боломжийг &os;-д олгох эхлүүлэх арга зам байдаг. Үүнийг тохируулахын тулд дараах тушаалуудыг ажиллуулна: &prompt.root; echo 'zfs_enable="YES"' >> /etc/rc.conf &prompt.root; /etc/rc.d/zfs start Энэ баримтын үлдсэн хэсэг SCSI дискүүд байна гэж үзэх бөгөөд тэдгээр төхөөрөмжийн нэрс нь da0 болон da1 юм. IDE тоног төхөөрөмжийн хэрэглэгчид SCSI-ийн оронд ad төхөөрөмжүүдийг ашигладаг. Ганц дискийн цөөрөм Ганц диск төхөөрөмж дээр ZFS үүсгэхийн тулд zpool тушаалыг ашиглана: &prompt.root; zpool create example /dev/da0 Шинэ цөөрмийг харахын тулд df тушаалын гаралтыг үзнэ: &prompt.root; df Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/ad0s1a 2026030 235230 1628718 13% / devfs 1 1 0 100% /dev /dev/ad0s1d 54098308 1032846 48737598 2% /usr example 17547136 0 17547136 0% /example Энэ гаралт нь example цөөрөм зөвхөн үүсгэгдээд зогсохгүй бас холбогдсон гэдгийг тодорхой харуулж байна. Энэ нь энгийн файлын систем шиг хандах боломжтой, үүн дээр файлууд үүсгэж хэрэглэгчид дараах жишээн дээрх шиг үзэх боломжтой байна: &prompt.root cd /example &prompt.root; ls &prompt.root; touch testfile &prompt.root; ls -al total 4 drwxr-xr-x 2 root wheel 3 Aug 29 23:15 . drwxr-xr-x 21 root wheel 512 Aug 29 23:12 .. -rw-r--r-- 1 root wheel 0 Aug 29 23:15 testfile Харамсалтай нь энэ цөөрөм ZFS-ийн боломжуудын давуу талыг ашиглахгүй байна. Файлын системийг энэ цөөрөм дээр үүсгэж түүн дээр шахалтыг идэвхжүүлнэ: &prompt.root; zfs create example/compressed &prompt.root; zfs set compression=gzip example/compressed example/compressed нь одоо ZFS шахагдсан файлын систем боллоо. Зарим нэг том файлуудыг /example/compressed хуулан түүн рүү хуулж үз. Шахалтыг дараах тушаалаар болиулж болно: &prompt.root; zfs set compression=off example/compressed Файлын системийг салгахын тулд дараах тушаалыг ажиллуулж df хэрэгслээр шалгана: &prompt.root; zfs umount example/compressed &prompt.root; df Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/ad0s1a 2026030 235232 1628716 13% / devfs 1 1 0 100% /dev /dev/ad0s1d 54098308 1032864 48737580 2% /usr example 17547008 0 17547008 0% /example Файлын системийг дахин холбож дахин хандах боломжтой болгоод df тушаалаар шалгана: &prompt.root; zfs mount example/compressed &prompt.root; df Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/ad0s1a 2026030 235234 1628714 13% / devfs 1 1 0 100% /dev /dev/ad0s1d 54098308 1032864 48737580 2% /usr example 17547008 0 17547008 0% /example example/compressed 17547008 0 17547008 0% /example/compressed Цөөрөм болон файлын системийг mount тушаалын гаралтыг шалган бас ажиглаж болно: &prompt.root; mount /dev/ad0s1a on / (ufs, local) devfs on /dev (devfs, local) /dev/ad0s1d on /usr (ufs, local, soft-updates) example on /example (zfs, local) example/data on /example/data (zfs, local) example/compressed on /example/compressed (zfs, local) Ажигласнаар ZFS файлын системүүд нь үүсгэгдсэнийхээ дараагаар жирийн файлын системүүд шигээр ашиглагдаж болно, гэхдээ өөр бусад олон боломжууд бас байдаг. Дараах жишээн дээр шинэ файлын систем data үүсгэгдэж байна. Чухал файлууд энд хадгалагдах учир файлын систем нь өгөгдлийн блок бүрийн хоёр хуулбарыг хадгалахаар тохируулагдсан: &prompt.root; zfs create example/data &prompt.root; zfs set copies=2 example/data Одоо df-г дахин ажиллуулж өгөгдөл болон зайн хэрэглээг харах боломжтой: &prompt.root; df Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/ad0s1a 2026030 235234 1628714 13% / devfs 1 1 0 100% /dev /dev/ad0s1d 54098308 1032864 48737580 2% /usr example 17547008 0 17547008 0% /example example/compressed 17547008 0 17547008 0% /example/compressed example/data 17547008 0 17547008 0% /example/data Цөөрөм дээрх файлын систем бүр ижил хэмжээтэй зайтай байгааг хараарай. Файлын системүүд нь зөвхөн хэрэгцээтэй зайгаа ашиглаж ижил цөөрмөөс авч байгааг харуулахын тулд df тушаалыг энэ жишээнүүд дээр ашигласан шалтгаантай юм. ZFS файлын систем нь эзлэхүүн болон хуваалтууд гэх мэт ойлголтуудаас ангид байж хэд хэдэн файлын систем нэг цөөрмийг эзлэхийг зөвшөөрдөг. Файлын системүүдийг устгаад дараа нь цөөрмийг хэрэгцээгүй болсон болохоор устгана: &prompt.root; zfs destroy example/compressed &prompt.root; zfs destroy example/data &prompt.root; zpool destroy example Дискүүд муудаж эвдрэх нь тойрох боломжгүй нөхцөл юм. Энэ диск муудсан үед өгөгдөл алдагдах болно. Эвдэрсэн хатуу дискээс болоод өгөгдлийн алдагдлаас хамгаалах нэг арга нь RAID-г ашиглах явдал юм. ZFS нь энэ боломжийг дараагийн хэсэгт тайлбарлах өөрийн цөөрмийн дизайндаа дэмжсэн байдаг. <acronym>ZFS</acronym> RAID-Z Өмнө хэлсэнчлэн энэ хэсэг нь хоёр SCSI байх бөгөөд da0 болон da1 гэж тооцно. RAID-Z цөөрөм үүсгэхийн тулд дараах тушаалыг өгнө: &prompt.root; zpool create storage raidz da0 da1 storage zpool үүсгэгдсэн байх ёстой. Өмнөх шиг &man.mount.8; болон &man.df.1; тушаалуудыг ашиглан үүнийг шалгаж болно. Дээрх жагсаалтын төгсгөлд өөр илүү дискийн төхөөрөмжүүдийг нэмэн хуваарилж болно. Хэрэглэгчийн файлууд удахгүй байрлах home гэгдсэн шинэ файлын системийг цөөрөмд хийнэ: &prompt.root; zfs create storage/home Одоо шахалтыг идэвхжүүлж хэрэглэгчийн гэрийн сангууд болон файлуудын илүү хуулбаруудыг хадгалах боломжтой. Үүнийг өмнөх шиг дараах тушаалуудыг ашиглан хийж болно: &prompt.root; zfs set copies=2 storage/home &prompt.root; zfs set compression=gzip storage/home Үүнийг хэрэглэгчдийн шинэ гэрийн сан болгохын тулд хэрэглэгчийн өгөгдлийг энэ сан руу хуулж тохирох тэмдэгт холбоосуудыг үүсгэнэ: &prompt.root; cp -rp /home/* /storage/home &prompt.root; rm -rf /home /usr/home &prompt.root; ln -s /storage/home /home &prompt.root; ln -s /storage/home /usr/home Одоо хэрэглэгчдийн хувьд шинээр үүсгэгдсэн /storage/home файлын систем дээр тэдний өгөгдөл хадгалагдсан байх болно. Шинэ хэрэглэгч нэмж тэр хэрэглэгчээр нэвтэрч үзээрэй. Дараа нь буцааж болох хормын хувилбар үүсгэж үзээрэй: &prompt.root; zfs snapshot storage/home@08-30-08 Хормын хувилбар тохиргоо нь гэрийн сан ч биш эсвэл файл ч биш зөвхөн жинхэнэ файлын системийг авахыг анхаараарай. @ тэмдэгт нь файлын системийн нэр эсвэл эзлэхүүний нэрийн хооронд ашиглагдсан зааглагч юм. Хэрэглэгчийн гэрийн сан устгагдах үед түүнийг доорх тушаалаар сэргээнэ: &prompt.root; zfs rollback storage/home@08-30-08 Байгаа хормын хувилбаруудын жагсаалтыг авахын тулд ls-г файлын системийн .zfs/snapshot сан дотор ажиллуулна. Жишээ нь өмнө нь авсан хормын хувилбарыг харахын тулд дараах тушаалыг гүйцэтгэнэ: &prompt.root; ls /storage/home/.zfs/snapshot Хэрэглэгчийн өгөгдөл дээр сар бүрийн хормын хувилбар үүсгэх скрипт бичих боломжтой боловч хожим хормын хувилбарууд нь ихээхэн хэмжээний дискийн хэмжээ эзлэх болно. Түрүүчийн хормын хувилбарыг дараах тушаал ашиглан устгаж болно: &prompt.root; zfs destroy storage/home@08-30-08 Энэ бүх тестийн дараагаар /storage/home санг бид одоо байгаа төлөвт нь байлгаад байх шалтгаан байх ёсгүй юм. Үүнийг жинхэнэ /home файлын систем болгох хэрэгтэй: &prompt.root; zfs set mountpoint=/home storage/home df болон mount тушаалуудыг ажиллуулснаар систем бидний файлын системийг жинхэнэ /home сан гэж үзэж байгааг харуулна: &prompt.root; mount /dev/ad0s1a on / (ufs, local) devfs on /dev (devfs, local) /dev/ad0s1d on /usr (ufs, local, soft-updates) storage on /storage (zfs, local) storage/home on /home (zfs, local) &prompt.root; df Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/ad0s1a 2026030 235240 1628708 13% / devfs 1 1 0 100% /dev /dev/ad0s1d 54098308 1032826 48737618 2% /usr storage 17547008 0 17547008 0% /storage storage/home 17547008 0 17547008 0% /home Ингэснээр RAID-Z тохиргоо дуусаж байна. Шөнө бүрийн &man.periodic.8; ажиллах үед үүссэн файлын системүүдийн талаар төлвийн шинэчлэлтүүдийг авахын тулд дараах тушаалыг ажиллуулна: &prompt.root; echo 'daily_status_zfs_enable="YES"' >> /etc/periodic.conf <acronym>RAID</acronym>-Z-г сэргээх нь Програм хангамжийн RAID бүр өөрсдийн төлвийг хянах аргатай байдаг. ZFS нь ч мөн адил. RAID-Z төхөөрөмжүүдийн төлвийг дараах тушаалаар харж болно: &prompt.root; zpool status -x Хэрэв бүх цөөрмүүд эрүүл ба бүгд хэвийн бол дараах мэдэгдэл гарна: all pools are healthy Хэрэв асуудал байвал магадгүй диск холболтгүй болчихвол цөөрмийн төлөв иймэрхүү харагдах болно: pool: storage state: DEGRADED status: One or more devices has been taken offline by the administrator. Sufficient replicas exist for the pool to continue functioning in a degraded state. action: Online the device using 'zpool online' or replace the device with 'zpool replace'. scrub: none requested config: NAME STATE READ WRITE CKSUM storage DEGRADED 0 0 0 raidz1 DEGRADED 0 0 0 da0 ONLINE 0 0 0 da1 OFFLINE 0 0 0 errors: No known data errors Энэ нь төхөөрөмжийг администратор салгасан гэдгийг харуулж байна. Ялангуяа энэ жишээний хувьд энэ нь үнэн юм. Дискийг салгахын тулд дараах тушаалыг ашиглажээ: &prompt.root; zpool offline storage da1 Одоо системийг унтраасны дараа da1-г солих боломжтой. Систем буцаж ассаны дараа дараах тушаалыг ажиллуулж дискийг солино: &prompt.root; zpool replace storage da1 Эндээс төлвийг дахин шалгаж болох бөгөөд энэ удаад төлвийн мэдээллийг авахын тулд өгөгдөлгүйгээр үзнэ: &prompt.root; zpool status storage pool: storage state: ONLINE scrub: resilver completed with 0 errors on Sat Aug 30 19:44:11 2008 config: NAME STATE READ WRITE CKSUM storage ONLINE 0 0 0 raidz1 ONLINE 0 0 0 da0 ONLINE 0 0 0 da1 ONLINE 0 0 0 errors: No known data errors Энэ жишээнээс харахад бүгд хэвийн харагдаж байна. Өгөгдлийн шалгалт Өмнө дурдсанчлан ZFS нь хадгалагдсан өгөгдлийн бүрэн бүтэн байдлыг шалгахдаа хяналтын нийлбэрийг ашигладаг. Тэдгээр нь файлын системүүдийг үүсгэхэд автоматаар идэвхждэг бөгөөд дараах тушаалыг ашиглан болиулж болно: &prompt.root; zfs set checksum=off storage/home Энэ нь ухаалаг санаа биш боловч хяналтын нийлбэрүүд нь маш бага хадгалалтын зай эзэлдэг бөгөөд идэвжсэн байхдаа илүү ашигтай байдаг. Бас тэдгээрийг идэвхжүүлснээр мэдэгдэхээр зардал бас ажиглагддаггүй. Идэвхжсэн байх үед өгөгдлийн бүрэн бүтэн байдлыг хяналтын нийлбэрийн шалгалт ашиглан ZFS шалгах боломжтой байдаг. Энэ процессийг цэвэрлэх гэж хэлдэг. storage цөөрмийн өгөгдлийн бүрэн бүтэн байдлыг шалгахын тулд дараах тушаалыг ажиллуулна: &prompt.root; zpool scrub storage Энэ процесс хадгалагдсан өгөгдлийн хэмжээнээс хамаарч ихээхэн хэмжээний хугацаа шаардаж болох юм. Энэ нь бас эдгээр үйлдлүүдийн зөвхөн нэг нь тухайн үед ажиллаж болохоор тийм ихээр I/O-г ашигладаг байна. Цэвэрлэлт дууссаны дараа төлөв шинэчлэгдэж төлвийн хүсэлтийг илгээн харж болно: &prompt.root; zpool status storage pool: storage state: ONLINE scrub: scrub completed with 0 errors on Sat Aug 30 19:57:37 2008 config: NAME STATE READ WRITE CKSUM storage ONLINE 0 0 0 raidz1 ONLINE 0 0 0 da0 ONLINE 0 0 0 da1 ONLINE 0 0 0 errors: No known data errors Дууссан хугацаа энэ жишээн дээр цэврээр харуулагдаж байна. Энэ боломж нь өгөгдлийн бүрэн бүтэн байдлыг урт хугацааны турш хадгалахад баталгаа болж тусалдаг. Z  файлын системд зориулсан өөр олон тохиргоонууд байдаг бөгөөд &man.zfs.8; болон &man.zpool.8; гарын авлагын хуудсуудыг үзнэ үү. diff --git a/mn_MN.UTF-8/books/handbook/geom/chapter.sgml b/mn_MN.UTF-8/books/handbook/geom/chapter.sgml index 8f6b06e7b5..593c099e02 100644 --- a/mn_MN.UTF-8/books/handbook/geom/chapter.sgml +++ b/mn_MN.UTF-8/books/handbook/geom/chapter.sgml @@ -1,675 +1,759 @@ Том Рөүдс Бичсэн Цагаанхүүгийн Ганболд Орчуулсан GEOM: Модульчлагдсан Диск Хувиргах Тогтолцоо Ерөнхий агуулга GEOM GEOM Дискний Тогтолцоо GEOM Энэ бүлэг нь &os; дээр GEOM тогтолцооны хүрээнд дискийг хэрхэн хэрэглэх талаар хамарсан. Энэ нь тохиргоонд зориулж тогтолцоог ашигладаг гол RAID хянагч хэрэгслүүдийг багтаадаг. Энэ бүлэг нь I/O, доор нь байгаа дэд систем, эсвэл кодыг GEOM хэрхэн зохицуулж эсвэл хянадаг талаар гүнзгий хэлэлцэхгүй. Энэхүү мэдээлэл нь &man.geom.4; гарын авлагын хуудас болон төрөл бүрийн SEE ALSO баримтуудын тусламжтай хангагддаг. Бас энэ бүлэг нь RAID тохиргоонуудын дэлгэрэнгүй заавар биш юм. Зөвхөн GEOM-дэмжигдсэн RAID ангиллуудын талаар хэлэлцэх болно. Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно: Ямар төрлийн RAID дэмжлэг GEOM-ийн хүрээнд байдаг талаар. Хэрхэн үндсэн хэрэгслүүдийг ашиглаж тохиргоо хийх, ажиллагааг хангах, болон төрөл бүрийн RAID түвшнүүдийг удирдах талаар. Хэрхэн толин тусгал болон судал үүсгэх, шифрлэх, алсаас GEOM-ийн хүрээнд диск төхөөрөмжүүдийг холбох талаар. GEOM тогтолцоонд хавсаргасан дискнүүдийн алдааг хэрхэн олж засварлах талаар. Энэ бүлгийг уншихаасаа өмнө, та дараах зүйлсийг мэдэх шаардлагатай: &os; диск төхөөрөмжүүдийг хэрхэн үздэг талаар ойлгох (). Шинэ &os; цөм хэрхэн тохируулж суулгах талаар мэдэх (). GEOM-ийн Танилцуулга GEOM нь Мастер Ачаалалтын Бичлэгүүд (MBR), BSD хаягууд, гэх мэт — ангиллуудад тухайн ангиллын дэмжигчид (providers) эсвэл /dev дахь тусгай файлуудын тусламжтайгаар хандах хандалт ба хяналтыг уг ангилалд зөвшөөрдөг. GEOM нь төрөл бүрийн програм хангамжийн RAID тохиргоонуудыг ашиглаж үйлдлийн систем болон үйлдлийн системийн хэрэгслүүдэд саадгүйгээр хандах боломж олгодог. Том Рөүдс Бичсэн Мюррей Стөүкли Цагаанхүүгийн Ганболд Орчуулсан RAID0 - Судал үүсгэх GEOM Судал үүсгэх Судал үүсгэх нь хэд хэдэн дискнүүдийг нэг эзлэхүүн болгодог арга юм. Олон тохиолдолд энэ нь тоног төхөөрөмжийн хянагчуудыг ашиглан хийгддэг. GEOM дэд систем нь диск судал үүсгэх гэж бас нэрлэгддэг RAID0-д зориулсан програмыг хангаж өгдөг. RAID0 системд, дараалсан дискнүүдэд байгаа өгөгдлүүд нь багц болж хуваагддаг. Систем дээр нэг диск рүү 256k-ийг бичихийг хүлээснээс 64k-ийг 4 өөр диск рүү зэрэг бичих дээд зэргийн I/O буюу оруулах гаргах ажиллагааг RAID0 систем нь санал болгодог. Энэ ажиллагааг олон дискний хянагчуудыг ашиглан нэмэгдүүлж болдог. Багцалсан олон дискнүүдээс I/O хүсэлтүүд нь зэрэгцэж унших болон бичигддэг учраас RAID0 дискний хуваагдал нь бүгд ижил хэмжээтэй байх ёстой. Диск судал үүсгэж байгаа зураг Хэлбэржүүлэгдээгүй ATA дискнүүдийн судал үүсгэх - geom_stripe + geom_stripe.ko модулийг ачаална: &prompt.root; kldload geom_stripe Тохирох холболтын цэг байгааг шалгаарай. Хэрэв энэ эзлэхүүн нь root хуваалт болох ёстой бол түр зуур өөр /mnt гэх мэт холболтын цэгийг ашиглаарай: &prompt.root; mkdir /mnt Судал үүсгэх дискнүүдэд зориулсан төхөөрөмжийн нэрийг тодорхойлоод шинэ судал төхөөрөмж үүсгэ. Жишээ нь хоёр ашиглагдаагүй, хуваалт хийгдээгүй /dev/ad2 болон /dev/ad3 гэсэн ATA дискнүүдэд судал үүсгэхийн тулд: - &prompt.root; gstripe label -v st0 /dev/ad2 /dev/ad3 + &prompt.root; gstripe label -v st0 /dev/ad2 /dev/ad3 +Metadata value stored on /dev/ad2. +Metadata value stored on /dev/ad3. +Done. - Хуваалтын хүснэгт гэгддэг стандарт хаягийг шинэ эзлэхүүн дээр бичээд анхдагч ачаалагдах кодыг суулгаарай: &prompt.root; bsdlabel -wB /dev/stripe/st0 Энэ процесс хоёр төхөөрөмжийг st0 төхөөрөмжийн хамт /dev/stripe санд үүсгэх ёстой. Тэдгээр нь st0a болон st0c юм. Ингэсний дараа файлын системийг st0a төхөөрөмж дээр newfs хэрэгслийн тусламжтайгаар үүсгэж болно: &prompt.root; newfs -U /dev/stripe/st0a Олон тоонууд дэлгэц дээр урсан өнгөрөх бөгөөд хэдхэн хормын дараа процесс төгсөнө. Ингээд эзлэхүүн үүсэж холболт хийгдэхэд бэлэн болно. Гараар үүсгэсэн дискний судлаа холбохын тулд: &prompt.root; mount /dev/stripe/st0a /mnt Энэ судал үүсгэсэн файлын системдээ ачаалах үед автоматаар холболт хийхийн тулд эзлэхүүний мэдээллийг /etc/fstab файлд - хийгээрэй: + хийгээрэй. For this purpose, a permanent mount + point, named stripe, is + created: - &prompt.root; echo "/dev/stripe/st0a /mnt ufs rw 2 2" \ + &prompt.root; mkdir /stripe +&prompt.root; echo "/dev/stripe/st0a /stripe ufs rw 2 2" \ >> /etc/fstab - /boot/loader.conf файлд мөр нэмж geom_stripe модулийг + /boot/loader.conf файлд мөр нэмж geom_stripe.ko модулийг систем эхлэхэд автоматаар ачаалагдахаар болгох ёстой: &prompt.root; echo 'geom_stripe_load="YES"' >> /boot/loader.conf RAID1 - Толин тусгал үүсгэх GEOM Диск Толин тусгал үүсгэх Толин тусгал үүсгэх нь олон корпорациуд болон гэрийн хэрэглэгчдийн ашигладаг өгөгдлийг тасалдалгүйгээр нөөцлөх технологи юм. Толин тусгал байх үед энэ нь diskB нь diskA-г хувилж байгаа гэсэн үг. Эсвэл магадгүй diskC+D нь diskA+B-г хувилж байгаа байж болно. Дискний тохиргооноос хамааралгүй чухал ойлголт бол нэг диск дээрх мэдээлэл болон хуваалт нь хувилагдах явдал юм. Сүүлд нь, хадгалсан өгөгдөл нь үйлчилгээ болон хандалтын тасалдалгүйгээр, амархан сэргээгдэж, нөөцлөгдөж бараг өгөгдлийн төмөр авдарт хадгалсан юм шиг байх болно. Эхлээд системд ижил хэмжээтэй хоёр диск байгааг шалгаарай, энэ дасгалд уг дискнүүдэд шууд хандах (&man.da.4;) SCSI дисктэй гэж үзэж байгаа болно. Үндсэн дискүүдийг тольдох нь &os; эхний da0 дискийн төхөөрөмж дээр суулгагдсан гэж үзвэл &man.gmirror.8;-д өөрийн үндсэн өгөгдлийг тэнд хадгал гэж зааж өгсөн байх ёстой. Толь бүтээхээсээ өмнө kern.geom.debugflags гэсэн &man.sysctl.8;-ийн тохиргоог дараах утгаар тохируулж нэмэлт дибаг мэдээллийг идэвхжүүлж төхөөрөмжид хандах хандалтыг нээж өгнө: &prompt.root; sysctl kern.geom.debugflags=17 Одоо толь үүсгэнэ. /dev/mirror/gm төхөөрөмжийг үр ашигтайгаар үүсгэн мета өгөгдлийг үндсэн дискийн төхөөрөмж дээр хадгалан процессийг дараах тушаал ашиглан эхлүүлнэ: &prompt.root; gmirror label -vb round-robin gm0 /dev/da0 Систем дараах хариуг өгнө: Metadata value stored on /dev/da0. Done. GEOM-ийг эхлүүлэхэд /boot/kernel/geom_mirror.ko цөмийн модулийг ачаална: &prompt.root; gmirror load Энэ тушаал бүрэн ажиллаж дууссаны дараа gm0 төхөөрөмжийн цэгийг /dev/mirror санд үүсгэх ёстой. Системийг эхлүүлэх үед geom_mirror.ko цөмийн модулийг дуудахыг идэвхжүүлнэ: &prompt.root; echo 'geom_mirror_load="YES"' >> /boot/loader.conf Хуучин байсан da0gm0 толин төхөөрөмжийн шинэ төхөөрөмжийн цэгээр - сольж /etc/fstab файлыг засварлах хэрэгтэй. - root хэрэглэгчээр - /etc/fstab файлыг засварлана: + сольж /etc/fstab файлыг засварлах хэрэгтэй. + + + Хэрэв &man.vi.1; таны дуртай засварлагч бол үүнийг дараах + хялбар аргаар хийж болно: &prompt.root; vi /etc/fstab &man.vi.1; дээр :w /etc/fstab.bak гэж бичин fstab-ийн одоо байгаа агуулгыг нөөцөлнө. Дараа нь хуучин байсан бүх da0gm0:%s/da/mirror\/gm/g гэж бичин сольно. + - fstab файл дараахтай төстэй + Үүний үр дүнд fstab файл дараахтай төстэй харагдах ёстой. Дискийн хөтчүүд SCSI эсвэл ATA байх нь хамаагүй бөгөөд эдгээрээс үл хамааран RAID төхөөрөмж нь gm байх болно. # Device Mountpoint FStype Options Dump Pass# /dev/mirror/gm0s2b none swap sw 0 0 /dev/mirror/gm0s2a / ufs rw 1 1 #/dev/mirror/gm0s2d /store ufs rw 2 2 /dev/mirror/gm0s2e /usr ufs rw 2 2 /dev/acd0 /cdrom cd9660 ro,noauto 0 0 Системийг дахин эхлүүлнэ: &prompt.root; shutdown -r now Системийг эхлүүлэх үед gm0da0 төхөөрөмжийн оронд ашиглах ёстой. Бүрэн эхэлж дууссаны дараа үүнийг mount тушаалаас гарах үр дүнг хянаснаар шалгаж болно: &prompt.root; mount 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 Үр дүн санасны дагуу зөв харагдаж байна. Төгсгөлд нь синхрончлолыг эхлүүлэхийн тулд da1 дискийг толь руу дараах тушаал ашиглан хийнэ: &prompt.root; gmirror insert gm0 /dev/da1 Толин тусгал бүтээгдсэний дараа түүнийн төлвийг доор дурдсан тушаал ашиглан шалгаж болно: &prompt.root; gmirror status Толь бүтээгдэж одоо байгаа бүх өгөгдөл синхрончлогдсоны дараа дээрх тушаалаас гарах үр дүн иймэрхүү байх ёстой: Name Status Components mirror/gm0 COMPLETE da0 da1 Ямар нэг асуудал байх юм уу эсвэл толь нь бүтээх процессоо хийсээр байвал уг жишээ COMPLETE-ийн оронд DEGRADED гэж харуулах болно. Алдааг олж засварлах нь Систем ачаалахгүй байх Хэрэв систем дараах тушаал хүлээх мөр хүртэл ачаалсан бол: ffs_mountroot: can't find rootvp Root mount failed: 6 mountroot> Унтраах болон дахин эхлүүлэх товчийг дарж машиныг дахин эхлүүл. Ачаалах үеийн цэснээс (6) сонголтыг сонго. Ингэхэд системийг &man.loader.8; тушаал хүлээх мөрд аваачна. Цөмийн модулийг гараар ачаал: OK? load geom_mirror OK? boot Хэрэв энэ нь ажилласан бол модул ямар нэг шалтгаанаар буруу - ачаалагдсан байна. Дараах: + ачаалагдсан байна. /boot/loader.conf файлд + тохирох мөр байгаа эсэхийг шалгах хэрэгтэй. Хэрэв асуудалтай хэвээр + байвал дараах: options GEOM_MIRROR мөрийг цөмийн тохиргооны файлд байрлуулж дахин бүтээж суулгаарай. Ингэх нь энэ асуудлыг арилгах ёстой. Дискийн эвдрэлээс буцаж сэргээх нь Дискийг тольдохын гайхамшигтай тал нь диск эвдрэхэд ямар ч өгөгдөл алдалгүйгээр түүнийг сольж болоход оршино. Өмнөх RAID1 тохиргоог байна гэж үзээд da1 эвдэрсэн бөгөөд солих хэрэгтэй байгаа гэж үзье. Солихын тулд аль диск эвдэрснийг мэдээд системийг унтраана. Одоо дискийг шинээр сольж системийг асааж болно. Системийг дахин ачаалсны дараа дискийг солихын тулд дараах тушаалуудыг ашиглаж болно: &prompt.root; gmirror forget gm0 &prompt.root; gmirror insert gm0 /dev/da1 Дахин бүтээлтийн явцыг хянахын тулд gmirror тушаалыг ашиглана. Энэ нь ийм амархан юм. GEOM Хаалга Сүлжээний Төхөөрөмжүүд GEOM нь хаалга хэрэгслүүдийг ашиглан дискнүүд, CD-ROM-ууд, файлууд гэх мэт төхөөрөмжүүдийг алсаас ашиглахыг дэмждэг. Энэ нь NFS-тэй адил юм. Экспортын файл эхэлж үүсгэх шаардлагатай. Энэ файл нь экспорт хийгдсэн эх үүсвэрүүдэд хэнийг хандахыг зөвшөөрсөн болон ямар түвшний хандалтыг тэд өгч байгааг тусгадаг. Жишээ нь эхний SCSI диск дээр 4 дэх зүсмэлийг экспорт хийхийн тулд дараах /etc/gg.exports нь хангалттай: 192.168.1.0/24 RW /dev/da0s4d Энэ нь дотоод сүлжээний бүх хостууд da0s4d хуваалт дээрх файлын системд хандах хандалтыг зөвшөөрнө. Энэ төхөөрөмжийг экспорт хийхдээ тухайн үед холболт хийгдээгүй эсэхийг шалгаад &man.ggated.8; сервер дэмонг ажиллуулаарай: &prompt.root; ggated Хэрэглэх машинаас уг экспортлогдсон төхөөрөмжид холболт хийхдээ дараах тушаалыг өгнө үү: &prompt.root; ggatec create -o rw 192.168.1.1 /dev/da0s4d ggate0 &prompt.root; mount /dev/ggate0 /mnt Эндээс эхлэн төхөөрөмжид /mnt холболтын цэгийг ашиглан хандаж болно. Хэрэв төхөөрөмж тухайн үед сервер машин эсвэл сүлжээн дэх өөр бусад машин дээр холболт хийгдсэн байсан бол энэ нь амжилтгүй болохыг сануулъя. Төхөөрөмж дахин шаардлагагүй болоход бусад дискний төхөөрөмжүүдийн нэгэн адил &man.umount.8; тушаалын тусламжтайгаар салгаж болно. Дискний төхөөрөмжүүдийг хаяглах нь GEOM Дискний хаяг/шошгонууд Системийг эхлүүлэх явцад &os; цөм төхөөрөмжүүдийг олж төхөөрөмжийн цэгүүдийг үүсгэдэг. Төхөөрөмжүүдийг илрүүлэх энэ арга нь зарим нэг асуудлуудтай байдаг, жишээ нь шинэ дискний төхөөрөмж USB-ээр нэмэгдсэн бол яах вэ? Флэш төхөөрөмжид da0 гэсэн төхөөрөмжийн нэр өгөгдөж хуучин байсан da0 нь da1 болж өөрчлөгдөх болов уу. Энэ нь хэрэв файлын системүүд /etc/fstab-д жагсаагдсан бол тэдгээрийг холбоход асуудал гаргах бөгөөд бүр системийг ачаалахгүй байдалд хүргэж болох юм. Энэ асуудлын нэг шийдэл нь SCSI карт руу нэмэгдсэн шинэ төхөөрөмжид төхөөрөмжийн ашиглагдаагүй дугаарууд өгөгдөхөөр болгож SCSI төхөөрөмжүүдийг гинжин цуваа болгох явдал юм. Гэхдээ анхдагч SCSI дискийг сольж болзошгүй USB төхөөрөмжүүдийн хувьд яах вэ? Яагаад гэвэл USB төхөөрөмжүүд нь ихэвчлэн SCSI картнуудаас өмнө шалгагддаг. Үүний нэг шийдэл нь эдгээр төхөөрөмжүүдийг системийг ачаалсны дараа залгах явдал юм. Өөр нэг арга нь зөвхөн ганц ATA хөтөч ашиглаж SCSI төхөөрөмжүүдийг /etc/fstab файлд хэзээ ч жагсаахгүй байх тийм шийдэл байж болох юм. Илүү сайн шийдэл байдаг. glabel хэрэгсэл ашиглан администратор эсвэл хэрэглэгч өөрсдийн дискний төхөөрөмжүүдийг хаяглаж эдгээр хаяг/шошгонуудыг /etc/fstab файлд ашиглаж болох юм. glabel нь өгөгдсөн үзүүлэгчийн сүүлийн секторт хаяг/шошгыг хадгалдаг болохоор хаяг/шошго нь дахин ачаалахад хэвээр байх болно. Энэ хаяг/шошгыг төхөөрөмж маягаар ашигласнаар ямар төхөөрөмжийн цэгээр дамжин хандаж байгаагаас үл хамааран файлын систем нь үргэлж холбогдох юм. Хаяг/шошгыг байнгын болгохыг энд дурдсангүй. glabel хэрэгсэл нь түр зуурын болон байнгын хаяг/шошгыг үүсгэхэд ашиглагдаж болно. Зөвхөн байнгын хаяг/шошго нь дахин ачаалахад хэвээр үлдэх болно. Хаяг/шошгонуудын ялгаануудын тухай дэлгэрэнгүй мэдээллийг &man.glabel.8; гарын авлагын хуудаснаас үзнэ үү. Хаяг/шошгоны төрлүүд болон жишээнүүд Ерөнхий ба файлын системийн гэсэн хоёр төрлийн хаяг/шошго байдаг. - Хаяг/шошгонуудын ялгаа нь байнгын хаяг/шошготой холбоотой автомат - илрүүлэлт бөгөөд энэ төрлийн хаяг/шошго нь дахин ачаалахад хэвээр - үлддэг явдал юм. Эдгээр хаяг/шошгонуудад тэдгээрийн файлын системийн төрөл - дээр суурилсан нэр бүхий тусгай сан /dev - сан дотор өгөгддөг. Жишээ нь UFS2 файлын системийн + Хаяг, шошгонууд нь байнгын эсвэл түр зуурын байж болно. Байнгын хаягийг + &man.tunefs.8; эсвэл &man.newfs.8; тушаалаар үүсгэж болно. Эдгээр + хаяг/шошгонуудад тэдгээрийн файлын системийн төрөл дээр суурилсан нэр + бүхий тусгай сан /dev + сан дотор үүсгэгддэг. Жишээ нь UFS2 файлын системийн хаяг/шошгонууд /dev/ufs санд - үүсгэгддэг. + үүсгэгддэг. Байнгын хаягийг бас glabel label тушаалаар + үүсгэж болдог. Эдгээр нь файлын системтэй хамааралгүй бөгөөд /dev/label санд үүсгэгдэх болно. - Ерөнхий хаяг/шошго нь дараагийн удаа ачаалахад арилдаг. Эдгээр хаяг/шошгонууд + Түр зуурын хаяг/шошго нь дараагийн удаа ачаалахад арилдаг. Эдгээр хаяг/шошгонууд нь /dev/label санд үүсгэгдэх - бөгөөд туршилтад сайн тохирсон байдаг. + бөгөөд туршилтад сайн тохирсон байдаг. Түр зуурын хаягийг glabel create + тушаалаар үүсгэж болно. Дэлгэрэнгүй мэдээллийг &man.glabel.8;-ийн гарын авлагын + хуудаснаас уншина уу. - Байнгын хаяг/шошгонуудыг файлын систем дээр tunefs - эсвэл newfs хэрэгслүүд ашиглан байрлуулж болно. - Өгөгдлийг устгалгүйгээр UFS2 файлын системийн хувьд байнгын + Өгөгдлийг устгалгүйгээр UFS2 файлын системийн хувьд байнгын хаяг/шошго үүсгэхийн тулд доор дурдсан тушаалуудыг ажиллуулна: &prompt.root; tunefs -L home /dev/da3 Хэрэв файлын систем дүүрэн бол энэ нь өгөгдлийн эвдрэлд хүргэж болох юм; гэхдээ хэрэв файлын систем дүүрэн бол гол зорилго нь хуучирсан файлуудыг устгаж хаяг/шошгонуудыг нэмэхгүй байх явдал юм. Хаяг/шошго одоо /dev/ufs санд үүссэн байх ёстой бөгөөд түүнийг /etc/fstab файлд нэмж болох юм: /dev/ufs/home /home ufs rw 2 2 tunefs-г ажиллуулахдаа файлын системийг холбох ёсгүй. Одоо файлын системийг ердийнхөөрөө холбож болно: &prompt.root; mount /home Эндээс эхлэн ачаалах явцад /boot/loader.conf файлын тусламжтайгаар geom_label.ko цөмийн модуль дуудагдсан байхад эсвэл GEOM_LABEL цөмийн тохируулга байхад төхөөрөмжийн цэг системд ямар нэгэн буруу нөлөөлөлгүйгээр өөрчлөгдөж болох юм. Файлын систем нь newfs тушаалд өгөгдсөн тугны тусламжтайгаар анхдагч хаяг/шошготой үүсгэгдэж бас болно. Дэлгэрэнгүй мэдээллийг &man.newfs.8; гарын авлагын хуудаснаас үзнэ үү. Доор дурдсан тушаалыг хаяг/шошгыг устгахдаа ашиглаж болно: &prompt.root; glabel destroy home + + Ачаалах дискийн хуваалтуудыг хэрхэн хаяглахыг дараах жишээ + харуулж байна. + + + Ачаалах диск дээрх хуваалтуудыг хаяглах нь + + Ачаалах диск дээрх хуваалтуудыг байнгын байдлаар хаягласнаар + дискийг өөр хянагч руу эсвэл өөр систем рүү шилжүүлсэн ч + гэсэн систем хэвийнээр ачаалж чаддаг болох юм. Энэ жишээний хувьд + системээр ad0 гэж танигдсан ганц + ATA диск хэрэглэгдэж байгаа болно. + Бас /, + /var, + /usr ба + /tmp файлын системүүд + болон swap хуваалттай &os;-ийн стандарт хуваалтын хэлбэрийг + ашиглаж байгаа болно. + + Системийн дахин ачаалж ганц хэрэглэгчийн горимд ачаалж орохын тулд + &man.loader.8; тушаал хүлээх мөрөнд 4 товчлуурыг дарна. + Дараа нь дараах тушаалуудыг ажиллуулна: + + &prompt.root; glabel label rootfs /dev/ad0s1a +GEOM_LABEL: Label for provider /dev/ad0s1a is label/rootfs +&prompt.root; glabel label var /dev/ad0s1d +GEOM_LABEL: Label for provider /dev/ad0s1d is label/var +&prompt.root; glabel label usr /dev/ad0s1f +GEOM_LABEL: Label for provider /dev/ad0s1f is label/usr +&prompt.root; glabel label tmp /dev/ad0s1e +GEOM_LABEL: Label for provider /dev/ad0s1e is label/tmp +&prompt.root; glabel label swap /dev/ad0s1b +GEOM_LABEL: Label for provider /dev/ad0s1b is label/swap +&prompt.root; 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 тушаал дараахийг харуулах + болно: + + &prompt.root; 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) + GEOM-ийн тусламжтай UFS тэмдэглэл GEOM Journaling &os; 7.0 хувилбар гарснаар удаан хүсэн хүлээсэн UFS тэмдэглэлийн боломж бүрдсэн билээ. Энэхүү шийдэл нь өөрөө GEOM дэд системийн тусламжтайгаар хийгдсэн бөгөөд &man.gjournal.8; хэрэгслийн тусламжтай хялбар тохируулж болдог. Journaling буюу тэмдэглэл гэж юу вэ? Тэмдэглэх чадвар нь файлын системийн шилжүүлгүүдийн бүртгэлийг хадгалдаг, өөрөөр хэлбэл мета өгөгдөл болон файлын бичилтүүд дискэнд зөвөөр хийгдэхээс өмнө дискний бүрэн гүйцэд бичих үйлдлийг бүтээдэг өөрчлөлтүүдийн бүртгэлийг хадгалдаг. Файлын системийн бүрэн бус байдлаас хамгаалахын тулд файлын системийн шилжүүлгүүдийг дахин гүйцэтгэхийн тулд энэхүү шилжүүлгүүдийн бүртгэлийг дараа нь дахин ажиллуулж болдог. Энэхүү арга нь файлын системийн бүрэн бус байдал болон өгөгдлийн алдагдлын эсрэг хамгаалах өөр нэг арга зам юм. Мета өгөгдлийн шинэчлэлүүд болон файлын системийн дүрс болох Хормын хувилбаруудыг хянаж мөрдүүлж байдаг Зөөлөн Шинэчлэлүүдээс ялгаатай нь бүртгэлийн - файл нь төгсгөлийн секторт хадгалагддаг бөгөөд зарим тохиолдолд - өөр диск дээр тэр чигээрээ хадгалагдаж болдог. + файл нь энэ үйлдэлд тусгайлан зориулсан дискийн талбарт хадгалагддаг + бөгөөд зарим тохиолдолд өөр диск дээр тэр чигээрээ хадгалагдаж болдог. Өөр бусад файлын системийн тэмдэглэлийн шийдлүүдээс ялгаатай нь gjournal арга нь блок дээр тулгуурласан бөгөөд файлын системийн хэсэг болж хийгдээгүй, зөвхөн GEOM өргөтгөлийн хүрээнд хийгдсэн. gjournal-д зориулсан дэмжлэгийг идэвхжүүлэхийн тулд &os; цөм нь 7.X системүүд дээр анхдагчаар байдаг доор дурдсан тохируулгатай байх ёстой: options UFS_GJOURNAL + Хэрэв тэмдэглэл үүсгэгдсэн эзлэхүүнүүдийг ачаалж эхлэхэд холбох + шаардлагатай бол /boot/loader.conf файлд + дараах мөрийг нэмж цөмийн geom_journal.ko + модулийг бас дуудах хэрэгтэй болно: + + geom_journal_load="YES" + + Мөн дараах мөрийг цөмийн тохиргооны файлд нэмж үүнийг өөрчлөн + тохируулсан цөмд бас бүтээж болох юм: + + options GEOM_JOURNAL + da4 нь шинэ SCSI диск гэж тооцвол чөлөөтэй файлын систем дээр тэмдэглэл үүсгэхийн тулд одоо доор дурдсан алхмуудыг ашиглан хийж болно: &prompt.root; gjournal label /dev/da4 &prompt.root; gjournal load Энэ үед /dev/da4 төхөөрөмжийн цэг болон /dev/da4.journal төхөөрөмжийн цэг үүссэн байх ёстой. Одоо энэ төхөөрөмж дээр файлын системийг үүсгэж болно: &prompt.root; newfs -O 2 -J /dev/da4.journal Өмнө ажиллуулсан тушаал UFS2 файлын системийг тэмдэгдэл идэвхжсэнээр үүсгэх болно. Төхөөрөмжийг хүссэн цэгтээ доор дурдсан тушаалаар mount хийнэ: &prompt.root; mount /dev/da4.journal /mnt Хэд хэдэн зүсмэлүүдийн тухайд тэмдэглэл нь зүсмэл бүр дээр үүсгэгдэх болно. Жишээ нь хэрэв ad4s1 болон ad4s2 нь хоёулаа зүсмэл бол gjournal нь ad4s1.journal болон ad4s2.journal үүсгэх болно. Хэрэв тушаалыг хоёр ажиллуулбал үр дүн нь тэмдэглэлүүд байх болно. Зарим тохиолдолд тэмдэглэлийг өөр диск дээр байлгах шаардлагатай байдаг. Энэ тохиолдолд тэмдэглэл хангагч эсвэл хадгалалтын төхөөрөмж нь тэмдэглэлийг идэвхжүүлэхийн тулд уг төхөөрөмжийнхөө дараа жагсаагдах ёстой. tunefs тушаал ашиглан тухайн байгаа файлын систем дээр тэмдэглэлийг идэвхжүүлж болдог; гэхдээ файлын системийг өөрчлөхөөсөө өмнө нөөц үргэлж хийж байх хэрэгтэй. Ихэнх тохиолдолд gjournal нь яг тэмдэглэлийг үүсгэж чадаагүй бол амжилтгүй болох бөгөөд гэхдээ энэ нь tunefs-ийг буруугаар ашигласнаас болоод үүссэн өгөгдлийн алдагдлаас хамгаалж чадахгүй юм. + + &os; системийн эхлүүлэх дискийг тэмдэглэх бас боломжтой байдаг. + Үүний талаарх дэлгэрэнгүй зааврыг Ширээний PC дээр UFS тэмдэглэлийг + хийх нь гэсэн нийтлэлээс үзнэ үү.