Sehr große Logs.

sh27

Member
Jan 12, 2021
5
0
6
50
Hallo zusammen,

ich habe den PBS schon eine ganze Weile am laufen und sichere damit ein paar einzelne PVEs mit wiederum jeweils ein paar VMs.
Der PBS läuft direkt auf einer Maschine bei Hetzner, die PVEs auch alle.

Ich habe leider schon recht lange das Problem, dass die LOGs einfach viel zu groß werden und habe hier im Forum schon entdeckt, dass es mal ein Problem gab und habe mir als Workaround via cronjob das /var/log/proxmox-backup/tasks aufgeräumt.

22 9 * * * root find /var/log/proxmox-backup/tasks -type f -name 'UPID*' -mtime +3 -delete

Allerdings bin ich mittlerweile bei drei Tagen angekommen und habe trotzdem noch 49 GB und komme so langsam an die Grenzen meiner Partition. Klar könnte ich da auch vergrößern aber ist das wirklich notwendig? Was macht der PBS mit 49 GB Logs in der GarbageCollection?

root@pbs /var/log/proxmox-backup/tasks/7A # df -h Filesystem Size Used Avail Use% Mounted on udev 32G 0 32G 0% /dev tmpfs 6.3G 896K 6.3G 1% /run /dev/md2 79G 66G 8.8G 89% / tmpfs 32G 0 32G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock /dev/md1 989M 333M 606M 36% /boot zpool1 15T 3.0T 12T 21% /zpool1 tmpfs 6.3G 0 6.3G 0% /run/user/0 root@pbs /var/log/proxmox-backup/tasks/7A # root@pbs /var/log/proxmox-backup/tasks/7A # df -h Filesystem Size Used Avail Use% Mounted on udev 32G 0 32G 0% /dev tmpfs 6.3G 896K 6.3G 1% /run /dev/md2 79G 66G 8.8G 89% / tmpfs 32G 0 32G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock /dev/md1 989M 333M 606M 36% /boot zpool1 15T 3.0T 12T 21% /zpool1 tmpfs 6.3G 0 6.3G 0% /run/user/0 root@pbs /var/log/proxmox-backup/tasks/7A #

Der Großteil der Daten liegt im /var/log/proxmox-backup/tasks/7A

root@pbs /var/log/proxmox-backup/tasks/7A # ls -lah | grep G total 49G -rw-r--r-- 1 backup backup 13K Nov 1 01:09 UPID:pbs:000008EC:0000077A:00000005:63606180:garbage_collection:datastore_GLD:root@pam: -rw-r--r-- 1 backup backup 13G Nov 1 00:57 UPID:pbs:000008EC:0000077A:0000000B:63606180:garbage_collection:datastore1:root@pam: -rw-r--r-- 1 backup backup 1.4K Nov 1 03:55 UPID:pbs:000008EC:0000077A:0000001B:63609898:backup:datastore_GLD\x3avm-100:jck01@pbs: -rw-r--r-- 1 backup backup 888K Nov 1 04:05 UPID:pbs:000008EC:0000077A:0000001C:63609A6F:backup:datastore_GLD\x3act-103:jck01@pbs: -rw-r--r-- 1 backup backup 9.7G Nov 2 00:35 UPID:pbs:000008EC:0000077A:00000023:6361B300:garbage_collection:datastore1:root@pam: -rw-r--r-- 1 backup backup 13K Nov 2 00:04 UPID:pbs:000008EC:0000077A:00000024:6361B300:garbage_collection:datastore_GLD:root@pam: -rw-r--r-- 1 backup backup 0 Nov 2 03:55 UPID:pbs:000008EC:0000077A:00000037:6361EA17:backup:datastore_GLD\x3avm-100:jck01@pbs: -rw-r--r-- 1 backup backup 0 Nov 2 04:02 UPID:pbs:000008EC:0000077A:00000038:6361EBD5:backup:datastore_GLD\x3act-103:jck01@pbs: -rw-r--r-- 1 backup backup 13K Nov 3 00:09 UPID:pbs:000008EC:0000077A:0000003D:63630480:garbage_collection:datastore_GLD:root@pam: -rw-r--r-- 1 backup backup 13G Nov 3 00:34 UPID:pbs:000008EC:0000077A:00000044:63630480:garbage_collection:datastore1:root@pam: -rw-r--r-- 1 backup backup 1.4K Nov 3 03:55 UPID:pbs:000008EC:0000077A:00000053:63633B98:backup:datastore_GLD\x3avm-100:jck01@pbs: -rw-r--r-- 1 backup backup 909K Nov 3 04:05 UPID:pbs:000008EC:0000077A:00000054:63633D62:backup:datastore_GLD\x3act-103:jck01@pbs: -rw-r--r-- 1 backup backup 13K Nov 4 00:04 UPID:pbs:000008EC:0000077A:00000059:63645600:garbage_collection:datastore_GLD:root@pam: -rw-r--r-- 1 backup backup 14G Nov 4 00:34 UPID:pbs:000008EC:0000077A:0000005B:63645600:garbage_collection:datastore1:root@pam: -rw-r--r-- 1 backup backup 1.4K Nov 4 03:55 UPID:pbs:000008EC:0000077A:0000006F:63648D18:backup:datastore_GLD\x3avm-100:jck01@pbs: -rw-r--r-- 1 backup backup 894K Nov 4 04:06 UPID:pbs:000008EC:0000077A:00000070:63648EFA:backup:datastore_GLD\x3act-103:jck01@pbs: root@pbs /var/log/proxmox-backup/tasks/7A #

Gibt es hier noch irgendetwas wie ich die LOGs generell kleiner bekomme? Ich habe die letzten Monate meinen Cronjob immer weiter angepasst und die Tage reduziert. Vor 3 oder 4 Monaten konnte ich noch 14 Tage aufbewahren, jetzt bin ich schon bei dreien angekommen und auch meine zu sichernden VMs haben nicht gerade viele variable Daten, sind hauptsächlich Webserver mit MYSQL und PHP, teilweise schon Applikationen aber nix weltbewegendes.
Auch am PBS selbst ist nix wildes eingestellt, ich habe 7 Datastores (einzelne Ordner unterhalb Datastore, für jeden PVE einen eigenen)

Habt ihr noch einen Tip oder wo kann ich ansetzen?
 
Hast du in die Logs denn mal reingeschaut? Dafür sind sie schließlich da. ;)

Auch am PBS selbst ist nix wildes eingestellt, ich habe 7 Datastores (einzelne Ordner unterhalb Datastore, für jeden PVE einen eigenen)

Wie genau ist der Aufbau?
Hast du 7 Namespaces innerhalb eines Datastores oder sind es wirklich mehrere verschachtelte (= nested) Datastores?

Nested Datastores, sowie generell Fremddaten jeglicher Art sollte man innerhalb eines Datastores tunlichst vermeiden, da dabei die Garbage Collection für alle Daten, mit der sie für den Datastore nichts anfangen kann (ihr also fremd sind), Log-Einträge generiert.

Falls noch nicht getan, wenn möglich, am besten Namespaces [1] benutzen.

Sollen/Müssen es separate Datastores sein (Beispiel für die Ordnerstruktur):

Gut:
Bash:
/MyDatastores/Datastore1/
/MyDatastores/Datastore2/
/MyDatastores/Datastore3/
Nur: Datastore[1-3] sind in PBS als Datastores definiert; nicht: MyDatastores!

Schlecht:
Bash:
/Datastore1/Datastore2/
/Datastore1/Datastore3/

[1] https://pbs.proxmox.com/docs/storage.html#backup-namespaces
 
  • Like
Reactions: B.Otto and sh27
Danke Dir, und du hast recht, es ist die Garbage Collection, die scheinbar Probleme hat und das Log vollmüllt.
Ich werde mich am Wochenende mal an die Konfiguration machen und die Datastores aufräumen.
 
Darf ich hier noch mal ansetzen? Ich muss leider immer noch meine Datastores aufräumen. Kann mir hier jemand einen Tip geben, wie ich das am geschicktesten entwirre, ohne die Daten zu verlieren?
Ich habe es damals folgendermaßen angelegt:

Es gibt einen zpool1. Das ist ein zfs-Volume, angelegt als RAID1 und wird direkt ins root-Verzeichnis gemountet

/zpool1 = datastore1

darunter liegen mehrere Ordner, die teilweise direkt datastores sind, bei einem Ordner habe ich aber für ein Projekt wiederum Unterordner da es dort mehrere unabhängige PVEs gibt.

/zpool1/AAA/Server1 = datastore_AAA_Serv1
/zpool1/AAA/Server2 = datastore_AAA_Serv2
/zpool1/BBB/ = datastore_BBB
/zpool1/CCC = datastore_CCC

Rein logisch müsste ich ja nur den datastore1 entfernen. Kann ich hier reibungslos einfach den Datastore1 löschen ohne die darunterliegenden Datastores mit zu löschen? Oder wie gehe ich sonst am einfachsten vor? Ich würde mir ungerne alle Backups zerschießen...
 
Last edited:
/zpool1/AAA ist aber nicht auch ein Datastore, oder?

Zu allererst würde ich mir, wie bereits erwähnt, Gedanken machen, ob es in deinem Fall Sinn macht Namespaces (zumindest teilweise) zu benutzen.

Aber unabhängig ob nun mit oder ohne Namespaces, kannst du Datastores auch lokal innerhalb des selben PBS syncen: [1]. Einfach beim Hinzufügen des Remotes die eigene IP des lokalen PBS angeben.

Somit könntest du einen weiteren Datastore z.B.: /zpool1/DDD = datastore_DDD erstellen und deinen: /zpool1 = datastore1 dorthin synchronisieren.
Nachdem das erfolgreich war, kannst du den Datastore: /zpool1 = datastore1 im PBS entfernen. Auch kannst du dann die zu diesem Datastore gehörenden Ordner und Dateien entfernen. Aber aufpassen, nicht deine anderen Datastores zu erwischen!

Ebenfalls muss dann natürlich der neue Datastore im PVE hinzugefügt werden und der Alte entfernt, sowie alle Referenzen angepasst werden.

Die Aktivierung des Maintenance Modes: [2] könnte ratsam sein, während der kompletten Prozedur.

PS.: Ein PBS-Datastore ist letztlich nichts anderes als ein Ordner. Theoretisch könntest du sogar einfach ein(en) Ordner/Dataset z.B.: /zpool1/DDD erstellen, die zu einem Datastore gehörenden Ordner und Dateien von: /zpool1 nach: /zpool1/DDD verschieben: [3] und den Pfad für den entsprechenden Datastore manuell von: /zpool1 auf: /zpool1/DDD abändern: [4].

PPS.: Wenn du auf der sicheren Seite sein willst, das Ganze erstmal in einer VM nachstellen und dort testen!

[1] https://pbs.proxmox.com/docs/managing-remotes.html
[2] https://pbs.proxmox.com/docs/maintenance.html#maintenance-mode
[3] https://forum.proxmox.com/threads/move-datastore-location.84907/#post-372914
[4] https://forum.proxmox.com/threads/datastore-recovery.72835/#post-325491
 
Danke dir für deine Antworten. Ich habe jetzt erstmal die GC für den zpool1=Datastore1 abgeschaltet, das gibt etwas Zeit mit den LOGs :D

Also mein Zpool1=Datastore1 ist ja kein produktiver Datastore. Es ist eigentlich nur ein Verzeichnis, das die eigentlichen Datastores beinhaltet.
Daher müsse bei mir eigentlich nur der Datastore1 entfernt werden, aber die Unterordner mit den eigentlichen Datastores sollten natürlich bestehen bleiben.
Also analog zu /zpool1/AAA = Ordner mit darin enthaltenen Datastores. AAA ist aber hier NICHT als Datastore definiert. So hätte ich das mit dem zpool1 selbst halt auch machen müssen.
Da ist mir beim erstellen und ausprobieren damals irgendetwas schief gelaufen und ich habe vermutlich einfach nur zpool1 = Datastore1 stehen gelassen.
Ich bin gerade sogar am überlegen, ob ich den Server bei Hetzner nicht austausche und somit neu installiere. Die Backups auf dem jetzt vorhandenen sind zusätzliche Backups von mehreren PVEs. Alle haben aber noch mindestens ein weiteres, vom PBS unabhängiges, Backupziel.
Daher wäre auch ein Verlust der Datastores nicht weltbewegend.

Du
 

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!