Manchmal braucht man eine günstige Storage-Lösung – dafür eignet sich z. B. die Hetzner Storage Box. Unter Proxmox empfiehlt es sich, die Daten clientseitig zu verschlüsseln. In diesem Leitfaden zeige ich dir, wie du die Hetzner Storage Box auf dem Proxmox-Host einbindest, die Daten mit gocryptfs verschlüsselt ablegst und den Klartext-Pfad anschließend per VirtioFS an eine oder mehrere VMs durchreichst.
Das lässt sich selbstverständlich auch auf andere Szenarien anwenden, z. B. auf ein gemountetes WebDAV.
Zunächst solltest du auf deinem PVE-Host eine Credentials-Datei erstellen, die die Zugangsdaten enthält.
sudo nano /etc/smbcredentialsTrage nun die Zugangsdaten nach dem folgenden Schema ein
username=u000000
password=supersicherespasswort
Anschließend die Berechtigungen vergeben.
600 bedeutet: nur der Besitzer darf lesen und schreiben (rw-------), Gruppe und Andere haben keine Rechte.
sudo chown root:root /etc/smbcredentials
sudo chmod 600 /etc/smbcredentialsAls Nächstes trägst du die zu mountende Storage Box in die Datei /etc/fstab ein und passt den Pfad deiner Hetzner Storage Box entsprechend an.
sudo nano /etc/fstab//u000000.your-storagebox.de/backup /mnt/storagebox cifs vers=3.1.1,credentials=/etc/smbcredentials,uid=0,gid=0,file_mode=0644,dir_mode=0755,iocharset=utf8,seal,_netdev,nofail 0 0
Erstelle das Verzeichnis, in das die Storage Box gleich gemountet wird.
sudo mkdir /mnt/storageboxSobald das erledigt ist, können wir mit dem Mounten beginnen.
sudo systemctl daemon-reloadsudo mount -adf -h sollte nun die gemountete Storage Box anzeigen.

Nun benötigen wir die Pakete – gocryptfs übernimmt die Verschlüsselung, virtiofsd stellt den Host-Ordner per VirtIO-FS später direkt in die VMs bereit (ohne SMB/NFS).
sudo apt update && sudo apt install -y cifs-utils gocryptfs virtiofsdJetzt legen wir den Ordner für den Klartext-Mount an.
Geschrieben wird später nicht nach /mnt/storagebox, sondern nach /mnt/storagebox-decrypted.
sudo mkdir /mnt/storagebox-decryptedgocryptfs einmalig initialisieren
sudo gocryptfs -init /mnt/storageboxFUSE für „allow_other“ erlauben
sudo echo user_allow_other | sudo tee -a /etc/fuse.confDann wird es per gocryptfs als Klartext nach /mnt/storagebox-decrypted gemountet
sudo gocryptfs -allow_other /mnt/storagebox/crypt /mnt/storagebox-decryptedNun erstellen wir im Verzeichnis /mnt/storagebox-decrypted einen Ordner.
Ich benenne ihn üblicherweise nach der VM.
In diesem Beispiel heißt die VM apache2.
sudo mkdir /mnt/storagebox-decrypted/apache2Weiter in der PVE-GUI:
Erstelle unter Datacenter → Directory Mappings das gewünschte Mapping.
Dieses Mapping kannst du später in der gewünschten VM als VirtIO-FS-Gerät einbinden (siehe Screenshots).


Ist das erledigt, kann das Verzeichnis per VirtIO-FS einfach an die gewünschte VM durchgereicht werden.


Um den Pfad in der VM zu mounten, erstellen wir (hier: in der Apache2-VM) den Ordner, in den VirtIO-FS eingehängt wird.
Der Ordnerpfad und -name sind frei wählbar.
sudo nano /etc/fstabPasse in der VM den Eintrag auf den von dir vergebenen Mount-Tag des Directory Mappings an ( storagebox-apache2).
Storagebox-Apache2 /mnt/apache2 virtiofs defaults,_netdev 0 0Nun muss auf der VM nur noch gemountet werden, fertig.
sudo systemctl daemon-reload
sudo mount -a
Schreibe einen Kommentar