Skip to content

NAS 2023 - Thema Datensicherung

Verschoben Linux
2 1 225
  • 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!

  • Linux grows again.

    Uncategorized linux growth free freedom open
    1
    0 Stimmen
    1 Beiträge
    15 Aufrufe
    Niemand hat geantwortet
  • Fedora 42

    Linux fedora linux btrfs
    2
    2
    0 Stimmen
    2 Beiträge
    448 Aufrufe
    FrankMF
    Ich habe mir gestern den Cosmic Desktop angesehen. Davon abgesehen, das er noch ein sehr frühes Stadium ist, hat er mir nicht wirklich gefallen. Also heute mal die Referenz von Fedora installiert, die Workstation mit Gnome Desktop. Wer hier lange mitliest, weiß das ich kein Fanboy vom Gnome Desktop bin. Aber ich wollte unbedingt mal den Anaconda Installer sehen. Der ist richtig gut geworden und das man jetzt das Tastaturlayout für die Verschlüsselung einstellen kann, wird hoffentlich in Zukunft verhindern, das ich mit einer amerikanischen Tastatur meine Passphrase eingeben muss Da war ja vorher bei meinen Test das Problem, das ich nach Standby nicht über die Tastatur aufwecken konnte. Das war eine Einstellung im BIOS, irgendwas mit Wakeup/BIOS/USB Jetzt funktioniert das auch einwandfrei. Und zu Gnome sag ich mal nichts, ich bin da vermutlich zu alt für Ich lasse es aber mal ein paar Tage auf der Platte, vielleicht erkenne ich ja noch seinen Nutzen. Zum Schluss, das schöne an FOSS ist, wir haben die Wahl welchen Desktop wir installieren dürfen. Fedora 42 sieht gut aus und läuft rund. Jetzt mal suchen, wo ich in Gnome diese beschissene Updateverhalten ausschalten kann, was aussieht wie ein Windows. Das braucht nun wirklich niemand.
  • Linux Mint "Una" Cinnamon 20.3

    Linux linuxmint 20.3 linux
    7
    0 Stimmen
    7 Beiträge
    561 Aufrufe
    FrankMF
    Heute drüber gestolpert, man hat sich auch der alten Version des Thunderbirds angenommen. [image: 1643042911134-0aa9e265-95b3-4de6-a8c8-b23c5b980f09-grafik.png] Damit sind zwei wichtige Programme jetzt hoffentlich immer auf dem aktuellsten Stand.
  • FreeOTP+

    Linux linux freeotp+
    3
    1
    0 Stimmen
    3 Beiträge
    678 Aufrufe
    FrankMF
    Falls mal jemand von FreeOTP+ zum Bitwarden Authenticator wechseln möchte, ich habe da mal was gebaut https://forgejo.linux-nerds.org/frank/freeotpplus-export-to-bitwarden-authenticator
  • ROCKPro64 - PCIe NVMe SSD installieren

    Hardware linux rockpro64
    1
    0 Stimmen
    1 Beiträge
    365 Aufrufe
    Niemand hat geantwortet
  • Wireguard 1.0.0

    Wireguard linux wireguard
    1
    0 Stimmen
    1 Beiträge
    547 Aufrufe
    Niemand hat geantwortet
  • Restic - forget --keep-last 3 --prune

    Restic linux restic
    2
    0 Stimmen
    2 Beiträge
    689 Aufrufe
    FrankMF
    Ich habe mich damit noch ein wenig beschäftigt, die letzten drei zu behalten, ist nicht so optimal. Da es viele Optionen bei dem Befehl gibt, hier ein Ausschnitt Flags: -l, --keep-last n keep the last n snapshots -H, --keep-hourly n keep the last n hourly snapshots -d, --keep-daily n keep the last n daily snapshots -w, --keep-weekly n keep the last n weekly snapshots -m, --keep-monthly n keep the last n monthly snapshots -y, --keep-yearly n keep the last n yearly snapshots habe ich das ein wenig so angepasst, das ich denke es passt für mich. restic --password-file /root/passwd -r /media/NAS_neu/Restic/Home/ forget --keep-last 3 --keep-monthly 3 --prune Damit behalte ich auch die jeweils eines pro Monat. Und die letzten drei. Das sieht dann so aus. root@debian:~# ./backup2.sh repository 2f3f6147 opened successfully, password is correct Files: 38 new, 100 changed, 13268 unmodified Dirs: 0 new, 1 changed, 0 unmodified Added to the repo: 10.166 GiB processed 13406 files, 50.324 GiB in 3:24 snapshot 849f614c saved repository 2f3f6147 opened successfully, password is correct Applying Policy: keep the last 3 snapshots, 3 monthly snapshots snapshots for (host [debian], paths [/home/frank]): keep 5 snapshots: ID Time Host Tags Reasons Paths ------------------------------------------------------------------------------------ a7251cfd 2019-11-28 17:00:01 debian monthly snapshot /home/frank 283d4027 2019-12-31 17:00:01 debian monthly snapshot /home/frank ae2b96ec 2020-01-01 21:47:46 debian last snapshot /home/frank 079e00a6 2020-01-02 17:00:01 debian last snapshot /home/frank 849f614c 2020-01-03 21:08:45 debian last snapshot /home/frank monthly snapshot ------------------------------------------------------------------------------------ 5 snapshots remove 26 snapshots: ID Time Host Tags Paths ------------------------------------------------------------------ 896f16c2 2019-11-07 22:23:40 debian /home/frank b21bcf6d 2019-11-11 17:00:01 debian /home/frank f89248fb 2019-11-12 17:00:01 debian /home/frank 123ab546 2019-11-13 17:00:01 debian /home/frank b82d87d0 2019-11-18 17:00:01 debian /home/frank 040b0ab7 2019-11-19 17:00:01 debian /home/frank 7221d8ef 2019-11-20 17:00:01 debian /home/frank 84132a25 2019-11-21 17:00:01 debian /home/frank b558a52c 2019-11-25 17:00:01 debian /home/frank e5cc0c3e 2019-12-02 17:00:01 debian /home/frank 22423fa5 2019-12-03 17:00:01 debian /home/frank 39df1ab9 2019-12-04 17:00:01 debian /home/frank 98843457 2019-12-05 17:00:01 debian /home/frank b0cdd4b6 2019-12-09 17:00:01 debian /home/frank 828414f9 2019-12-10 17:00:01 debian /home/frank e34a27c3 2019-12-11 17:00:01 debian /home/frank 6e488c3b 2019-12-12 17:00:01 debian /home/frank 17898403 2019-12-16 17:00:01 debian /home/frank 1973305a 2019-12-17 17:00:01 debian /home/frank 9553bedd 2019-12-18 17:00:01 debian /home/frank fedf749d 2019-12-19 17:00:01 debian /home/frank 8e7cb876 2019-12-23 17:00:01 debian /home/frank 0bd0d102 2019-12-25 17:00:01 debian /home/frank 13d348b0 2019-12-26 17:00:01 debian /home/frank c7d960aa 2019-12-30 17:00:01 debian /home/frank f6ea9118 2020-01-01 17:00:01 debian /home/frank ------------------------------------------------------------------ 26 snapshots 26 snapshots have been removed, running prune counting files in repo building new index for repo [0:35] 100.00% 7806 / 7806 packs repository contains 7806 packs (46537 blobs) with 41.110 GiB processed 46537 blobs: 0 duplicate blobs, 0 B duplicate load all snapshots find data that is still in use for 5 snapshots [0:01] 100.00% 5 / 5 snapshots found 32654 of 46537 data blobs still in use, removing 13883 blobs will remove 0 invalid files will delete 715 packs and rewrite 752 packs, this frees 5.027 GiB [2:28] 100.00% 752 / 752 packs rewritten counting files in repo [0:01] 100.00% 6571 / 6571 packs finding old index files saved new indexes as [d137b425 f7caee99 a6e9711a] remove 35 old index files [1:13] 100.00% 1467 / 1467 packs deleted done using temporary cache in /tmp/restic-check-cache-916655151 repository 2f3f6147 opened successfully, password is correct created new cache in /tmp/restic-check-cache-916655151 create exclusive lock for repository load indexes check all packs check snapshots, trees and blobs read all data [7:47] 100.00% 6571 / 6571 items duration: 7:47 no errors were found root@debian:~# Am Ende seht ihr noch, wie Restic alle Files testet. Mein Script sieht jetzt so aus. #!/bin/bash # Script um mit Restic Daten automatisiert zu sichern! # Dient zum Sichern der Homepartition auf dem ROCKPro64 NAS! # Was soll gesichert werden? backup_pfad=/home/frank # Programm Start restic --password-file /root/passwd -r /media/NAS_neu/Restic/Home/ backup $backup_pfad --exclude-file=excludes.txt restic --password-file /root/passwd -r /media/NAS_neu/Restic/Home/ forget --keep-last 3 --keep-monthly 3 --prune # Testen restic --password-file /root/passwd -r /media/NAS_neu/Restic/Home/ check --read-data Das dann schön mit einem Cronjob laufen lassen und die Datensicherung ist erledigt
  • Restic - Rootserver als Datenablage nutzen

    Restic linux restic
    2
    0 Stimmen
    2 Beiträge
    823 Aufrufe
    FrankMF
    Ok, das erste Backup dauert immer was länger In meinem Fall 5 Std. 16 Minuten. Files: 33408 new, 0 changed, 0 unmodified Dirs: 1 new, 0 changed, 0 unmodified Data Blobs: 20849 new Tree Blobs: 2 new Added to the repo: 6.278 GiB processed 33408 files, 8.604 GiB in 5:16:03 snapshot 5beg1cb3 saved Aber, das Schöne ist, das die Backups inkrementell angelegt werden. Das nächste geht schneller open repository repository 3gg202a2 opened successfully, password is correct lock repository load index files using parent snapshot 5beg1cb3 start scan on [/home/frank] start backup on [/home/frank] scan finished in 3.791s: 33788 files, 8.611 GiB Files: 496 new, 74 changed, 33218 unmodified Dirs: 0 new, 1 changed, 0 unmodified Data Blobs: 292 new Tree Blobs: 2 new Added to the repo: 43.661 MiB processed 33788 files, 8.611 GiB in 2:15 snapshot fag41bf7 saved Eine tägliche Sicherung sollte dann wohl reichen.