Kako postaviti kvote datotečnog sustava (diska) na Ubuntu


Kvota datotečnog sustava standardna je ugrađena značajka koja se nalazi u jezgri Linuxa. Kvote određuju količinu prostora koju bi datoteka trebala imati za podršku korisničkim aktivnostima. Diskovne kvote također ograničavaju broj datoteka koje korisnik može stvoriti na sustavu.

Datotečni sustavi koji podržavaju sustav kvota uključuju xfs, ext2, ext4 i ext3 da spomenemo neke. Dodjeljivanje kvota specifično je za datotečni sustav i za svakog korisnika. Ovaj članak sadrži sve što trebate znati o radu s kvotnim datotečnim sustavom u višekorisničkom Ubuntu okruženju.

Pretpostavka je da koristite sustav Ubuntu s korisnikom (tecmint) koji ima sudo prava. Ovdje podijeljene ideje mogu funkcionirati na bilo kojoj distribuciji Linuxa sve dok koristite pravu tehniku implementacije.

Korak 1: Instaliranje Quota u Ubuntu

Da bi kvote bile spremne i upotrebljive, instalirajte alat naredbenog retka quota pomoću naredbe apt, ali prije toga morate ažurirati softverske pakete sustava.

sudo apt update

Sada upotrijebite sljedeću naredbu za instaliranje paketa quota na Ubuntu.

sudo apt install quota

Pritisnite Y, a zatim ENTER za početak postupka instalacije.

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

quota --version

Korak 2: Instaliranje modula za Quota Kernel

Za one koji koriste virtualni sustav temeljen na oblaku, zadanoj instalaciji Ubuntu možda nedostaju moduli kernela koji podržavaju korištenje kvote. Morate potvrditi pomoću alata za traž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, upotrijebite sljedeću naredbu za instaliranje modula jezgre kvote kao što je prikazano.

sudo apt install linux-image-extra-virtual

Dobit ćete prave module koji su vam potrebni za implementaciju kvota.

Korak 3: Ažuriranje opcija montiranja datotečnog sustava

Da bi kvote bile aktivne na određenom sustavu, on mora biti montiran sa povezanim opcijama kvota. To možete učiniti ažuriranjem unosa datotečnog sustava koji se nalazi u datoteci /etc/fstab.

sudo nano /etc/fstab

Trebali biste biti spremni urediti datoteku na odgovarajući način. Razlika između fstab datoteke i desktop datoteke je razlika u tome kako / ili korijenski datotečni sustav predstavlja cijeli prostor na disku. Zamijenite liniju (/) koja pokazuje na korijenski sustav koristeći donje retke.

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

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

Ponovno montirajte datotečni sustav kako bi promjene stupile na snagu.

sudo mount -o remount /

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

mount: /etc/fstab: parse error

Provjera korištenja novih opcija prilikom montiranja datotečnog sustava u datoteci /proc/mounts vrši se pomoću grep. Naredba prikazuje unos korijenskog datotečnog sustava u datoteci.

sudo cat /proc/mounts | grep ' / '

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

Korak 4: Omogućavanje diskovnih kvota na Ubuntuu

Prvo morate pokrenuti naredbu quotacheck.

sudo quotacheck -ugm /

Naredba stvara dvije datoteke korisnika kvote i grupu kvota koje sadrže informacije o ograničenju i korištenju datotečnog sustava. Ove datoteke moraju biti prisutne prije nego počnete koristiti kvotu.

Ovdje je definicija parametara:

  • -u: simbolizira da će se kreirati datoteka kvote temeljena na korisniku.
  • -g: označava da će se kreirati datoteka kvote temeljena na grupi.
  • -m: onemogućuje ponovno montiranje datotečnog sustava kao samo za čitanje dok u isto vrijeme daje točne rezultate u okruženju u kojem korisnik sprema datoteke. Opcija m nije obavezna tijekom postavljanja.

Kada nema potrebe za omogućavanjem korištenja kvota na temelju korisnika ili grupe, nema potrebe pokretati opciju provjera kvota. Potvrdite ovo ispisivanjem korijenskog direktorija pomoću naredbe ls.

ls /
Uzorak izlaza
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 ne uključite parametre u i g u naredbu quotacheck, nedostajat će odgovarajuće datoteke.

Sada smo spremni uključiti kvotu na korijenskom datotečnom sustavu (/) 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 edquote

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

sudo edquota -u tecmint

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

Izlaz navodi korisničko ime, uid, datotečni sustav s aktivnim kvotama i upotrebu blokova i inodeova. Kvota temeljena na inodesima ograničava broj datoteka i direktorija koje korisnici mogu stvoriti bez obzira na veličinu koju koriste na disku. Većina administratora preferira kvotu temeljenu na blokovima koja kontrolira prostor na disku.

NAPOMENA: Upotreba blokova ne pokazuje kako se može mijenjati ovisno o različitim čimbenicima kao što je alat naredbenog retka koji ih izvješćuje. Unutar kontekstnih kvota na Ubuntuu, možemo pretpostaviti da je jedan blok isti kao jedan kilobajt prostora na disku.

Koristeći gornju naredbenu 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 set kvota omogućuje postavljanje mekih i tvrdih ograničenja. Korisnik koji prijeđe meko ograničenje može premašiti svoju kvotu, ali mu nije zabranjeno korištenje više prostora ili inodeova. Korisnik u takvom slučaju ima sedam dana da iskoristi svoj soft limit prostor, a ako to ne učini, otežava spremanje ili stvaranje datoteka.

Čvrsto ograničenje znači da se stvaranje novih blokova ili inode zaustavlja u trenutku kada dosegnete ograničenje. Korisnici će prijaviti da vide upozorenja ili pogreške tijekom obavljanja uobičajenih zadataka.

Možemo ažurirati tecmintovu kvotu blokova tako da ima meko ograničenje od 100MB i 110MB za čvrsto ograničenje.

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

sudo quota -vs tecmint

NAPOMENA: Dajući vašim korisnicima priliku da analiziraju svoje kvote bez pozivanja naredbe sudo, mora im se dopustiti pristup datotekama kvote za čitanje tijekom faza stvaranja u četvrtom koraku. Jedan jednostavan način da to učinite je stvoriti korisničku grupu i dati grupi pristup tako da joj možete dodati korisnike.

Korištenje setquota

setquota ažurira informacije o kvoti pomoću jedne naredbe bez ikakvih interaktivnih postavki. Naredba zahtijeva korisničko ime i postavku mekih i tvrdih ograničenja koje će blok i inode koristiti. Također ćete morati deklarirati datotečni sustav koji će kvota koristiti.

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

Naredba udvostručuje ograničenja kvote na temelju blokova na 200 megabajta i 220 megabajta. Dva 0 0 pokazuju da ni tvrda ni meka ograničenja nisu postavljena, to je uvjet čak i kada nema potrebe za postavljanjem kvota temeljenih na inode-u.

Kao i obično, upotrijebite naredbu kvota da provjerite svoj napredak.

sudo quota -vs tecmint

Korak 6: Generiranje izvješća o kvotama

Generiranje izvješća o kvoti mora navesti korištenje od svih korisnika. Koristi se naredba repquota.

sudo repquota -s /

Gornji izlaz je izvješće o / korijenskom datotečnom sustavu. -s upućuje repquota da da rezultate u formatu čitljivom za čovjeka.

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

Korak 7: Postavite razdoblja odgode za konfiguraciju

Razdoblje odgode je vrijeme koje korisnik dobiva dopuštenje za rad izvan zadanog vremena.

sudo setquota -t 864000 864000 /

Naredba daje upute bloku i inodu da imaju razdoblje odgode 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 pogreškama

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

Gore navedena pogreška je uobičajena ako pokušate uključiti 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 pogreška govori administratoru da je kernel ne podržava ili možda imate pogrešnu verziju na računalu (imamo quota_v1 i quota_v2). Za Ubuntu takve su pogreške tipične na virtualnom poslužitelju temeljenom na oblaku.

Popravite pogrešku instaliranjem paketa Linux-image-extra-virtual 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

Pogreška je uočljiva kada trenutni korisnik nema dopuštenje za čitanje datoteka kvote. Kao administrator, samo trebate izvršiti ispravne promjene dopuštenja ili koristiti sudo kada trebate pristupiti datotekama u sustavu kvota ili datoteci.

Zaključak

Na vrhu članka započeli smo s kvota alatima naredbenog retka i provjerom verzije kernela i otišli dalje kako bismo objasnili kako postaviti kvotu na temelju blokova za jednog korisnika i kako generirati izvješće o korištenju kvote datotečnog sustava.

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