CPU 25%, io > Wahrnehmungsgrenze

Oh man.

In den 90ern, als ich mit einem Kumpel gerne mal Hongkong-Filmchen mit englischem Untertitel geschaut habe, gab es einen Film, bei denen einer von Berufes wegen „Cleaner“ genannt wurde.

Das war so einer, der andere Leute ähm „weggemacht“ hat. Also ein Auftragsmörder.

Selbigen hätte ich heute mal gebrauchen können.

Unser neuer Server läuft mit Butter-FS oder btrfs, wie der Profi sagt (und ausspricht *g*).

Dieses Dateisystem hat ein paar richtig fette Features. Unter anderem auch Snapshot – also so etwas wie „Systemwiederherstellungspunkte“, für den Windows-Anwender. Ein punktgenauer Ist-Zustand des zum Zeitpunkt des Snapshots vorgefundenen Datenmülls.

Das möchte man nutzen.

Wieso auch nicht. Auch dafür benutzt man ein modernes Dateisystem. Man möchte die Features gebrauchen – sonst könnte man ja, etwas kätzerisch ausgedrückt, ja gleich bei FAT32 bleiben *flöt*

Zum automatischen Erstellen solcher Snapshots gibt es von SuSE ein Tool, dass sich snapper nennt. Das lötet fröhlich in definierbaren Abständen Snapshots in Dateisystem – funktioniert auch echt richtig zuverlässig.

Und irgendwann räumt das Tool auch alte Snapshots weg.

Und wehe, wehe, WEHE, man hat Quotas angeschaltet. Noch nicht mal wissentlich, denn das fiese Dinge fummelt die möglicherweise sogar automatisch an („um besser informiert zu löschen„).

Leider ist der Zustand der Quotas bei btrfs, sagen wir mal, unterdurchschnittlich ausgeprägt. Macht also haufenweise Probleme, die meisten Leute schalten sie ab – eine sehr verbreitet Nebenwirkung ist „100% Auslastung und unbenutzbares System beim Löschen von Snaphots“.

Jetzt zählen wir mal 1 und 1 zusammen:

  • Ein Tool, was regelmäßig Snaphots erstellt
  • diese ebenso regelmäßig bereinigt

Huch? Ja, richtig. Wenn man Quotas anhat, geht das so richtig in die Hose. Server steht, nur über den süßen Notausknopf noch zu retten (und, wie das bei Linux-Systemen so üblich ist, ein Notfall-USB-Stick zur Hand…).

Mirko hat heute schon etliche Male gesagt, er möchte keine Quotas…

btrfs quota disable /

btrfs quota disable /var/www

btrfs quota disable /srv/projekte

btrfs quota disable $gott_und_die_welt$

Aber.

Snapper ist das scheißegal. Er macht die einfach wieder an – übrigens genau so wie „btrfs-du“ (NICHT verlinkt, weil kaputt, siehe dieser Text hier).

Kann man abschalten.

It actually will if you used quotas before:
# snapper cleanup number
quota not working (preparing quota failed)

# snapper get-config | grep QGROUP
QGROUP                  | 1/0

This fixes it:
# snapper set-config QGROUP=

Wenn ihr also jemals mehrfach eure Server neu gestartet und von außen die Quota abgeschaltet habt und euch gewundert, wieso es das System offenbar einen Scheiß interessiert, guckt doch mal nach snapper 🙂

P.S. Wenn man mit dem Notsystem per USB von außen auf die Platte möchte, findet btrfs die Platten/Raids recht einfach – man muss nur wissen, wie.

P.P.S. Ok, ich verrate es:

btrfs device scan
mount /dev/sda3 /mnt
btrfs quota disable /mnt/@
btrfs quota disable /mnt/@home

Quotas kann man nur bei gemounteten Dingens abschalten, das Reparieren tunlichst nur bei nicht gemounteten.

Manchmal hasse ich es, dass Software von Bastlern zusammengefummelt hochprofessionell verkackt wird.

Wieso funktioniert Quota nicht? Obwohl das doch so hübsch klingt… wenn da nicht folgendes stünde:

Using btrfs subvolume delete will break qgroup unshared space usage. After deleting a subvolume, you must manually delete the associated qgroup. Bugs in accounting code might cause false out of space situations. Combining quota with (too many) snapshots of subvolumes can cause performance problems, for example when deleting snapshots.

F*ck it. Auch andere haben damit Probleme.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.