Quota

From A-Eskwiki
Jump to: navigation, search

Om het gebruik van schrijfruimte te beperken gebruiken we een quota systeem dat gebouwd is op de faciliteiten die zfs biedt als filesystem. Momenteel gebruiken we alleen userquota en geen groupquota.

Als mensen direct bestanden kunnen aanpassen bij comissieaccounts worden zij wel owner van die files. Om dit probleem te vermijden zullen groupquota's gebruikt moeten gaan worden, maar dit zal een relatief kleine aanpassing zijn mits de permissies goed staan. De zfs dataset(s) waarop userquota gebruikt worden is storage/home.

De quota worden opgeslagen in een sqlite3 file /home/quota.db. Het is niet de bedoeling dat deze file direct gemanipuleerd wordt, maar er is een wrapper beschikbaar in de vorm van het script changequota Elke nacht wordt aan de hand van deze file met een cronjob de userquota ingesteld op de dataset(s). Mocht er accuut iets aangepast moeten worden, dan moet dit ook nog handmatig aangepast worden op haskell.

In het hypotetische geval dat de spocie op hard quotum zit dan moeten er 2 dingen gedaan worden. Voer changequota uit als root:

sudo /usr/local/bin/changequota $user

Toevoegen Quotum

  1. Bij het toevoegen van quota vul hier de hoeveelheid extra quota in (bv. 42MB, 1.5G, etc).
  2. Het is ook mogelijk om een tijdslimiet hierop te zetten (bv. serious quotum), doe dit preferabel in een formaat als dd-mm-yyyy.
  3. Vul de reden in waarom de gebruiker meer quotum behoeft

Verwijderen Quotum

  1. Bij het verwijderen van quota wordt er een lijst getoond van entries in de database en hoeveel extra quotum deze entry de gebruiker geeft. Deze lijst is 0 indexed. Standaard heeft elke gebruiker/comissie 1Gb quotum.
  2. Vul hier het getal in van de entry die je wilt verwijderen. Zou je dus je standaard quotum willen verwijderen dan vul je hier 0 in.

ZFS werkt met hard quotum. Het harde quotum is standaard quotum +10GB. Wanneer de grace periode van 2 weken over is wordt het quotum op 1 bit gezet. Standaard quota worden elke nacht gegenereerd en in de database gezet, mocht deze per ongeluk verwijderd worden dan is het handiger om deze automatisch te laten genereren in plaats van dit weer handmatig te fixen.