NAS 2023 - Thema Datensicherung
-
Ein Thema was immer wichtig ist, sind Datensicherungen. Das ist bei einem Proxmox als NAS nicht anders.
Ich hatte ja hier noch einen Proxmox Backup Server rumstehen und habe den auch wieder aktiviert, aber das ist mir doch ein wenig zu aufwendig. Ich musste den Sonntags morgens immer einschalten, dann warten bis die Backups fertig waren und dann wieder ausschalten. Ich bin faul, das muss auch anders gehen.
Auf dem Proxmox kann man ja auch Backups einrichten. Das habe ich so eingerichtet, das die Backups auf dem lokalen Speicher landen. In meinem Fall auf dem NVMe SSD Riegel, der das Proxmox System enthält.
Mein eigentliches NAS, eine Debian VM mit Samba, ist nicht enthalten. Die sicher ich anders, da mir die VM zu groß ist. Dazu später mehr.
Nun werden regelmäßig die Backups angelegt und liegen in folgendem Ordner.
root@pve:~# ls -lha /var/lib/vz/dump/ total 12G drwxr-xr-x 2 root root 4.0K Jun 9 07:04 . drwxr-xr-x 5 root root 4.0K May 4 22:51 .. -rw-r--r-- 1 root root 6.2K May 31 07:02 vzdump-qemu-100-2023_05_31-07_00_07.log -rw-r--r-- 1 root root 1.6G May 31 07:02 vzdump-qemu-100-2023_05_31-07_00_07.vma.zst -rw-r--r-- 1 root root 7 May 31 07:02 vzdump-qemu-100-2023_05_31-07_00_07.vma.zst.notes -rw-r--r-- 1 root root 6.4K Jun 8 07:02 vzdump-qemu-100-2023_06_08-07_00_09.log -rw-r--r-- 1 root root 1.6G Jun 8 07:02 vzdump-qemu-100-2023_06_08-07_00_09.vma.zst -rw-r--r-- 1 root root 7 Jun 8 07:02 vzdump-qemu-100-2023_06_08-07_00_09.vma.zst.notes -rw-r--r-- 1 root root 6.3K Jun 9 07:02 vzdump-qemu-100-2023_06_09-07_00_08.log -rw-r--r-- 1 root root 1.6G Jun 9 07:02 vzdump-qemu-100-2023_06_09-07_00_08.vma.zst -rw-r--r-- 1 root root 7 Jun 9 07:02 vzdump-qemu-100-2023_06_09-07_00_08.vma.zst.notes -rw-r--r-- 1 root root 400 May 20 13:11 vzdump-qemu-102-2023_05_20-13_11_46.log -rw-r--r-- 1 root root 2.6K May 31 07:03 vzdump-qemu-103-2023_05_31-07_02_35.log -rw-r--r-- 1 root root 948M May 31 07:03 vzdump-qemu-103-2023_05_31-07_02_35.vma.zst -rw-r--r-- 1 root root 8 May 31 07:03 vzdump-qemu-103-2023_05_31-07_02_35.vma.zst.notes -rw-r--r-- 1 root root 2.6K Jun 8 07:03 vzdump-qemu-103-2023_06_08-07_02_45.log -rw-r--r-- 1 root root 945M Jun 8 07:03 vzdump-qemu-103-2023_06_08-07_02_45.vma.zst -rw-r--r-- 1 root root 8 Jun 8 07:03 vzdump-qemu-103-2023_06_08-07_02_45.vma.zst.notes -rw-r--r-- 1 root root 2.9K Jun 9 07:03 vzdump-qemu-103-2023_06_09-07_02_41.log -rw-r--r-- 1 root root 1.2G Jun 9 07:03 vzdump-qemu-103-2023_06_09-07_02_41.vma.zst -rw-r--r-- 1 root root 8 Jun 9 07:03 vzdump-qemu-103-2023_06_09-07_02_41.vma.zst.notes -rw-r--r-- 1 root root 3.0K May 31 07:04 vzdump-qemu-104-2023_05_31-07_03_14.log -rw-r--r-- 1 root root 1.3G May 31 07:04 vzdump-qemu-104-2023_05_31-07_03_14.vma.zst -rw-r--r-- 1 root root 3 May 31 07:04 vzdump-qemu-104-2023_05_31-07_03_14.vma.zst.notes -rw-r--r-- 1 root root 3.3K Jun 8 07:04 vzdump-qemu-104-2023_06_08-07_03_24.log -rw-r--r-- 1 root root 1.5G Jun 8 07:04 vzdump-qemu-104-2023_06_08-07_03_24.vma.zst -rw-r--r-- 1 root root 3 Jun 8 07:04 vzdump-qemu-104-2023_06_08-07_03_24.vma.zst.notes -rw-r--r-- 1 root root 3.6K Jun 9 07:04 vzdump-qemu-104-2023_06_09-07_03_28.log -rw-r--r-- 1 root root 1.7G Jun 9 07:04 vzdump-qemu-104-2023_06_09-07_03_28.vma.zst -rw-r--r-- 1 root root 3 Jun 9 07:04 vzdump-qemu-104-2023_06_09-07_03_28.vma.zst.notes
Man kann im Proxmox Backup einstellen, wie viele Backup er auf Vorrat behalten soll. Ich habe aktuell, das hier eingestellt.
Er behält immer die zwei letzten und von jedem Monat eines. Das können dann bis zu 14 Stück sein. Für jeden Monat (12) plus die zwei letzten.
Ok, so weit passt das schon mal für mich. Ich halte meine Backups aber immer gerne an mindestens zwei Orten auf. Nur auf dem Proxmox ist nicht so wirklich toll.
Für die Datensicherung des NAS habe ich im Haupt-PC eine 4TB Platte eingebaut, da ist auch noch Platz für die Dumps der VMs. Dazu habe ich in Vergangenheit auch schon mal ein paar Scripte geschrieben. Hier das Erste dafür.
Ich möchte aktuell, nur den Neuesten Dump der VM sichern. Dazu gibt es auf dem Proxmox folgendes Script.
create_vm_list.sh
#!/bin/bash ############################################################################### # Autor: Frank Mankel # # VM-Liste erzeugen ############################################################################### # Arbeitsverzeichnis einstellen cd /var/lib/vz/dump/ rm /root/vmliste.txt # Nur die aktuellste Datei suchen vm100=$(ls -1tr --group-directories-first vzdump-qemu-100*.vma.zst | tail -n 1) echo -e "$vm100" > /root/vmliste.txt vm103=$(ls -1tr --group-directories-first vzdump-qemu-103*.vma.zst | tail -n 1) echo -e "$vm103" >> /root/vmliste.txt vm104=$(ls -1tr --group-directories-first vzdump-qemu-104*.vma.zst | tail -n 1) echo -e "$vm104" >> /root/vmliste.txt
Das Ergebnis ist eine Textdatei, die nur die aktuellsten Dumps enthält.
vzdump-qemu-100-2023_06_09-07_00_08.vma.zst vzdump-qemu-103-2023_06_09-07_02_41.vma.zst vzdump-qemu-104-2023_06_09-07_03_28.vma.zst
Jetzt geht es auf dem Haupt-PC weiter. Dort gibt es folgendes Script
backup_vms.sh
#!/bin/bash ############################################################################### # Autor: Frank Mankel # Proxmox Backup-Script ############################################################################### # Arbeitsverzeichnis einstellen cd /mnt/Backup_PVE/Backup_VMs_Proxmox/ # Dateiliste holen scp root@192.168.178.218:/root/vmliste.txt . echo "Datei gesichert" # Name der Dateiliste datei=/mnt/Backup_PVE/Backup_VMs_Proxmox/vmliste.txt # VM100 vm=$(head -n 1 $datei | tail -n 1) echo $vm "wird gesichert" scp root@192.168.178.218:/var/lib/vz/dump/$vm . # VM103 vm=$(head -n 2 $datei | tail -n 1) echo $vm "wird gesichert" scp root@192.168.178.218:/var/lib/vz/dump/$vm . # VM104 vm=$(head -n 3 $datei | tail -n 1) echo $vm "wird gesichert" scp root@192.168.178.218:/var/lib/vz/dump/$vm . echo "Done." ### Wir löschen alles was älter als 5 Tage ist! find -name "*.vma.zst*" -mtime +5 -exec rm {} \;
Das Script holt sich die Textdatei und kann nun nachsehen, welche aktuellen Dumps vorhanden sind. Diese werden dann per scp vom Proxmox abgeholt und gesichert. Das ganze jetzt per crontab einrichten und fertig.
Ok, blieb noch das NAS. Eine VM, die mir mittels Samba de Daten zur Verfügung stellt. Die Daten liegen verschlüsselt auf einem ZFS Raid. Die ganze VM zu sichern erschien mir als zu aufwendig. Da ich die Daten ja auf meinem Haupt-PC sowieso gemountet habe, war es ja ein einfaches die Daten dort zu sichern. Dazu nutze ich einfach Restic und sicher damit die Daten einmal pro Woche.
Damit hat der Proxmox Backup Server für mich keine Notwendigkeit mehr.
Bleibt jetzt nur noch die Frage, ob ich die VMs noch extern sichere, mal nachdenken
-
-
Bleibt noch etwas wichtiges. Die ganzen Konfigurationsdateien vom Proxmox Host. Sinnvoll, das man sich das sichert.
#!/bin/bash # Script um mit Restic Daten automatisiert zu sichern! # Dient zum Sichern des Ordners /etc/pve! # Was soll gesichert werden? backup_pfad=/etc/pve # Programm Start restic --password-file /root/passwd -r /mnt/pve/Restic_Backups/pve backup $backup_pfad > backup_pve_001.log restic --password-file /root/passwd -r /mnt/pve/Restic_Backups/pve forget --keep-last 3 --keep-monthly 3 --prune >> backup_pve_002.log # Testen restic --password-file /root/passwd -r /mnt/pve/Restic_Backups/pve check --read-data >> backup_pve_003.log
Crontab eingerichtet - fertig!