Quota

Allikas: Kuutõrvaja

Disk Quota

Eeldused kasutamiseks:

  • kernelis tugi
  • kataloogistruktuur

Mitme kasutajaga arvutites on hea hoida kõvaketta ruumi kontrolli all. Selles mõttes, et mõni kasutaja sinna liiga palju asju ei salvestaks (blocks) või sinna liiga palju tillukesi faile (inodes) ei teeks.

Seda asja kontrollib kernelisse sisse kompileeritud asi nimega quota.

kui quota on nö. peal siis saab näha mis värk on käsuga

repquota -va, kus a - all disks,  v - verbose

nt. näeb mdagi sellist:

# repquota  -vau
*** Report for user quotas on /dev/hda6 (/)
                        Block limits               File limits
User            used    soft    hard  grace    used  soft  hard  grace
root      --   54234       0       0            335     0     0
bin       --    1133       0       0             23     0     0
daemon    --       2       0       0              3     0     0
news      --    1600       0       0            165     0     0
uucp      --     806       0       0             40     0     0
200       --     554       0       0             23     0     0
500       --   12680       0       0           1943     0     0
501       --      89       0       0             19     0     0
507       --    2330       0       0            151     0     0
508       --    2048       0       0            133     0     0
512       --    1922       0       0             84     0     0
558       --      26       0       0              4     0     0
583       --     836       0       0            305     0     0
imre      --     419  100000  120000             58 20000 40000
www       --     276       0       0             26     0     0
kaak      --       4    8000   12000              6 20000 40000
1003      --      27       0       0              1     0     0
1046      --   25949       0       0           2124     0     0
1052      --     174       0       0             23     0     0
1618      --    1716       0       0             83     0     0
2549      --   34938       0       0            163     0     0
3009      --       4       0       0              1     0     0
7550      --    1162       0       0            114     0     0 

Näeme, et asi kehtib partitsiooni /dev/hda6 kohta ning tegu on user quotaga. Saab määrata ka grupi quotat mida siin ei vaata. Siit näeme, et kasutaja imre on kasutanud ara 419 kB talle antud 100 000 kB-st. Teatud tingimustel saab ta kasutada kuni 120 MB kõvakettaruumi. Millistel tingimustel j akuidas neid tingimusi muuta selgub allpool. Samuti näeme, et imrel on 58 faili kusjuures failide maksimaalne arv võib olla 20 000 tükki. Teatud tingimustel 40 000 tükki.

Selline pilt on arvtis kui quota töötab.

Quota saab nö. maha ja peale keerata käskudega:

quotaon -va
quotaoff -va

enda quotat saab vaadata käsuga

quota -v

superuser saab vaadata teiste quotat käsuga

quota -v username

Kuidas quota peale panna

Esmalt tuleb teha sissekanded /etc/fstab-i, selliselt;

/dev/hda7       swap        swap        defaults           0   0
/dev/hda6       /           ext2        defaults,usrquota  0   1
/dev/hda2       /nt.40      vfat        defaults           0   2
/dev/hda5       /os2        vfat        defaults           0   2
/dev/hda8       /hda8       ext2        defaults           0   1
/dev/hdc1       /hdc1_300   ext2        defaults           0   2
/dev/hdc5       /hdc5_800   vfat        defaults           0   2
none            /proc       proc        defaults           0   0

Oluline on tähelepanna, et quota alla pandud kõvaketta juures on usrquota

Siis tuleb luua roodule rw õigustega ja teistele r õigustega fail quota.user

touch quota.user

Siis tuleb teha reboot (et arvuti fstab-i uuesti läbi loeks, eks saab ka kuidagi teisiti:) Editeerida usrite quotad. See editor on vaikimisi vi, mis aga paljudele ei meeldi, selleparast onehk hea vi-d enne vähe uurida. Nii et oskaks vähemalt teha muutusi, salvestada ja sulgeda.

käsk userite quotade editeerimiseks on selline:

edquota -u username

igaljuhul kui asi õnnestus siis avaneb vi millegi sellisega:

Quotas for user imre:
/dev/hda6: blocks in use: 0, limits (soft = 0, hard = 0)
        inodes in use: 0, limits (soft = 0, hard = 0)

Ning siin tuleb aarvud muuta nii nagu süda kutsub, ehk mitte päris: Ülaltoodud kasutajale imre vastab selline asi:

Quotas for user imre:

/dev/hda6: blocks in use: 419, limits (soft = 100000, hard = 120000)
        inodes in use: 58, limits (soft = 20000, hard = 40000)

Niisiis, tehes muutused ära on asi korras.

Nüüd tuleb panna quota peale käsuga

quotaon -va

Ja seejärel käivitada programm quotacheck -va

Et näha kas asi toimis võib vaadata

repquota -va

Peaks toimima.

Grace period

Eelpool märgiti, et teatud olukorras võib hoida imre ka 120 000 kB infot. Seda võimaldab nn. grace. Vaatame seda konkreetselt kasutaja kaak näitel ja nii nagu olukorda näeb/saab muuta administraator .

edquota -u kaak
Quotas for user kaak:
/dev/hda6: blocks in use: 10110, limits (soft = 8000, hard = 12000)
        inodes in use: 19, limits (soft = 20000, hard = 40000)
edquota -tu kaak
Time units may be: days, hours, minutes, or seconds
Grace period before enforcing soft limits for users:
/dev/hda6: block grace period: 7 days, file grace period: 7 days

Siin on kirjas aeg mille jooksul alates ületamisest jäävad üle 8000 kB ja alla 12 000 kB asjad kaagil alles. Kui aeg 7 päeva ületatakse, siis kustutatakse niipalju faile kui tarvis. Kui kaak on püüdnud tekitada enda rhokem kui 12 000 kB väärtuses kraami, siis ta saab lihtsalt veateate, et nii ei lähe kohe mitte. Ja kõik.

Antud juhul on kaak üle oma nn. soft limiti, miska repquotat tehes näeme:

# repquota -vau
*** Report for user quotas on /dev/hda6 (/)
                        Block limits               File limits
User            used    soft    hard  grace    used  soft  hard  grace
root      --   54237       0       0            339     0     0
bin       --    1133       0       0             23     0     0
daemon    --       2       0       0              3     0     0
news      --    1600       0       0            165     0     0
uucp      --     806       0       0             40     0     0
200       --     554       0       0             23     0     0
500       --   12680       0       0           1943     0     0
501       --      89       0       0             19     0     0
507       --    2330       0       0            151     0     0
508       --    2048       0       0            133     0     0
512       --    1922       0       0             84     0     0
558       --      26       0       0              4     0     0
583       --     836       0       0            305     0     0
imre      --     419  100000  120000             58 20000 40000
www       --     276       0       0             26     0     0
kaak      +-   10110    8000   12000  7days      19 20000 40000
1003      --      27       0       0              1     0     0
1046      --   25949       0       0           2124     0     0
1052      --     174       0       0             23     0     0
1618      --    1716       0       0             83     0     0
2549      --   34938       0       0            163     0     0
3009      --       4       0       0              1     0     0
7550      --    1162       0       0            114     0     0

On selge et edquota ja repquota on kasud administraatori jaoks. Kasutaja saab teada kus maal ta on käsuga

quota -v

ning kaak näeb midagi sellist:

suvi:~$ quota -v
Disk quotas for user kaak (uid 1002):
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/hda6   10110*   8000   12000   7days      20   20000   40000