Warum fehlen einem Heimserver NVMe-Laufwerke ohne PCIe-Bifurkation?

Eva Wong ist die Technische Redakteurin und und leidenschaftliche Tüftlerin bei ZimaSpace. Eine lebenslange Geek mit einer Leidenschaft für Homelabs und Open-Source-Software, sie spezialisiert sich darauf, komplexe technische Konzepte in zugängliche, praktische Anleitungenzu übersetzen. Eva ist der Meinung, dass Self-Hosting Spaß machen und nicht einschüchternd sein sollte. Durch ihre Tutorials befähigt sie die Community, Hardware-Setups zu entmystifizieren, vom Bau ihres ersten NAS bis hin zur Beherrschung von Docker-Containern.

Ein Heimserver kann auf einem Multi-NVMe-Adapter nur eine SSD erkennen, wenn die Karte mehrere M.2-Steckplätze passiv an einen PCIe-Steckplatz anschließt, die Plattform diesen Steckplatz jedoch als eine einzelne Verbindung ausweist. Das erste Laufwerk kann eine Verbindung herstellen, während die anderen Laufwerke keine unabhängige Downstream-Verbindung haben, damit Firmware und Betriebssystem sie erkennen können.

PCIe-Bifurkation löst dieses Problem für kompatible passive Adapter, indem eine breite Root-Port-Verbindung in mehrere schmalere Verbindungen aufgeteilt wird, z. B. x16 zu x4/x4/x4/x4. Dies ist nicht bei jeder Multi-NVMe-Karte erforderlich: Ein Adapter mit einem integrierten PCIe-Switch kann eigene Downstream-Ports erstellen, obwohl dann jedes Laufwerk die Upstream-Verbindung der Karte teilt.

Eine nicht aufgeteilte PCIe-Verbindung kann nicht alle Laufwerke auf einem passiven Adapter anzeigen

Ein passiver Multi-NVMe-Adapter verhält sich nicht wie ein Speichercontroller, der mehrere SSDs hinter einer Geräte-Schnittstelle kombiniert. Er leitet hauptsächlich Lane-Gruppen, Referenztakte, Reset-Signale und Strom zwischen dem Randstecker und den einzelnen M.2-Steckplätzen weiter. Jede NVMe-SSD bleibt ihr eigener PCIe-Endpunkt und benötigt eine nutzbare Verbindung in die Host-Topologie.

Wenn der Root-Port weiterhin als eine breite Verbindung konfiguriert bleibt, hat der Host keine separaten logischen Verbindungen für jeden Steckplatz auf dieser passiven Karte erstellt. Ein SSD kann erscheinen, während die anderen fehlen, bevor ein NVMe-Treiber oder Dateisystem relevant wird. Deshalb ist das Symptom meist „nur ein Laufwerk erkannt“ und nicht vier Laufwerke mit reduzierter Kapazität.

PCIe-Bifurkation erzeugt mehrere Verbindungen aus einem physischen Steckplatz

Die Bifurkation ändert die Portkonfiguration auf der CPU- oder Chipsatzseite. Eine physische x16-Verbindung kann in zwei x8-Verbindungen, eine x8 plus zwei x4-Verbindungen oder vier x4-Verbindungen aufgeteilt werden, wenn die Plattform diese Modi unterstützt. Jede resultierende Verbindung kann mit einem anderen Endpunkt auf dem Adapter kommunizieren.

Die Aufteilung wird vom Betriebssystem nach dem Start nicht durchgeführt. Sie hängt vom PCIe-Controller des Prozessors, der Routing des Mainboards und der Plattform-Firmware ab. Die offizielle PCIe-Bifurkations-Kompatibilitätsanleitung von ASUS zeigt, dass die Anzahl der M.2-Laufwerke, die eine Karte anzeigen kann, je nach Mainboard, CPU, Steckplatz und Lane-Zuweisung variiert.

Passive und Switch-basierte NVMe-Adapter bauen unterschiedliche PCIe-Topologien auf

Zwei Karten können dieselbe Anzahl von M.2-Steckplätzen haben, aber sehr unterschiedliche Anforderungen an den Host stellen. Eine passive Karte ist darauf angewiesen, dass der Root Complex mehrere Links bereitstellt. Eine Switch-basierte Karte präsentiert dem Host einen Upstream-Port und erzeugt mehrere Downstream-Ports für die SSDs.

Adapter-Topologie Host-seitige Anforderung Wie SSDs sichtbar werden Bandbreitengrenze
Passive Karte ohne Bifurkation Ein ungeteilter Host-Link Nur der Steckplatz, der mit der aktiven Lane-Gruppe verdrahtet ist, kann enumeriert werden Unbenutzte Steckplätze erhalten keine Bandbreite von den verbleibenden physischen Lanes
Passive Karte mit kompatibler Bifurkation Unterstützter Split-Modus und passende Lane-Verdrahtung Jede SSD trainiert auf ihrem eigenen vom Host erstellten Link Jedes Laufwerk ist durch seine zugewiesene Link-Breite und Generation begrenzt
Adapter mit PCIe-Switch Eine nutzbare Upstream-Verbindung; Host-Bifurkation normalerweise nicht erforderlich Der Switch stellt hinter einer Upstream-Verbindung separate Downstream-Ports bereit Gleichzeitiger SSD-Verkehr teilt die Upstream-Bandbreite des Switches

Die PEX 8612-Dokumentation von Broadcom liefert ein konkretes Switch-Beispiel mit einer Upstream-Verbindung und mehreren Downstream-Ports. Der genaue Chip und die Portbreiten variieren je nach Karte, aber die architektonische Unterscheidung bleibt: Ein Switch erzeugt Fan-out; eine passive Platine verbindet nur Lanes, die der Host bereits aufgeteilt hat.

Ein Vollformat-Steckplatz garantiert nicht sechzehn nutzbare Lanes

Mechanische Steckplatzlänge und elektrische Lane-Anzahl sind unterschiedliche Eigenschaften. Ein Anschluss, der physisch eine x16-Karte akzeptiert, kann als x8, x4 oder sogar x1 verdrahtet sein. Bei kompakten Systemen kann ein zweiter Vollformat-Steckplatz seine Lanes vom Chipsatz erhalten, anstatt direkt von der CPU, oder sie mit einem anderen M.2-Steckplatz, Netzwerkcontroller oder Erweiterungssteckplatz teilen.

Dies ändert sowohl die verfügbaren Bifurkationsmodi als auch die Anzahl der anschließbaren Laufwerke. Ein x4-elektrischer Slot kann nicht einfach vier unabhängige x4-Verbindungen liefern, nur weil der Adapter vier Steckplätze hat. Die NVM Express-Organisation weist darauf hin, dass M.2 bis zu eine x4 PCIe-Verbindung unterstützen kann; x4 ist eine übliche Verbindung mit voller Leistung, aber kein Versprechen, dass jeder Host-Slot vier Lanes an jede installierte SSD liefert.

Die Firmware bestimmt, welche Bifurkationsmodi die Plattform verwenden kann

Bifurkations-Einstellungen können unter Namen wie PCIe-Lane-Konfiguration, Slot-Konfiguration oder einer expliziten x8/x8- oder x4/x4/x4/x4-Option erscheinen. Das verfügbare Menü ist plattformspezifisch. Eine CPU kann genug Lanes haben, während das Motherboard die erforderlichen Gruppen nicht zu diesem Slot routet, oder die Hardware unterstützt eine Topologie, die die Firmware nicht freigibt.

Ein Firmware-Update kann auf einigen Plattformen Unterstützung hinzufügen oder korrigieren, aber es kann keine Lane-Verkabelung oder Controller-Fähigkeiten schaffen, die die Hardware nicht besitzt. Die maßgebliche Quelle ist das Handbuch des Motherboards oder des Home Servers für die genaue CPU, den Slot und die BIOS-Version. Eine allgemeine Aussage wie „PCIe Gen3 unterstützt Bifurkation“ reicht nicht aus, da die PCIe-Generation nicht bestimmt, wie ein bestimmter Root-Port geroutet oder konfiguriert ist.

Die fehlenden Laufwerke verschwinden während der PCI-Aufzählung

Beim Start entdecken die Plattform-Firmware und das Betriebssystem PCI-Geräte, indem sie die Topologie durchlaufen und den Konfigurationsbereich auslesen. Die Linux-Kernel-Dokumentation erklärt, dass Geräte unterhalb einer Host-Bridge durch standardmäßige PCI-Aufzählung gefunden werden können. Ein NVMe-Treiber kann sich erst anschließen, nachdem der entsprechende PCI-Endpunkt entdeckt und Ressourcen zugewiesen wurden.

Dies lokalisiert die Fehlergrenze. Wenn die zusätzlichen SSDs im PCI-Gerätebaum fehlen, können Änderungen an Partitionen, RAID-Einstellungen, Dateisystemen oder NAS-Speicherpool-Software sie nicht sichtbar machen. Wenn jede SSD als PCI-Endpunkt erscheint, aber eine im Speicherinterface fehlt, geht die Untersuchung über die Bifurkation hinaus zum NVMe-Treiber, Gerätezustand oder der Speicher-Konfiguration.

Die Link-Breite beeinflusst die Leistung, selbst nachdem alle SSDs erkannt wurden.

Eine erfolgreiche Enumeration garantiert nicht die volle Durchsatzrate pro Laufwerk. Eine Vier-Laufwerk-Karte, die als x4/x4/x4/x4 arbeitet, bietet jeder SSD einen breiteren unabhängigen Link als eine Topologie, die weniger Lanes pro Laufwerk zuweist. Die PCIe-Generation ändert ebenfalls die pro Lane verfügbare Bandbreite, daher müssen Link-Breite und Generation zusammen betrachtet werden.

Ein switch-basierter Adapter bringt eine andere Grenze mit sich. Mehrere Downstream-SSDs können sichtbar und einzeln schnell bei leichter Nutzung sein, aber gleichzeitige Übertragungen bündeln sich auf dem Upstream-Link. Die Diskussion von NVM Express über NVMe RAID und Uplink-Engpässe erklärt, warum mehrere x4-SSDs eine schmalere gemeinsame Verbindung sättigen können.

Andere NVMe-Erkennungsfehler können einem fehlenden Bifurkationsmodus ähneln.

Wenn nur ein Laufwerk statt mehrerer erkannt wird, deutet das stark auf eine Topologiemissanpassung bei einem passiven Adapter hin, ist aber nicht schlüssig. Eine Lane-Freigaberegel kann einen Slot deaktivieren, wenn ein anderer Anschluss belegt ist, ein bestimmter Slot kann mit der installierten CPU inaktiv sein, oder die Zuordnung von Sockel zu Lane des Adapters kann erfordern, dass Laufwerke in einer bestimmten Reihenfolge installiert werden.

Auch die Bauform ist wichtig. M.2 beschreibt ein physisches Modul und eine Steckverbinderserie; es bedeutet nicht, dass jede M.2-Festplatte NVMe verwendet. Eine SATA M.2 SSD kann nicht in einem Sockel betrieben werden, der nur PCIe-Signale führt. Schlechte Kontaktierung, eine im Firmware erzwungene nicht unterstützte PCIe-Generation, unzureichende Kühlung oder eine ausgefallene SSD können zusätzliche Erkennungs- oder Stabilitätssymptome verursachen.

Lesen Sie die PCIe-Lane-Karte, bevor Sie eine Multi-NVMe-Konfiguration interpretieren.

Beginnen Sie mit der Topologie und nicht mit der auf dem Slot aufgedruckten Zahl. Identifizieren Sie die elektrische Breite des Slots, seine CPU- oder Chipsatzquelle, unterstützte Bifurkationsmodi, Regeln zur Lane-Freigabe und die Architektur des Adapters. Vergleichen Sie dann die beabsichtigte Anzahl der SSD-Endpunkte mit den tatsächlich verfügbaren unabhängigen Links oder Downstream-Switch-Ports.

  • Bestätigen Sie, ob der Adapter passiv ist oder einen PCIe-Switch enthält.
  • Überprüfen Sie die elektrische Lane-Anzahl des Slots und nicht seine physische Länge.
  • Verifizieren Sie den genau unterstützten Split-Modus für diesen Slot und die CPU.
  • Überprüfen Sie die Regeln für geteilte Lanes bei onboard M.2, SATA, Netzwerk- und anderen PCIe-Geräten.
  • Trennen Sie die PCI-Endpunkt-Erkennung von der späteren NVMe- und Speicherpool-Erkennung.
  • Überprüfen Sie nach dem Erscheinen jeder SSD die ausgehandelte Linkbreite und Generation.

Dieser Ansatz erklärt sowohl Kapazität als auch Leistung, ohne anzunehmen, dass jeder Adapter gleich funktioniert. Leser, die andere Erweiterungspfade für Heimserver bewerten, können diesen PCIe-gegen-USB-Erweiterungsvergleich als ergänzenden Kontext nutzen; die Entscheidung zur Bifurkation hängt weiterhin von Plattform und Adaptertopologie ab.

FAQ

Benötigt jeder Multi-NVMe-Adapter PCIe-Bifurkation?

Nein. Passive Adapter erfordern normalerweise eine kompatible Host-Bifurkation, da sie selbst keine Downstream-Ports erstellen. Eine Karte mit einem integrierten PCIe-Switch kann mehrere SSD-Endpunkte über eine Upstream-Verbindung ohne Mainboard-Bifurkation bereitstellen, obwohl ihre Laufwerke diese Uplink-Verbindung teilen.

Kann ein BIOS-Update PCIe-Bifurkation hinzufügen?

Es kann eine Bifurkationsoption anzeigen oder aktivieren, wenn der CPU-Controller und die Mainboard-Verkabelung dies bereits unterstützen. Ein Firmware-Update kann keine physischen Lanes hinzufügen, die Board-Verkabelung nicht ändern oder eine nicht unterstützte Root-Port-Aufteilung möglich machen.

Warum erscheint nur ein NVMe-Laufwerk auf einem Adapter mit vier Slots?

Die gängige Erklärung ist, dass ein passiver Adapter in einem Slot installiert wird, der weiterhin als eine PCIe-Verbindung konfiguriert ist, sodass nur die Buchse, die mit der aktiven Lane-Gruppe verbunden ist, erfolgreich trainiert wird. Slot-Verkabelung, Bestückungsreihenfolge, geteilte Lanes, inkompatibler M.2-Laufwerkstyp oder Gerätefehler sollten weiterhin ausgeschlossen werden, bevor Bifurkation als bewiesen gilt.

Führt PCIe-Bifurkation NVMe-Laufwerke zu RAID zusammen?

Nein. Bifurkation erstellt unabhängige PCIe-Verbindungen, sodass der Host separate Endpunkte erkennen kann. RAID oder eine andere Speicher-Pooling-Schicht wird anschließend in der Firmware, einem Betriebssystem oder Speicher-Software konfiguriert. Das Erkennen von vier Laufwerken und das Kombinieren von vier Laufwerken sind separate Vorgänge.

Tech- & KI-Zentrum

Mehr zum Lesen

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.