ZFS Quota

  • Können wir irgendwelche Informationen über ZFS-Quota bekommen?


    Ich hätte zuerst folgende Fragen:


    - Wie ist Quota seitens LC überprüft? Per Anruf von LC.fs.getUserQuota, oder?
    - Wird die Quota bei jeder Aktualisierung der LC-Webseite überprüft , oder nur periodisch und in Datenbank gespeichert?
    - Ich würde LC.fs.getUserQuota in custom.lua erweitern, um die ZFS Systeme auch behandeln zu können. Woran muss man aufpassen oder welche Schritte wären notwendig?


    Danke / mfG

  • LiveConfig nutzt die Standard-Quota-API des Betriebssystems. Wenn Sie also das "normale" Filesystem-Quota aktivieren dann sollte das automatisch auch mit LiveConfig funktionieren.
    Um das zu testen, aktivieren Sie das Filesystem-Quota auf Gruppen-Ebene; wenn der Befehl "repquota -ag" eine Liste der Gruppen und deren Usage/Quota ausgibt, passt alles.


    LiveConfig fragt die Quota alle 15 Minuten ab (LC.fs.getUserQuota). Die Aktualisierung (bei Änderung des Quotas in einem Vertrag) sollte innerhalb von 10-20 Sekunden erfolgen.


    Viele Grüße


    -Klaus Keppler

  • Es scheint als ZFS Quota-System nicht im Linux Quota-Interface integriert ist, sondern funktioniert gesondert. D.h. repquota und ähnliche Tools lesen nicht die Quotas fon ZFS.


    Die Abfrage hier ist relativ einfach - es funktioniert in der Form von z.B. zfs get groupquota@groupid data/storage.
    Das Problem ist, LC.fs.getUserQuota/getGroupQuota sind nicht für die Erweiterung in Richtung von ZFS-Unterstützung zugänglich.


    Ich habe auch mit manueller Aktualisierung von HC_QUOTABLOCKS, HC_QUOTAFILES und HC_QUOTATS (Tabelle HOSTINGCONTRACTS) versucht.. LC zeigt aber nichts in Web-Oberfläche.


    Können wir irgendwas anderes tun?

  • Wie nutzen Sie ZFS konkret? Mit dem FUSE-Paket oder dem Kernel-ZFS-Treiber (zfsonlinux.org)?


    Da LiveConfig die Quota-Abfragen regelmäßig durchführt und es hierfür ja eigentlich die quotactl-API gibt, ist das Ganze derzeit in C implementiert. Wir könnten uns aber vorstellen, den Quota-Zugriff optional auf Lua umzubiegen (dann könnte man z.B. zfsctl aufrufen). Ein anderer Ansatz wäre die optionale Einbindung von libzfs (falls vorhanden) - hier gibt es aber noch lizenzrechtliche Fragen zu klären (CDDL/GPLv2).

  • Hallo,


    Wie nutzen Sie ZFS konkret? Mit dem FUSE-Paket oder dem Kernel-ZFS-Treiber (zfsonlinux.org)?


    wir nutzen Kernel ZFS-Treiber, aktuell ist Version 0.6.3. FUSE ist performancemäßig ungeeignet. 0.6.3 funktioniert stabil bei uns, also die aktuelle Version unterstützt ACLs.


    Da LiveConfig die Quota-Abfragen regelmäßig durchführt und es hierfür ja eigentlich die quotactl-API gibt, ist das Ganze derzeit in C implementiert. Wir könnten uns aber vorstellen, den Quota-Zugriff optional auf Lua umzubiegen (dann könnte man z.B. zfsctl aufrufen). Ein anderer Ansatz wäre die optionale Einbindung von libzfs (falls vorhanden) - hier gibt es aber noch lizenzrechtliche Fragen zu klären (CDDL/GPLv2).


    Bei uns wird ZFS nur bei /var/www eingesetzt, und nämlich wegen 1) Replikation, die für HA/Hot-Copy/Migration/Disaster Recovery nützlich und effizient ist, und 2) Performancen, da ZFS erweiterte Caching-Funktionalität unterstützt.


    Daher konnte ich mir vorstellen, dass beide quotactl-API und zfsctl abgefragt werden können, wobei die resultierende Informationen einfach zusammengefasst dargestellt werden.


    Für uns wäre auch die ganz einfache Lösung im Form von LUA-Umbiegen nützlich. In diesem Fall könnten wir selbst notwendige ZFS oder Use-Case spezifische Erweiterungen und Integrationen implementieren.


    Danke und LG

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!