Falsche Hard Drive usage und maximum available storage reached mit LUKS

  • Hi,


    habe eine LUKS verschlüsselte root Partition mit BTRFS.

    Kann keine Snapshots erstellen - "maximum available storage reached." - ich vermute, dass das daran liegt "Harddrive usage 159 GiB of 160 GiB used".

    Im Server selbst sind nur ca 30% belegt.

    Habe schon mehrfach Storage Optimization ausgeführt, mit SCSI und VIRTIO, scheint aber nichts zu nützen.

    `fstrim` meldet es sei nicht unterstützt - vermutlich weil LUKS die discard Option nicht durchschleift - laut `dmsetup table` ist keine discard Option vorhanden, obwohl crypttab mit `discard` Option bearbeitet, Partition mit BTRFS `discard` Option gemountet, und dracut mit `rd.luks.allow-discards` kernel Option initialisiert.


    Hat jemand eine Idee, was ich noch tun könnte, um die Größe des (vermutlich qcow2) Images bei Netcup zu reduzieren, um meinen Snapshot anlegen zu können?


    Bei anderen Servern habe ich das Problem nicht, der hier ist allerdings schon etwas älter (aber ebenso ein Root Server mit SSD).


    Danke!

  • Moin,

    das liegt daran, dass deine Partition den ganzen platz beansprucht. Du müsstest die Partition verkleinern damit Platz für den Snapshot entsteht.
    Es gibt ein Image für GParted, damit könntest du das machen - vorher aber ein Backup anlegen.

    EpicOnline.de - Deutschlands kreativster, schönster und bester Minecraft Server*
    *subjektive Meinung des Verfassers, evt. geschönt und übertrieben.
    Homwer.com - Der Raspberry Pi Shop

  • Verstehe jedoch nicht ganz, warum das bei dem nötig ist, bei einem guten Dutzend anderer VPS/Root-Server der Speicherplatz mit selbiger Konfiguration und auch ohne jegliche Discard Zusatzoptionen problemlos reported wird.

  • ...das liegt daran, dass deine Partition den ganzen platz beansprucht. Du müsstest die Partition verkleinern damit Platz für den Snapshot entsteht.

    Aber sicher nicht generell.

    Meine Partitionen belegen fast immer den gesamten Speicherplatz und snapshots sind problemlos möglich.

  • Aber sicher nicht generell.

    Meine Partitionen belegen fast immer den gesamten Speicherplatz und snapshots sind problemlos möglich.

    Auch bei verschlüsselten Partitionen?
    Meiner Erfahrung nach geht das nicht.

    EpicOnline.de - Deutschlands kreativster, schönster und bester Minecraft Server*
    *subjektive Meinung des Verfassers, evt. geschönt und übertrieben.
    Homwer.com - Der Raspberry Pi Shop

  • `fstrim` meldet es sei nicht unterstützt - vermutlich weil LUKS die discard Option nicht durchschleift - laut `dmsetup table` ist keine discard Option vorhanden

    Das solltest du dann mal ändern, irgendwo muss es ja hängen. Ob der Parameter vom Bootloader her richtig übergeben wurde, kannst du in /proc/cmdline schauen. Dann kommts auch noch auf die Distro / Initramfs Konfiguration an, wie der Parameter genau heißen muss, nicht immer wird dracut / systemd-cryptsetup verwendet und dann ist es eben auch anders.


    Ansonsten zur Not aus dem Rettungssystem heraus von Hand durchführen.


    Oder auf das Snapshot-Feature (hosterseitig) ganz verzichten und einfach selbst Snapshots (serverseitig) machen.

    Verstehe jedoch nicht ganz, warum das bei dem nötig ist, bei einem guten Dutzend anderer VPS/Root-Server der Speicherplatz mit selbiger Konfiguration und auch ohne jegliche Discard Zusatzoptionen problemlos reported wird.

    Vielleicht sind die dann einfach nie vollgeschrieben worden...

  • Auch bei verschlüsselten Partitionen?
    Meiner Erfahrung nach geht das nicht.

    Ich hab gerade auf einem LUKS verschlüsselten Rootserver einen Snapshot ausprobiert, und es hat funktioniert.


    Ist allerdings LVM/Ext4, und nicht BTRFS.

    OS ist Debian 11


    Speichernutzung 5 GiB von 60 GiB belegt


    fstrim/discard funktioniert bei mir.


    Ich hab die Image Sektoren allerdings nicht mit random Werten initialisieren lassen.


    dmsetup table zeigt bei mir, dass allow_discards aktiv ist.


    Womit bewiesen wäre, dass es mit verschlüsselten Partitionen prinzipiell geht :)