Kako postaviti kvote sistema datoteka (disk) na Ubuntu


Kvota sistema datoteka je standardna ugrađena funkcija koja se nalazi u Linux kernelu. Kvote određuju količinu prostora koju datoteka treba da ima da podrži aktivnosti korisnika. Kvote diska također ograničavaju broj datoteka koje korisnik može kreirati na sistemu.

Sistemi datoteka koji podržavaju sistem kvota uključuju xfs, ext2, ext4 i ext3 da spomenemo neke. Dodjela kvota je specifična za sistem datoteka i za svakog korisnika. Ovaj članak nosi sve što trebate znati o radu sa sistemom datoteka kvota u višekorisničkom Ubuntu okruženju.

Ovdje se pretpostavlja da koristite Ubuntu sistem sa korisnikom (tecmint) datim sudo pravima. Ideje koje se ovdje dijele mogu raditi na bilo kojoj Linux distribuciji sve dok koristite pravu tehniku implementacije.

Korak 1: Instaliranje Quota u Ubuntu

Da bi kvote bile spremne i upotrebljive, instalirajte quota alat iz komandne linije koristeći komandu apt, ali prije toga morate ažurirati sistemske softverske pakete.

sudo apt update

Sada koristite sljedeću naredbu da instalirate quota paket na Ubuntu.

sudo apt install quota

Pritisnite Y, a zatim ENTER da bi proces instalacije započeo.

Potvrdite verziju instalacije pokretanjem naredbe ispod. Broj vaše verzije može se razlikovati od onoga što vidite ispod.

quota --version

Korak 2: Instaliranje modula za Quota Kernel

Za one koji koriste virtuelni sistem zasnovan na oblaku, podrazumevanoj Ubuntu instalaciji možda nedostaju moduli kernela koji podržavaju upotrebu kvote. Morate potvrditi korištenjem alata za pronalaženje i osigurati da se dva modula, quota_v1 i quota _v2, nalaze unutar /lib/modules direktorija.

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

Ovo bi trebao biti rezultat gornje naredbe.

Ne brinite o verzijama kernela sve dok su dva modula prisutna. Ako nije pronađen, koristite sljedeću naredbu da instalirate module kernela kvote kao što je prikazano.

sudo apt install linux-image-extra-virtual

Dobićete prave module koji su vam potrebni za implementaciju kvote.

Korak 3: Ažuriranje opcija montiranja sistema datoteka

Da bi kvote bile aktivne na određenom sistemu, on mora biti montiran sa srodnim opcijama kvote. To možete učiniti ažuriranjem unosa sistema datoteka koji se nalazi u datoteci /etc/fstab.

sudo nano /etc/fstab

Trebali biste biti spremni da uredite datoteku na odgovarajući način. Razlika između fstab fajla i desktop fajla je razlika u tome kako / ili root fajl sistem predstavlja ceo prostor na disku. Zamijenite liniju (/) koja pokazuje na korijenski sistem koristeći linije ispod.

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

Linije će se promijeniti kako bi omogućile pristup korisničkoj kvoti i grpquota. Možete ostaviti onaj koji nije dio konačne konfiguracije. Ako je fstab imao neke opcije, dodajte nove opcije na kraj reda. Dok radite dodavanje, odvojite nove stavke zarezom, ali bez razmaka između njih.

Ponovo montirajte sistem datoteka kako bi promjene stupile na snagu.

sudo mount -o remount /

NAPOMENA: potvrdite da nema razmaka između opcija u /etc/fstab da biste izbjegli takve greške.

mount: /etc/fstab: parse error

Provjera korištenja novih opcija prilikom montiranja sistema datoteka u datoteku /proc/mounts se vrši putem grep. Naredba prikazuje unos korijenskog sistema datoteka u datoteci.

sudo cat /proc/mounts | grep ' / '

Iz izlaza možete vidjeti dvije opcije koje smo postavili. Vrijeme je da se uključi sistem kvota.

Korak 4: Omogućavanje kvota diska na Ubuntu

Prvo morate pokrenuti naredbu provjera kvota.

sudo quotacheck -ugm /

Naredba kreira dvije datoteke korisnika kvote i grupu kvota koje imaju informacije o ograničenju i korištenju sistema datoteka. Ove datoteke moraju biti prisutne prije nego počnete koristiti kvotu.

Evo definicije parametara:

  • -u: simbolizira da će se kreirati korisnički baziran fajl kvote.
  • -g: označava da će se kreirati grupna datoteka kvote.
  • -m: onemogućava ponovno montiranje sistema datoteka kao samo za čitanje, dok istovremeno daje precizne rezultate u okruženju u kojem korisnik nastavlja čuvati datoteke. Opcija m nije obavezna tokom podešavanja.

Kada nema potrebe da se omogući korištenje kvota na osnovu korisnika ili grupe, nema potrebe za pokretanjem opcije provjera kvota. Potvrdite ovo navođenjem korijenskog direktorija pomoću naredbe ls.

ls /
Sample Output
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

Ako se parametri u i g ne uključe u naredbu quotacheck, odgovarajući fajlovi će nedostajati.

Sada smo spremni da uključimo kvotu na korijenskom datotečnom sistemu (/) sa sljedećom naredbom.

sudo quotaon -v /

Korak 5: Konfigurirajte kvote za jednog korisnika

Možemo koristiti naredbe edquota i setquota da ih postavimo za korisnike ili grupe.

Korištenje edquota

edquota komande uređuju kvote, na primjer, možemo urediti kvotu koja pripada tecmint korisniku koristeći:

sudo edquota -u tecmint

Korištenje opcije -u specificira da kvota pripada korisniku. Koristite opciju -g ako trebate urediti kvotu koja pripada grupi. Naredba će otvoriti datoteku koristeći uređivač teksta po vašem izboru.

Izlaz navodi korisničko ime, uid, sistem datoteka sa aktivnim kvotama i upotrebu blokova i inoda. Kvota zasnovana na inodima ograničava broj datoteka i direktorija koje korisnici mogu kreirati bez obzira na veličinu koju koriste na disku. Većina administratora preferira blokovsku kvotu koja kontrolira prostor na disku.

NAPOMENA: Upotreba blokova ne pokazuje kako se to može promijeniti ovisno o različitim faktorima kao što je alat komandne linije koji ih izvješćuje. Unutar kvota konteksta na Ubuntu, možemo pretpostaviti da je jedan blok isti kao jedan kilobajt prostora na disku.

Koristeći gornju komandnu liniju, korisnik će koristiti 2032 bloka, što je isto kao 2032 KB prostora na /dev/sda1. Vrijednost 0 onemogućuje meka i čvrsta ograničenja.

Svaki skup kvota omogućava postavljanje mekih i tvrdih ograničenja. Korisnik koji pređe meku granicu može premašiti svoju kvotu, ali nije zabranjeno korištenje više razmaka ili inoda. Korisnik u takvom slučaju ima sedam dana da iskoristi svoj meki ograničeni prostor, a ako to ne učini, otežava spremanje ili kreiranje datoteka.

Tvrdo ograničenje znači da se stvaranje novih blokova ili inoda zaustavlja u trenutku kada dostignete ograničenje. Korisnici će prijaviti da vide upozorenja ili greške tokom obavljanja redovnih zadataka.

Tecmint-ovu blok kvotu možemo ažurirati tako da imamo meko ograničenje od 100MB i 110MB za tvrdo ograničenje.

Nakon uređivanja, zatvorite datoteku i provjerite nove postavke ograničenja korisničke kvote pomoću naredbe kvote.

sudo quota -vs tecmint

NAPOMENA: Dajući vašim korisnicima priliku da analiziraju svoje kvote bez pozivanja sudo komande, mora im se dati pristup za čitanje fajlova kvota tokom faza kreiranja u četvrtom koraku. Jedan jednostavan način da to učinite je da kreirate korisničku grupu i date grupi pristup kako biste joj mogli dodati korisnike.

Korištenje setquota

setquota ažurira informacije o kvoti pomoću jedne naredbe bez ikakvog interaktivnog podešavanja. Naredba zahtijeva korisničko ime i postavku mekih i tvrdih ograničenja koje će blok i inode koristiti. Također ćete morati deklarirati sistem datoteka koji će kvota koristiti.

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

Komanda udvostručuje ograničenja kvote zasnovane na blokovima na 200 megabajta i 220 megabajta. Dva 0 0 označavaju da i hard i soft limiti nisu postavljeni, to je uslov čak i kada nema potrebe za postavljanjem inode-baziranih kvota.

Kao i obično, koristite naredbu kvote da provjerite svoj napredak.

sudo quota -vs tecmint

Korak 6: Generiranje izvještaja o kvotama

Generiranje izvještaja o kvotama mora naznačiti korištenje svih korisnika. Koristi se naredba repquota.

sudo repquota -s /

Izlaz iznad je izvještaj o / root sistemu datoteka. -s daje instrukcije repquota da daje rezultate u formatu čitljivom za ljude.

Zadano vrijeme odgode bloka je 7 dana. Grace stupac upozorava korisnika na broj dana prije odbijanja pristupa disku resursa.

Korak 7: Postavite grejs periode za konfiguraciju

Period odgode je vrijeme kada korisnik dobije dozvolu za rad izvan zadanog vremena.

sudo setquota -t 864000 864000 /

Komanda daje instrukcije bloku i inode da imaju grejs period od 864000 sekundi, što je ekvivalentno 10 dana. Postavka će utjecati na sve korisnike, stoga je potrebno postaviti vrijednosti čak i kada se neće koristiti blokovi i inode. Vrijednost vremena mora biti u sekundama.

Potvrdite promjene i pogledajte jesu li stupile na snagu pomoću naredbe:

sudo repquota -s /

Uobičajene poruke o greškama

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

Gornja greška je uobičajena ako pokušate da uključite kvote pomoću naredbe qoutaon prije pokušaja provjere statusa kvote pomoću naredbe quotacheck.

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.

Ova greška govori administratoru da je kernel ne podržava ili da možda imate pogrešnu verziju na mašini (imamo quota_v1 i quota_v2). Za Ubuntu, takve greške su tipične za virtuelni server baziran na oblaku.

Ispravite grešku instaliranjem Linux-image-extra-virtual paketa pomoću naredbe apt.

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

Greška je uočljiva kada trenutni korisnik nema dozvolu za čitanje datoteka kvota. Kao administrator, trebate izvršiti ispravne promjene dozvola ili koristiti sudo kada trebate pristupiti datotekama u sistemu kvota ili datoteci.

Zaključak

Na vrhu članka smo započeli s quota alatima komandne linije i verifikacijom verzije kernela i otišli dalje da objasnimo kako postaviti kvotu zasnovanu na blokovima za jednog korisnika i kako generirati izvještaj o korištenju kvote sistema datoteka.

Članak također pokriva uobičajene greške i kako ih izbjeći korištenjem dodatnog paketa ili provjerom verzije kernela na vašem sistemu.