[SOLVED] Datastore Größe wächst rasant

baguette6885

New Member
Apr 25, 2023
5
0
1
Seit dem 15.03.2023 wächst die Größe meines Datastores rasant an und es nimmt kein Ende. In 11 Tagen hat ist die Größe des Datastore um 691% gewachsen (von 34GB auf 235GB):

datastore.png
(Das abfallen der Kurve am Ende ist weil ich ein paar Snapshots gelöscht habe)

Was ist im datastore:
  • 6 CTs
    • Adguard Home (8GB disk)
    • Smokeping (8GB disk)
    • Die anderen 4 sind seit 2023-03-21 nicht gelaufen (je 8GB disk)
  • 1 VM
    • Debian (bullseye 5.10.162-1)
      • 1x32GB disk
      • 3x passed through SATA SSDs
      • SCSI Controller VirtUI SCSI single
      • QEMU guest agent ist aktiviert und läuft
Backupmode bei allen ist "snapshot". Damals hatte ich den Interval noch auf 3 oder 6 Stunden. Genau weiß ich es nicht mehr, da ich irgendwann den Interval auf 12 Stunden erhöht habe um das Ganze unter Kontrolle zu bekommen.

Host:
  • proxmox-ve: 7.4-1 (kernel: 5.15.104-1-pve)
  • Non-Subscription repository
  • PBS 2.4-1 direkt am PVE host installiert
  • 1x1TB NVME SSD mit ZFS
    • 1 pool mit:
      • Dem Standard rpool/data welcher mit der PVE installation gekommen ist. Dieser wird für die CTs verwendet
      • Ein zusätzliches verschlüsseltes Dateisystem unter rpool/encrypted_data welches ich selbst hinzugefügt habe. Dieses wird für die eine VM und dem PBS Datastore verwendet.
Hardware:
  • Intel Celeron G6900
  • 1x WD SN570 1TB
  • 16GB RAM

Die CTs sind sehr statisch und schreiben vielleicht ein paar MB pro Tag auf die Festplatte. Auch die VM schreibt nur sehr wenig auf die Festplatte. Habe mit IO ca. 48 Stunden die Schreibvorgänge der VM aufgezeichnet und das meiste auf die Systemplatte war von systemd-journald mit weniger als 100MB pro Tag.

Zuerst hatte ich einen Docker Container innerhalb der VM in verdacht welcher pro Tag ca. 1,3GB geschrieben hat. Doch nachdem ich das Problem behoben habe hat sich die Größe des Datastore nicht stabilisiert und wuchs weiter.

Als nächstes habe ich den Swap der VM verdächtigt und diesen auf eine Extra Disk ausgelagert welche beim Backup ausgeschlossen wird. In den Tagen danach ist der Datastore nur um ein paar 100MB/Tag gewachsen. Aber das hätte daran liegen können, dass ich ein paar Snapshots im Datastore gelöscht habe. Ein paar Tage danach hat der Datastore nämlich wieder begonnen rasant anzuwachsen.

Nächster Verdacht war das Trim innerhalb der VM. Wenn fstrim innerhalb der VM ausgeführt wird, werden oft 24 GB (das ist ungefähr der freie Speicherplatz der Platte) auf der 32GB OS Platte getrimmt. Vor allem nach einem Neustart oder wenn fstrim schon länger nicht mehr gelaufen ist ist die Menge von fstrim immer sehr hoch, nicht nur bei der OS Platte sondern auch bei den pass-through SATA Platten. Ist das ein normales Verhalten?
Aber wenn ich die Protokolle von fstrim anschaue dann kann ich sehen, dass dieses Verhalten schon seit November 2022 der Fall war und zu diesem Zeitraum war die Größe des Datastore kein Problem.
Ich habe verschiedene Kombinationen der Optionen "discard" und "SSD emulation" ausprobiert Optionen des Datenträgers ausprobiert, aber es hat sich nichts geändert und der Datastore hat am nächsten Tag weitere 33 GB hinzugewonnen.

In den Logs kann ich sehen, dass der wiederverwendete Speicher des VM Backups im Datastore sehr stark schwankt:

Code:
INFO: backup is sparse: 12.00 MiB (0%) total zero data
INFO: backup was done incrementally, reused 10.05 GiB (31%)

INFO: backup is sparse: 13.65 GiB (42%) total zero data
INFO: backup was done incrementally, reused 13.71 GiB (42%)

INFO: backup is sparse: 11.03 GiB (34%) total zero data
INFO: backup was done incrementally, reused 21.38 GiB (66%)

INFO: backup is sparse: 11.02 GiB (34%) total zero data
INFO: backup was done incrementally, reused 31.16 GiB (97%)

INFO: backup is sparse: 11.02 GiB (34%) total zero data
INFO: backup was done incrementally, reused 25.01 GiB (78%)

INFO: backup was done incrementally, reused 26.59 GiB (83%)

INFO: backup was done incrementally, reused 31.65 GiB (98%)

Das erste Backup von oben (mit 31% reused) hat den Datastore um 23GB vergrößert. Ich habe die Dateien im VM Backup zwischen diesem einen Backup und dem Backup davor verglichen. Es haben sich 155 Dateien mit einer Gesamtgröße von weniger als 200MB geändert.

Für mich schaut es verdächtig aus, dass ich am 15.03.2023 (der Tag nach welchem die Größe so rasant angestiegen ist) folgende Updates installiert habe:
  • pve-firmware: 3.6-3 ==> 3.6-4
  • pve-kernel-helper: 7.3-6 ==> 7.3-7
  • pve-qemu-kvm: 7.2.0-5 ==> 7.2.0-7
Vor einer Woche habe ich das Problem dann doch irgendwie auf fstrim zurückführen können und lasse fstrim nun alle 15 Minuten laufen (habe es auch mit 1 Stunde probiert doch das war nicht genug) und damit hat sich die Größe und Wachstumsrate des Datastore wieder normalisiert. Davor lief fstrim nur alle 7 Tage, was bis zum 15.03.2023 ausgereicht hat.

Was läuft hier schief? Oder mache ich hier etwas falsch? Oder kann es sein, dass die Updates vom 15.03.2023 einen Bug haben?
 
bitte mal den vollen backup log und die VM config sowie "pveversion -v" posten..
 
und was fuer ein storage ist "local-crypt"? was fuer ein betriebssystem laeuft in der VM, und wie sind die platten dort konfiguriert? es scheint wohl ein problem mit discard zu sein..
 
local-crypt ist das verschlüsselte ZFS Dateisystem/Volumen (oder wie man das nennt) mit dem Pfad rpool/encrypted_data welches von mir mit dem Befehl zfs create -o encryption=on rpool/encrypted_data erstellt wurde und dann mit pvesm add zfspool local-crypt -pool rpool/encrypted_data zu PVE hinzugefügt wurde.

In der VM läuft Debian bullseye mit Kernel 5.10.0-21-amd64.

Die scsi0 Platte (also die einzige welche im Backup enthalten ist) ist folgendermaßen konfiguriert:
Code:
Disk /dev/sda: 32 GiB, 34359738368 bytes, 67108864 sectors
Disk model: QEMU HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x91895308

Device     Boot Start      End  Sectors Size Id Type
/dev/sda1  *     2048 67104767 67102720  32G 83 Linux
Code:
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda      8:0    0  32G  0 disk
└─sda1   8:1    0  32G  0 part /
 
ich meinte, welche art von storage ist in der VM konfiguriert (LVM, ZFS, ..) bzw. welche mount optionen? weil wenn fstrim trimmed und das backup delta dann kleiner ist, aber das nicht automatisch passiert, dann fehlt vielleicht einfach discard *in* der VM?
 
Die Platte ist in fstab folgendermaßen eingetragen:
Code:
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
UUID=fbdf60fb-99c2-494f-abcf-8f08ae800ead /               ext4    errors=remount-ro 0       1
Glaube es kein LVM.

Also meinst du ich sollte mal ein "discard" bei den Optionen hinzufügen und schauen ob es einen Unterschied macht?
 
ja :)

also, discard hinzufuegen, fstrim ausfuehren, VM rebooten, dann weiter beobachten..
 
Danke, das discard in fstab hat das Problem behoben.

Komisch, dass das fehlende discard vorher kein Problem war.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!