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!

  • 450 Stimmen
    27 Beiträge
    159 Aufrufe
    A
    This is the kind of news I want to keep seein’!
  • OpenCloud - Storage Backends testen

    OpenCloud opencloud linux docker
    2
    0 Stimmen
    2 Beiträge
    147 Aufrufe
    FrankMF
    So, mal weiter damit beschäftigen. Also, durch meine ganze Testerei war doch ein Haufen Müll angefallen. dockeruser@opencloud:~/opencloud/deployments/examples/opencloud_full$ docker volume ls DRIVER VOLUME NAME local 0fcd6f237898477b251f3dacb6cd083996092b783f991f899b06d89befc41b1e local 1d8df3f5d41613ad93ed753ce2102a14738cf00e8e7d127ec79881660be291ab local 3b612ce20b207c226640d6b84c32c788cd0fad9f9157578c2310f4b3db63dd29 local 5dfdde733fefb9fdb805acec8338a860762e88cd0753f4bb4098a19fbcd4b6c3 local 6bd5659759fb99b0d0613175d2392ca268dbdb3bd0353b85ccdf9a6004e798c0 local 6f8881420aa0e7713ed5308e635fcb9382939b6570afbd1d776866a07f6d61f2 local 29f7d20edd9eda935041cea7af5aab0af748175d7df8f345288463753d2afa9a local 66ca6287706aac5013b458a109e7c143c4fb177670734fc7a0f68495b1c62fd4 local 74d304835ef51f91226cc22dbbd494d2ddc9a4d91badf88814cae24126efd04a local 0203eb654c1f28a60899ded4660fb101ea222a5f8c86a225d39f3e5da877f1c0 local 271c474feb2ed915afb8efa85e422461fcfdf8acd4097355841eadf33847b7ef local 569a8c34804afd5861299973bed023c0146f40c0dbda0d980b8651bbcadc7fc9 local 655b1f446b5db9749787d4be4445887dcb3d19906d4244d059a0f292a6cd5f01 local 843bb8d0d7845adab06e146c44b153b842d5a1a1d8eb3972bdee1d3cbcb7e815 local 987ee19b8639ad5fffabba276ceb1ca09af6ebc66efb007e561570589c9c53a8 local 1004f5b7b161a4fe37a07d7960740e5cd09b90d5744f1922fb3e41c1265f800a local 2043c77b57728106cbcca8b7e2d3ae2f07ddf4ca44ee21fca232526c95e07381 local 3685c81df1be0061352dfc5b0e6db8d8d9f9b0915a271f1ca53d2796a7876805 local 9581abcfb4fb42b2fabfabbc8139cc4659ca83d92a8b60041957565409293ef4 local 796650f1fa887ff0b153822b268a10aa3579f4f2ca3ce6855ff292e49b3bb6b8 local 426251107e3131a250b27b96e795355332127f19ccf1ec8252860aff5d0caec8 local bd43ceef38448db348cc34e7dc5c4fee9c834d8b6c5957b1e6cdb83cec7b0974 local d94e7ce6c0fb1f4f7b811f624b4526ea889f2f8b99d2aa1b21e79d00dfeb38d0 local e87a27c307a8be80839fae1c006273d57570bb99f60c78c95e86a1e9ea1a786c local f2b3e30406db730e2a341850243c115b6eb231f30f41f5353c7b2427de39af75 local opencloud_full_certs local opencloud_full_opencloud-apps local opencloud_full_opencloud-config local opencloud_full_opencloud-data Oje, das sieht ziemlich vermüllt aus. Dann mal ganz mutig alles löschen. Vorher alles gestoppt. docker compose down Volume löschen, nur ein Beispiel docker volume rm opencloud_full_opencloud-data Alles gelöscht. Dann mal ein Neustart docker compose up -d Jetzt sieht das schon viel besser aus. dockeruser@opencloud:~/opencloud/deployments/examples/opencloud_full$ docker volume ls DRIVER VOLUME NAME local 3737a8eab68ffdc08d6e41493346feeb2e06ef350a210213ab450775318e49f8 local opencloud_full_opencloud-apps Da ich neugierig bin, schauen wir mal rein. root@opencloud:~ ls -lha /var/lib/docker/volumes/3737a8eab68ffdc08d6e41493346feeb2e06ef350a210213ab450775318e49f8/_data/web/assets/apps/ total 8.0K drwxr-x--x 2 dockeruser dockeruser 4.0K May 19 18:25 . drwxr-x--x 3 dockeruser dockeruser 4.0K May 31 10:21 .. Vermutlich ein Speicher, wo die Web Apps was ablegen können. Der andere zeigt es dann klarer. root@opencloud-4gb-fsn1-2:~# ls -lha /var/lib/docker/volumes/opencloud_full_opencloud-apps/_data total 28K drwxr-x--x 7 dockeruser dockeruser 4.0K May 31 10:22 . drwx-----x 3 root root 4.0K May 31 10:21 .. drwxr-xr-x 2 root root 4.0K May 31 10:22 draw-io drwxr-xr-x 2 root root 4.0K May 31 10:21 external-sites drwxr-xr-x 3 root root 4.0K May 31 10:22 json-viewer drwxr-xr-x 2 root root 4.0K May 31 10:22 progress-bars drwxr-xr-x 3 root root 4.0K May 31 10:22 unzip Ok, das sollte mir erst mal reichen. Meine Installation lagert die certs ja aus, das habe ich im docker compose geändert. dockeruser@opencloud:~/opencloud/deployments/examples/opencloud_full$ ls -lha certs/ total 44K drwxr-xr-x 2 dockeruser dockeruser 4.0K May 30 05:49 . drwxr-xr-x 6 dockeruser dockeruser 4.0K May 31 10:38 .. -rw------- 1 dockeruser dockeruser 33K May 29 11:00 acme.json Im docker-compose.yml volumes: - ./certs:/certs # bind-mount acme.json Der Grund dafür ist, das ich das docker-compose nicht als root laufen haben möchte. Die Hauptdaten sind nach lokal ausgelagert. OC_CONFIG_DIR=/home/dockeruser/oc_data/config OC_DATA_DIR=/home/dockeruser/oc_data/data Somit sollte jetzt alles so passen und ich muss mal langsam mit der Spielerei aufhören
  • NodeBB - v3.6.0

    NodeBB nodebb linux
    1
    0 Stimmen
    1 Beiträge
    135 Aufrufe
    Niemand hat geantwortet
  • Links zu Vaultwarden

    Angeheftet Vaultwarden vaultwarden bitwarden linux
    1
    0 Stimmen
    1 Beiträge
    170 Aufrufe
    Niemand hat geantwortet
  • Manjaro Stable-Update vom 20.02.23

    Linux manjaro docker linux
    2
    0 Stimmen
    2 Beiträge
    201 Aufrufe
    FrankMF
    Ich konnte es nicht lassen, ich habe es mal getestet.    ~  docker version  ✔  1m 37s  Client: Version: 23.0.1 API version: 1.42 Go version: go1.20 Git commit: a5ee5b1dfc Built: Sat Feb 11 13:58:04 2023 OS/Arch: linux/amd64 Context: default In der aktuellen systemd Datei steht folgendes drin. Bei mir zu finden unter /usr/lib/systemd/system/docker.service LimitNOFILE=infinity LimitNPROC=infinity LimitCORE=infinity Die override Dateien angelegt und durchgestartet. Läuft alles einwandfrei. Aber bitte fragt mich nicht, was dieser Wert da oben macht. Ich habe keine Ahnung. Update: Erklärung zu ulimits https://stackoverflow.com/questions/62127643/need-understand-ulimits-nofile-setting-in-host-and-container
  • Proxmox - Hetzner Storage Box in VM einbinden

    Proxmox proxmox restic rest-server
    1
    1
    0 Stimmen
    1 Beiträge
    3k Aufrufe
    Niemand hat geantwortet
  • Ubiquiti ER-X - iperf

    Verschoben OpenWRT & Ubiquiti ER-X openwrt linux er-x
    2
    1
    0 Stimmen
    2 Beiträge
    363 Aufrufe
    FrankMF
    Hier noch ein Test von DMZ / LAN und andersrum. frank@frank-MS-7C37:~$ iperf3 -c 192.168.5.15 Connecting to host 192.168.5.15, port 5201 [ 5] local 192.168.3.213 port 44052 connected to 192.168.5.15 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 114 MBytes 952 Mbits/sec 314 153 KBytes [ 5] 1.00-2.00 sec 112 MBytes 937 Mbits/sec 259 205 KBytes [ 5] 2.00-3.00 sec 111 MBytes 929 Mbits/sec 210 212 KBytes [ 5] 3.00-4.00 sec 111 MBytes 934 Mbits/sec 235 202 KBytes [ 5] 4.00-5.00 sec 112 MBytes 936 Mbits/sec 263 153 KBytes [ 5] 5.00-6.00 sec 111 MBytes 935 Mbits/sec 255 209 KBytes [ 5] 6.00-7.00 sec 112 MBytes 937 Mbits/sec 313 129 KBytes [ 5] 7.00-8.00 sec 111 MBytes 932 Mbits/sec 296 209 KBytes [ 5] 8.00-9.00 sec 111 MBytes 934 Mbits/sec 258 208 KBytes [ 5] 9.00-10.00 sec 111 MBytes 934 Mbits/sec 292 201 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 1.09 GBytes 936 Mbits/sec 2695 sender [ 5] 0.00-10.00 sec 1.09 GBytes 935 Mbits/sec receiver iperf Done. frank@frank-MS-7C37:~$ iperf3 -R -c 192.168.5.15 Connecting to host 192.168.5.15, port 5201 Reverse mode, remote host 192.168.5.15 is sending [ 5] local 192.168.3.213 port 44058 connected to 192.168.5.15 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-1.00 sec 109 MBytes 911 Mbits/sec [ 5] 1.00-2.00 sec 109 MBytes 912 Mbits/sec [ 5] 2.00-3.00 sec 109 MBytes 912 Mbits/sec [ 5] 3.00-4.00 sec 109 MBytes 912 Mbits/sec [ 5] 4.00-5.00 sec 109 MBytes 912 Mbits/sec [ 5] 5.00-6.00 sec 108 MBytes 903 Mbits/sec [ 5] 6.00-7.00 sec 109 MBytes 912 Mbits/sec [ 5] 7.00-8.00 sec 109 MBytes 912 Mbits/sec [ 5] 8.00-9.00 sec 109 MBytes 912 Mbits/sec [ 5] 9.00-10.00 sec 109 MBytes 912 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 1.06 GBytes 913 Mbits/sec 114 sender [ 5] 0.00-10.00 sec 1.06 GBytes 911 Mbits/sec receiver iperf Done.
  • IPv6 und Subnetze

    Linux linux ipv6
    1
    0 Stimmen
    1 Beiträge
    259 Aufrufe
    Niemand hat geantwortet