Übersicht
Dieser Artikel erklärt, wie man eine Hetzner Storage Box mit Proxmox nutzt: clientseitig verschlüsselt mit gocryptfs und für VMs bereitgestellt über VirtioFS. Die Storage Box ist per CIFS eingebunden, gocryptfs legt darüber einen transparenten Verschlüsselungs-Layer. VMs greifen über virtiofs auf die entschlüsselten Daten zu.

Schritt 1: Gruppe storagebox anlegen
Auf dem Proxmox-Host eine Gruppe mit GID 2002 erstellen. Diese GID wird in den Mount-Optionen verwendet und muss in jeder VM, die Zugriff benötigt, ebenfalls vorhanden sein.
groupadd -g 2002 storagebox
Schritt 2: Credentials-Dateien erstellen
SMB-Zugangsdaten für den CIFS-Mount:
cat /etc/smbcredentials
username=u123456
password=dein-passwort
chmod 600 /etc/smbcredentials
Passphrase für den automatischen gocryptfs-Mount beim Booten:
echo "deine-gocryptfs-passphrase" > /etc/sbcredentials
chmod 600 /etc/sbcredentials
Schritt 3: Pakete installieren
apt install cifs-utils gocryptfs virtiofsd
Schritt 4: fstab-Einträge
Beide Mountpunkte anlegen:
mkdir -p /mnt/storagebox /mnt/storagebox-decrypted
Beide Zeilen in /etc/fstab eintragen:
//u123456.your-storagebox.de/backup /mnt/storagebox cifs rw,vers=3.1.1,credentials=/etc/smbcredentials,uid=0,gid=2002,dir_mode=0770,file_mode=0660,cache=strict,actimeo=30,noserverino,noatime,x-systemd.automount,x-systemd.idle-timeout=60,_netdev,nofail 0 0
/mnt/storagebox /mnt/storagebox-decrypted fuse.gocryptfs rw,_netdev,allow_other,passfile=/etc/sbcredentials,force_owner=0:2002,x-systemd.requires-mounts-for=/mnt/storagebox,nofail 0 0
Der CIFS-Mount setzt GID 2002 und erlaubt der Gruppe Lese- und Schreibzugriff (dir_mode=0770, file_mode=0660). Der gocryptfs-Mount übernimmt dieselbe Eigentümerschaft per force_owner=0:2002 und ist via x-systemd.requires-mounts-for vom CIFS-Mount abhängig.
Schritt 5: FUSE konfigurieren
In /etc/fuse.conf die Zeile user_allow_other auskommentieren, damit allow_other im gocryptfs-Mount funktioniert:
user_allow_other
Schritt 6: gocryptfs initialisieren
Einmalig den CIFS-Mount manuell aktivieren und gocryptfs initialisieren:
mount /mnt/storagebox
gocryptfs -init /mnt/storagebox
Danach den gocryptfs-Mount testen:
mount /mnt/storagebox-decrypted
ls /mnt/storagebox-decrypted
Schritt 7: Unterverzeichnisse anlegen
Unterverzeichnisse je nach Verwendungszweck erstellen. Jedes Unterverzeichnis wird später als eigenes Directory Mapping in Proxmox eingetragen:
mkdir /mnt/storagebox-decrypted/filme
mkdir /mnt/storagebox-decrypted/serien
mkdir /mnt/storagebox-decrypted/photos
mkdir /mnt/storagebox-decrypted/backup
Schritt 8: Directory Mappings in Proxmox anlegen
In der PVE-GUI unter Datacenter → Resource Mappings → Directory für jedes Unterverzeichnis ein eigenes Mapping erstellen. Beispiel:
- Name:
Storagebox-Filme, Pfad:/mnt/storagebox-decrypted/filme - Name:
Storagebox-Serien, Pfad:/mnt/storagebox-decrypted/serien - Name:
photos, Pfad:/mnt/storagebox-decrypted/photos
Schritt 9: VirtioFS in VM-Konfiguration einbinden
In der PVE-GUI unter VM → Hardware → Add → VirtioFS die gewünschten Directory Mappings zuweisen. Für VMs, die Extended Attributes benötigen (z.B. Immich), die Option expose-xattr aktivieren.
Schritt 10: VM-seitig einrichten
In der VM Gruppe mit GID 2002 anlegen und den jeweiligen Service-User einftragen:
groupadd -g 2002 storagebox
usermod -aG storagebox myuser
Mountpunkte anlegen und in /etc/fstab der VM eintragen:
Storagebox-Filme /mnt/filme virtiofs defaults,_netdev 0 0
Storagebox-Serien /mnt/serien virtiofs defaults,_netdev 0 0
Mount testen:
mount -a
Ergebnis
Daten werden transparent verschlüsselt auf der Hetzner Storage Box gespeichert und entschlüsselt in VMs bereitgestellt. Der gesamte Mount-Stack startet automatisch beim Booten des Proxmox-Hosts. VMs erhalten per virtiofs Zugriff ohne SMB oder NFS direkt in den VMs konfigurieren zu müssen.