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