Fájlrendszer (lemez) kvóták beállítása Ubuntuban
A fájlrendszer-kvóta egy szabványos beépített szolgáltatás, amely a Linux Kernelben található. A kvóták határozzák meg, hogy egy fájlnak mekkora területet kell biztosítania a felhasználói tevékenységek támogatásához. A lemezkvóták korlátozzák a felhasználók által a rendszeren létrehozható fájlok számát is.
A kvótarendszert támogató fájlrendszerek közé tartozik az xfs, ext2, ext4 és ext3, hogy néhányat említsünk. A kvóták hozzárendelése a fájlrendszerhez és minden felhasználóhoz specifikus. Ez a cikk mindent tartalmaz, amit a kvóta fájlrendszerrel való munkáról tudnia kell egy többfelhasználós Ubuntu környezetben.
A feltételezés itt az, hogy az Ubuntu rendszert egy olyan felhasználóval (tecmint) használja, amely sudo jogokkal rendelkezik. Az itt megosztott ötletek bármely Linux disztribúción működhetnek, ha a megfelelő megvalósítási technikát használod.
1. lépés: A kvóta telepítése az Ubuntuban
A kvóták készenlétéhez és használhatóságához telepítse a quota parancssori eszközt az apt paranccsal, de előtte frissítenie kell a rendszerszoftver-csomagokat.
sudo apt update
Most használja a következő parancsot a quota csomag telepítéséhez az Ubuntu rendszeren.
sudo apt install quota
Nyomja meg az Y
, majd az ENTER billentyűt a telepítési folyamat elindításához.
Erősítse meg a telepítési verziót az alábbi parancs futtatásával. Verziószáma eltérhet az alább láthatótól.
quota --version
2. lépés: A Kvóta Kernel moduljának telepítése
Azok számára, akik felhőalapú virtuális rendszert futtatnak, az alapértelmezett Ubuntu telepítésből hiányozhatnak a kvóta használatát támogató kernelmodulok. Erősítse meg a keresőeszközzel, és győződjön meg arról, hogy a két modul, a quota_v1 és a quota _v2, a /lib/modules könyvtárban található.
find /lib/modules/`uname -r` -type f -name '*quota_v*.ko*'
Ez legyen a fenti parancs eredménye.
Ne aggódjon a kernelverziók miatt, amíg a két modul jelen van. Ha nem található, használja a következő parancsot a kvóta kernelmodulok telepítéséhez az ábra szerint.
sudo apt install linux-image-extra-virtual
Meg fogja kapni a megfelelő modulokat, amelyekre szüksége van a kvóta megvalósításához.
3. lépés: Frissítse a fájlrendszer csatlakoztatási opcióit
Ahhoz, hogy a kvóták egy adott rendszeren aktívak legyenek, fel kell szerelni a kapcsolódó kvótaopciókkal. Ezt az /etc/fstab fájlban található fájlrendszer-bejegyzés frissítésével teheti meg.
sudo nano /etc/fstab
Készen kell állnia a fájl megfelelő szerkesztésére. Az fstab fájl és az asztali fájl között az a különbség, hogy a /
vagy gyökér fájlrendszer hogyan képviseli a teljes lemezterületet. Cserélje ki a gyökérrendszerre mutató (/)
sort az alábbi sorokkal.
LABEL=cloudimg-rootfs / ext4 usrquota,grpquota 0 0
A sorok megváltoznak, hogy elérhetővé váljanak a userquota és a grpquota. Meghagyhat olyat, amely nem része a végső konfigurációnak. Ha az fstab rendelkezik néhány lehetőséggel, adja hozzá az új beállításokat a sor végéhez. A hozzáfűzés során válassza el az új elemeket vesszővel, de ne hagyjon szóközt közöttük.
Csatlakoztassa újra a fájlrendszert, hogy a változtatások érvénybe lépjenek.
sudo mount -o remount /
MEGJEGYZÉS: az ilyen hibák elkerülése érdekében győződjön meg arról, hogy az /etc/fstab beállításai között nincs szóköz.
mount: /etc/fstab: parse error
A /proc/mounts fájlban lévő fájlrendszer felcsatolásakor az új beállítások használatának ellenőrzése a grep segítségével történik. A parancs megjeleníti a gyökér fájlrendszer bejegyzését a fájlban.
sudo cat /proc/mounts | grep ' / '
A kimeneten láthatja az általunk beállított két lehetőséget. Ideje bekapcsolni a kvótarendszert.
4. lépés: Lemezkvóták engedélyezése Ubuntuban
Először futtassa a quotacheck parancsot.
sudo quotacheck -ugm /
A parancs két fájlt hoz létre, egy kvóta felhasználót és egy kvótacsoportot, amelyek a fájlrendszer korlátairól és használatáról tartalmaznak információkat. Ezeknek a fájloknak jelen kell lenniük a kvóta használatának megkezdése előtt.
Íme a paraméterek meghatározása:
-u
: azt jelzi, hogy egy felhasználó alapú kvótafájl jön létre.-g
: azt jelzi, hogy csoportalapú kvótafájl jön létre.-m
: letiltja a fájlrendszer csak olvashatóként történő újracsatlakoztatását, ugyanakkor pontos eredményeket ad olyan környezetben, ahol a felhasználó folyamatosan menti a fájlokat. Az m opció nem kötelező a beállítás során.
Ha nem szükséges engedélyezni a kvóták használatát felhasználón vagy csoportonként, akkor nem kell futtatni a quotacheck opciót. Erősítse meg ezt a gyökérkönyvtár felsorolásával az ls paranccsal.
ls /
Minta kimenet
aquota.group bin dev home initrd.img.old lib64 media opt root sbin srv tmp var vmlinuz.old
aquota.user boot etc initrd.img lib lost+found mnt proc run snap sys usr vmlinuz
Ha nem adja meg az u
és g
paramétert a quotacheck parancsban, a megfelelő fájlok hiányoznak.
Most már készen állunk a kvóta bekapcsolására a gyökér (/)
fájlrendszeren a következő paranccsal.
sudo quotaon -v /
5. lépés: Konfigurálja a kvótákat egy felhasználó számára
Az edquota és a setquota parancsokkal beállíthatjuk azokat a felhasználókhoz vagy csoportokhoz.
Az edquota használata
Az edquota parancsok szerkesztik a kvótákat, például szerkeszthetünk egy tecmint felhasználóhoz tartozó kvótát a következő használatával:
sudo edquota -u tecmint
A -u
kapcsoló használata megadja, hogy a kvóta egy felhasználóhoz tartozik. Használja a -g
opciót, ha egy csoporthoz tartozó kvótát kell szerkesztenie. A parancs megnyit egy fájlt a választott szövegszerkesztővel.
A kimenet felsorolja a felhasználónevet, az uid-t, az aktív kvótákkal rendelkező fájlrendszert, valamint a blokkok és inode-ok használatát. Az inode-okon alapuló kvóta korlátozza a felhasználók által létrehozható fájlok és könyvtárak számát, függetlenül attól, hogy mekkora méretet használnak a lemezen. A legtöbb rendszergazda a blokkalapú kvótát részesíti előnyben, amely szabályozza a lemezterületet.
MEGJEGYZÉS: A blokkok használata nem mutatja meg, hogyan változhat a különböző tényezőktől függően, például az ezeket jelentő parancssori eszköztől. Az Ubuntu környezetkvótáin belül feltételezhetjük, hogy egyetlen blokk megegyezik egy kilobájt lemezterülettel.
A fenti parancssor használatával a felhasználó 2032 blokkot fog használni, ami megegyezik a /dev/sda1 2032 KB területével. A 0 érték letiltja mind a lágy, mind a kemény határértékeket.
Minden kvótakészlet lehetővé teszi lágy és kemény határok beállítását. Előfordulhat, hogy az a felhasználó, aki túllépi a lágy korlátot, túllépi a kvótáját, de nincs megtiltva több szóköz vagy inode használatától. A felhasználónak ebben az esetben hét napja van arra, hogy beváltsa soft limitjét, ennek elmulasztása megnehezíti a fájlok mentését vagy létrehozását.
A kemény limit azt jelenti, hogy az új blokkok vagy inódák létrehozása leáll abban a pillanatban, amikor eléri a határt. A felhasználók jelenteni fogják, ha rendszeres feladatok végrehajtása közben figyelmeztetéseket vagy hibákat látnak.
Frissíthetjük a tecmint blokkkvótáját, hogy 100 MB és 110 MB korlát legyen a kemény korlátnál.
A szerkesztés után zárja be a fájlt, és ellenőrizze az új felhasználói kvótakorlát beállításait a kvóta paranccsal.
sudo quota -vs tecmint
MEGJEGYZÉS: Ha lehetőséget ad a felhasználóknak kvótáik elemzésére a sudo parancs meghívása nélkül, hozzáférést kell biztosítani számukra a kvótafájlok olvasásához a folyamat során. létrehozási fázis a negyedik lépésben. Ennek egyik egyszerű módja, ha létrehoz egy felhasználói csoportot, és hozzáférést ad a csoportnak, így felhasználókat adhat hozzá.
Setquota használata
A setquota egyetlen paranccsal frissíti a kvótaadatokat, interaktív beállítások nélkül. A parancs megköveteli a felhasználónevet és a lágy és kemény határértékek beállítását, amelyeket a blokk és az inode fog használni. A kvóta által használt fájlrendszert is deklarálnia kell.
sudo setquota -u tecmint 200M 220M 0 0 /
A parancs megduplázza a blokkalapú kvótakorlátokat 200 megabájtra és 220 megabájtra. A két 0 0
azt jelzi, hogy a kemény és a lágy határ nincs beállítva, ez akkor is követelmény, ha nincs szükség inode alapú kvóták beállítására.
Szokás szerint használja a quota parancsot az előrehaladás ellenőrzéséhez.
sudo quota -vs tecmint
6. lépés: Kvótajelentések generálása
A kvótajelentés generálásakor az összes felhasználó felhasználását jeleznie kell. A rendszer a repquota parancsot használja.
sudo repquota -s /
A fenti kimenet egy jelentés a /
gyökérfájlrendszerről. A -s
arra utasítja a repqotát, hogy az eredményeket ember által olvasható formátumban adja meg.
Az alapértelmezett blokkolási türelmi idő 7 nap. A türelmi oszlop figyelmezteti a felhasználót az erőforráslemezhez való hozzáférés megtagadása előtti napok számáról.
7. lépés: Állítsa be a konfigurációs türelmi időszakokat
A türelmi időszak az az idő, amikor a felhasználó engedélyt kap az alapértelmezett időzítésen túli munkavégzésre.
sudo setquota -t 864000 864000 /
A parancs arra utasítja a blokkot és az inode-ot, hogy 864000 másodperces türelmi idővel rendelkezzenek, ami 10 napnak felel meg. A beállítás minden felhasználóra hatással lesz, ezért értékeket akkor is be kell állítani, ha nem használunk blokkokat és inode-okat. Az időértéknek másodpercben kell lennie.
Erősítse meg a változtatásokat, és ellenőrizze, hogy életbe léptek-e a következő paranccsal:
sudo repquota -s /
Gyakori hibaüzenetek
quotaon: cannot find //aquota.group on /dev/vda1 [/]
quotaon: cannot find //aquota.user on /dev/vda1 [/]
A fenti hiba gyakori, ha megpróbálja bekapcsolni a kvótákat a qoutaon paranccsal, mielőtt megpróbálná ellenőrizni a kvóta állapotát a quotacheck paranccsal.
quotaon: using //aquota.group on /dev/vda1 [/]: No such process
quotaon: Quota format not supported in kernel.
quotaon: using //aquota.user on /dev/vda1 [/]: No such process
quotaon: Quota format not supported in kernel.
Ez a hiba azt jelzi az adminisztrátornak, hogy a kernel nem támogatja, vagy esetleg rossz verzió van a gépen (van a quota_v1 és a quota_v2). Az Ubuntu esetében az ilyen hibák jellemzőek a felhő alapú virtuális szervereken.
Javítsa ki a hibát a Linux-image-extra-virtual csomag telepítésével az apt paranccsal.
quota: Cannot open quotafile //aquota.user: Permission denied
quota: Cannot open quotafile //aquota.user: Permission denied
quota: Cannot open quotafile //quota.user: No such file or directory
A hiba akkor figyelhető meg, ha az aktuális felhasználónak nincs engedélye kvótafájlok olvasására. Rendszergazdaként csak akkor kell végrehajtania a megfelelő engedélymódosításokat, vagy a sudo-t kell használnia, ha kvótarendszerben vagy fájlban kell hozzáférnie a fájlokhoz.
Következtetés
A cikk tetején a quota parancssori eszközökkel és a kernelverzió ellenőrzésével kezdtük, és tovább mentünk annak elmagyarázásával, hogyan állíthatunk be blokkalapú kvótát egyetlen felhasználó számára, és hogyan jelentést készíteni a fájlrendszer kvótahasználatáról.
A cikk ismerteti a gyakori hibákat és azt is, hogyan lehet elkerülni őket egy extra csomag használatával vagy a rendszermag verziójának ellenőrzésével.