Navigacija

Omejevanje prostora (quota)


Omejevanje prostora je nuja za vsak strežnik, zato bom tu na kratko razložil kako omogoèiti omejevanje prostora in kako omejiti prostor doloèenemu uporabniku.

1. Prvo moramo omogoèiti podporo za quota v jedru (kernel)

To naredimo, tako da dodamo

options QUOTA

v našo konfiguracijsko datoteko za jedro (privzeto je to /usr/src/sys/i386/conf/GENERIC)

2. Ko to naredimo moramo prevesti jedro. Kako to naredimo, najdemo tukaj

3. Ko smo prevedli jedro še moramo omogoèiti quota za tisti mount point na katerem bomo uporabili omejevanje prostora.

V /etc/fstab pod options dodamo

userquota,groupquota

za tisti mount point pri katerem bomo uporabili omejevanje prostora.

Èe želimo omogoèiti quota za /usr bo spremenjen vnos v /etc/fstab izgledal tako:

/dev/ad0s1f /usr ufs rw,userquota,groupquota 2 2

4. Da vklopimo omejevanje prostora ob zagonu, dodamo v /etc/rc.conf naslednji vrstici:

quota_enable="YES"
check_quotas="YES"

5. Sedaj ponovno zaženemo raèunalnik

6. Ko se je raèunalnik ponovno zagnal vpišemo še ta dva ukaza:

quotacheck -a
quotaon -a

Omejevanje prostora doloèenemu uporabniku

1. Namestimo program setquota s katerim bomo omejevali prostor uporabnikom:

pkg_add -r setquota

2. Struktura ukaza za setquota je takšna:

setquota -f -bh -bs -ih -is

Pri omejevanju števila datotek in porabe prostora na disku poznamo hard in soft limit.

hard limit - pomeni, da ga uporabnik ne more preseèi (naprimer: èe uporabniku omejimo prostor na 5 MB lahko uporabnik uporabi samo 5MB prostora in niè veè. Èe bo uporabnik hotel uporabiti veè kot 5 MB prostora to ne bo možno).

soft limit - pomeni, da uporabnik lahko preseže limit ampak le za doloèen èas (privzeto je to 1 teden). Èe bo uporabnik presegel limit za veè kot 1 teden se bo soft limit spremenil v hard limit

Torej praktièen primer. Èe želimo uporabniku janez omejiti prostor za mount point /usr na 50 MB in maksimalno število datotek na 500 bo struktura ukaza izgledala tako:

setquota -f /usr -bh50M -bs50M -ih500 -is500 janez

Kakšna je quota in koliko prostora uporablja uporabnik pogledamo z ukazom quota:

quota -u uporabnik

Izpis bo izgledal nekako tako:

Disk quotas for user janez (uid 1020):
Filesystem usage quota limit grace files quota limit grace
/usr 11788 512000 512000 37 0 0