Proxmox auf einem ZimaCube mit TrueNAS SCALE in einer VM kann gut funktionieren, wenn TrueNAS einen vollständigen physischen SATA-/HBA-Controller per PCIe-Passthrough erhält. Entscheidend ist, die ZFS-Laufwerke unter der direkten Kontrolle von TrueNAS zu belassen und nicht als gewöhnliche virtuelle Laufwerke bereitzustellen sowie die IOMMU-Gruppen zu überprüfen, bevor Sie Ihre Daten darauf übertragen.
Die Community-Quelle enthält ein nützliches, verifiziertes Ergebnis: Das Durchreichen des integrierten ASMedia-1166-SATA-Controllers an eine neue TrueNAS-VM machte die internen Laufwerke erfolgreich verfügbar. Außerdem wird ein wichtiger Sonderfall festgehalten: Das Hinzufügen eines zweiten SAS3008-HBA-Passthroughs führte bei einem Nutzer dazu, dass das interne SATA-Passthrough fehlschlug. Dieser Konflikt ist konfigurationsabhängig und sollte daher als Hinweis zur Fehlerbehebung und nicht als allgemeine Einschränkung betrachtet werden.
Empfohlene Architektur
ZimaCube-Hardware
↓
Proxmox-VE-Host
↓
PCIe-Passthrough: vollständiger SATA-/HBA-Controller
↓
TrueNAS-SCALE-VM
↓
ZFS-Pools, die direkt aus physischen Laufwerken erstellt wurden
Der Host darf die TrueNAS zugewiesenen Laufwerke weder formatieren noch einbinden.
Warum das Durchreichen des gesamten Controllers besser ist
Wenn der gesamte Controller durchgereicht wird, kann TrueNAS direkt auf die dahinterliegenden Laufwerke zugreifen, einschließlich Geräteidentität und SMART-Informationen, sofern der Controller dies unterstützt. Außerdem wird verhindert, dass Proxmox dieselben Laufwerke unabhängig beansprucht.
Erstellen Sie in TrueNAS kein ZFS auf einem Verbund nicht zusammengehöriger virtueller Proxmox-Festplatten, wenn Sie ein speichergeräteähnliches Verhalten anstreben.
Schritt 1: IOMMU in der Firmware und in Proxmox aktivieren
Auf Intel-Systemen müssen VT-d/IOMMU und auf AMD-Systemen die entsprechende IOMMU-Funktion aktiviert sein. Außerdem muss IOMMU bei Proxmox auf Kernel-Ebene aktiviert werden.
Die Voraussetzungen für Proxmox-Passthrough dokumentieren, dass die Passthrough-Unterstützung sowohl in der Firmware als auch im Kernel des Hosts aktiviert sein muss.
Schritt 2: SATA-Controller und zugehörige IOMMU-Gruppe identifizieren
Verwenden Sie lspci auf dem Proxmox-Host und identifizieren Sie den Controller, der die sechs internen Einschübe versorgt. Im Quellthread wurde ein ASMedia-1166-SATA-Controller im ZimaCube-Setup identifiziert.
Überprüfen Sie vor dem Passthrough, ob sich der Controller in einer IOMMU-Gruppe befindet, die sicher zugewiesen werden kann, ohne dem Proxmox-Host andere wichtige, nicht zugehörige Geräte zu entziehen.
Schritt 3: TrueNAS-VM vor dem Anschließen des Speichers erstellen
Erstellen Sie die TrueNAS-VM mit virtueller CPU, Arbeitsspeicher, einer kleinen separaten Bootdiskette und einem Netzwerkadapter. Installieren Sie TrueNAS, aktualisieren Sie es und vergewissern Sie sich, dass die VM normal startet, bevor Sie den physischen Speichercontroller zuweisen.
Dadurch lässt sich viel leichter feststellen, ob ein späterer Fehler vom PCIe-Passthrough und nicht von der Gastinstallation selbst verursacht wird.
Schritt 4: Den gesamten SATA-Controller durchreichen
Fügen Sie den Controller als PCI-Gerät zur TrueNAS-VM hinzu. Überprüfen Sie nach dem Start lspci und die TrueNAS-Speicheroberfläche für die physischen Datenträger.
Im Ausgangsfall führte das Neuerstellen der TrueNAS-VM und anschließende Hinzufügen des ASMedia-Controllers dazu, dass alle internen Laufwerke korrekt angezeigt wurden.
Was ist, wenn der Controller angezeigt wird, die Datenträger jedoch nicht?
Überprüfen Sie, ob der Gasttreiber geladen wurde, ob der Controller ordnungsgemäß zurückgesetzt wurde und ob ein anderes Passthrough-Gerät stört. Der ursprüngliche Nutzer stellte fest, dass das Durchreichen eines zusätzlichen SAS3008-HBAs an dieselbe VM das Verhalten des internen SATA-Controllers beeinträchtigte; nach dem Entfernen dieses HBAs wurden die internen Datenträger wiederhergestellt.
Das ist kein Beweis dafür, dass diese beiden Controller niemals zusammen funktionieren können. Es ist ein Hinweis darauf, jeweils nur einen Controller zu testen.
Erstellen Sie den Pool erst, wenn der Passthrough stabil ist
Vor dem Erstellen von ZFS:
- Starten Sie Proxmox mehrmals neu;
- Starten Sie die TrueNAS-VM mehrmals neu;
- Bestätigen Sie, dass alle Datenträger konsistent wieder angezeigt werden;
- Überprüfen Sie die SMART-Sichtbarkeit;
- Überprüfen Sie, dass keine Datenträger mehr vom Host eingebunden sind.
Eine Speicher-Topologie, die einmal funktioniert, aber nach einem Warmstart verschwindet, ist noch nicht für Produktivdaten geeignet.
Proxmox- und TrueNAS-Backups separat planen
Proxmox-Backups schützen die VM-Konfiguration und die TrueNAS-Bootdisk. Sie ersetzen keine ZFS-Snapshots, Replikation oder externen Backups des Datenpools.
Der Virtualisierungsleitfaden bietet einen umfassenderen Proxmox-Kontext.
Wann TrueNAS auf Bare Metal einfacher ist
Wenn die einzige Aufgabe des Computers in der Datenspeicherung besteht, entfernt ein TrueNAS auf Bare Metal eine Virtualisierungsebene und die Komplexität des Passthroughs. Proxmox mit virtualisiertem TrueNAS ist sinnvoller, wenn Sie auf demselben Server zusätzlich andere VMs, GPU-Workloads, Laborumgebungen oder Proxmox-Verwaltungsfunktionen benötigen.
FAQ
Soll ich einzelne Datenträger oder den gesamten SATA-Controller durchreichen?
Für TrueNAS/ZFS ist es die sauberere Lösung, den gesamten physischen Speichercontroller durchzureichen, da TrueNAS dann direkten Besitz über die daran angeschlossenen Datenträger hat.
Kann Proxmox weiterhin Datenträger auf einem durchgereichten Controller verwenden?
Nein. Sobald der gesamte Controller TrueNAS zugewiesen ist, sollte Proxmox die Datenträger hinter diesem Controller nicht verwalten.
Warum sind nach dem Hinzufügen eines zweiten HBA die internen Datenträger verschwunden?
Ein Community-Nutzer stellte ein Problem bei der Verwendung eines SAS3008-Passthroughs fest. Testen Sie die Controller unabhängig voneinander und überprüfen Sie das IOMMU-/Reset-Verhalten, statt von einem allgemeinen Hardwaredefekt auszugehen.
Benötige ich trotz der Verwendung von ZFS noch Backups?
Ja. ZFS schützt die Integrität und bietet Snapshots, ist aber kein Backup außerhalb des Geräts.
