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!

  • Proxmox - HomeAssistant

    Proxmox
    1
    0 Stimmen
    1 Beiträge
    323 Aufrufe
    Niemand hat geantwortet
  • Update 1.30.3 released

    Vaultwarden
    1
    0 Stimmen
    1 Beiträge
    102 Aufrufe
    Niemand hat geantwortet
  • Docker & Redis Datenbank

    Verschoben Linux
    2
    0 Stimmen
    2 Beiträge
    199 Aufrufe
    FrankMF

    @FrankM sagte in Docker & Redis Datenbank:

    save 60 1
    #save 900 1
    save 300 10
    save 60 10000

    Hier kann man auch noch schön sehen, wie ich gekämpft habe, bis ich mal eine dump.rdb gesehen habe. Auch irgendwie logisch, das ich nie eine gesehen hatte, wenn man weiß das

    save 900 1

    bedeutet, das er alle 900 Sekunden speichert, wenn mindestens eine Änderung vorhanden ist. Das kann dann schon was dauern. Ich habe das dann mal verkürzt, damit ich schneller ein Ergebnis habe.

    save 60 1

    Das brachte mich dann dem Ziel näher. Danach konnte ich die dump.rdb auch finden.

    Bitte keine Redis DB ohne Passwort laufen lassen!
  • Ubiquiti ER-X - DMZ

    Verschoben OpenWRT & Ubiquiti ER-X
    1
    0 Stimmen
    1 Beiträge
    251 Aufrufe
    Niemand hat geantwortet
  • checkmk - systemd crasht

    Verschoben checkmk
    1
    0 Stimmen
    1 Beiträge
    473 Aufrufe
    Niemand hat geantwortet
  • IPTables Logging

    Linux
    1
    0 Stimmen
    1 Beiträge
    287 Aufrufe
    Niemand hat geantwortet
  • Wenn dir der Redis-Server flöten geht....

    Verschoben Redis
    3
    0 Stimmen
    3 Beiträge
    556 Aufrufe
    FrankMF

    So, nach einer kleinen Pause und ein wenig nachdenken ist mir doch noch was eingefallen 😉

    Backports! Man so einfach!

    nano /etc/apt/sources.list

    Das folgende eintragen.

    # backports deb http://deb.debian.org/debian stretch-backports main

    Danach ein

    apt update

    Und dann schauen wir uns mal die Version an....

    apt -t stretch-backports search redis-server Sorting... Done Full Text Search... Done golang-github-stvp-tempredis-dev/stretch-backports 0.0~git20160122.0.83f7aae-1~bpo9+1 all Go package to start and stop temporary redis-server processes libtest-redisserver-perl/oldstable,oldstable 0.20-1 all redis-server runner for tests python-hiredis/oldstable,oldstable 0.2.0-1+b2 amd64 redis protocol reader for Python 2.X using hiredis python3-hiredis/oldstable,oldstable 0.2.0-1+b2 amd64 redis protocol reader for Python using hiredis redis/stretch-backports 5:5.0.3-3~bpo9+2 all Persistent key-value database with network interface (metapackage) redis-server/stretch-backports 5:5.0.3-3~bpo9+2 amd64 [residual-config] Persistent key-value database with network interface

    Und die habe ich gestern Abend gebaut.

    127.0.0.1:6379> INFO # Server redis_version:5.0.5

    Ok, das schmerzt jetzt 😛

  • Restic - Ein Backupkonzept

    Angeheftet Restic
    1
    0 Stimmen
    1 Beiträge
    1k Aufrufe
    Niemand hat geantwortet