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