Tiedostojärjestelmän (levy) kiintiöiden asettaminen Ubuntuun
Tiedostojärjestelmäkiintiö on standardi sisäänrakennettu ominaisuus, joka löytyy Linux-ytimestä. Kiintiöt määräävät, kuinka paljon tilaa tiedostolla tulee olla käyttäjien toimintojen tukemiseksi. Levykiintiöt rajoittavat myös tiedostojen määrää, jonka käyttäjä voi luoda järjestelmään.
Kiintiöjärjestelmää tukevia tiedostojärjestelmiä ovat mm. xfs, ext2, ext4 ja ext3 muutamia mainitakseni. Kiintiöiden määrittäminen on tiedostojärjestelmäkohtaista ja jokaista käyttäjää kohden. Tämä artikkeli sisältää kaiken, mitä sinun tarvitsee tietää kiintiötiedostojärjestelmän käyttämisestä usean käyttäjän Ubuntu-ympäristössä.
Tässä oletetaan, että käytät Ubuntu-järjestelmää, jossa käyttäjällä (tecmint) on sudo-oikeudet. Tässä jaetut ideat voivat toimia missä tahansa Linux-distrossa, kunhan käytät oikeaa toteutustekniikkaa.
Vaihe 1: Kiintiön asentaminen Ubuntuun
Jotta kiintiöt ovat valmiita ja käyttökelpoisia, asenna quota-komentorivityökalu komennolla apt, mutta sitä ennen sinun on päivitettävä järjestelmän ohjelmistopaketit.
sudo apt update
Asenna quota-paketti Ubuntuun seuraavalla komennolla.
sudo apt install quota
Aloita asennus painamalla Y
ja sitten ENTER.
Vahvista asennusversio suorittamalla alla oleva komento. Versionumerosi voi poiketa alla näkyvästä.
quota --version
Vaihe 2: Kiintiöytimen moduulin asentaminen
Pilvipohjaista virtuaalijärjestelmää käyttävien Ubuntu-oletusasennuksesta saattaa puuttua kiintiön käyttöä tukevat ydinmoduulit. Sinun on vahvistettava hakutyökalulla ja varmistettava, että kaksi moduulia, quota_v1 ja quota _v2, ovat /lib/modules-hakemistossa.
find /lib/modules/`uname -r` -type f -name '*quota_v*.ko*'
Tämän pitäisi olla yllä olevan komennon tulos.
Älä ole huolissasi ytimen versioista niin kauan kuin kaksi moduulia ovat läsnä. Jos ei löydy, käytä seuraavaa komentoa kiintiöytimen moduulien asentamiseen kuvan mukaisesti.
sudo apt install linux-image-extra-virtual
Saat oikeat moduulit, joita tarvitset kiintiöiden toteuttamiseen.
Vaihe 3: Päivitä tiedostojärjestelmän kiinnitysasetukset
Jotta kiintiöt olisivat aktiivisia tietyssä järjestelmässä, se on liitettävä siihen liittyvien kiintiövaihtoehtojen kanssa. Voit tehdä tämän päivittämällä tiedostojärjestelmämerkinnän, joka löytyy tiedostosta /etc/fstab.
sudo nano /etc/fstab
Sinun pitäisi olla valmis muokkaamaan tiedostoa asianmukaisesti. Ero fstab-tiedoston ja työpöytätiedoston välillä on ero siinä, miten /
tai juuritiedostojärjestelmä edustaa koko levytilaa. Korvaa juurijärjestelmään osoittava rivi (/)
käyttämällä alla olevia rivejä.
LABEL=cloudimg-rootfs / ext4 usrquota,grpquota 0 0
Rivit muuttuvat, jotta userquota ja grpquota ovat käytettävissä. Voit jättää sellaisen, joka ei ole osa lopullista kokoonpanoa. Jos fstab:ssa oli joitain vaihtoehtoja, lisää uudet vaihtoehdot rivin loppuun. Kun teet lisäystä, erota uudet kohteet pilkulla, mutta ilman välilyöntejä niiden välillä.
Asenna tiedostojärjestelmä uudelleen, jotta muutokset tulevat voimaan.
sudo mount -o remount /
HUOMAA: varmista, että /etc/fstab-tiedoston asetusten välissä ei ole välilyöntejä tällaisten virheiden välttämiseksi.
mount: /etc/fstab: parse error
Uusien asetusten käyttö tarkistetaan liitettäessä tiedostojärjestelmää /proc/mounts-tiedostoon grepin avulla. Komento näyttää juuritiedostojärjestelmän merkinnän tiedostossa.
sudo cat /proc/mounts | grep ' / '
Tulosteesta näet kaksi asettamamme vaihtoehtoa. On aika ottaa kiintiöjärjestelmä käyttöön.
Vaihe 4: Ota levykiintiöt käyttöön Ubuntussa
Ensin sinun on suoritettava quotacheck-komento.
sudo quotacheck -ugm /
Komento luo kaksi tiedostoa, kiintiökäyttäjän ja kiintiöryhmän, joilla on tietoa tiedostojärjestelmän rajoituksista ja käytöstä. Näiden tiedostojen on oltava olemassa, ennen kuin voit aloittaa kiintiön käytön.
Tässä on parametrien määritelmä:
-u
: symboloi, että käyttäjäpohjainen kiintiötiedosto luodaan.-g
: osoittaa, että ryhmäpohjainen kiintiötiedosto luodaan.-m
: estää tiedostojärjestelmän uudelleenasennuksen vain luku -muotoisena ja antaa samalla tarkkoja tuloksia ympäristössä, jossa käyttäjä jatkaa tiedostojen tallentamista. m-vaihtoehto ei ole pakollinen asennuksen aikana.
Kun käyttäjä- tai ryhmäkohtaisten kiintiöiden käyttöä ei tarvitse ottaa käyttöön, kiintiön tarkistus-vaihtoehtoa ei tarvitse suorittaa. Vahvista tämä luettelemalla juurihakemisto ls-komennolla.
ls /
Näytelähtö
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
Jos u
- ja g
-parametreja ei sisällytetä quotacheck-komentoon, vastaavat tiedostot puuttuvat.
Nyt olemme valmiita ottamaan kiintiön käyttöön juuritiedostojärjestelmässä (/)
seuraavalla komennolla.
sudo quotaon -v /
Vaihe 5: Määritä kiintiöt yhdelle käyttäjälle
Voimme käyttää edquota- ja setquota-komentoja asettaaksesi ne käyttäjille tai ryhmille.
Edquotan käyttö
edquota-komennot muokkaavat kiintiöitä, esimerkiksi voimme muokata tecmint-käyttäjälle kuuluvaa kiintiötä käyttämällä:
sudo edquota -u tecmint
-u
-vaihtoehdon käyttäminen määrittää, että kiintiö kuuluu käyttäjälle. Käytä vaihtoehtoa -g
, jos haluat muokata ryhmään kuuluvaa kiintiötä. Komento avaa tiedoston valitsemallasi tekstieditorilla.
Tulos luettelee käyttäjänimen, uid:n, tiedostojärjestelmän aktiivisine kiintiöineen sekä lohkojen ja inodien käytön. Inodeihin perustuva kiintiö rajoittaa niiden tiedostojen ja hakemistojen määrää, joita käyttäjät voivat luoda levyllä käyttämänsä koosta riippumatta. Useimmat järjestelmänvalvojat pitävät lohkopohjaisesta kiintiöstä, joka hallitsee levytilaa.
HUOMAA: Lohkojen käyttö ei osoita, kuinka se voi muuttua eri tekijöiden, kuten ne raportoivan komentorivityökalun, mukaan. Ubuntun kontekstikiintiöiden puitteissa voimme olettaa, että yksi lohko on sama kuin yksi kilotavu levytilaa.
Yllä olevan komentorivin avulla käyttäjä käyttää 2032 lohkoa, mikä vastaa 2032 kt tilaa /dev/sda1-tiedostossa. Arvo 0 poistaa käytöstä sekä pehmeät että kovat rajat.
Jokainen kiintiösarja mahdollistaa pehmeiden ja kovien rajojen asettamisen. Pehmeän rajan ylittävä käyttäjä voi ylittää kiintiönsä, mutta häntä ei ole estetty käyttämästä lisää välilyöntejä tai inodeja. Käyttäjällä on tällaisessa tapauksessa seitsemän päivää aikaa lunastaa soft limit -tila, jonka laiminlyönti vaikeuttaa tiedostojen tallentamista tai luomista.
Kova raja tarkoittaa, että uusien lohkojen tai inodien luominen pysähtyy, kun saavutat rajan. Käyttäjät raportoivat näkevänsä varoituksia tai virheitä suorittaessaan tavallisia tehtäviä.
Voimme päivittää tecmintin lohkokiintiön pehmeäksi rajaksi 100 Mt ja 110 Mt kovalle rajalle.
Sulje tiedosto muokkauksen jälkeen ja tarkista uudet käyttäjäkiintiön asetukset quota-komennolla.
sudo quota -vs tecmint
HUOMAA: Jos annat käyttäjillesi mahdollisuuden analysoida kiintiönsä ilman sudo-komentoa, heille on annettava pääsy kiintiötiedostojen lukemiseen luontivaihe vaiheessa neljä. Yksi helppo tapa tehdä niin on luoda käyttäjäryhmä ja antaa ryhmälle käyttöoikeudet, jotta voit lisätä siihen käyttäjiä.
Setquotan käyttö
setquota päivittää kiintiötiedot yhdellä komennolla ilman interaktiivisia asetuksia. Komento vaatii käyttäjänimen ja sekä softan että hard limitin asettamisen, joita lohko ja inode käyttävät. Sinun on myös ilmoitettava kiintiön käyttämä tiedostojärjestelmä.
sudo setquota -u tecmint 200M 220M 0 0 /
Komento kaksinkertaistaa lohkopohjaiset kiintiörajat 200 megatavuun ja 220 megatavuun. Kaksi 0 0
osoittavat, että sekä kovaa että pehmeää rajaa ei ole asetettu, se on vaatimus, vaikka inodepohjaisia kiintiöitä ei tarvitse asettaa.
Kuten tavallista, käytä quota-komentoa edistymisen tarkistamiseen.
sudo quota -vs tecmint
Vaihe 6: Luo kiintiöraportit
Kiintiöraportin luomisen on ilmoitettava kaikkien käyttäjien käyttö. Komentoa repquota käytetään.
sudo repquota -s /
Yllä oleva tulos on raportti juuritiedostojärjestelmästä /
. -s
käskee repquota antamaan tulokset ihmisen luettavassa muodossa.
Oletusarvoinen eston lisäaika on 7 päivää. Grace-sarake varoittaa käyttäjää päivien lukumäärästä ennen resurssilevyn käyttökiellon tekemistä.
Vaihe 7: Aseta määritysten lisäajat
Lisäaika on aika, jolloin käyttäjä saa luvan työskennellä oletusajan jälkeen.
sudo setquota -t 864000 864000 /
Komento käskee lohkon ja inodin käyttämään 864000 sekunnin lisäaikaa, joka vastaa 10 päivää. Asetus vaikuttaa kaikkiin käyttäjiin, joten arvot on asetettava myös silloin, kun lohkoja ja inodeja ei käytetä. Aika-arvon on oltava sekunneissa.
Vahvista muutokset ja tarkista, tulivatko ne voimaan komennolla:
sudo repquota -s /
Yleiset virheilmoitukset
quotaon: cannot find //aquota.group on /dev/vda1 [/]
quotaon: cannot find //aquota.user on /dev/vda1 [/]
Yllä oleva virhe on yleinen, jos yrität ottaa kiintiöt käyttöön komennolla qoutaon ennen kuin yrität tarkistaa kiintiön tilan komennolla quotacheck.
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.
Tämä virhe kertoo järjestelmänvalvojalle, että ydin ei tue sitä tai että koneessa voi olla väärä versio (meillä on quota_v1 ja quota_v2). Ubuntun kohdalla tällaiset virheet ovat tyypillisiä pilvipohjaisessa virtuaalipalvelimessa.
Korjaa virhe asentamalla paketti Linux-image-extra-virtual komennolla apt.
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
Virhe on huomattava, kun nykyisellä käyttäjällä ei ole oikeutta lukea kiintiötiedostoja. Järjestelmänvalvojana sinun tarvitsee vain tehdä oikeat lupamuutokset tai käyttää sudoa, kun haluat käyttää tiedostoja kiintiöjärjestelmässä tai tiedostossa.
Johtopäätös
Artikkelin yläosassa aloitimme quota-komentorivityökaluilla ja ytimen version tarkistamisella ja selitimme edelleen, kuinka lohkopohjainen kiintiö määritetään yhdelle käyttäjälle ja miten luoda raportin tiedostojärjestelmän kiintiön käytöstä.
Artikkelissa käsitellään myös yleisiä virheitä ja niiden välttämistä käyttämällä ylimääräistä pakettia tai tarkistamalla järjestelmäsi ytimen versio.