Skip to content

NAS 2023 - Thema Datensicherung

Verschoben Linux
  • 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.

    0a31ef21-9844-4995-a6b4-1e4232b80806-grafik.png

    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.

    72206382-2dc3-4d15-97e9-f228ca93ff90-grafik.png

    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 🤔

  • FrankMF FrankM verschob dieses Thema von Privat am
  • 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!

  • Podman - Secrets

    Podman podman linux
    1
    0 Stimmen
    1 Beiträge
    142 Aufrufe
    Niemand hat geantwortet
  • Fedora 40 - Updates

    Linux fedora linux kde
    1
    3
    0 Stimmen
    1 Beiträge
    202 Aufrufe
    Niemand hat geantwortet
  • Semaphore - Installation & Anwendung

    Verschoben Ansible semaphore ansible linux
    4
    9
    0 Stimmen
    4 Beiträge
    2k Aufrufe
    FrankMF
    Ich parke das mal hier, damit ich das nicht noch mal vergesse. Hat mich eben mal wieder eine Stunde gekostet /etc/ansible/ansible.cfg [defaults] host_key_checking = False Edit -> https://linux-nerds.org/topic/1493/ansible-host_key_checking
  • Mastodon - Beiträge des NodeBB-Forums automatisiert posten

    Linux mastodon linux
    9
    1
    0 Stimmen
    9 Beiträge
    497 Aufrufe
    FrankMF
    Ergänzt um eine automatische Übernahme der Tags aus dem Forum. Man muss den Beiträgen in Mastodon ja auch Reichweite geben
  • Cockpit

    Linux linux
    1
    1
    0 Stimmen
    1 Beiträge
    257 Aufrufe
    Niemand hat geantwortet
  • Installation von Grav & NGinx & PHP7.2

    Angeheftet Verschoben Grav grav linux
    2
    1
    0 Stimmen
    2 Beiträge
    1k Aufrufe
    FrankMF
    Nachdem ich den ROCKPro64 jetzt auf den Mainline umgestellt habe, lief meine Testinstallation von Grav nicht mehr. Hilfreiche Sache um das Problem zu lösen -> https://gist.github.com/GhazanfarMir/03bd1f1f770a3834d47274586d46ea62 Ich bekam immer 502 Bad Gateway, Grund war ein nicht korrekt gestarteter php-pfm Service. rock64@rockpro64v2_0:/usr/local/bin$ sudo service php7.2-fpm start rock64@rockpro64v2_0:/usr/local/bin$ sudo service php7.2-fpm status ● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2018-08-16 20:15:20 CEST; 21s ago Docs: man:php-fpm7.2(8) Main PID: 3206 (php-fpm7.2) Status: "Processes active: 0, idle: 2, Requests: 3, slow: 0, Traffic: 0.2req/sec" Tasks: 3 (limit: 4622) CGroup: /system.slice/php7.2-fpm.service ├─3206 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf) ├─3207 php-fpm: pool www └─3208 php-fpm: pool www Aug 16 20:15:19 rockpro64v2_0 systemd[1]: Starting The PHP 7.2 FastCGI Process Manager... Aug 16 20:15:20 rockpro64v2_0 systemd[1]: Started The PHP 7.2 FastCGI Process Manager.
  • Ubuntu Bionic - IP Adresse ändern

    Angeheftet Verschoben Linux linux
    1
    0 Stimmen
    1 Beiträge
    2k Aufrufe
    Niemand hat geantwortet
  • Let'sEncrypt auf Debian-Server einbauen

    Verschoben Let's Encrypt letsencrypt linux
    1
    0 Stimmen
    1 Beiträge
    826 Aufrufe
    Niemand hat geantwortet