Ispconfig und Webserver Quota (Disk Limit)

Unsere neue Webhosting-Plattform besteht aus mehreren Webservern, die gemeinsam die Webseiten unserer Kunden ausliefern. Damit jeder Webserver auf dieselben Daten zugreifen kann, liegen die Dateien nicht mehr lokal auf den einzelnen Servern, sondern auf einem gemeinsamen, hochverfügbaren Dateisystem. Dafür verwenden wir CephFS.

Das funktioniert hervorragend – bringt aber manchmal interessante Nebenwirkungen mit sich.

ISPConfig, unser neues Hosting-Control-Panel unter panel.4future.digital, geht grundsätzlich davon aus, dass die Dateien einer Website auf einem klassischen lokalen Linux-Dateisystem liegen. Dort kann das Betriebssystem sehr effizient feststellen, wie viel Speicherplatz ein Benutzer bzw. eine Website verbraucht.

Bei unserem verteilten CephFS funktioniert dieser Mechanismus nicht auf dieselbe Weise. ISPConfig fällt deshalb auf eine ziemlich rustikale Methode zurück: Es startet regelmäßig du – „disk usage“.

du läuft rekursiv durch den gesamten Verzeichnisbaum einer Website, sieht sich Dateien und Verzeichnisse an, ermittelt deren Speicherverbrauch und addiert am Ende alles zusammen. Bei einer kleinen Website mit ein paar hundert Dateien ist das kein großes Drama. Bei vielen Websites mit hunderttausenden oder Millionen Dateien sieht die Sache anders aus.

Und für ein verteiltes Dateisystem ist genau so etwas ziemlich unangenehm. Jeder dieser Zugriffe erzeugt Arbeit im Dateisystem und insbesondere bei dessen Metadatenverwaltung. Wenn mehrere Webserver regelmäßig anfangen, große Verzeichnisbäume abzuklappern, nur um herauszufinden, wie viel Speicherplatz belegt ist, erzeugen wir eine Menge Last – für eine Information, die CephFS eigentlich längst kennt.

Denn CephFS kann selbst Quotas verwalten. Wir können einem Verzeichnis beispielsweise sagen: Diese Website darf maximal 10 GB belegen. CephFS überwacht das direkt und kann uns auch mitteilen, wie viel davon bereits verwendet wird.

Eigentlich genau das, was wir brauchen.

Das Problem ist nur: ISPConfig weiß nichts davon.

Also werden wir ISPConfig entsprechend erweitern. Statt regelmäßig mit du durch Millionen Dateien zu marschieren, soll ISPConfig künftig die von CephFS bereitgestellten Informationen verwenden und die Limits direkt als CephFS-Quotas setzen.

Das ist eines dieser kleinen Details, die man als Benutzer hoffentlich niemals bemerkt. Man klickt im Control-Panel auf eine Website, sieht dort beispielsweise „3,7 GB von 10 GB verwendet“ und denkt sich nichts weiter dabei.

Und genau so soll es sein.

Dahinter steckt allerdings einiges an Arbeit. Denn eine Plattform wird nicht dadurch gut, dass man möglichst viele Standardkomponenten installiert. Sie wird gut, wenn diese Komponenten miteinander sinnvoll funktionieren.

Manchmal bedeutet das eben auch, selbst die fehlenden Teile zu bauen.

4 „Gefällt mir“

Betrifft ähnliches auch die 4f Mailboxen?

Nein, dort verwenden wir die Quota von DoveCot (unserem IMAP Mailserver)