[SOLVED] PBS Backups verursachen sehr hohen iowait

NothingTV

Active Member
Nov 4, 2019
40
2
28
Hallöchen,

wir haben hier ein etwas seltsames Problem. Vorab einmal unsere Struktur: Wir setzen auf bare-metal Servern Proxmox mit ZFS auf, worauf eine Linux VM mit normalem ext4 läuft. Für die Disk haben wir in Proxmox folgende Settings hinterlegt:
- Cache: Default
- Discard: Aktiv
- IO thread: Aktiv
- SSD emulation: Aktiv
- Async IO: threads

Machen wir nun über den in Proxmox eingebundenen Proxmox Backup Server ein Backup, geht der iowait spürbar extrem nach oben (weit über 20), auf allen Systemen. Also egal welche Hardware, ob AMD oder Intel, egal ob Consumer oder Enterprise oder ob NVMe oder SSD. Hier einmal ein Auszug vom Backup (ab dem bold markierten, geht der iowait los):
INFO: starting new backup job: vzdump 100 --storage pbs --remove 0 --notes-template '{{guestname}}' --mode snapshot --node root183-managed INFO: Starting Backup of VM 100 (qemu) INFO: Backup started at 2023-12-04 19:00:14 INFO: status = running INFO: VM Name: s1.hostpool.io INFO: include disk 'scsi0' 'local-zfs:vm-100-disk-0' 380G INFO: backup mode: snapshot INFO: ionice priority: 7 INFO: pending configuration changes found (not included into backup) INFO: creating Proxmox Backup Server archive 'vm/100/2023-12-04T18:00:14Z' INFO: issuing guest-agent 'fs-freeze' command INFO: issuing guest-agent 'fs-thaw' command INFO: started backup task '6a2bf088-876a-42ba-b4e2-4097ac6b770d' INFO: resuming VM again [B]INFO: scsi0: dirty-bitmap status: OK (25.9 GiB of 380.0 GiB dirty) INFO: using fast incremental mode (dirty-bitmap), 25.9 GiB dirty of 380.0 GiB total INFO: 1% (404.0 MiB of 25.9 GiB) in 3s, read: 134.7 MiB/s, write: 134.7 MiB/s INFO: 2% (552.0 MiB of 25.9 GiB) in 9s, read: 24.7 MiB/s, write: 24.7 MiB/s INFO: 3% (812.0 MiB of 25.9 GiB) in 14s, read: 52.0 MiB/s, write: 52.0 MiB/s[/B]

Hat oder hatte jemand ähnliche Probleme oder eventuelle Lösungsvorschläge? Wir probierten bereits direkt vor dem Backup, einen fstrim manuell auszuführen, wir dachten erst, dass es tatsächlich half, aber nur initial.
Es handelt sich hierbei übrigens scheinbar nur um den inkrementellen Part, ist noch kein Backup vorhanden, läuft das relativ problemlos.

Der selbe PBS wird auch auf anderen Systemen, ohne ZFS verwendet, da läuft es einwandfrei, ohne iowait bzw. irgendwelchen Einschränkungen. Also unsere einzige Idee ist, dass der PBS ggf. nicht ganz so gut mit ZFS oder unseren Settings oder sonstigem klar kommt und deshalb die VM leidet.

Mit freundlichen Grüßen
Marc âka NothingTV
 
Last edited:
Kannst du mal ein bisschen ausführlicher etwas zu eurem Setup der Nodes, dem PBS, Netzwerk etc. sagen? Bitte auch gerne nicht mit Details geizen! :)

Bitte poste auch mal die VM Config qm config VMID und die PVE Version posten pveversion -v.

Lasst Ihr mehrere Jobs gleichzeitig laufen oder ist das genannte Verhalten unabhängig von der bereits existierenden Load auf dem PBS / Node.

Es gibt derzeit auch scheinbar Probleme mit mindestens CentOS 7 VMs, diese schmieren oft nach einem Backup ab. Was läuft im Gast?
 
Gern!
Also wir richten die Nodes jeweils ganz normal mit den default ZFS Settings ein, limitieren hinterher den RAM auf 6-X GB (Abhängig von der Disk Größe) und lassen sonst soweit alles default. Im Gast stellen wir wie beschrieben die Disk Settings ein, ich hänge hierfür mal einen Screenshot an, von den Sachen die wir angepasst haben.

Der PBS ist auch so ziemlich default, es läuft dort derzeit v2.4-2, verbaut sind 4x 14 TB HDDs. Das System läuft auch einwandfrei, also es kommt nie zu hohen loads oder sonstigen. Wenn hier noch konkretere Infos nötig wären, gerne mitteilen, bin mir nicht ganz sicher, was genau nötig sein könnte.

Zum Netzwerk: Der PBS ist mit 10G angebunden, die Guest Nodes mit 1G und 10G. Auch hier: Wenn noch mehr details nötig sind, gerne einfach sagen was genau.

agent: 1
balloon: 0
boot: order=scsi0;net0
cores: 16
cpu: host
memory: 61440
meta: creation-qemu=7.2.0,ctime=1684706539
name: ---
net0: virtio=8E:2B:DE:9B:--:--,bridge=vmbr0,firewall=1
numa: 0
onboot: 1
ostype: l26
scsi0: local-zfs:vm-100-disk-0,aio=threads,discard=on,iothread=1,size=380G,ssd=1
scsihw: virtio-scsi-single
smbios1: uuid=1446a613-885c-4457-b72d----
sockets: 1
vmgenid: a96b2dde-ef5e-4c58-aa4b---[/CODE]
Bin mir unsicher, ob hier überhaupt etwas zensiert werden muss, ich habs aber mal gemacht :D

Auf diesen Guests läuft unter anderem Ubuntu 20.04 & 22.04 und ein Cloudlinux System. Es ist auf dem Cloudlinux System nochmal deutlicher spürbar als auf den anderen, aber es sind grundsätzlich alle ZFS Systeme betroffen.

proxmox-ve: 7.4-1 (running kernel: 5.15.107-2-pve)
pve-manager: 7.4-17 (running version: 7.4-17/513c62be)
pve-kernel-5.15: 7.4-6
pve-kernel-5.15.116-1-pve: 5.15.116-1
pve-kernel-5.15.108-1-pve: 5.15.108-2
pve-kernel-5.15.107-2-pve: 5.15.107-2
pve-kernel-5.15.102-1-pve: 5.15.102-1
ceph-fuse: 15.2.17-pve1
corosync: 3.1.7-pve1
criu: 3.15-1+pve-1
glusterfs-client: 9.2-1
ifupdown2: 3.1.0-1+pmx4
ksm-control-daemon: 1.4-1
libjs-extjs: 7.0.0-1
libknet1: 1.24-pve2
libproxmox-acme-perl: 1.4.4
libproxmox-backup-qemu0: 1.3.1-1
libproxmox-rs-perl: 0.2.1
libpve-access-control: 7.4.1
libpve-apiclient-perl: 3.2-1
libpve-common-perl: 7.4-2
libpve-guest-common-perl: 4.2-4
libpve-http-server-perl: 4.2-3
libpve-rs-perl: 0.7.7
libpve-storage-perl: 7.4-3
libspice-server1: 0.14.3-2.1
lvm2: 2.03.11-2.1
lxc-pve: 5.0.2-2
lxcfs: 5.0.3-pve1
novnc-pve: 1.4.0-1
proxmox-backup-client: 2.4.3-1
proxmox-backup-file-restore: 2.4.3-1
proxmox-kernel-helper: 7.4-1
proxmox-mail-forward: 0.1.1-1
proxmox-mini-journalreader: 1.3-1
proxmox-widget-toolkit: 3.7.3
pve-cluster: 7.3-3
pve-container: 4.4-6
pve-docs: 7.4-2
pve-edk2-firmware: 3.20230228-4~bpo11+1
pve-firewall: 4.3-5
pve-firmware: 3.6-5
pve-ha-manager: 3.6.1
pve-i18n: 2.12-1
pve-qemu-kvm: 7.2.0-8
pve-xtermjs: 4.16.0-2
qemu-server: 7.4-4
smartmontools: 7.2-pve3
spiceterm: 3.2-2
swtpm: 0.8.0~bpo11+3
vncterm: 1.7-1
zfsutils-linux: 2.1.11-pve1
 
Der PBS ist auch so ziemlich default, es läuft dort derzeit v2.4-2, verbaut sind 4x 14 TB HDDs.
Als erstes würde ich mal ein Upgrade auf PBS 3.1 empfehlen, möglicherweise behebt das nämlich bereits ein Problem.
=> https://pbs.proxmox.com/wiki/index.php/Roadmap#Release_History

Es gibt auch ein Guide um von 2 auf 3 zu wechseln: https://pbs.proxmox.com/wiki/index.php/Upgrade_from_2_to_3

Ihr habt tatsächlich keine Probleme mit eurem PBS? Ich habe mal den PBS mit 8x 2 TB HDDs versucht und alles nach nem halben Tag auf SSD Only umgestellt. Die Performance mit HDDs ist echt unterirdisch wie ich finde.

aio=threads
Wenn mich nicht alles täuscht, dann war das mit unter das schlechteste was man wählen konnte.

Auf diesen Guests läuft unter anderem Ubuntu 20.04 & 22.04 und ein Cloudlinux System. Es ist auf dem Cloudlinux System nochmal deutlicher spürbar als auf den anderen, aber es sind grundsätzlich alle ZFS Systeme betroffen.
Lustigerweise ist mir auch immer die CentOS Kiste mit CloudLinux weggeflogen, alles andere hat es ohne weiteres überlebt. Kannst du mal iothread deaktivieren und es dann noch mal probieren? Das ist nämlich dabei der aktuelle Work-Around: https://forum.proxmox.com/threads/vms-hung-after-backup.137286/#post-611172
 
Machen wir nun über den in Proxmox eingebundenen Proxmox Backup Server ein Backup, geht der iowait spürbar extrem nach oben (weit über 20), auf allen Systemen. Also egal welche Hardware, ob AMD oder Intel, egal ob Consumer oder Enterprise oder ob NVMe oder SSD. Hier einmal ein Auszug vom Backup (ab dem bold markierten, geht der iowait los):
Das Problem beim PVE/PBS Backup ist die Coole Funktion unabhängig vom Storage per Snapshot sichern zu können.
Wenn das Backup läuft wird der Stand im RAM definiert und festgahalten und dann beginnt er die Blöcke auf den PBS zu kopieren. Macht die VM jetzt einen write, liest der PVE zuerst diesen Block, kopiert ihn auf den PBS und wenn der da angekommen ist wird der write auf Disk erst durchgeführt.
Wenn der PBS jetzt über langsames Netzwerk (z.B WAN) oder mit langsamen Disks ausgestattet ist, wird der I/O der VMs extrem gebremst.
Daher bekommt der Primary PBS bei mir immer SSDs und der Secondary für das Ransomware geschützte Copy dann HDDs.
 
  • Like
Reactions: UdoB
Lustigerweise ist mir auch immer die CentOS Kiste mit CloudLinux weggeflogen, alles andere hat es ohne weiteres überlebt. Kannst du mal iothread deaktivieren und es dann noch mal probieren? Das ist nämlich dabei der aktuelle Work-Around: https://forum.proxmox.com/threads/vms-hung-after-backup.137286/#post-611172
Tatsächlich haben wir bisher nie Probleme mit den HDDs gehabt, es läuft allerdings auch nicht sonderlich viel gleichzeitig. Aber stimmt schon, wenn einige Backups gleichzeitig laufen, ist das schon unschön langsam.

Ich habe genau das vorgeschlagene Setting soeben deaktiviert bei einem System und es kam direkt nach ein ZFS Pool Alarm (zu viele read errors), spannend. Das wird vermutlich jetzt nicht DAS Problem gewesen sein, aber ich denke eines, werden wir näher untersuchen.

Den PBS werde ich diese Woche auch mal aktualisieren, eventuell behebt das ja tatsächlich unsere Probleme, wusste nicht, dass es wieder solch ein Major Update gibt.

// EDIT: Das Update brachte leider nichts. :(

Daher bekommt der Primary PBS bei mir immer SSDs und der Secondary für das Ransomware geschützte Copy dann HDDs.
Das habe ich jetzt schon häufiger gehört (nicht nur hier im Forum), ggf. sollten wir uns das auch mal ansehen. Wie setzt du das konkret um? Bindest du auf dem Node dann einfach beide PBS ein oder kannst du vom "schnellen" PBS jeweils Backups auf das HDD System ziehen?
Noch ein Tipp zfs atime=off <share> für den Pool oder die Freigabe <share> setzen.
Werden wir ebenfalls testen, danke! :)
 
Last edited:
Das habe ich jetzt schon häufiger gehört (nicht nur hier im Forum), ggf. sollten wir uns das auch mal ansehen. Wie setzt du das konkret um? Bindest du auf dem Node dann einfach beide PBS ein oder kannst du vom "schnellen" PBS jeweils Backups auf das HDD System ziehen?
Auf den ersten PBS kommen die Backups von den PVE. Der zweite PBS holt sich die Backups per eingebauten Sync. Da der Sync immer ein Pull ist, kannst du den Secondary PBS eingehend komplett dicht machen.
 
Lustigerweise ist mir auch immer die CentOS Kiste mit CloudLinux weggeflogen, alles andere hat es ohne weiteres überlebt. Kannst du mal iothread deaktivieren und es dann noch mal probieren? Das ist nämlich dabei der aktuelle Work-Around: https://forum.proxmox.com/threads/vms-hung-after-backup.137286/#post-611172
Tatsächlich haben wir bisher nie Probleme mit den HDDs gehabt, es läuft allerdings auch nicht sonderlich viel gleichzeitig. Aber stimmt schon, wenn einige Backups gleichzeitig laufen, ist das schon unschön langsam.

Ich habe dennoch testweise einen PBS auf Basis von NVMe's aufgesetzt und muss sagen, dass es direkt nicht nur schneller sondern auch ohne hohe load jede VM sichert. Wir werden das HDD System nochmal komplett neu aufsetzen, wir haben hierfür nun einige Optimierungen definiert und werden das im neuen Setup in kürze testen. Vielen Dank an alle!
 
Ich habe dennoch testweise einen PBS auf Basis von NVMe's aufgesetzt und muss sagen, dass es direkt nicht nur schneller sondern auch ohne hohe load jede VM sichert.
NVMe wäre zwar nicht nötig, normale Enterprise SSDs hätten es auch getan - aber gut, wenn es vom Budget her passt noch besser! :D
 
NVMe wäre zwar nicht nötig, normale Enterprise SSDs hätten es auch getan - aber gut, wenn es vom Budget her passt noch besser! :D
Das war tatsächlich nur zum testen :D
Wir nutzen das zwar jetzt als temporäre Lösung, aber nur, bis vom normalen PBS alles migriert wurde, damit wir diesen korrekt neu aufsetzen können, mit mehr RAM und größeren SSDs als Cache, wir bleiben also bei HDDs, aber werden das so gut es geht optimieren, in der Hoffnung, dass es dann anständig läuft. Ich werde anschließend berichten. :)
 
  • Like
Reactions: sb-jw
Wenn du schnelle NVMe als ZFS Special Device hinzufügst, hilft das ganz viel.
 

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!