Skip to content

Proxmox - Hetzner Storage Box in VM einbinden

Proxmox
  • Ich nutze für eine Menge an Datensicherungen den REST-Server von Restic. Dazu habe ich in der Hetzner Cloud eine VM und 150GB Datenspeicher, was rund 12€ / Monat kostet. Da ich jetzt einen Proxmox habe, ich das ein wenig Geldverschwendung. Aber so ganz ohne Kohle geht auch das nicht....

    Grund dafür, die Backups sollen physikalisch nicht in dem selben Rechenzentrum liegen wie mein Proxmox Server. Sollte das Rechenzentrum mal "abbrennen", so sollen die Daten noch vorhanden sein. Ich denke, es ist nicht nötig Euch zu erklären, das die Daten auch noch irgendwo lokal rumliegen sollen / müssen !?

    Hetzner hat dafür ein Angebot und das nennt sich Storage Box. Dort kann man Speicherplatz mieten. Gut, diesen Speicherplatz möchte ich meiner VM hinzufügen.

    Ich habe mich an die Dokumentation von Hetzner gehalten, aber es wollte mir nicht gelingen die Storage Box beim Starten einzubinden. Das ist aber auch zwingende Voraussetzung, das der REST-Server startet, weil dieser die Storage Box als Mountpoint benutzen soll.

    Das manuelle Mounten war kein Problem, nur beim Neustart klappte es nicht. Ich habe dann folgendes gemacht.

    /etc/fstab

    Mein Eintrag

    https://<Benutzername>.your-storagebox.de /mnt/MOUNTPOINT davfs auto,rw,uid=1001,gid=1001,file_mode=0660,dir_mode=0770,_netdev 0 0
    
    • Benutzernamen bekommt ihr von Hetzner
    • Mountpoint sollte klar sein, z.B. /mnt/data
    • uid=<Systemkonto> und gid=<Systemgruppe> # Findet man unter /etc/passwd, in meinem Fall der Benutzer des REST-Servers
    • Rest, bis auf auto, aus der Anleitung von Hetzner übernommen

    Damit das WebDAV-Verzeichnis automatisch gemountet werden kann, müssen Sie folgende Zeile in der Datei /etc/davfs2/secrets hinzufügen:

    https://<Benutzername>.your-storagebox.de <Benutzername> <Passwort>
    Quelle: https://docs.hetzner.com/de/robot/storage-box/access/access-webdav

    Wenn man jetzt neustartet, passiert nichts. Vermutlich, weil zu dem Zeitpunkt des Mountens, das Netzwerk noch nicht zur Verfügung steht. Gut, dann brauchen wir einen SystemD Dienst, der uns das Ganze startet.

    /etc/systemd/system

    Wir erstellen eine Datei

    nano startup.service
    

    der Inhalt

    [Unit]
    Description=Dein Script
    After=syslog.target
    After=network.target
        
    [Service]
    Type=oneshot
    ExecStart=/root/startup
    RemainAfterExit=yes
    
    [Install]
    WantedBy=multi-user.target
    

    Man sieht, ich rufe diese Datei /root/startup auf.

    /root/startup

    Inhalt

    #!/bin/bash
    # Dient zum Mounten der Storage Box und zum Starten des REST-Servers
    mount -a
    systemctl start rest-server
    

    Ausführbar machen

    chmod +x /root/startup    
    

    Aktivierung systemd

    Danach müssen wir den SystemD Dienst aktivieren

    systemctl enable startup.service
    systemctl start startup.service
    

    Jetzt sollte die Storage Box gemountet sein und der REST-Server ist gestartet. Das überlebt jetzt auch einen evt. Server Neustart.

    Fazit

    Rund die Hälfte, 6€ pro Monat gespart 😉

    Hier noch die Einstellungen aus dem Hetzner Webinterface

    storage_box.png

  • Restic v0.17.0 released

    Restic restic linux
    1
    0 Stimmen
    1 Beiträge
    149 Aufrufe
    Niemand hat geantwortet
  • Rest-Server v0.13.0 released

    Restic rest-server restic linux
    2
    0 Stimmen
    2 Beiträge
    375 Aufrufe
    FrankMF
    Download Rest-Server und installieren Im Github Repository den aktuellen Release suchen. Hier am Beispiel der aktuellen Version 0.13.0 (27.07.2024) Datei herunterladen wget https://github.com/restic/rest-server/releases/download/v0.13.0/rest-server_0.13.0_linux_amd64.tar.gz Die Datei entpacken tar -xf rest-server_0.13.0_linux_amd64.tar.gz Ins Verzeichnis wechseln cd rest-server_0.13.0_linux_amd64 Wenn der Rest-Server läuft, dann muss man diesen erst mal stoppen. systemctl stop rest-server Danach kopiert man das File nach bin. Wer mag sichert vorher das alte File. cp rest-server /usr/local/bin Danach kann man den Rest-Server wieder starten. systemctl start rest-server Versionskontrolle root@rest-server:~# rest-server -v rest-server version rest-server 0.13.0 compiled with go1.22.5 on linux/amd64 Die Hilfe vom Rest-Server root@rest-server:~# rest-server -h Run a REST server for use with restic Usage: rest-server [flags] Flags: --append-only enable append only mode --cpu-profile string write CPU profile to file --debug output debug messages -h, --help help for rest-server --htpasswd-file string location of .htpasswd file (default: "<data directory>/.htpasswd)" --listen string listen address (default ":8000") --log filename write HTTP requests in the combined log format to the specified filename (use "-" for logging to stdout) --max-size int the maximum size of the repository in bytes --no-auth disable .htpasswd authentication --no-verify-upload do not verify the integrity of uploaded data. DO NOT enable unless the rest-server runs on a very low-power device --path string data directory (default "/tmp/restic") --private-repos users can only access their private repo --prometheus enable Prometheus metrics --prometheus-no-auth disable auth for Prometheus /metrics endpoint --tls turn on TLS support --tls-cert string TLS certificate path --tls-key string TLS key path -v, --version version for rest-server Systemd Wer noch ein passendes systemd File benötigt. [Unit] Description=Rest Server After=syslog.target After=network.target [Service] Type=simple User=rest-server Group=rest-server ExecStart=/usr/local/bin/rest-server --private-repos --tls --tls-cert /mnt/rest-server/<DOMAIN>/fullchain.pem --tls-key /mnt/rest-server/<DOMAIN>/key.pem --path /mnt/rest-server Restart=always RestartSec=5 # Optional security enhancements NoNewPrivileges=yes PrivateTmp=yes ProtectSystem=strict ProtectHome=yes ReadWritePaths=/mnt/rest-server [Install] WantedBy=multi-user.target
  • Proxmox - Windows Server 2019

    Proxmox proxmox windows
    2
    5
    0 Stimmen
    2 Beiträge
    328 Aufrufe
    FrankMF
    Ich bin so froh, das ich das nicht mehr als Hauptsystem nutze. [image: 1642350116851-775556c8-e499-44f2-a891-4492295b7235-image.png]
  • checkmk - Rest-Server überwachen

    Verschoben checkmk checkmk linux restic
    1
    3
    0 Stimmen
    1 Beiträge
    539 Aufrufe
    Niemand hat geantwortet
  • Restic v0.11.0 released

    Restic restic
    1
    0 Stimmen
    1 Beiträge
    217 Aufrufe
    Niemand hat geantwortet
  • Proxmox - Partition einer VM vergrößern

    Proxmox proxmox
    1
    3
    0 Stimmen
    1 Beiträge
    391 Aufrufe
    Niemand hat geantwortet
  • Proxmox - VE 6.0-4

    Verschoben Proxmox proxmox
    2
    5
    0 Stimmen
    2 Beiträge
    499 Aufrufe
    FrankMF
    War eine schöne Zeit Der lokale Proxmox ging mir doch ein wenig auf die Nerven, die Lüfter Somit musste ich dieses Projekt einstampfen. Außerdem war der Stromverbrauch auch etwas zu viel, in der heutigen Zeit nicht zu vernachlässigender Faktor. Man hat ja schon genug am Laufen Proxmox ist eine tolle Sache. Der Rechner bekommt jetzt einen anderen Standort und wird vermutlich einstauben. Abwarten, mir fällt sicherlich irgendwann wieder was nettes ein. Die pfSense, die ich virtualisiert hatte ist jetzt in mein altes NAS umgezogen. Da bin ich jetzt mit ca. 10W unterwegs. Das kann dann auch 24/7 an sein.
  • Restic - Einen ROCKPro64 als Datengrab benutzen

    Verschoben Restic linux restic
    2
    1
    0 Stimmen
    2 Beiträge
    903 Aufrufe
    FrankMF
    So, dann mal das Ganze testen wenn man seinen Haupt-PC neu installiert hat und ein paar Daten braucht. [image: 1534692579149-img_20180819_090116_ergebnis-resized.jpg] Also, mal Restic installiert. sudo apt-get install restic Nach erfolgter Installation ein Test frank@frank-MS-7A34:~/restic$ restic version restic 0.8.3 compiled with go1.10 on linux/amd64 Geht so weit. Snapshots auflisten. restic -r sftp:rock64@IP:/home/rock64/backup snapshots Sieht dann so aus. frank@frank-MS-7A34:~$ sudo restic -r sftp:rock64@192.168.3.207:/home/rock64/backup snapshots [sudo] Passwort für frank: rock64@192.168.3.207's password: enter password for repository: password is correct ID Date Host Tags Directory ---------------------------------------------------------------------- 7e2eddcb 2018-08-18 10:10:40 frank-MS-7A34 /home/frank/Bilder 073b7cb4 2018-08-18 14:21:17 frank-MS-7A34 /home/frank 6bc9b21b 2018-08-18 16:11:19 frank-MS-7A34 /home/frank ---------------------------------------------------------------------- 3 snapshots Snapshot wiederherstellen sudo restic -r sftp:rock64@IP:/home/rock64/backup restore latest --target /tmp/backup Hiermit stellen wir das Backup im temporären Ordner /tmp/backup wieder her. Hat ewig gedauert, aber ging !?!?!?