Difference between revisions of "Quota"

From A-Eskwiki
Jump to: navigation, search
Line 1: Line 1:
 
[[category:sysop]]
 
[[category:sysop]]
Om het gebruik van schrijfruimte te beperken gebruiken we het standaard Linux '''quota'''systeem, met een enkele toevoeging. We gebruiken alleen userquota en geen groupquota, en alleen block-quota en geen inode-quota. De partities met quota zijn ''/home'' en ''/var/mail''. Quota-informatie staat in ''/usr/local/etc/quotas'' (= ''/etc/local/quotas'') en wordt ingelezen door het zelfgeschreven ''quotaset''.  Het formaat van dit bestand spreekt voor zich.
+
Om het gebruik van schrijfruimte te beperken gebruiken we het quota systeem bovenop de faciliteiten gebouwd die zfs bied als filesystem. We gebruiken alleen userquota en geen groupquota, al kan dit in de toekomst misschien nog veranderen, aangezien dit problemen kan geven in de toekomst. 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 echte quota-bestanden zijn ''/home/aquota.user'' en ''/var/mail/aquota.user''. Mochten deze kapot gaan, voer dan volgend stappenplan uit op [[square]] om het te herstellen:
+
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 wrapperdje beschikbaar in de vorm van het script ''changequota'' Elke nacht wordt aan de hand van deze file met een cronjob de bijbehorende userquota ingesteld op de dataset(s). Mocht er accuut iets aangepast moeten worden, dan moet dit ook nog handmatig aangepast worden op haskell.
  
# Zorg dat de module ''quota_v2'' geladen is.
+
In het hypotetische geval dat de ''spocie'' op hard quotum zit dan moeten er 2 dingen gedaan worden. Voer ''changequota'' uit als root/sysop gebruiker.
# Zet de quota (tijdelijk) uit: <pre># quotaoff -va</pre>
+
 
# Vervang de foute quota-bestanden door lege bestanden met de juiste permissies: <pre># > /home/aquota.user && chmod 600 /home/aquota.user</pre><pre># > /var/mail/aquota.user && chmod 600 /var/mail/aquota.user</pre>
+
<pre>s sysop</pre>
# Zorg dat er niet of nauwelijks naar ''/home'' en ''/var/mail'' geschreven wordt en regenereer de bestanden: <pre># quotacheck -vaum</pre>
+
<pre>changequota <user></pre>
# Zet de quota nu weer aan: <pre># quotaon -va</pre>
+
 
# De partities mogen nu weer beschreven worden. Lees tot slot de quotainformatie in: <pre># quotaset</pre>
+
Indien geen gebruiker opgegeven dan zal nog gevraagd worden deze in te voeren.
 +
Toevoegen Quotum
 +
# Bij het toevoegen van quota vul hier de hoeveelheid extra quota in (bv. 42MB, 1.5G, etc).
 +
# Het is ook mogelijk om een tijdslimiet hierop te zetten (bv. serious quotum), doe dit preferabel in een formaat als ''dd-mm-yyyy''.
 +
# Vul de reden in waarom de gebruiker meer quotum behoeft
 +
 
 +
Verwijderen Quotum
 +
# 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.
 +
# 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 +1GB. 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 verwijdert worden dan is het handiger om deze automatisch te laten genereren in plaats van dit weer handmatig te fixen.

Revision as of 13:46, 11 August 2014

Om het gebruik van schrijfruimte te beperken gebruiken we het quota systeem bovenop de faciliteiten gebouwd die zfs bied als filesystem. We gebruiken alleen userquota en geen groupquota, al kan dit in de toekomst misschien nog veranderen, aangezien dit problemen kan geven in de toekomst. 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 wrapperdje beschikbaar in de vorm van het script changequota Elke nacht wordt aan de hand van deze file met een cronjob de bijbehorende 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/sysop gebruiker.

s sysop
changequota <user>

Indien geen gebruiker opgegeven dan zal nog gevraagd worden deze in te voeren. 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 +1GB. 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 verwijdert worden dan is het handiger om deze automatisch te laten genereren in plaats van dit weer handmatig te fixen.