Exemplarische Vorgehensweise für die Fabric-Konfiguration mit Juniper Apstra
In diesem Abschnitt werden die Schritte zur Bereitstellung einer der KI-GPU-Backend-IP-Fabrics im KI-JVD-Labor beschrieben, als Beispiel für die Bereitstellung neuer Fabrics mit Juniper Apstra.
Diese Schritte decken die KI GPU-Backend-IP-Fabric mit QFX5220-32CD- und QFX5230-64CD-Switches in der Spine- und Leaf-Rolle ab. Ähnliche Schritte sollten befolgt werden, um die Frontend- und Speicher-Backend-Fabrics einzurichten.
Der Abschnitt enthält auch Konfigurationsschritte für die Nvidia-GPU-Server.
Einrichten des Apstra-Servers
Ein Konfigurationsassistent wird gestartet, wenn Sie sich zum ersten Mal mit der Apstra-Server-VM verbinden. An dieser Stelle können Passwörter für den Apstra-Server, die Apstra-Benutzeroberfläche und die Netzwerkkonfiguration konfiguriert werden.
Ausführlichere Informationen zur Installation und Schritt-für-Schritt-Konfiguration mit Apstra finden Sie im Benutzerhandbuch von Juniper Apstra.
Onboarding von Geräten in Apstra
Es gibt zwei Methoden zum Hinzufügen von Juniper-Geräten zu Apstra:
- Verwenden von ZTP
Führen Sie auf dem ZTP-Server von Apstra die im Benutzerhandbuch für Juniper Apstra beschriebenen ZTP-Schritte aus.
- Manuell (ausführlich im nächsten Abschnitt)
Es empfiehlt sich, das Festlegen von Loopbacks, Schnittstellen (außer Management-Schnittstelle), Routing-Instanzen (außer Management-Instanzen) oder anderen Einstellungen als Teil dieser Baselinekonfiguration zu vermeiden.
Apstra legt die Protokolle LLDP und RSTP fest, wenn das Gerät erfolgreich bestätigt wird.
Um jedes Gerät zu integrieren, führen Sie die folgenden Schritte in der Apstra Web-Benutzeroberfläche aus:
Schritte zum Onboarding von Geräten in Apstra
Schritt 1: Erstellen Sie ein Agentenprofil für Junos-Geräte.
- Navigieren Sie zu Geräte >> Agentenprofilen.
- Klicken Sie auf Agentenprofil erstellen.
Abbildung 23. Agentenprofil in Apstra erstellen
HINWEIS: Für die Zwecke dieses JVD werden auf allen Geräten derselbe Benutzername und dasselbe Kennwort verwendet. Somit wird nur ein Junos Agent-Profil für das Onboarding aller Geräte benötigt. - Geben Sie den Namen des Agentenprofils ein, wählen Sie Plattform (Junos) aus und geben Sie den Benutzernamen und das Kennwort ein, die Apstra für die Kommunikation mit den Geräten verwendet.
- Dies erfordert, dass die Geräte mit einem Root-Passwort, dem in Apstra konfigurierten Benutzernamen und Passwort, einer Management-IP und ordnungsgemäßem statischem Routing (falls erforderlich) sowie SSH Netconf vorkonfiguriert sind, damit Apstra auf sie zugreifen und sie konfigurieren können.
Abbildung 24: Parameter des Apstra-Agentenprofils

- Nachdem Sie die erforderlichen Informationen eingegeben haben, klicken Sie auf Erstellen.
- Bestätigen Sie die Erstellung des Agentenprofils .
Abbildung 25: Überprüfung des neuen Apstra Agent-Profils
Schritt 2: Erstellen Sie ein Agentenprofil für andere Geräte.
- Navigieren Sie zu Geräte >> Agentenprofile.
- Klicken Sie auf Agentenprofil erstellen.
Abbildung 26. Agentenprofil in Apstra erstellen
.png)
- Geben Sie den Namen des Agentenprofils ein, wählen Sie Plattform (Junos) aus und geben Sie den Benutzernamen und das Kennwort ein, die Apstra für die Kommunikation mit den Geräten verwendet.
Dies erfordert, dass die Geräte mit einem Root-Passwort, dem in Apstra konfigurierten Benutzernamen und Passwort, einer Management-IP und ordnungsgemäßem statischem Routing (falls erforderlich) sowie SSH Netconf vorkonfiguriert sind, damit Apstra auf sie zugreifen und sie konfigurieren können.
Abbildung 27: Parameter des Apstra-Agentenprofils

- Nachdem Sie die erforderlichen Informationen eingegeben haben, klicken Sie auf Erstellen.
- Bestätigen Sie die Erstellung des Agentenprofils .
Abbildung 28: Überprüfung des neuen Apstra-Agentenprofils

Schritt 3: Erstellen Sie Offbox-Agents für QFX-Geräte.
- Navigieren Sie zu Geräte >> Verwaltete Geräte
- Klicken Sie auf Offbox-Agenten erstellen. Stellen Sie sicher, dass Sie Offbox-Agent(en) auswählen.
Abbildung 29: Offbox-Agent in Apstra erstellen

- Identifizieren Sie das/die zu integrierende(n) Gerät(e). Sie können eine durch Kommas getrennte Liste von Hostnamen, einzelnen IP-Adressen oder IP-Adressbereichen eingeben.
HINWEIS: Es kann auch ein IP-Adressbereich angegeben werden, um mehrere Geräte gleichzeitig in Apstra einzubinden. Die im folgenden Beispiel gezeigten Bereiche dienen nur zu Demonstrationszwecken.
- Wählen Sie die Plattform und das Agentenprofil aus (wählen Sie das im vorherigen Schritt erstellte Profil aus).
Abbildung 30: Identifizieren der einzubindenden Geräte mithilfe eines IP-Adressbereichs

HINWEIS: Apstra verwendet die Informationen aus dem Profil, das im vorherigen Schritt erstellt wurde, wenn die Optionen "Benutzername festlegen?" und "Kennwort festlegen?" deaktiviert sind.
- Klicken Sie auf Erstellen.
- Vergewissern Sie sich, dass die Geräte für das Onboarding hinzugefügt wurden. Sobald der Offbox-Agent erstellt wurde, werden Geräte zur Liste der verwalteten Geräte hinzugefügt. Apstra versucht, eine Verbindung herzustellen, und wenn dies erfolgreich ist, füllt es die relevanten Informationen aus.
Abbildung 31: Neue Geräte werden integriert

Schritt 4: Erstellen Sie Onbox-Agenten und integrieren Sie AMD-Server.
- Navigieren Sie zu Geräte >> Verwaltete Geräte
- Klicken Sie auf Onbox-Agents erstellen. Stellen Sie sicher, dass Sie Onbox-Agent(en) auswählen.
Abbildung 32: Erstellen eines Onbox-Agenten in Apstra

- Identifizieren Sie das/die zu integrierende(n) Gerät(e). Sie können eine durch Kommas getrennte Liste von Hostnamen, einzelnen IP-Adressen oder IP-Adressbereichen eingeben.
HINWEIS: Es kann auch ein IP-Adressbereich angegeben werden, um mehrere Geräte gleichzeitig in Apstra einzubinden. Die im folgenden Beispiel gezeigten Bereiche dienen nur zu Demonstrationszwecken.
- Wählen Sie die Plattform und das Agentenprofil aus (wählen Sie das im vorherigen Schritt erstellte Profil aus).
Abbildung 33: Identifizieren der einzubindenden Geräte mithilfe eines IP-Adressbereichs
HINWEIS: Apstra verwendet die Informationen aus dem Profil, das im vorherigen Schritt erstellt wurde, wenn "Benutzername festlegen?" und "Kennwort festlegen?" deaktiviert sind. - Klicken Sie auf Erstellen.
- Vergewissern Sie sich, dass die Geräte für das Onboarding hinzugefügt wurden. Sobald der Onbox-Agent erstellt wurde, werden Geräte zur Liste der verwalteten Geräte hinzugefügt. Apstra versucht, eine Verbindung herzustellen, und wenn dies erfolgreich ist, füllt es die relevanten Informationen aus.
Abbildung 34: Neue Geräte werden integriert

Schritt 5: Bestätigen Sie verwaltete Geräte zur Verwendung in Apstra-Blueprints.
Die Geräte müssen vom Benutzer bestätigt werden, um das Onboarding abzuschließen und ihnen die Teilnahme an Apstra Blueprints zu ermöglichen.
Sobald die Erstellung des Offbox-Agenten für jedes Gerät erfolgreich abgeschlossen wurde, müssen die Geräte vom Benutzer bestätigt werden, um das Onboarding abzuschließen und sie zu einem Teil der Apstra Blueprints zu machen. Dadurch wird der Gerätestatus von OOS-QUARANTINE auf OOS-READY verschoben.
- Gerät(e) auswählen
- Klicken Sie auf die Schaltfläche "Ausgewähltes System bestätigen"
Abbildung 35: Nennung verwalteter Geräte in Apstra-Blueprints

Fabric-Bereitstellung in der Apstra Web-Benutzeroberfläche
Führen Sie zur Bereitstellung der Fabric die folgenden Schritte in der Apstra Web-Benutzeroberfläche aus:
Schritt 1: Erstellen logischer Geräte und Schnittstellenzuordnungen für Leaf- und Spine-Knoten.
Das Beispiel zeigt, wie die Schnittstellenzuordnung und das logische Gerät für den PTX10008 mit LC1301-Spine-Knoten erstellt werden.
- Navigieren Sie zu Design > Logical Devices
- Klicken Sie auf Logisches Gerät erstellen.
Abbildung 36: Erstellen eines logischen Geräts

- Geben Sie einen Namen ein, fügen Sie zusätzliche Ports hinzu und ändern Sie die Geschwindigkeit auf 800G.
- Klicken Sie auf Pannel hinzufügen.
Abbildung 37: Erstellen eines logischen Gerätebereichs 1.

- Geben Sie einen Namen ein, fügen Sie zusätzliche Ports hinzu und ändern Sie die Geschwindigkeit im zweiten Bereich auf 800G.
Abbildung 38: Erstellen des logischen Gerätebereichs 2.

- Klicken Sie für die Felder 1 und 2 auf Portgruppe erstellen .
Abbildung 39: Erstellen von Portgruppen für logische Geräte.

- Klicken Sie auf Erstellen.
Abbildung 40: Erstellen eines logischen Geräts

- Überprüfen Sie die logische Geräteerstellung.
Abbildung 41: Neues logisches Gerät

- Navigieren Sie zu Design > Logical Devices
Abbildung 42: Erstellen einer Schnittstellenzuordnung

Für die Leaf-Knoten des QFX5220 sind die logischen Geräte- und Schnittstellenzuordnungen in den Abbildungen 43 und 44 dargestellt:
Abbildung 43: Logisches Apstra-Gerät für die Leaf-Knoten QFX5220

Abbildung 44: Apstra-Schnittstellenzuordnung für die Leaf-Knoten des QFX5220

Für die QFX5230-64CD-Leaf-Knoten sind die logischen Geräte- und Schnittstellenzuordnungen in den Abbildungen 45 und 46 dargestellt:
Abbildung 45: Logisches Apstra-Gerät für die QFX5230 Leaf-Knoten

Abbildung 46: Apstra-Schnittstellenzuordnung für die QFX5230 Leaf-Knoten

Für die QFX5230 Spine-Knoten sind die logischen Geräte- und Schnittstellenzuordnungen in den Abbildungen 47 und 48 dargestellt:
Abbildung 47: Logisches Apstra-Gerät für die QFX5230 Spine-Knoten

Abbildung 48: Apstra-Schnittstellenzuordnung für die QFX5230 Spine-Knoten

Für die QFX5240 Spine- und Leaf-Knoten sind die logischen Geräte- und Schnittstellenzuordnungen in den Abbildungen 49-50 bzw. 51-52 dargestellt.
Die folgende Tabelle zeigt die Unterschiede zwischen der alten und der neuen Portzuordnung.
Tabelle 25. QFX5240-64DC-Portzuordnungen

Die Schnittstellenzuordnung und die logischen Geräte für das QFX5240-64DC-Leaf und Spine-Knoten wurden gemäß der neuen Portzuordnung erstellt, wie in den Abbildungen 49-50 dargestellt
Abbildung 49: Apstra-Schnittstellenzuordnung für die QFX5240 Spine-Knoten

Abbildung 50: Logisches Apstra-Gerät für die QFX5240 Spine-Knoten

Abbildung 51: Apstra-Schnittstellenzuordnung für die QFX5240 Leaf-Knoten

Abbildung 52: Logisches Apstra-Gerät für die QFX5240 Leaf-Knoten

Für die ebenfalls getesteten PTX10008 LC1201-Spine-Knoten sind die logischen Geräte- und Schnittstellenzuordnungen in den Abbildungen 53-54 dargestellt.
Abbildung 53: Apstra-Schnittstellenzuordnung für die PTX Spine-Knoten

Abbildung 54: Logisches Apstra-Gerät für die PTX Spine-Knoten

Schritt 2: Erstellen der Schnittstellenzuordnung und des logischen Geräts für die GPU-Server
Die logische Geräte- und Schnittstellenzuordnung für die AMD NVIDIA-GPU-Server ist in den Abbildungen 55 bis 56 dargestellt.
Abbildung 55: Apstra-Schnittstellenzuordnung für die A100 Nvidia-Server

Abbildung 56: Apstra-Schnittstellenzuordnung für die H100 Nvidia-Server

Abbildung 57: Logische Geräte für die A100 Nvidia-Server

Abbildung 58: Logische Geräte für die H100 Nvidia-Server

Schritt 3. Rack-Typ für die GPU-Backend-Fabric erstellen
- Navigieren Sie zu Design → Racktypen → im Builder erstellen
HINWEIS: In Apstra entspricht ein Rack technisch gesehen einem Stripe im Kontext einer KI-Fabric
- Klicken Sie auf Racktyp erstellen
Abbildung 59: Rack-Typ in Apstra erstellen
HINWEIS: Sie können zwischen Im Builder erstellen oder Im Designer erstellen (grafische Version) wählen. Hier demonstrieren wir die Option "Im Builder erstellen". - Geben Sie einen Namen und eine Beschreibung ein und wählen Sie L3 Clos aus.
Abbildung 60: Erstellen eines Racks in Apstra mit der Option "Im Builder erstellen".

- Erstellen Sie das erste Blatt, indem Sie auf die Schaltfläche Blatt hinzufügen klicken.
Abbildung 61: Erstellen von Leaf-Knoten

Wählen Sie den erstellten Switch aus und klicken Sie auf Eigenschaften der ausgewählten Knoten verwalten.
Wählen Sie das entsprechende logische Gerät aus.
Abbildung 62: Konfigurieren der Eigenschaften von Leaf-Knoten

- Erstellen Sie zusätzliche Leaf-Knoten, indem Sie das im vorherigen Schritt erstellte Leaf klonen. Wiederholen Sie den Vorgang, bis insgesamt 8 Blätter hinzugefügt wurden.
Abbildung 62: Erstellen zusätzlicher Leaf-Knoten durch Klonen des Leaf-Knotens

Abbildung 63: Zusätzliche Leaf-Knoten erstellt

- Erstellen Sie den ersten GPU-Server (generische Systeme), indem Sie auf Generisches System hinzufügen klicken
Abbildung 64: Klonen von Leaf-Knoten.

Wählen Sie den erstellten Server aus und klicken Sie auf Eigenschaften der ausgewählten Knoten verwalten.
Geben Sie einen Namen für den Server an, und wählen Sie das entsprechende logische Gerät aus.
Abbildung 65: Erstellen und Konfigurieren des ersten GPU-Servers (generisches System)

- Erstellen Sie Verbindungen zwischen GPU-Server und Leaf-Knoten.
Wählen Sie den Server und das erste Blatt aus und klicken Sie auf Links verwalten.
Stellen Sie sicher, dass das Kontrollkästchen "Ist Teil der Schiene" aktiviert ist.
Wiederholen Sie diesen Vorgang, bis alle Verbindungen zwischen dem Server und allen Leafknoten erstellt wurden.
Abbildung 66: Erstellen von Verbindungen zwischen GPU-Servern und Leaf-Knoten

Abbildung 67: Erstellen von Verbindungen zwischen GPU-Servern und Leaf-Knoten

- Erstellen Sie zusätzliche Server, indem Sie den im vorherigen Schritt erstellten Server klonen. Wiederholen Sie den Vorgang, bis insgesamt 8 Blätter hinzugefügt wurden. Alle Verbindungen werden geklont.
Abbildung 68: Erstellen zusätzlicher Server

Abbildung 69: Zusätzliche Server erstellen

- Überprüfen Sie, ob das Rack korrekt erstellt wurde:
Abbildung 70: Erstellen von Verbindungen zwischen GPU-Servern und Leaf-Knoten

Abbildung 71: Erstellen von Verbindungen zwischen GPU-Servern und Leaf-Knoten

Abbildung 72: Erstellen von Verbindungen zwischen GPU-Servern und Leaf-Knoten

Abbildung 73: Erstellen von Verbindungen zwischen GPU-Servern und Leaf-Knoten

Schritt 4: Erstellen Sie eine Vorlage.
Navigieren Sie zu Design -> Vorlagen -> Vorlage erstellen
- Klicken Sie auf Vorlage erstellen
Abbildung 74: Apstra-Vorlage erstellen
HINWEIS: Sie können zwischen Vorlage erstellen oder KI-Cluster-Vorlage erstellen wählen (Wählen Sie aus bereits vorhandenen Designs basierend auf der erforderlichen Anzahl von GPUs pro Stripe und der Anzahl der Stripes aus.). Wir werden hier die Option Vorlage erstellen demonstrieren. - Geben Sie den Namen der Vorlage ein und wählen Sie Typ RACK-BASIERT, Richtlinien, ASN-Zuweisung Eindeutig und Overlay Pure IP Fabric.
Abbildung 75: Erstellen einer Vorlage in Apstra - Parameter

- Scrollen Sie nach unten, und wählen Sie den in den vorherigen Schritten erstellten logischen Gerät für den Rack-Typ und die Spine aus, legen Sie die Anzahl der Racks (was der Anzahl der Stripes entspricht) und die Anzahl der Spines fest. Klicken Sie auf Erstellen, wenn Sie fertig sind, wie in Abbildung 75 gezeigt.
Abbildung 76: Erstellen einer Vorlage in Apstra – Struktur

Abbildung 77: Überprüfen der Erstellung einer neuen Vorlage
Schritt 5. Erstellen des GPU-Backend-Fabric-Entwurfs
- Navigieren Sie zum Abschnitt Blueprints, und klicken Sie auf Create Blueprint, wie in Abbildung 78 gezeigt.
Abbildung 78: Erstellen eines Entwurfs in Apstra

- Geben Sie einen Namen für den neuen Entwurf an, wählen Sie Datencenter als Referenzdesign und dann Rack-basiert aus. Wählen Sie dann die Vorlage aus, die im vorherigen Schritt erstellt wurde, die die beiden zuvor erstellten Racktypen enthält.
Abbildung 79: Neue Blueprint-Attribute in Apstra
Sobald der Blueprint erfolgreich von Apstra initiiert wurde, wird er wie unten dargestellt in das Blueprint-Dashboard aufgenommen.
Abbildung 80: Neuer Entwurf zum Blueprint-Dashboard hinzugefügt
Beachten Sie, dass der Bereitstellungsstatus, die Dienstanomalien, die Sondenanomalien und die Ursachen alle als N/A angezeigt werden. Dies liegt daran, dass Sie zusätzliche Schritte ausführen müssen, darunter die Zuordnung der verschiedenen Rollen im Blueprint zu den physischen Geräten, die Definition der zu verwendenden Schnittstellen usw.
Wenn Sie auf den Namen des Blueprints klicken und das Blueprint-Dashboard aufrufen, wird angezeigt, dass der Blueprint noch nicht bereitgestellt wurde.
Abbildung 81: Dashboard von New Blueprint
Die in Abbildung 82 dargestellte gestaffelte Ansicht zeigt, dass die Topologie korrekt ist, aber Attribute wie obligatorische ASNs und Loopback-Adressierung für die Spines und die Leaf-Knoten sowie die Adressierung der Spine-to-Leaf-Links müssen vom Benutzer bereitgestellt werden.
Abbildung 82: Nicht bereitgestelltes Blueprint-Dashboard
Sie müssen jedes dieser Attribute bearbeiten und aus vordefinierten Pools von Adressen und ASNs auswählen, wie im Beispiel in Abbildung 83 gezeigt, um dieses Problem zu beheben.
Abbildung 83: ASN-Pool für Spine-Knoten auswählen
Sie müssen auch Schnittstellenzuordnungen für die Rolle der einzelnen Geräte und zusammen mit der Zuweisung von System-IDs auswählen, wie in den Abbildungen 84-85 dargestellt.
Abbildung 84: Zuordnen von Schnittstellenzuordnungen zu Spine-Knoten
Abbildung 85: Zuordnen von Spine-Knoten zu physischen Geräten (System-IDs)
Sobald alle diese Schritte abgeschlossen sind, können Sie alle Änderungen bestätigen, und Apstra generiert und überträgt alle erforderlichen herstellerspezifischen Konfigurationen an die Knoten. Sobald dies abgeschlossen ist, sollten Sie in der Lage sein, einen aktiven Blueprint anzuzeigen, der die erfolgreich bereitgestellte Fabric darstellt, wie in Abbildung 86 dargestellt.
Abbildung 86: Zuordnen von Spine-Knoten zu physischen Geräten 2 (System-IDs)

Schritt 6: Erstellen Sie Configlets für DCQCN und DLB.
In der Apstra-Version, die für dieses JVD verwendet wird, sind Funktionen wie ECN, PFC (DCQCN) und DLB nicht nativ verfügbar. Daher sollten Apstra-Configlets verwendet werden, um diese Funktionen zu den Konfigurationen hinzuzufügen, bevor sie auf den Fabric-Geräten bereitgestellt werden.
Das für die DCQCN- und DLB-Funktionen auf den QFX-Leaf-Knoten verwendete Configlet lautet wie folgt:
/* DLB configuration for Thor NIC2 Adapter */ hash-key { family inet { layer-3; layer-4; } } enhanced-hash-key { ecmp-dlb { flowlet { inactivity-interval 128; flowset-table-size 2048; } ether-type { ipv4; ipv6; } sampling-rate 1000000; } } protocols { bgp { global-load-balancing { load-balancer-only; } } } /* DCQCN configuration */ classifiers { dscp mydscp { forwarding-class CNP { loss-priority low code-points 110000; } forwarding-class NO-LOSS { loss-priority low code-points 011010; } } } drop-profiles { dp1 { interpolate { fill-level [ 55 90 ]; drop-probability [ 0 100 ]; } } } shared-buffer { ingress { buffer-partition lossless { percent 66; dynamic-threshold 10; } buffer-partition lossless-headroom { percent 24; } buffer-partition lossy { percent 10; } } egress { buffer-partition lossless { percent 66; } buffer-partition lossy { percent 10; } } } forwarding-classes { class CNP queue-num 3; class NO-LOSS queue-num 4 no-loss pfc-priority 3; } congestion-notification-profile { cnp { input { dscp { code-point 011010 { pfc; } } } output { ieee-802.1 { code-point 011 { flow-control-queue 4; } } } } } interfaces { et-* { congestion-notification-profile cnp; scheduler-map sm1; unit * { classifiers { dscp mydscp; } } } } scheduler-maps { sm1 { forwarding-class CNP scheduler s2-cnp; forwarding-class NO-LOSS scheduler s1; } } schedulers { s1 { drop-profile-map loss-priority any protocol any drop-profile dp1; explicit-congestion-notification; } s2-cnp { transmit-rate percent 5; priority strict-high; } }
Das für die DCQCN- und DLB-Funktionen auf den QFX-Spine-Knoten verwendete Configlet lautet wie folgt:
/* DLB configuration */ hash-key { family inet { layer-3; layer-4; } } enhanced-hash-key { ecmp-dlb { flowlet { inactivity-interval 128; flowset-table-size 2048; } ether-type { ipv4; ipv6; } sampling-rate 1000000; } } protocols { bgp { global-load-balancing { helper-only; } } } /* DCQCN configuration */ class-of-service { classifiers { dscp mydscp { forwarding-class CNP { loss-priority low code-points 110000; } forwarding-class NO-LOSS { loss-priority low code-points 011010; } } } drop-profiles { dp1 { interpolate { fill-level [ 55 90 ]; drop-probability [ 0 100 ]; } } } shared-buffer { ingress { buffer-partition lossless { percent 66; dynamic-threshold 10; } buffer-partition lossless-headroom { percent 24; } buffer-partition lossy { percent 10; } } egress { buffer-partition lossless { percent 66; } buffer-partition lossy { percent 10; } } } forwarding-classes { class CNP queue-num 3; class NO-LOSS queue-num 4 no-loss pfc-priority 3; } congestion-notification-profile { cnp { input { dscp { code-point 011010 { pfc; } } } output { ieee-802.1 { code-point 011 { flow-control-queue 4; } } } } } interfaces { et-* { congestion-notification-profile cnp; scheduler-map sm1; unit * { classifiers { dscp mydscp; } } } } scheduler-maps { sm1 { forwarding-class CNP scheduler s2-cnp; forwarding-class NO-LOSS scheduler s1; } } schedulers { s1 { drop-profile-map loss-priority any protocol any drop-profile dp1; explicit-congestion-notification; } s2-cnp { transmit-rate percent 5; priority strict-high; } } }
Die Konfiguration für die DCQCN-Funktionen auf dem PTX10008 als Spine-Geräte lautet wie folgt:
/* ALB configuration */ policy-options { policy-statement ALB-TEST { term 1 { from { route-filter 10.200.1.0/24 exact; } then { load-balance adaptive; } } } } routing-options { forwarding-table { export ALB-TEST; } } chassis { ecmp-alb { tolerance 20; } interoperability express5-enhanced; } /* DCQCN configuration */ classifiers { dscp rdma-dscp { forwarding-class rdma-cnp { loss-priority low code-points 110000; } forwarding-class rdma-data { loss-priority low code-points 011010; } } } drop-profiles { dp-ecn { fill-level 3 drop-probability 100; } } forwarding-classes { class network-control queue-num 3; class other queue-num 1; class rdma-cnp queue-num 0; class rdma-data queue-num 2 no-loss; } monitoring-profile { myMon { export-filters qall { peak-queue-length { percent 100; } queue [ 3 1 2 ]; } } } interfaces { et-* { scheduler-map sched-map-aiml; monitoring-profile myMon; unit * { classifiers { dscp rdma-dscp; } } } } scheduler-maps { sched-map-aiml { forwarding-class network-control scheduler sched-nc; forwarding-class other scheduler sched-other; forwarding-class rdma-cnp scheduler sched-rdma-cnp; forwarding-class rdma-data scheduler sched-rdma-data; } } options { hierarchical-scheduler-disable; } schedulers { sched-nc { transmit-rate percent 1; priority medium-high; } sched-other { priority low; } sched-rdma-cnp { transmit-rate percent 1; priority high; } sched-rdma-data { transmit-rate percent 97; buffer-size temporal 400; priority medium-high; drop-profile-map loss-priority any protocol any drop-profile dp-ecn; explicit-congestion-notification; ecn-enhanced { head-marking; } } }
So erstellen Sie diese Configlets:
- Navigieren Sie zu Design - > Configlets -> Create Configlet und klicken Sie auf Create Configlet.
- Geben Sie einen Namen für das Configlet an, wählen Sie das Betriebssystem, den Anbieter und den Konfigurationsmodus aus, und fügen Sie den obigen Konfigurationsausschnitt wie unten gezeigt in das Textfeld der Vorlage ein:
Abbildung 87: Erstellung eines DCQCN-Configlets in Apstra
