Linux
Název školy | Vyšší odborná škola obalové techniky a Střední škola, Štětí, příspěvková organizace | ||
Adresa školky | Kostelní 134, 411 08 Štětí | ||
IČ | 46773509 | ||
Název operačního programu | OP Vzdělávání pro konkurenceschopnost | ||
Registrační číslo | CZ.1.07/1.5.00/34.1006 | ||
Označení vzdělávacího materiálu | VY_32_INOVACE_21_PSS_411 | ||
Název tématické oblasti (sady) | Operační systémy | ||
Název materiálu | Diskové kvóty | ||
Anotace | Text popisuje princip diskových kvót dvojího typu: blokových a souborových kvót. Seznamuje s principem užití a následně prakticky demonstruje instalaci a aktivaci kvót na konkrétním diskové oblasti. | ||
Autor | Ivan Pomykacz | Jazyk | český |
Očekávaný výstup | Aktivuje diskové kvóty na zvolené diskové oblasti. Nastaví kvóty uživateli/skupině. Simuluje dosažení/překročení kvóty. | ||
Klíčová slova | kvóty, fstab, volby připojení, kvótové limity | ||
Druh výukového zdroje | Výklad | Věková skupina žáků | 17+ |
Typ interakce | aktivita | Ročník | 3. |
Speciální vzdělávací potřeby | žádné | ||
Zhotoveno, (datum/období) | 4.3.2014 | Celková velikost |
Obsah
Stále více obsahu digitálního obsahu je častěji ukládáno skrze služby běžících na serverech někde v síti. Místo k ukládání dat však není neomezené a vzhledem k tomu, že služby využívá současně více uživatelů, je mnohdy žádoucí zaručit, aby se dostalo na každého. Navíc lze koncept kvót velice jednoduše zpoplatnit - připlaťte a dostanete více místa.
Pro tento tutoriál budeme potřebovat nový disk (zde /dev/sdb
).
Na disku vytvoříme jednu oblast se souborovým systémem ext4.
Zatím oblast nebudeme mountovat..
root@wheezy:~# cfdisk /dev/sdb root@wheezy:~# mkfs.ext4 /dev/sdb1
Podpora diskových kvót
Podpůrný balíček
Podpora diskových kvót není k dispozici v základní instalaci.
Stačí však doinstalovat balíček quota
.
root@wheezy:~# apt-get install quota
Volby připojení
Nyní můžeme připojit disk příkazem mount
, ale navíc přidáme volby usrquota,grpquota
přepínačem -o
.
V podstatě tím oznámíme, že chceme sledovat uživatelské a skupinové kvóty.
Princip je ten, že systém pak sleduje a eviduje zabrané místo uživatelů nebo skupin v reálném čase. Udržuje si doslova databázi těchto údajů, protože výpočet zabraného místa na vyžádání je operace trvající dlouho. Stejně tak, když dojde k porušení konzistence této databáze a bude třeba ji znova vygenerovat.
root@wheezy:~# mount -t ext4 -o usrquota,grpquota /dev/sdb1 /srv/
Pozor, toto připojení není trvalé, po restartu se zařízení znovu automaticky nepřipojí.
Zde je vhodnější použít /etc/fstab
.
Kvótové soubory
Následuje vytvoření kvótových souborů, kde jsou uloženy informace o tom, kolik který uživatel/skupina má obsazeno místa/souborů. V našem případě to bude rychlý proces, protože právě připojený disk je prázdný.
root@wheezy:~# quotacheck -c -u -g /srv/ root@wheezy:~# ls /srv/ aquota.group aquota.user lost+found
Přepínač -c
zajistí nové vytvoření souborů aquota.group
a aquota.user
.
Přepínače -u
a -g
se používají pro uživatelské kvóty, resp. skupinové.
Aktivace kvót
Poslední akcí je aktivace kvót příkazem quotaon
.
root@wheezy:~# quotaon /srv/
Přidělení kvót
Kvóty se přidělují příkazem edquota
.
Přepínačem -u
, resp. -g
se upřesňuje nastavení pro uživatele nebo skupinu.
Po spuštění příkazu se otevře editor (nano), ve kterém lze přidělovat kvóty.
root@wheezy:~# edquota -u tux Disk quotas for user tux (uid 1000): Filesystem blocks soft hard inodes soft hard /dev/sdb1 0 0 0 0 0 0
Kdybychom měli více disků připojených s podporou kvót, byly by zde uvedeny všechny.
V tabulce jsou sloupce pro nastavení limitů pro tzv. blokovou a souborovou kvótu. Ve sloupcích blocks a inodes jsou aktuální hodnoty. Tato čísla se needitují.
Do sloupce soft a hard se již vkládá požadovaná hodnota. Existuje možnost nastavení tzv. soft limitu, který je dovolen uživateli překročit. Hodnotu ve sloupci hard už překročit nelze. Pokud bude uživatel s takovou kvótou zrovna v polovině nějaké souborové operace (např. kopírování), pak tato operace jednoduše selže z důvodu nedostatku místa.
Bloková a souborová kvóta
Uživatelům lze přidělovat blokové kvóty, což je vlastně místo, které mohou uživatelé obsadit. (Vzpomínáte na blokové zařízení - pevný disk?) Hodnota je v KB. Tzn., že pro limit 10MB je třeba zadat 10240.
Druhým typem kvóty je kvóta souborová. Ta se vztahuje na počet souborů/adresářů, který může uživatel vytvořit. Možná vám připadá zbytečné tento limit nastavovat. Nicméně u souborového systému ext4 je omezen počet souborů, který lze vytvořit. A pokud by nějaký splašený uživatel začal vytvářet prázdné soubory, mohl by tak zabrat všechny i-nody, aniž by zabral jakékoli místo. Jenomže bez volných i-nodů nelze vytvářet soubory - pro nikoho.
Dosažení kvóty
Přidělme uživateli tux následující limity na počet souborů:
Disk quotas for user tux (uid 1000): Filesystem blocks soft hard inodes soft hard /dev/sdb1 0 0 0 0 3 5
Vytvořme adresář /srv/test
a nastavme mu nějaká právě, aby do něj mohl tux zapisovat.
root@wheezy:~# mkdir /srv/test root@wheezy:~# chmod 777 /srv/test/
Nyní, jakou uživatel tux vytvořme několik prázdných souborů příkazem touch
.
root@wheezy:~# su tux tux@wheezy:/root$ cd /srv/test/ tux@wheezy:/srv/test$ touch pokus1 tux@wheezy:/srv/test$ touch pokus2 tux@wheezy:/srv/test$ touch pokus3 tux@wheezy:/srv/test$ touch pokus4 sdb1: warning, user file quota exceeded. tux@wheezy:/srv/test$ touch pokus5 tux@wheezy:/srv/test$ touch pokus6 sdb1: write failed, user file limit reached. touch: nelze se dotknout (provést příkaz „touch“) „pokus6“: Překročena disková kvóta
Přehled kvót
Příkazem repquota
lze monitorovat stavy kvót u uživatelů nebo skupin.
root@wheezy:~# repquota -u /srv/ *** Report for user quotas on device /dev/sdb1 Block grace time: 7days; Inode grace time: 7days Block limits File limits User used soft hard grace used soft hard grace ---------------------------------------------------------------------- root -- 24 0 0 3 0 0 tux -+ 0 0 0 5 3 5 6days