options KVA_PAGES=512
Бүлэг 21. Файлын системийн дэмжлэг
This translation may be out of date. To help with the translations please access the FreeBSD translations instance.
Table of Contents
21.1. Ерөнхий агуулга
Файлын системүүд нь үйлдлийн системийн бүрэлдэхүүн хэсэг юм. Тэдгээр нь хэрэглэгчдэд файл хуулж хадгалах, өгөгдөлд хандах боломжийг бүрдүүлэх, тэгээд мэдээж хатуу хөтчүүдийг ашигтай болгодог. Өөр өөр үйлдлийн системүүд нь нийтлэг нэг гол үзэлтэй бөгөөд тэр нь тэдгээрийн эх файлын систем юм. FreeBSD дээр энэ файлын систем нь бас UFS гэгддэг эх Unix™ Файлын Систем дээр бүтээгдсэн Түргэн Файлын Систем буюу FFS юм. Энэ нь өгөгдөлд хандахад зориулж хатуу дискүүд дээр байрлуулагддаг FreeBSD дээрх эх файлын систем юм.
FreeBSD нь бас бусад үйлдлийн системийн өгөгдөлд өөр дээрээсээ өөрөөр хэлбэл холбогдсон USB хадгалалтын төхөөрөмжүүд, флэш хөтчүүд болон хатуу дискүүд дээр хадгалагдсан өгөгдөлд хандах боломжийг бүрдүүлэх зорилгоор төрөл бүрийн олон файлын системийг дэмждэг. Бас зарим эх бус файлын системүүдэд зориулсан дэмжлэг байдаг. Эдгээр нь Linux®-ийн Extended буюу Өргөтгөсөн Файлын Систем (EXT), болон Sun™-ий Z Файлын Систем (ZFS) зэрэг өөр үйлдлийн системүүд дээр хөгжүүлэгдсэн файлын системүүд юм.
FreeBSD дээр төрөл бүрийн файлын системүүдэд зориулсан дэмжлэгийн янз бүрийн түвшингүүд байдаг. Зарим нь цөмийн модулийг дуудахыг шаарддаг бол зарим нь хэрэгслүүд суулгахыг шаардаж болох юм. Энэ бүлэг нь FreeBSD-ийн хэрэглэгчдэд өөрийн систем дээрээ Sun™-ий Z файлын системээс эхлээд бусад файлын системүүдэд хандахад туслах зорилгоор хийгдсэн.
Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:
Эх болон дэмжигдсэн файлын системүүдийн ялгаа.
FreeBSD дээр ямар файлын системүүд дэмжигдсэн талаар.
Эх бус файлын системүүдийг хэрхэн идэвхжүүлж, тохируулж хандан ашиглах талаар.
Энэ бүлгийг уншихаасаа өмнө та дараах зүйлсийг гүйцэтгэх хэрэгтэй:
UNIX® болон FreeBSD-ийн үндсүүдийг (Юниксийн үндэс) ойлгох.
Цөмийн тохиргоо/эмхэтгэлтийн (FreeBSD цөмийг тохируулах нь) үндсийг мэддэг байх.
FreeBSD дээр гуравдагчдын програм хангамжийг суулгаж (Програм суулгах. Багцууд болон портууд) чаддаг байх.
FreeBSD дээрх диск, хадгалалт болон төхөөрөмжийн нэрстэй танилцсан байх (Хадгалалт).
21.2. Z Файлын Систем (ZFS)
Sun™-ий хөгжүүлсэн Z файлын систем нь цөөрөм хэлбэрийн хадгалалтын аргыг ашиглахаар хийгдсэн шинэ технолог юм. Энэ нь зай зөвхөн өгөгдөл хадгалалтад хэрэгтэй нөхцөлд ашиглагдана гэсэн үг юм. Энэ нь өгөгдлийн хормын хувилбарууд, олон хуулбарууд, болон өгөгдлийн хяналтын нийлбэрийг дэмжин өгөгдлийн максимум бүрэн бүтэн байдалд зориулагдан бас хийгдсэн юм. RAID-Z гэгддэг өгөгдлийн шинэ хуулбарлах загвар нэмэгдсэн. RAID-Z загвар нь RAID5-тай төстэй боловч өгөгдлийн бичилтийн эвдрэлтээс хамгаалахаар хийгдсэн.
21.2.1. ZFS тааруулалт
ZFS дэд систем нь системийн эх үүсвэрүүдийн ихэнхийг хэрэглэгдэг учир өдөр тутмын хэрэглээнд максимум үр ашгийг хангахад шаардлагатай зарим нэг тааруулалт шаардлагатай байдаг. FreeBSD дээр туршилтын боломж гэгдэж байгаа боловч энэ нь ойрын ирээдүйд өөрчлөгдөж болох юм. Гэхдээ одоогоор дараах алхмуудыг зөвлөдөг.
21.2.1.1. Санах ой
Нийт системийн санах ой хамгийн багаа бодоход нэг гигабайт байх ёстой бөгөөд хоёр болон түүнээс дээшхийг зөвлөдөг. Энд байгаа бүх жишээнүүдэд систем нь нэг гигабайт санах ойтой, хэд хэдэн бусад тааруулах аргын хамтаар байх болно.
Зарим хүмүүс нэг гигабайт санах ойгоос бага санах ойг амжилттай ашиглаж чадсан боловч тийм хязгаарлагдмал физик санах ойтой систем ачаалал ихтэй үед FreeBSD нь санах ойн шавхалтаас болж үймэх нь маш боломжийн байх болно.
21.2.1.2. Цөмийн тохиргоо
Хэрэгцээгүй драйверууд болон тохиргоонуудыг цөмийн тохиргооны файлаас устгахыг зөвлөдөг. Ихэнх төхөөрөмжүүд модуль хэлбэрээр байдаг болохоор тэдгээрийг /boot/loader.conf файлын тусламжтай дуудаж болно.
i386™ архитектурын хэрэглэгчид өөрсдийн цөмийн тохиргооны файлдаа дараах тохиргоог нэмж цөмөө дахин бүтээж дахин ачаалах хэрэгтэй:
Энэ тохиргоо нь vm.kvm_size
тохируулгыг одоо байгаа 1 GB (PAE-ийн хувьд 2 GB) хязгаарыг давах боломжийг бүрдүүлж цөмийн хаягийн талбарыг өргөтгөх болно. Энэ тохиргооны хувьд хамгийн тохиромжтой утгыг олохын тулд мегабайтаар хүссэн хаягийн талбараа дөрөвт (4) хуваана. Энэ тохиолдолд 2 GB-ийн хувьд 512
байна.
21.2.1.3. Дуудагчийн тохируулгууд
kmem хаягийн талбарыг FreeBSD-ийн бүх архитектур дээр ихэсгэх ёстой. Нэг гигабайт физик санах ойтой тест систем дээр /boot/loader.conf файлд хийсэн дараах тохируулгууд болон системийг дахин ачаалсны дараа амжилттай болсон:
vm.kmem_size="330M" vm.kmem_size_max="330M" vfs.zfs.arc_max="40M" vfs.zfs.vdev.cache.size="5M"
ZFS-тэй холбоотой тохируулгуудын талаар илүү дэлгэрэнгүй зөвлөмжүүдийн жагсаалтыг http://wiki.freebsd.org/ZFSTuningGuide хаягаас үзнэ үү.
21.2.2. ZFS-г ашиглах нь
ZFS цөөрмүүдийг систем эхлэх үед холбох боломжийг FreeBSD-д олгох эхлүүлэх арга зам байдаг. Үүнийг тохируулахын тулд дараах тушаалуудыг ажиллуулна:
# echo 'zfs_enable="YES"' >> /etc/rc.conf
# /etc/rc.d/zfs start
Энэ баримтын үлдсэн хэсэг 3 SCSI диск байна гэж үзэх бөгөөд тэдгээр төхөөрөмжийн нэрс нь da0, da1 болон da2 юм. IDE тоног төхөөрөмжийн хэрэглэгчид SCSI-ийн оронд ad төхөөрөмжүүдийг ашигладаг.
21.2.2.1. Ганц дискийн цөөрөм
Ганц дискийн төхөөрөмж ашиглан энгийн, нөөцгүй ZFS цөөрөм үүсгэхийн тулд zpool
тушаалыг ашиглана:
# zpool create example /dev/da0
Шинэ цөөрмийг харахын тулд df
тушаалын гаралтыг үзнэ:
# 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
цөөрөм зөвхөн үүсгэгдээд зогсохгүй бас холбогдсон гэдгийг тодорхой харуулж байна. Энэ нь энгийн файлын систем шиг хандах боломжтой, үүн дээр файлууд үүсгэж хэрэглэгчид дараах жишээн дээрх шиг үзэх боломжтой байна:
# cd /example
# ls
# touch testfile
# 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-ийн боломжуудын давуу талыг ашиглахгүй байна. Файлын системийг энэ цөөрөм дээр үүсгэж түүн дээр шахалтыг идэвхжүүлнэ:
# zfs create example/compressed
# zfs set compression=gzip example/compressed
example/compressed
нь одоо ZFS шахагдсан файлын систем боллоо. Зарим нэг том файлуудыг /example/compressed хуулан түүн рүү хуулж үз.
Шахалтыг дараах тушаалаар болиулж болно:
# zfs set compression=off example/compressed
Файлын системийг салгахын тулд дараах тушаалыг ажиллуулж df
хэрэгслээр шалгана:
# zfs umount example/compressed
# 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
тушаалаар шалгана:
# zfs mount example/compressed
# 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
тушаалын гаралтыг шалган бас ажиглаж болно:
# 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
үүсгэгдэж байна. Чухал файлууд энд хадгалагдах учир файлын систем нь өгөгдлийн блок бүрийн хоёр хуулбарыг хадгалахаар тохируулагдсан:
# zfs create example/data
# zfs set copies=2 example/data
Одоо df
-г дахин ажиллуулж өгөгдөл болон зайн хэрэглээг харах боломжтой:
# 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 файлын систем нь эзлэхүүн болон хуваалтууд гэх мэт ойлголтуудаас ангид байж хэд хэдэн файлын систем нэг цөөрмийг эзлэхийг зөвшөөрдөг. Файлын системүүдийг устгаад дараа нь цөөрмийг хэрэгцээгүй болсон болохоор устгана:
# zfs destroy example/compressed
# zfs destroy example/data
# zpool destroy example
Дискүүд муудаж эвдрэх нь тойрох боломжгүй нөхцөл юм. Энэ диск муудсан үед өгөгдөл алдагдах болно. Эвдэрсэн хатуу дискээс болоод өгөгдлийн алдагдлаас хамгаалах нэг арга нь RAID-г ашиглах явдал юм. ZFS нь энэ боломжийг дараагийн хэсэгт тайлбарлах өөрийн цөөрмийн дизайндаа дэмжсэн байдаг.
21.2.2.2. ZFS RAID-Z
Өмнө хэлсэнчлэн энэ хэсэг нь гурван SCSI диск байгаа гэж үзэх бөгөөд da0 da1 болон da2 (буюу эсвэл IDE диск ашиглагдаж байвал ad0 гэх мэтээр) байна. RAID-Z цөөрөм үүсгэхийн тулд дараах тушаалыг өгнө:
# zpool create storage raidz da0 da1 da2
Sun™-ий зөвлөснөөр RAID-Z тохиргоонд ашиглагдах төхөөрөмжүүдийн тоо гурваас есийн хооронд байна. Хэрэв та 10 буюу түүнээс олон дискээс тогтсон ганц цөөрөм үүсгэхийг хүсэж байгаа бол түүнийг арай жижиг хэмжээтэй RAID-Z бүлгүүдэд хуваахыг бодох хэрэгтэй. Хэрэв танд зөвхөн хоёр диск байгаа бөгөөд нөөцтэй байхыг хүсэж байгаа бол ZFS толийг ашиглах хэрэгтэй. Дэлгэрэнгүйг zpool(8) гарын авлагын хуудаснаас үзнэ үү. |
storage
zpool үүсгэгдсэн байх ёстой. Өмнөх шиг mount(8) болон df(1) тушаалуудыг ашиглан үүнийг шалгаж болно. Дээрх жагсаалтын төгсгөлд өөр илүү дискийн төхөөрөмжүүдийг нэмэн хуваарилж болно. Хэрэглэгчийн файлууд удахгүй байрлах home
гэгдсэн шинэ файлын системийг цөөрөмд хийнэ:
# zfs create storage/home
Одоо шахалтыг идэвхжүүлж хэрэглэгчийн гэрийн сангууд болон файлуудын илүү хуулбаруудыг хадгалах боломжтой. Үүнийг өмнөх шиг дараах тушаалуудыг ашиглан хийж болно:
# zfs set copies=2 storage/home
# zfs set compression=gzip storage/home
Үүнийг хэрэглэгчдийн шинэ гэрийн сан болгохын тулд хэрэглэгчийн өгөгдлийг энэ сан руу хуулж тохирох тэмдэгт холбоосуудыг үүсгэнэ:
# cp -rp /home/* /storage/home
# rm -rf /home /usr/home
# ln -s /storage/home /home
# ln -s /storage/home /usr/home
Одоо хэрэглэгчдийн хувьд шинээр үүсгэгдсэн /storage/home файлын систем дээр тэдний өгөгдөл хадгалагдсан байх болно. Шинэ хэрэглэгч нэмж тэр хэрэглэгчээр нэвтэрч үзээрэй.
Дараа нь буцааж болох хормын хувилбар үүсгэж үзээрэй:
# zfs snapshot storage/home@08-30-08
Хормын хувилбар тохиргоо нь гэрийн сан ч биш эсвэл файл ч биш зөвхөн жинхэнэ файлын системийг авахыг анхаараарай. @
тэмдэгт нь файлын системийн нэр эсвэл эзлэхүүний нэрийн хооронд ашиглагдсан зааглагч юм. Хэрэглэгчийн гэрийн сан устгагдах үед түүнийг доорх тушаалаар сэргээнэ:
# zfs rollback storage/home@08-30-08
Байгаа хормын хувилбаруудын жагсаалтыг авахын тулд ls
-г файлын системийн .zfs/snapshot сан дотор ажиллуулна. Жишээ нь өмнө нь авсан хормын хувилбарыг харахын тулд дараах тушаалыг гүйцэтгэнэ:
# ls /storage/home/.zfs/snapshot
Хэрэглэгчийн өгөгдөл дээр сар бүрийн хормын хувилбар үүсгэх скрипт бичих боломжтой боловч хожим хормын хувилбарууд нь ихээхэн хэмжээний дискийн хэмжээ эзлэх болно. Түрүүчийн хормын хувилбарыг дараах тушаал ашиглан устгаж болно:
# zfs destroy storage/home@08-30-08
Энэ бүх тестийн дараагаар /storage/home санг бид одоо байгаа төлөвт нь байлгаад байх шалтгаан байх ёсгүй юм. Үүнийг жинхэнэ /home файлын систем болгох хэрэгтэй:
# zfs set mountpoint=/home storage/home
df
болон mount
тушаалуудыг ажиллуулснаар систем бидний файлын системийг жинхэнэ /home сан гэж үзэж байгааг харуулна:
# 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)
# 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 26320512 0 26320512 0% /storage
storage/home 26320512 0 26320512 0% /home
Ингэснээр RAID-Z тохиргоо дуусаж байна. Шөнө бүрийн periodic(8) ажиллах үед үүссэн файлын системүүдийн талаар төлвийн шинэчлэлтүүдийг авахын тулд дараах тушаалыг ажиллуулна:
# echo 'daily_status_zfs_enable="YES"' >> /etc/periodic.conf
21.2.2.3. RAID-Z-г сэргээх нь
Програм хангамжийн RAID бүр өөрсдийн төлвийг
хянах аргатай байдаг. ZFS нь ч мөн адил. RAID-Z төхөөрөмжүүдийн төлвийг дараах тушаалаар харж болно:
# 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
da2 ONLINE 0 0 0
errors: No known data errors
Энэ нь төхөөрөмжийг администратор салгасан гэдгийг харуулж байна. Ялангуяа энэ жишээний хувьд энэ нь үнэн юм. Дискийг салгахын тулд дараах тушаалыг ашиглажээ:
# zpool offline storage da1
Одоо системийг унтраасны дараа da1-г солих боломжтой. Систем буцаж ассаны дараа дараах тушаалыг ажиллуулж дискийг солино:
# zpool replace storage da1
Эндээс төлвийг дахин шалгаж болох бөгөөд энэ удаад төлвийн мэдээллийг авахын тулд -x
өгөгдөлгүйгээр үзнэ:
# 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
da2 ONLINE 0 0 0
errors: No known data errors
Энэ жишээнээс харахад бүгд хэвийн харагдаж байна.
21.2.2.4. Өгөгдлийн шалгалт
Өмнө дурдсанчлан ZFS нь хадгалагдсан өгөгдлийн бүрэн бүтэн байдлыг шалгахдаа хяналтын нийлбэрийг
ашигладаг. Тэдгээр нь файлын системүүдийг үүсгэхэд автоматаар идэвхждэг бөгөөд дараах тушаалыг ашиглан болиулж болно:
# zfs set checksum=off storage/home
Энэ нь ухаалаг санаа биш боловч хяналтын нийлбэрүүд нь маш бага хадгалалтын зай эзэлдэг бөгөөд идэвжсэн байхдаа илүү ашигтай байдаг. Бас тэдгээрийг идэвхжүүлснээр мэдэгдэхээр зардал бас ажиглагддаггүй. Идэвхжсэн байх үед өгөгдлийн бүрэн бүтэн байдлыг хяналтын нийлбэрийн шалгалт ашиглан ZFS шалгах боломжтой байдаг. Энэ процессийг "цэвэрлэх" гэж хэлдэг. storage
цөөрмийн өгөгдлийн бүрэн бүтэн байдлыг шалгахын тулд дараах тушаалыг ажиллуулна:
# zpool scrub storage
Энэ процесс хадгалагдсан өгөгдлийн хэмжээнээс хамаарч ихээхэн хэмжээний хугацаа шаардаж болох юм. Энэ нь бас эдгээр үйлдлүүдийн зөвхөн нэг нь тухайн үед ажиллаж болохоор тийм ихээр I/O-г ашигладаг байна. Цэвэрлэлт дууссаны дараа төлөв шинэчлэгдэж төлвийн хүсэлтийг илгээн харж болно:
# 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
da2 ONLINE 0 0 0
errors: No known data errors
Дууссан хугацаа энэ жишээн дээр цэврээр харуулагдаж байна. Энэ боломж нь өгөгдлийн бүрэн бүтэн байдлыг урт хугацааны турш хадгалахад баталгаа болж тусалдаг.
21.2.2.5. ZFS квот
ZFS нь өөр төрлийн квотуудыг дэмждэг. Эдгээр нь ref квот, ердийн квот ба бүлгийн квот юм. Энэ хэсэг нь тус бүрийн талаар танилцуулах бөгөөд зарим нэг хэрэглээний заавруудыг оруулах болно.
Квот нь өгөгдөл болон түүнээс үүссэн бусад удмын хэрэглэх зайг хязгаарладаг бөгөөд эдгээр удмуудад зориулсан хормын хувилбарууд болон файлын системүүдийн хэрэглэдэг зайнд хязгаарлалт тавьж өгдөг. Хэрэглэгчийн хувьд квот нь тухайн хэрэглэгч ашиглаж болох зайг хязгаарлахад ашигтай байдаг.
Квотыг эзлэхүүн дээр тавьж болдоггүй бөгөөд учир нь |
ref квот refquota=size
нь ашиглах зайнд хатуу хязгаар тавин зайнд хязгаарладаг. Гэхдээ энэ хатуу хязгаар нь файлын системүүд эсвэл хормын хувилбарууд зэрэг өгөгдлийн удмуудын хэрэглэдэг зайнд хамааралгүй юм.
storage/home/bob-д зориулж 10 GB ердийн квот тавихын тулд дараахийг ашиглана:
# zfs set quota=10G storage/home/bob
Тухайн заагдсан хэрэглэгч ашиглаж болох зайг хэрэглэгчийн квот хязгаарлаж өгдөг. Ерөнхий бичих хэлбэр нь userquota@user=size
байх бөгөөд хэрэглэгчийн нэр дараах хэлбэрийн аль нэг байх ёстой:
POSIX нийцтэй нэр (жишээ нь joe).
POSIX тоон ID (жишээ нь 789).
SID нэр (жишээ нь joe.bloggs@example.com).
SID тоон ID (жишээ нь S-1-123-456-789).
Жишээ нь joe хэрэглэгчийн хувьд 50 GB квот тавихын тулд дараахийг ашиглана:
# zfs set userquota@joe=50G
Квотыг устгах эсвэл тавигдаагүй эсэхийг шалгахын тулд дараахийг хэрэглэнэ:
# zfs set userquota@joe=none
Хэрэглэгчийн квотын шинж чанаруудыг zfs get all
тушаал харуулдаггүй. root
биш хэрэглэгчид userquota
зөвшөөрөл өгөгдөөгүй л бол зөвхөн өөрийн квотуудыг харж болно. Энэ зөвшөөрөлтэй хэрэглэгчид бүгдийн квотыг харж тогтоох боломжтой байна.
Бүлгийн квот нь заагдсан хэрэглэгчийн бүлэг ашиглаж болох зайг хязгаарладаг. Ерөнхий бичиглэл нь groupquota@group=size
байна.
firstgroup бүлэгт 50 GB квот зааж өгөхийн тулд дараахийг ашиглана:
# zfs set groupquota@firstgroup=50G
firstgroup бүлгийн хувьд квотыг устгах эсвэл тавигдаагүй байгаа эсэхийг шалгахын тулд дараахийг хэрэглэнэ:
# zfs set groupquota@firstgroup=none
Хэрэглэгчийн квот шинж чанарын хувьд root
биш хэрэглэгчид зөвхөн өөрсдийн харьяалагддаг хэрэглэгчийн бүлэгтэй холбоотой квотуудыг харж чадна, гэхдээ root
хэрэглэгч эсвэл groupquota
зөвшөөрөл бүхий хэрэглэгч бүх бүлгийн хувьд квотыг харах болон тавих боломжтой байна.
zfs userspace
дэд тушаал заагдсан файлын систем эсвэл хормын хувилбар дээр хэрэглэгч бүрийн ашиглаж байгаа зай болон квотын хамтаар харуулдаг. zfs groupspace
дэд тушаал бүлгийн хувьд адилыг харуулна. Дэмжигдсэн боломжуудын талаар эсвэл тухайн нэг боломжийг зөвхөн харуулъя гэвэл zfs(1) гарын авлагын хуудсыг үзнэ үү.
Хэрэв танд хэрэгтэй зөвшөөрлүүд байгаа, аль эсвэл root
хэрэглэгч бол storage/home/bob-н хувьд квотыг харуулахын тулд дараахийг ашиглана:
# zfs get quota storage/home/bob
21.2.2.6. ZFS захиалгууд
ZFS нь хоёр төрлийн зайн захиалгыг дэмждэг. Энэ хэсэг нь тус бүрийн талаар зарим нэг жишээ оролцуулан тайлбарлах болно.
reservation
шинж чанар нь өгөгдөл болон түүний удамд хэрэгтэй хамгийн бага зайг захиалж нөөцлөх боломжийг бүрдүүлдэг. Энэ нь хэрэв 10 GB зай storage/home/bob дээр тавигдсан бол дискийн зай бага болсон тохиолдолд уг өгөгдөлд хамгийн багадаа 10 GB зай нөөцлөгдсөн байна гэсэн үг юм. refreservation
шинж чанар нь хормын хувилбарууд зэрэг удмуудыг хасаад зөвхөн уг өгөгдөлд хэрэгтэй хамгийн бага зайг зааж өгөх юм уу тохируулж өгдөг. Жишээ нь storage/home/bob-н хормын хувилбарыг авсан бол үйлдэл амжилттай болохын тулд refreservation
хэмжээнээс гадна хангалттай дискний зай байх ёстой, яагаад гэвэл гол өгөгдлийн удмууд нь refreservation
хэмжээнд хамааралгүй бөгөөд өгөгдсөн зайнд баригдахгүй байна.
Аль ч төрлийн захиалгууд ихэнх тохиолдолд ашигтай байдаг бөгөөд жишээлбэл шинэ систем дээр дискний зайг хуваарилах тохиромжийг турших болон төлөвлөх, эсвэл системийг сэргээх үйл ажиллагаа болон файлуудад зориулсан хангалттай зай файлын системүүд дээр байгаа эсэхэд баттай байхын тулд ашиглаж болно.
reservation
шинж чанарын ерөнхий бичиглэл нь reservation=size
байх бөгөөд storage/home/bob-д 10 GB зайг захиалахын тулд дараах тушаалыг ашиглана:
# zfs set reservation=10G storage/home/bob
Захиалга хийгдээгүй аль эсвэл захиалгыг устгахын тулд дараахийг ашиглана:
# zfs set reservation=none storage/home/bob
refreservation-г тохируулахад refreservation=size
гэсэн ерөнхий бичиглэл ижил зарчмаар refreservation
шинж чанарт үйлчилж болно.
Ямар нэг захиалга эсвэл storage/home/bob-н хувьд захиалга байгаа эсэхийг шалгахдаа дараах тушаалуудын аль нэгийг ажиллуулаарай:
# zfs get reservation storage/home/bob
# zfs get refreservation storage/home/bob
21.3. Linux® файлын системүүд
Энэ хэсэг FreeBSD-н дэмждэг зарим нэг Linux® файлын системүүдийн талаар тайлбарлах болно.
21.3.1. Ext2FS
ext2fs(5) файлын системийн цөмийн шийдлийг Годмар Бэк бичсэн бөгөөд драйвер нь анх FreeBSD 2.2 дээр гарч ирсэн. FreeBSD 8 ба түүнээс өмнөх хувилбарууд дээр GNU нийтийн лицензийн доор байдаг бөгөөд харин FreeBSD 9 дээр код бичигдсэн ба BSD лицензээр лицензлэгдсэн байгаа.
ext2fs(5) драйвер нь FreeBSD-н цөмд ext2 файлын систем рүү унших бичих боломжийг олгодог.
Эхлээд цөмийн дуудагдах модулийг ачаална:
# kldload ext2fs
Дараа нь /dev/ad1s1-д байрлах ext2fs(5) эзлэхүүнийг холбоно:
# mount -t ext2fs /dev/ad1s1 /mnt
21.3.2. XFS
X файлын систем XFS-г анхлан IRIX-д зориулж SGI бичсэн бөгөөд Linux® руу порт хийгдсэн байдаг. Эх код нь GNU нийтийн лицензийн доор гарсан байдаг. Илүү дэлгэрэнгүйг энэ хаягаас үзнэ үү. FreeBSD-н портыг Рассел Каттелан, Alexander Kabaev <kan@FreeBSD.org>, болон Craig Rodrigues <rodrigc@FreeBSD.org> нар эхлүүлсэн.
XFS-г цөмийн дуудагдах модуль хэлбэрээр ачаалахын тулд:
# kldload xfs
xfs(5) драйвер нь FreeBSD-д XFS файлын систем рүү хандах боломжийг олгодог. Гэхдээ одоогоор зөвхөн унших хандалтыг дэмжсэн байгаа. Эзлэхүүн рүү бичих боломж байхгүй.
/dev/ad1s1-д байрлах xfs(5) эзлэхүүнийг холбохын тулд дараахийг хийнэ:
# mount -t xfs /dev/ad1s1 /mnt
sysutils/xfsprogs порт нь XFS файлын системийг үүсгэх боломжийг бүрдүүлэх mkfs.xfs
хэрэгсэл болон бусад анализ хийж засах хэрэгслүүдээс тогддогийг мэдэхэд илүүдэхгүй юм.
mkfs.xfs
-д -p
сонголтыг зааж өгөн xfs(5) файлын системийг файлууд болон бусад мета өгөгдлүүдийн хамтаар үүсгэхэд хэрэглэж болно. Ийм замаар зөвхөн унших боложмтой файлын системийг хурдан үүсгэн FreeBSD дээр тест хийхэд хэрэглэж болно.
21.3.3. ReiserFS
Reiser файлын систем ReiseFS-г FreeBSD рүү Jean-Sébastien Pédron <dumbbell@FreeBSD.org> порт хийсэн бөгөөд GNU нийтийн лицензийн доор гарсан байдаг.
ReiserFS драйвер нь FreeBSD цөмд ReiserFS файлын системд хандах болон одоогоор зөвхөн түүн дээр байгаа агуулгыг унших (бичиж болохгүй) боломжийг олгодог.
Эхлээд цөмийн дуудагдах модулийг ачаалах хэрэгтэй:
# kldload reiserfs
Дараа нь /dev/ad1s1-д байгаа ReiserFS эзлэхүүнийг холбохын тулд:
# mount -t reiserfs /dev/ad1s1 /mnt
Last modified on: 2024 оны гуравдугаар сарын 9 by Danilo G. Baio