ich bin heute über einen post gestolpert, der mir nochmal begreiflich machte, dass das Problem mit langsamen Backups bei containern mit vielen Dateien nicht nur besteht, wenn der container auf einen FS wie NFS oder ext4 liegt, sondern bei jedem FS vorherrscht - auch bei denen, die snapshots unterstützen. Ich recherchierte bereits im Inet für Lösung und fand diesen Blog. Nun ist der etwas älter und ich dachte, das Problem besteht sicherlich nicht mehr, aber dem ist wohl nicht so.
Ich finde borgbackup ist 'ne geniale Lösung und wenn man ein bißchen Technisches liest, könnte man denken, das proxmox dort gelernt hat, denn die nutzen auch chunks, unterstützen auch komprimierung und Deduplizierung. Ist alles sehr ähnlich. Nur borgbackup kann wohl große Datenmounts schnell sichern. Doch wie in den aktuellem Post von @Dunuin angegeben, besteht das Problem immer noch. Man findet auch keinen Hinweis einer Verbesserung in den ReleaseNotes. Ich finde, da muss sich Proxmox schnell mal was einfallen lassen, weil ditte is schon wichtig, dass ich bei der Wahl zwischen Container und VM nicht so eingeschränkt bin. Wenn der Hypervisor oder das Filesystem keine Unterstützung leistet, muss ich halt einen Client zum Installieren im Container programmieren, der mir dabei hilft oder ich gugge bei borgbackup einfach ab. Alles machbar - Ausreden gelten hierfür nicht.
Ich würde ja Proxmox nur mit GlusterFS einsetzen und auf Snapshots bei Containern verzichten. Ein schnelles Backup könnte man dann mit borgbackup umsetzen. Der erwähnte Post oben zeigt dies ja für ceph. Ich würde das Script noch erweitern.
Vorgehen:
- man lässt auf jedem PVE-Node dieses Script laufen und sichert nur die container, die direkt auf diesem Host laufen.
- um eine konsistente Sicherung zu haben, müßte ich den container stoppen
- dann mounte ich das RAW-File von meinem NFS temporär, readonly
- lasse borgbackup die Ordner sichern via ssh oder NFS
- dann natürlich umount des Ordners
- starten des containers
Dabei sichere ich nur die Zusatzmounts und nicht das rootfs. Das rootfs sichere ich mit der config separat über PBS-GUI. Könnte man aber auch gleich über dieses Script an den PBS feuern. Was schön wäre, wenn der PBS pre+post-scripts unterstützen würde.
Übrigens ist die Abfolge oben genau die Gleiche, die proxmox beim Sichern von Containern einsetzt. Bei snapshots oder bei "stop" wird dann das RAW-File oder das Blockdevice gemountet und gesichert.
Vorteil d. Lösung:
- ich habe auch Komprimierung + Dedup
- wenn container verschoben werden, muss ich nichts umkonfigurieren
Ergänzung:
Bezogen auf meinen Post unten will ich ergänzen, dass man es auch mit einer Image-Based-Sicherung des Proxmox-Backup-Clients umsetzen kann. Man muss trotzdem den Container stoppen, aber kann dann mit einem Befehl die Sicherung aller Mounts +Config durchführen und hat alles im PBS genau wie bei einer Konfiguration im PVE. Man nutzt halt nur nicht file-based-Sicherung. Wie in der Doku angemahnt, wird die Dedup-Rate nicht so gut sein, dafür geht die Sicherung schneller als file-based und vermutlich langsamer als mit borgbackup. Will man keine Downtime, müßte man den container auf ceph haben.
Ich finde borgbackup ist 'ne geniale Lösung und wenn man ein bißchen Technisches liest, könnte man denken, das proxmox dort gelernt hat, denn die nutzen auch chunks, unterstützen auch komprimierung und Deduplizierung. Ist alles sehr ähnlich. Nur borgbackup kann wohl große Datenmounts schnell sichern. Doch wie in den aktuellem Post von @Dunuin angegeben, besteht das Problem immer noch. Man findet auch keinen Hinweis einer Verbesserung in den ReleaseNotes. Ich finde, da muss sich Proxmox schnell mal was einfallen lassen, weil ditte is schon wichtig, dass ich bei der Wahl zwischen Container und VM nicht so eingeschränkt bin. Wenn der Hypervisor oder das Filesystem keine Unterstützung leistet, muss ich halt einen Client zum Installieren im Container programmieren, der mir dabei hilft oder ich gugge bei borgbackup einfach ab. Alles machbar - Ausreden gelten hierfür nicht.
Ich würde ja Proxmox nur mit GlusterFS einsetzen und auf Snapshots bei Containern verzichten. Ein schnelles Backup könnte man dann mit borgbackup umsetzen. Der erwähnte Post oben zeigt dies ja für ceph. Ich würde das Script noch erweitern.
Vorgehen:
- man lässt auf jedem PVE-Node dieses Script laufen und sichert nur die container, die direkt auf diesem Host laufen.
- um eine konsistente Sicherung zu haben, müßte ich den container stoppen
- dann mounte ich das RAW-File von meinem NFS temporär, readonly
- lasse borgbackup die Ordner sichern via ssh oder NFS
- dann natürlich umount des Ordners
- starten des containers
Dabei sichere ich nur die Zusatzmounts und nicht das rootfs. Das rootfs sichere ich mit der config separat über PBS-GUI. Könnte man aber auch gleich über dieses Script an den PBS feuern. Was schön wäre, wenn der PBS pre+post-scripts unterstützen würde.
Übrigens ist die Abfolge oben genau die Gleiche, die proxmox beim Sichern von Containern einsetzt. Bei snapshots oder bei "stop" wird dann das RAW-File oder das Blockdevice gemountet und gesichert.
Vorteil d. Lösung:
- ich habe auch Komprimierung + Dedup
- wenn container verschoben werden, muss ich nichts umkonfigurieren
Ergänzung:
Bezogen auf meinen Post unten will ich ergänzen, dass man es auch mit einer Image-Based-Sicherung des Proxmox-Backup-Clients umsetzen kann. Man muss trotzdem den Container stoppen, aber kann dann mit einem Befehl die Sicherung aller Mounts +Config durchführen und hat alles im PBS genau wie bei einer Konfiguration im PVE. Man nutzt halt nur nicht file-based-Sicherung. Wie in der Doku angemahnt, wird die Dedup-Rate nicht so gut sein, dafür geht die Sicherung schneller als file-based und vermutlich langsamer als mit borgbackup. Will man keine Downtime, müßte man den container auf ceph haben.
Last edited: