ZFS auf Linux/ Quotas

Aus Wikibooks

Quotas[Bearbeiten]

Es gibt 4 Eigenschaften, um im ZFS Plattenplatz festzulegen:

quota
Quota inclusive Snapshots und Clones. Ein Quota überschreibt nicht das Quota eines übergeordneten Datasets, sondern kann nur eine zusätzliche Begrenzung einziehen.
refquota
Quota exclusive Snapshots und Clones
reservation
Festplattenkapazität aus dem Pool, die einem Dataset garantiert wird. Der von Snapshots und Clones belegte Platz wird mitgezählt.
refreservation
Reservierung, bei der die von Snapshots und Clones belegte Festplattenkapazität nicht mitgezählt wird.

Es handelt sich um harte Grenzen. Es gibt keine weiche, temporär überziehbare.

Alle Werte sind in Bytes anzugeben, wobei gängige Einheiten wie "K" für "Kilobyte" verwendet werden können. Soll eine Quota wieder entfernt werden, muss der entsprechende Wert auf "none" gesetzt werden.


Nutzerbeteiligung[Bearbeiten]

Man kann für einen Nutzer definieren:i

  • Das Recht selbst Snapshots anzulegen und zu löschen (zfs allow), aber nur in seinem eigenen Dataset.
  • Das Recht selbst Snapshots anzulegen und zu löschen unterhalb seines Homeverzeichnisses.
  • Die Anzahl an Snapshots, die ein Nutzer maximal anlegen darf, so dass zuerst ein alter Snapshot gelöscht werden muss, bevor ein neuer angelegt wird. Die Property heisst snapshot_limit und wenn diese z.B. auf 6 gesetzt wird, können nur 5 Snapshots erzeugt werden, bevor eine Fehlermeldung ausgegeben wird.


Quotas einrichten[Bearbeiten]

# Setzen einer Quota für ein bestimmtes Dataset
user> zfs set quota=1G <POOLNAME>/<DATASETNAME>

# Setzen einer Quota für eine bestimmt Gruppe
user> zfs set groupquota@<GRUPPENNAME>=20G <POOLNAME>/<DATASETNAME>


Quota überzogen, nichts geht mehr - noch[Bearbeiten]

Wenn ein Nutzer sein Quota überzieht, kann er sich aus dieser misslichen Lage nicht selbst befreien, da er dann überhaupt nichts mehr tun kann - nicht einmal Dateien löschen. Ein Administrator muss eingreifen.

Dieser Zustand ändert sich in Kürze:

  • Ein abhelfender Patch vom 29. April existiert.
  • Die ZFS on Linux-Version 0.6.5.8 enthält den Patch, obwohl das ChangeLog nichts davon erwähnt. Die Version 0.6.5.6 noch nicht.
  • Ubuntu xenial (16.04LTS) verwendet die ZFS-Version 0.6.5.6 (kein Patch), 16.10/yakkety enthält die ZFS-Version 0.6.5.8 (Patch, aber kein LTS).