Linux und Windows HelpDesk

Trim vor Backup ausführen (Linux-VM).

Wenn man wie man es sollte, regelmäßig Backups von seinen VMs anfertigt, bemerkt man womöglich, dass diese ohne weiteres Zutun, von mal zu mal größer werden. Um das zu verhindern, sollte vor dem Backup der Trim-Befehl in der VM aufgerufen werden.

Um dies zu automatisieren bietet es sich an, den Trim-Befehl vom Backup-Job ausführen zu lassen und dafür das Hook-Script zu nutzen.
Unter /usr/share/doc/pve-manager/examples/vzdump-hook-script.pl findet sich bereits eine Vorlage, welche man an den Ort seiner Wahl kopiert.

Mit den folgenden Zeilen im Hook-Script wird vor dem Backup ein trimmen der Root- und der Boot-Partition ausgeführt. Die Pfade müssen evtl. an die eigenen Gegebenheiten angepasst werden.
Man fügt die Zeilen am besten nach dem letzten # example: Abschnitt, vor der Zeile "} else {" ein. (Ab Zeile 87 in der derzeitigen vzdump-hook-script.pl)

# fstrim vor backup
if ($phase eq 'backup-start') {
system ("/usr/sbin/qm guest exec $vmid -- fstrim -v /boot ; /usr/sbin/qm guest exec $vmid -- fstrim -v /") == 0 ||
warn "Fehler bei fstrim von $hostname auf VM-$vmid";
}

Anschließend fügt man in die Datei /etc/vzdump.conf den Pfad zum Hook-Script ein.

script: /$PFAD/vzdump-hook-script.pl

Von nun an wird vor dem Backup in den VMs der Trim-Befehl ausgeführt.
Bei VMs, in denen es den Befehl in dieser Art nicht gibt, erscheint lediglich eine kurze Meldung im Log-File, der Backup-Job wird dann wie bisher ohne Trim ausgeführt.