Hlavní navigace

Jak na diskové kvóty

Ondřej Suchý

Dalším z často opakovaných dotazů je zprovoznění diskových kvót. Mrkněme se tedy jak na to.

Vlastní instalace
  1. stáhni a nainstaluj balík quota (mirrory)
  2. zakompiluj podporu kvót do kernelu (Filesystems → Quota support)
  3. do /etc/fstab přidej k zařízením, na kterých chceš kvóty používat parametr „usrquota“. Příklad:
     – /dev/hda2 / ext2 defaults 1 1
    ++ /dev/hda2 / ext2 defaults,usrquota 1 1
  4. do rc.d přidej volání skriptu pro inicializaci kvót, např.:
    #!/bin/sh
    case $1 in
      start)
            echo "Checking quotas"; quotacheck -avug
            echo "Turning on quotas"; quotaon -avug
            ;;
    
      stop)
            echo "Turning off quotas"; quotaoff -avug
            ;;
    
      check)
            echo "Checking quotas"; quotacheck -avug
            ;;
    
      *)
            echo "Usage: $0 {start|stop|check}"; exit 1
            ;;
    esac
  5. příkazem touch vytvoř prázdný soubor quota.user (mod 600) na mount-pointu disku, na kterém se budou kvóty využívat.

Tím je vše hotovo. Kvóty pro skupiny se vytvoří obdobně, jenom do fstab se přidává volba „groupquota“ a soubor vytvářený v bodě 5 se bude jmenovat „quota.group“.

Editace kvót
Editace se provádí příkazem „edquota -u <user>“ (uživatelská kvóta), resp. „edquota -g <group>“ (skupinová kvóta). Tento povel spustí editor (dle nastavení proměnné prostředí VISUAL), kde pak můžete nastavit limit pro počet souborů (resp. inodů) a/nebo jejich souhrnnou velikost. Pro oba typy kvóty lze měnit dva parametry:
soft limit – uživatel bude upozorněn, že překračuje kvóty, ale překročení bude povoleno
hard limit – tuto hodnotu již nelze překročit

Příkazem „edquota -t“ se nastavuje tzv. grace period, což je časový limit – pokud uživatel překračuje soft limit déle než grace period, bude dodržení limitu vynuceno.

Pokud často nastavujete stejnou kvótu pro více uživatelů, můžete to udělat velice rychle takto:
edquota -up user1 user2
Tento povel nastaví uživateli user2 stejnou diskovou kvótu, jako má uživatel user1. Analogicky lze totéž provést u skupin, kdy povel vypadá takto:
edquota -gp group1 group2

Našli jste v článku chybu?