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.