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

  • Rest-Server v0.13.0 released

    Restic rest-server restic linux
    2
    0 Stimmen
    2 Beiträge
    365 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
  • Rest-Server Version 0.12.1 released

    Linux rest-server restic linux
    1
    0 Stimmen
    1 Beiträge
    121 Aufrufe
    Niemand hat geantwortet
  • Rest-Server v0.12.0 released

    Restic rest-server restic linux
    1
    0 Stimmen
    1 Beiträge
    116 Aufrufe
    Niemand hat geantwortet
  • Restic - riscv64

    Restic restic riscv64
    4
    0 Stimmen
    4 Beiträge
    279 Aufrufe
    FrankMF
    Hier der kurze Praxistest root@visionfive2:/etc# apt install restic Reading package lists... Done Building dependency tree... Done Reading state information... Done Suggested packages: libjs-sphinxdoc sphinx-rtd-theme-common The following NEW packages will be installed: restic 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 6,899 kB of archives. After this operation, 20.8 MB of additional disk space will be used. Get:1 http://ports.ubuntu.com lunar/universe riscv64 restic riscv64 0.14.0-1 [6,899 kB] Fetched 6,899 kB in 1s (5,589 kB/s) Selecting previously unselected package restic. (Reading database ... 34675 files and directories currently installed.) Preparing to unpack .../restic_0.14.0-1_riscv64.deb ... Unpacking restic (0.14.0-1) ... Setting up restic (0.14.0-1) ... Processing triggers for man-db (2.11.2-1) ... root@visionfive2:/etc# restic version restic 0.14.0 compiled with go1.19.2 on linux/riscv64 root@visionfive2:/etc# restic self-update writing restic to /usr/bin/restic find latest release of restic at GitHub latest version is 0.15.2 download SHA256SUMS download SHA256SUMS.asc GPG signature verification succeeded download restic_0.15.2_linux_riscv64.bz2 downloaded restic_0.15.2_linux_riscv64.bz2 saved 21954560 bytes in /usr/bin/restic successfully updated restic to version 0.15.2 root@visionfive2:/etc# restic version restic 0.15.2 compiled with go1.20.3 on linux/riscv64 root@visionfive2:/etc#
  • Rest-Server v0.11.0

    Restic rest-server restic
    1
    0 Stimmen
    1 Beiträge
    142 Aufrufe
    Niemand hat geantwortet
  • Restic & Rclone & Nextcloud

    Linux nextcloud rclone linux restic
    3
    0 Stimmen
    3 Beiträge
    822 Aufrufe
    FrankMF
    Hier mal eine Ausgabe vom ersten Durchgang root@frank-MS-7C37:~# restic --password-file /root/passwd -r rclone:Nextcloud:HOME_UBUNTU backup --files-from /root/includes.txt repository 99xxxxa0 opened successfully, password is correct created new cache in /root/.cache/restic rclone: 2020/05/08 17:47:57 ERROR : locks: error listing: directory not found rclone: 2020/05/08 17:47:58 ERROR : index: error listing: directory not found rclone: 2020/05/08 17:47:58 ERROR : snapshots: error listing: directory not found Files: 3503 new, 0 changed, 0 unmodified Dirs: 2 new, 0 changed, 0 unmodified Added to the repo: 16.872 GiB processed 3503 files, 21.134 GiB in 1:02:56 snapshot fdxxxxec saved Der erste Durchgang hat also etwa eine Stunde benötigt. Durch die Deduplikation der Daten, ist der Vorgang beim zweiten Durchgang viel schneller weil nur neue oder geänderte Daten gesichert werden. Und außerdem sind alle Daten AES-256 verschlüsselt. Also perfekt zur Ablage in irgendeiner Cloud root@frank-MS-7C37:~# restic --password-file /root/passwd -r rclone:Nextcloud:HOME_UBUNTU backup --files-from /root/includes.txt repository 99xxxxa0 opened successfully, password is correct Files: 57 new, 41 changed, 3449 unmodified Dirs: 0 new, 2 changed, 0 unmodified Added to the repo: 22.941 MiB processed 3547 files, 21.137 GiB in 0:13 snapshot c6xxxxe4 saved Wie ihr seht, hat der zweite Durchgang nur ein paar neue und geänderte Daten gesichert. Der Rest ist ja schon vorhanden. Und das kann man dann auch problemlos täglich, wöchentlich oder was auch immer mal eben schnell durchführen. Eines meiner absoluten Lieblingstool
  • Proxmox - Partition einer VM vergrößern

    Proxmox proxmox
    1
    3
    0 Stimmen
    1 Beiträge
    391 Aufrufe
    Niemand hat geantwortet
  • Proxmox - Neue HDD hinzufügen

    Verschoben Proxmox proxmox
    2
    1
    0 Stimmen
    2 Beiträge
    3k Aufrufe
    FrankMF
    Hoppla, da passt was nicht. root@frank-mankel:~# pvesm status Name Type Status Total Used Available % VM lvmthin active 488136704 23284120 464852583 4.77% backup dir active 57278576 3501916 50837372 6.11% local dir active 57278576 3501916 50837372 6.11% local-lvm lvmthin active 147275776 0 147275776 0.00% Hier sieht man, das backup ca. 50GB groß ist. Da die Partition deutlich größer ist, fehlt da was!?? Kurz mal nachgedacht und gesucht..... Der Eintrag in /etc/fstab muss natürlich auch vorhanden sein, so wie gewohnt. Danach root@frank-mankel:~# pvesm status Name Type Status Total Used Available % VM lvmthin active 488136704 23284120 464852583 4.77% backup dir active 1921797220 77856 1824027568 0.00% local dir active 57278576 3502984 50836304 6.12% local-lvm lvmthin active 147275776 0 147275776 0.00% [image: 1563901625553-e9b52dbe-dc81-4bec-a4e8-a26885f57d84-grafik.png] Mein vorhin erstelltes Backup war weg. Also aufpassen!!