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!

  • ASRock N100DC-ITX

    Angeheftet Linux
    2
    0 Stimmen
    2 Beiträge
    2k Aufrufe
    FrankMF
    NVMe

    Die NVMe (Crucial P3 mit 500GB) ist, wenn ich das richtig verstehe, nur mit zwei Lanes an die CPU angebunden. Das macht dann

    root@asrock:~# dd if=/dev/zero of=test.img bs=1M count=4096 conv=fdatasync 4096+0 records in 4096+0 records out 4294967296 bytes (4.3 GB, 4.0 GiB) copied, 3.9673 s, 1.1 GB/s Frequenzen root@asrock:/sys/devices/system/cpu/cpu0/cpufreq# cat cpuinfo_min_freq 700000 root@asrock:/sys/devices/system/cpu/cpu0/cpufreq# cat cpuinfo_max_freq 3400000

    Aktuelle cpufreq

    analyzing CPU 3: driver: intel_pstate CPUs which run at the same hardware frequency: 3 CPUs which need to have their frequency coordinated by software: 3 maximum transition latency: 4294.55 ms. hardware limits: 700 MHz - 3.40 GHz available cpufreq governors: performance, powersave current policy: frequency should be within 700 MHz and 3.40 GHz. The governor "performance" may decide which speed to use within this range. current CPU frequency is 800 MHz.

    oder auch

    analyzing CPU 3: driver: intel_pstate CPUs which run at the same hardware frequency: 3 CPUs which need to have their frequency coordinated by software: 3 maximum transition latency: 4294.55 ms. hardware limits: 700 MHz - 3.40 GHz available cpufreq governors: performance, powersave current policy: frequency should be within 700 MHz and 3.40 GHz. The governor "performance" may decide which speed to use within this range. current CPU frequency is 1.63 GHz. iperf3 root@asrock:/sys/devices/system/cpu/cpu0/cpufreq# iperf3 -s ----------------------------------------------------------- Server listening on 5201 (test #1) ----------------------------------------------------------- Accepted connection from 192.168.3.213, port 50746 [ 5] local 192.168.4.7 port 5201 connected to 192.168.3.213 port 50750 [ ID] Interval Transfer Bitrate [ 5] 0.00-1.00 sec 112 MBytes 938 Mbits/sec [ 5] 1.00-2.00 sec 112 MBytes 941 Mbits/sec [ 5] 2.00-3.00 sec 112 MBytes 942 Mbits/sec [ 5] 3.00-4.00 sec 112 MBytes 940 Mbits/sec [ 5] 4.00-5.00 sec 112 MBytes 941 Mbits/sec [ 5] 5.00-6.00 sec 112 MBytes 941 Mbits/sec [ 5] 6.00-7.00 sec 112 MBytes 941 Mbits/sec [ 5] 7.00-8.00 sec 112 MBytes 941 Mbits/sec [ 5] 8.00-9.00 sec 112 MBytes 941 Mbits/sec [ 5] 9.00-10.00 sec 112 MBytes 939 Mbits/sec [ 5] 10.00-10.01 sec 547 KBytes 885 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate [ 5] 0.00-10.01 sec 1.10 GBytes 941 Mbits/sec receiver ----------------------------------------------------------- Server listening on 5201 (test #2) ----------------------------------------------------------- Accepted connection from 192.168.3.213, port 33692 [ 5] local 192.168.4.7 port 5201 connected to 192.168.3.213 port 33694 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 114 MBytes 959 Mbits/sec 0 600 KBytes [ 5] 1.00-2.00 sec 112 MBytes 939 Mbits/sec 0 628 KBytes [ 5] 2.00-3.00 sec 113 MBytes 948 Mbits/sec 0 659 KBytes [ 5] 3.00-4.00 sec 111 MBytes 933 Mbits/sec 0 768 KBytes [ 5] 4.00-5.00 sec 112 MBytes 944 Mbits/sec 0 768 KBytes [ 5] 5.00-6.00 sec 112 MBytes 944 Mbits/sec 0 768 KBytes [ 5] 6.00-7.00 sec 112 MBytes 944 Mbits/sec 0 768 KBytes [ 5] 7.00-8.00 sec 112 MBytes 944 Mbits/sec 0 768 KBytes [ 5] 8.00-9.00 sec 111 MBytes 933 Mbits/sec 0 823 KBytes [ 5] 9.00-10.00 sec 112 MBytes 944 Mbits/sec 0 823 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 1.10 GBytes 943 Mbits/sec 0 sender
  • Debian Bookworm 12 - Restic

    Linux
    1
    0 Stimmen
    1 Beiträge
    99 Aufrufe
    Niemand hat geantwortet
  • Docker - Portainer

    Linux
    3
    0 Stimmen
    3 Beiträge
    608 Aufrufe
    FrankMF

    Dann grabe ich das mal wieder aus 😉

    Bedingt durch den Wegfall meines Proxmox, musste ich mir Gedanken darüber machen, wie ein paar Dienste auch weiterhin laufen sollen. Um mal die zwei wichtigsten zu nennen.

    checkmk DokuWiki

    Diese sollen später, wenn der zweite NanoPi R5S aus China da ist, dort laufen. Da der aber mit der Schneckenpost kommt, kann man ja in der Zwischenzeit mal wieder mit Docker spielen.

    Ich erinnerte mich daran, das checkmk eine sehr gute Anleitung hat, so das ich das mal wieder ausprobierte. Klappte einwandfrei. Dann erinnerte mich an Portainer und dachte mir, das probiere ich mal wieder aus 🙂

    1d2dc9b3-ad71-45c5-b552-72c88a1bf773-grafik.png

    Ich hatte übrigens die Endpoints gesucht und nicht gefunden, die heißen jetzt Environments. Auf dem Bild ist noch keiner eingerichtet.

    4bdbf196-1b36-4e65-94d0-0e56daa473bf-grafik.png

    Irgendwie ist das wirklich richtig gute Software. Ich mag den Portainer und auch als selbst ausgebildeter ITler 😉 kommt man damit sehr schnell ganz gut zurecht.

    Ja, man kann die ganzen Docker Befehle auch über die Konsole eingeben, was ich normalerweise auch mit ganz vielen Dingen mache, aber das macht hier einfach Spaß. Man hat auch schnell einen guten Überblick was wo läuft usw.

    Wer so was sucht, einfach mal ausprobieren. Klare Empfehlung von mir.

  • OpenWrt - Sysupgrade

    OpenWRT & Ubiquiti ER-X
    1
    0 Stimmen
    1 Beiträge
    216 Aufrufe
    Niemand hat geantwortet
  • Mainline 5.11.x

    Images
    1
    0 Stimmen
    1 Beiträge
    220 Aufrufe
    Niemand hat geantwortet
  • Mail vom NAS verschicken

    Verschoben Linux
    1
    0 Stimmen
    1 Beiträge
    570 Aufrufe
    Niemand hat geantwortet
  • IPTables dauerhaft speichern

    Angeheftet Linux
    1
    0 Stimmen
    1 Beiträge
    441 Aufrufe
    Niemand hat geantwortet
  • Wireguard

    Verschoben Wireguard
    4
    0 Stimmen
    4 Beiträge
    792 Aufrufe
    FrankMF

    Etwas schnellerer Weg den Tunnel aufzubauen, Voraussetzung

    wireguard modul installiert Keys erzeugt

    Danach dann einfach

    ip link add wg0 type wireguard wg setconf wg0 /etc/wireguard/wg0.conf Datei /etc/wireguard/wg0.conf [Interface] PrivateKey = <Private Key> ListenPort = 60563 [Peer] PublicKey = <Public Key Ziel> Endpoint = <IPv4 Adresse Zielrechner>:58380 AllowedIPs = 10.10.0.1/32

    Die Rechte der Dateien von wireguard müssen eingeschränkt werden.

    sudo chmod 0600 /etc/wireguard/wg0.conf

    Das ganze per rc.local beim Booten laden. Datei /root/wireguard_start.sh

    ############################################################################################### # Autor: Frank Mankel # Startup-Script # Wireguard # Kontakt: frank.mankel@gmail.com # ############################################################################################### ip link add wg0 type wireguard ip address add dev wg0 10.10.0.1/8 wg setconf wg0 /etc/wireguard/wg0.conf ip link set up dev wg0

    Danach Datei ausführbar machen

    chmod +x /root/wireguard_start.sh

    In rc.local

    /root/wireguard_start.sh

    eintragen - Fertig!