Kettakvoot

From EIK wiki

Sissejuhatus

Kettakvoot ehk quota on süsteemi administraatori poolt kasutajale kehtestatud piirang tema käsutusse antava kettamahu suuruse suhtes. Kettakvoodid jagunevad kaheks: blokk ning faili kettakvoodiks. Blokk (block) kettakvoot piirab kasutatava ketta ruumi ning faili kettakvoot piirab loodavate failide ning kataloogide loomise arvu. Järgnevalt on kettakvoote käsitletud Linux'i keskkonnas.

Quota.png [1]

Installimine

Kettkvootide seadmiseks tuleb kõigepealt quota installeerida. Quota installimiseks võib kasutada järgmist käsku:

sudo apt-get install quota

Võimaldamine

Muuda /etc/fstab [2]

Partitsioonid, millele pole veel lubatud kettakvoote, näevad välja umbes sellised (hda asemel võib olla ka sdb vms, aga neljandal väljal peab kindlasti olema defaults):

/dev/hda1       /       ext2    defaults        1       1
/dev/hda2       /home    ext2    defaults        1       1

Et võimaldada kasutaja kettakvoodi toetust failisüsteemi, lisa "usrquota" neljandale väljale, mis sisaldab vaikimisi sõna "defaults".

/dev/hda1       /       ext2    defaults        1       1
/dev/hda2       /home    ext2    defaults,usrquota       1       1

Asenda "usrquota" "grpquota"-ks, kui tahate muuta grupi kettakvoote.

/dev/hda1       /       ext2    defaults        1       1
/dev/hda2       /home    ext2    defaults,grpquota       1       1

Kui tahate nii grupi kui ka kasutaja kettakvoote muuta, siis kirjutage juurde mõlemad.

/dev/hda1       /       ext2    defaults        1       1
/dev/hda2       /home    ext2    defaults,usrquota,grpquota       1   1

Taaslaadi süsteem

Pärast muudatuste tegemist peab taaslaadima süsteemi.

Kettakvootide täitumise kontroll [3]

quotacheck -avug
quotacheck: Scanning /dev/sda3 [/home] done
quotacheck: Checked 5182 directories and 31566 files
quotacheck: Old file not found.
quotacheck: Old file not found.

Milles:

  • a: Kontrollib kõiki kettakvoodi toega failisüsteeme
  • v: Näitab, mis parasjagu tehakse
  • u: Kontrollib kasutaja kettakvooti
  • g: Kontrollib grupi kettakvooti

Ülemine käsk loob aquota faili kasutajale ja grupile, nagu allpool on näidatud.

ls -l /home/
-rw-------    1 root     root        11264 Jun 21 14:49 aquota.user
-rw-------    1 root     root        11264 Jun 21 14:49 aquota.group

Kettakvoodi seadmine kasutajale ning grupile

Kasutajale kettakvoodi seadmiseks kasutatakse allolevat käsku, kus user_id tuleb asendada kasutajaga, kellele kettakvoote seadma hakatakse.

edquota -u user_id

Näiteks:

#edquota -u user1
Disk quotas for user user1 (uid 501):
 Filesystem                   blocks       soft       hard     inodes     soft     hard
 /dev/hda1                      1944          0          0        120        0        0
     

Kettakvootide seadmisel on tähtsad:

  • Hard limit - Kõva limiit. Näiteks kui sa määrad kõvaks limiidiks 2GB, siis kasutaja ei saa luua uusi faile pärast 2GB.
  • Soft limit - Pehme limiit. Näiteks kui sa märgid pehmeks limiidiks 1GB, siis kasutaja saab 1GB jõudes hoiatussõnumeid “disk quota exceeded”, kuid saab siiski luua edasi faile kuni kõva limiidini.
  • Grace Period - Ajapikendus. Näiteks kui sa määrad selleks ajaks 10 päeva, siis pärast kõva limidiini jõudmist on kasutajal veel 10 päeva aega faile luua. Selle aja jooksul peaks kasutaja proovima end uuesti kvoodipiiridesse saada.

Ajapikenduse lisamise käsk:

edquota -t 

Grupile (allolevas näites on grupi nimeks group1) kettakvoodi seadmiseks kasutatakse käsku

edquota -g group1

Kettakvootide ülevaade

Kettakvootide ülevaateks kasutatakse "repquota" käsku.

Valikud:

  • -a: Kettakvootide summaarne ülevaade
repquota -a

väljund[4]:

*** Report for user quotas on device /dev/hda1
Block grace time: 7days; Inode grace time: 7days
                       Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      -- 4335200       0       0         181502     0     0
bin       --   15644       0       0            101     0     0
...
user1     --    1944       0       0            120     0     0
  • -u: Kasutajate kettakvootide ülevaade
  • -g: Gruppide kettakvootide ülevaade

Kettakvootide täitumise kontrolli automatiseerimine

Selleks, et kettakvootide täitumise kontroll oleks automaatne, tuleks kasutada cron-i. Selleks tuleb luua quotacheck fail näiteks etc/cron/daily kataloogi.

cat /etc/cron.daily/quotacheck

väljund:

quotacheck -avug

Kettkvootide sisse- ja väljalülitamine

Olemasolevate kettakvootide väljalülitamiseks kasutatakse käsku

quotaoff -a

ning sisselülitamiseks

quotaon -a

Veel valikuid:

  • -u: Lülitab sisse/välja kasutaja kettakvoodid
  • -g: Lülitab sisse/välja grupi kettakvoodid

Kasutatud kirjandus

Autor

Sandra Sirel A21