Kuidas määrata failisüsteemi (ketta) kvoodid Ubuntu


Failisüsteemi kvoot on tavaline sisseehitatud funktsioon, mis leitakse Linuxi tuumast. Kvoodid määravad, kui palju ruumi failil peaks olema kasutaja tegevuste toetamiseks. Kettakvoodid piiravad ka failide arvu, mida kasutaja saab süsteemis luua.

Kvoodisüsteemi toetavad failisüsteemid hõlmavad xfs, ext2, ext4 ja ext3. Kvootide määramine on failisüsteemile ja igale kasutajale omane. See artikkel sisaldab kõike, mida peate teadma kvoodifailisüsteemiga töötamise kohta mitme kasutaja Ubuntu 18.04 keskkonnas.

Siin eeldatakse, et kasutate Ubuntu 18.04 süsteemi sudo õigustega kasutajaga (tecmint). Siin jagatud ideed võivad töötada mis tahes Linuxi distros, kui kasutate õiget juurutamistehnikat.

1. samm: kvoodi installimine Ubuntu

Et kvoodid oleksid valmis ja kasutatavad, installige kvoodi käsurea tööriist käsu apt abil, kuid enne seda peate värskendama süsteemi tarkvarapakette.

$ sudo apt update

Nüüd kasutage kvoodipaketi installimiseks Ubuntu järgmist käsku.

$ sudo apt install quota

Installiprotsessi alustamiseks vajutage klahvi Y ja seejärel sisestusklahvi ENTER.

Kinnitage installiversioon, käivitades alloleva käsu. Teie versiooninumber võib erineda allolevast.

$ quota --version

2. samm: kvoodituuma mooduli installimine

Need, kes töötavad pilvepõhise virtuaalse süsteemiga, võivad Ubuntu vaikeseadistused kvoodi kasutamist toetavad tuumamoodulid puududa. Peate kinnitama otsingutööriista abil ja veenduma, et kaks moodulit quota_v1 ja quota _v2 asuvad kataloogis/lib/modules.

$ find /lib/modules/`uname -r` -type f -name '*quota_v*.ko*'

See peaks olema ülaltoodud käsu tulemus.

Ärge muretsege kerneli versioonide pärast, kui kaks moodulit on olemas. Kui seda ei leita, kasutage kvoodituuma moodulite installimiseks, nagu näidatud, järgmist käsku.

$ sudo apt install linux-image-extra-virtual

Saate kvoodi rakendamiseks vajalikud moodulid.

3. samm: failisüsteemi ühendamise suvandite värskendamine

Selleks, et kvoodid oleksid konkreetses süsteemis aktiivsed, peavad need olema ühendatud vastavate kvoodivalikutega. Seda saate teha, värskendades failis/etc/fstab leitud failisüsteemi kirjet.

$ sudo nano /etc/fstab

Peaksite olema valmis faili sobivalt muutma. Erinevus fstab-faili ja töölaua vahel on erinevus selles, kuidas / või juurfailisüsteem esindab kogu kettaruumi. Asendage rida (/) , mis osutab juurestikule, kasutades allpool olevaid ridu.

LABEL=cloudimg-rootfs   /        ext4   usrquota,grpquota        0 0

Ridad muutuvad, et võimaldada kasutajakvoodile ja grpquotale juurdepääsu. Võite jätta sellise, mis ei ole lõpliku konfiguratsiooni osa. Kui fstabil olid mõned valikud, lisage uued valikud rea lõppu. Lisamise ajal eraldage uued üksused komaga, kuid ilma nende vaheta.

Muudatuste jõustumiseks ühendage failisüsteem uuesti.

$ sudo mount -o remount /

MÄRKUS. Selliste vigade vältimiseks veenduge, et/etc/fstab-s olevate suvandite vahel pole tühikuid.

mount: /etc/fstab: parse error

Uute suvandite kasutamise kontrollimine failisüsteemi/proc/mounts faili paigaldamisel toimub grepi abil. Käsk näitab failis juurfailisüsteemi sisestust.

$ sudo cat /proc/mounts | grep ' / '

Väljundist näete kahte seadistatud valikut. On aeg kvoodisüsteem sisse lülitada.

4. samm: kettakvootide lubamine Ubuntu

Esiteks peate käivitama käsu quotacheck.

$ sudo quotacheck -ugm /

Käsk loob kaks faili kvoodikasutaja ja kvoodirühma, millel on teave failisüsteemi limiidi ja kasutamise kohta. Need failid peavad olema enne kvoodi kasutamist alustama.

Siin on parameetrite määratlus:

  • -u : sümboliseerib kasutajapõhise kvoodifaili loomist.
  • -g : näitab, et luuakse rühmapõhine kvoodifail.
  • -m: keelab failisüsteemi uuesti kirjutamise ainult lugemiseks ja annab samas täpseid tulemusi keskkonnas, kus kasutaja jätkab failide salvestamist. Valik m pole seadistamise ajal kohustuslik.

Kui pole vaja lubada kasutaja või rühma põhjal kvootide kasutamist, pole vaja käsku Quotececk käivitada. Kinnitage see, lisades juurkataloogi käsuga ls.

$ ls /
aquota.group  bin   dev  home        initrd.img.old  lib64       media  opt   root  sbin  srv  tmp  var      vmlinuz.old
aquota.user   boot  etc  initrd.img  lib             lost+found  mnt    proc  run   snap  sys  usr  vmlinuz

Kui parameetreid u ja g ei lisata käsku quotacheck, jäävad vastavad failid puudu.

Nüüd oleme valmis käsu (/) failisüsteemis kvoodi sisse lülitama järgmise käsuga.

$ sudo quotaon -v /

5. samm: konfigureerige ühe kasutaja kvoodid

Kasutajate või rühmade jaoks nende määramiseks saame kasutada käske edquota ja setquota.

Edquota käsud muudavad kvoote, näiteks saame muuta tecmint kasutajale kuuluvat kvooti, kasutades:

$ sudo edquota -u tecmint

Valiku -u kasutamine määrab, et kvoot kuulub kasutajale. Kasutage valikut -g , kui peate mõnda gruppi kuuluvat kvoodi muutma. Käsk avab faili teie valitud tekstiredaktori abil.

Väljundis on loetletud kasutajanimi, uid, aktiivsete kvootidega failisüsteem ning plokkide ja inoodide kasutamine. Inoodidel põhinev kvoot piirab failide ja kataloogide arvu, mida kasutajad saavad luua, olenemata kettal kasutatavast suurusest. Enamik administraatoreid eelistab plokipõhist kvoodi, mis kontrollib kettaruumi.

MÄRKUS. Plokkide kasutamine ei näita, kuidas see võib muutuda sõltuvalt erinevatest teguritest, näiteks käsurea tööriist, millest neid teavitatakse. Ubuntu kontekstikvootide piires võime eeldada, et üks plokk on sama kui üks kilobaiti kettaruumi.

Kasutades ülaltoodud käsurida, kasutab kasutaja 2032 plokki, mis on sama mis/dev/sda1-s on 2032 KB ruumi. Väärtus 0 keelab nii pehmed kui ka rasked piirid.

Iga kvoodikomplekt võimaldab seada pehme ja raske piiri. Kasutaja, kes ületab pehme limiidi, võib ületada oma kvooti, kuid tal ei ole lubatud kasutada rohkem tühikuid ega inode. Sellisel juhul on kasutajal seitsme päeva jooksul võimalik oma pehme limiitruumi lunastada, kui seda ei tehta, on failide salvestamine või loomine keeruline.

Kõva piir tähendab, et uute plokkide või inode loomine peatub hetkest, kui jõuate limiidini. Kasutajad teatavad tavaliste ülesannete täitmisel hoiatuste või vigade nägemisest.

Saame värskendada tecminti blokeerimiskvooti nii, et selle pehme limiit oleks 100 MB ja 110 MB.

Pärast redigeerimist sulgege fail ja kontrollige kvoodi käsu abil kasutaja uute kvootide piirangute seadeid.

$ sudo quota -vs tecmint

MÄRKUS. Andes teie kasutajatele võimaluse analüüsida oma kvoote ilma käsku sudo käivitamata, tuleb neile anda loomisfaasis neljandas etapis juurdepääs kvoodifailide lugemisele. Üks lihtne viis seda teha on luua kasutajarühm ja anda sellele juurdepääs, et saaksite kasutajaid sinna lisada.

setquota värskendab kvoodi teavet ühe käsu abil ilma interaktiivse seadistamiseta. Käsk nõuab kasutajanime ja nii pehme kui ka kõva piirangu määramine, mida plokk ja inode kasutavad. Samuti peate deklareerima failisüsteemi, mida kvoot kasutab.

$ sudo setquota -u tecmint 200M 220M 0 0 /

Käsk kahekordistab plokipõhised kvoodipiirangud 200 ja 220 megabaidini. Kaks 0 0 näitavad, et nii kõva kui ka pehme piir pole seatud, see on nõue ka siis, kui pole vaja määrata inoodipõhiseid kvoote.

Nagu tavaliselt, kasutage edenemise kontrollimiseks käsku quota.

$ sudo quota -vs tecmint

6. samm: kvoodiaruannete genereerimine

Kvoodiaruande loomisel peab see näitama kõigi kasutajate kasutamist. Kasutatakse käsku repquota.

$ sudo repquota -s /

Ülaltoodud väljund on aruanne / juurfailisüsteemist. -s käsib repquota'l anda tulemusi inimestele loetavas vormingus.

Blokeerimise vaikeaeg on vaikimisi 7 päeva. Armu veerg annab kasutajale märku päevade arvust enne ressursikettale juurdepääsu keelamist.

7. samm: määrake konfigureerimise ajaperioodid

Ajapikendus on aeg, mil kasutaja saab loa töötada üle vaikeaja.

$ sudo setquota -t 864000 864000 /

Käsk annab plokile ja inoodile korralduse armuajaks 864000 sekundit, mis võrdub 10 päevaga. Seadistus mõjutab kõiki kasutajaid, seetõttu tuleb väärtused määrata ka siis, kui plokke ja inode ei kasutata. Aja väärtus peab olema sekundites.

Kinnitage muudatused ja vaadake, kas need jõustusid käsuga:

$ sudo repquota -s /

Levinud vigade teated

quotaon: cannot find //aquota.group on /dev/vda1 [/]
quotaon: cannot find //aquota.user on /dev/vda1 [/]

Ülaltoodud tõrge on tavaline, kui proovite kvoodid käsu qoutaon abil sisse lülitada, enne kui proovite kvoodi olekut kontrollida käsu quotacheck abil.

quotaon: using //aquota.group on /dev/vda1 [/]: No such process
quotaon: Quota format not supported in kernel.
quotaon: using //aquota.user on /dev/vda1 [/]: No such process
quotaon: Quota format not supported in kernel.

See viga ütleb administraatorile, et kernel ei toeta või võib teil olla masinas vale versioon (meil on quota_v1 ja quota_v2). Ubuntu jaoks on sellised vead levinud pilvepõhises virtuaalserveris.

Parandage viga, installides Linux-image-extra-virtual-virtuaalpaketi apt-käsu abil.

quota: Cannot open quotafile //aquota.user: Permission denied
quota: Cannot open quotafile //aquota.user: Permission denied
quota: Cannot open quotafile //quota.user: No such file or directory

Viga on märkimisväärne, kui praegusel kasutajal pole luba kvoodifailide lugemiseks. Administraatorina peate õiged õiguste muudatused tegema või sudo kasutama ainult siis, kui peate kvoodisüsteemis või failis juurde pääsema.

Artikli ülaosas alustasime kvoodi käsurea tööriistadest ja kerneli versiooni kontrollimisest ning läksime edasi selgitama, kuidas seadistada ühe kasutaja jaoks plokipõhine kvoot ja kuidas luua failisüsteemi kvoodile aruanne kasutamine.

Artiklis käsitletakse ka levinumaid vigu ja nende vältimist lisapaketi kasutamisel või süsteemi tuuma versiooni kontrollimisel.