phil-de
Goto Top

MikroTik CRS354-48P hohe CPU-Auslastung im Switching

Moin zusammen!

Hier sind im Netzwerk zwei MikroTik CRS354-48P-4S+2Q+RM im Einsatz. Aktuell sind an den Switches kaum Geräte angeschlossen. (max. 10 Geräte).

Leider ist die CPU fasst immer auf 100 % in der Auslastung, ich habe die Sorge, dass dadurch die Switching-Geschwindigkeit etwas ausgebremst wird. Ich habe schon unter Tools/Profile überprüft, was die CPU-Auslastung verursacht. Dort steht Networking mit 40 - 50 % an der Spitze. Auf dem Uplink Port ist momentan ein Durchsatz von ca. 500mbit/s - max. 1,2 GBit/s.

Auf dem Switch ist RouterOS in der Version 7.9.2 installiert. Der Switch hat keine Firewall Regeln hinterlegt und nur eine IPv4-Adresse auf das VLAN-Interface im Management VLAN erhalten. Der Switch soll auch nicht routen.

Im Switch selbst ist eine VLAN-Bridge angelegt, welche die einzelnen Ports mit den entsprechenden VLANs hinterlegt sind. Auf dem Switch sind 12 VLANS angelegt. Ansonsten ist RSTP und VLAN-Filtering aktiviert.

Die physischen Ports sind unter Bridge/Ports mit H (Hw. Offloaded) markiert.

Wir haben an dem Switch 2 Uplink Verbindungen.
Uplink 1: 2x 10G SFP+ Richtung Core-Switch (Bonding Mode: balance)
Uplink 2: 2x QSFP+ Kabel (XQ+DA0001) Richtung zweiten Switch (Bonding Mode: balance)

Hat da jemand eine Idee was man machen kann, um die CPU Auslastung zu senken?

Content-ID: 7468924248

Url: https://administrator.de/contentid/7468924248

Ausgedruckt am: 22.11.2024 um 06:11 Uhr

Spirit-of-Eli
Spirit-of-Eli 09.06.2023 aktualisiert um 11:46:13 Uhr
Goto Top
Moin,

wie schaut denn deine Konfig aus? Nutzt du VLans oder spielt der CRS354 Gateway?
In dem Fall, dass der "Switch" routet, läuft sämtlicher Traffic über die CPU da kein Offloading möglich ist. Laut Block-Diagram ist die Anbindung an die CPU auch nur 1Gbs.
Unter den Ports (ink SFP+/QSFP+) sollte wirespeed möglich sein.

Gruß
Spirit

Block-Diagram:
https://i.mt.lv/cdn/product_files/CRS354-48G-4Splus2Qplus_200122.png
Mr-Gustav
Mr-Gustav 09.06.2023 um 11:46:20 Uhr
Goto Top
Poste doch bitte mal deine Konfiguration denn das kann so alles oder auch nichts sein.
Meine Glaskugel ist leider gerade im Geschirrspüler ähhhh Glaskugelspülgeät meine ich
Phil-DE
Phil-DE 09.06.2023 um 11:55:09 Uhr
Goto Top
Sooo....

# software id = XXXX
#
# model = CRS354-48P-4S+2Q+
# serial number = XXXX
/interface bridge
add name=vlan-bridge vlan-filtering=yes
/interface ethernet
set [ find default-name=ether1 ] name=eth-1
set [ find default-name=ether2 ] name=eth-2
set [ find default-name=ether3 ] name=eth-3
set [ find default-name=ether4 ] name=eth-4
set [ find default-name=ether5 ] name=eth-5
set [ find default-name=ether6 ] name=eth-6
set [ find default-name=ether7 ] name=eth-7
set [ find default-name=ether8 ] name=eth-8
set [ find default-name=ether9 ] name=eth-9
set [ find default-name=ether10 ] name=eth-10
set [ find default-name=ether11 ] name=eth-11
set [ find default-name=ether12 ] name=eth-12
set [ find default-name=ether13 ] name=eth-13
set [ find default-name=ether14 ] name=eth-14
set [ find default-name=ether15 ] name=eth-15
set [ find default-name=ether16 ] name=eth-16
set [ find default-name=ether17 ] name=eth-17
set [ find default-name=ether18 ] name=eth-18
set [ find default-name=ether19 ] name=eth-19
set [ find default-name=ether20 ] name=eth-20
set [ find default-name=ether21 ] name=eth-21
set [ find default-name=ether22 ] name=eth-22
set [ find default-name=ether23 ] name=eth-23
set [ find default-name=ether24 ] name=eth-24
set [ find default-name=ether25 ] name=eth-25
set [ find default-name=ether26 ] name=eth-26
set [ find default-name=ether27 ] name=eth-27
set [ find default-name=ether28 ] name=eth-28
set [ find default-name=ether29 ] name=eth-29
set [ find default-name=ether30 ] name=eth-30
set [ find default-name=ether31 ] name=eth-31
set [ find default-name=ether32 ] name=eth-32
set [ find default-name=ether33 ] name=eth-33
set [ find default-name=ether34 ] name=eth-34
set [ find default-name=ether35 ] name=eth-35
set [ find default-name=ether36 ] name=eth-36
set [ find default-name=ether37 ] name=eth-37
set [ find default-name=ether38 ] name=eth-38
set [ find default-name=ether39 ] name=eth-39
set [ find default-name=ether40 ] name=eth-40
set [ find default-name=ether41 ] name=eth-41
set [ find default-name=ether42 ] name=eth-42
set [ find default-name=ether43 ] name=eth-43
set [ find default-name=ether44 ] name=eth-44
set [ find default-name=ether45 ] name=eth-45
set [ find default-name=ether46 ] name=eth-46
set [ find default-name=ether47 ] name=eth-47
set [ find default-name=ether48 ] name=eth-48
set [ find default-name=ether49 ] name=mgmt
set [ find default-name=qsfpplus1-1 ] name=qsfp-1-1
set [ find default-name=qsfpplus1-2 ] name=qsfp-1-2
set [ find default-name=qsfpplus1-3 ] name=qsfp-1-3
set [ find default-name=qsfpplus1-4 ] name=qsfp-1-4
set [ find default-name=qsfpplus2-1 ] name=qsfp-2-1
set [ find default-name=qsfpplus2-2 ] name=qsfp-2-2
set [ find default-name=qsfpplus2-3 ] name=qsfp-2-3
set [ find default-name=qsfpplus2-4 ] name=qsfp-2-4
set [ find default-name=sfp-sfpplus1 ] name=sfp1
set [ find default-name=sfp-sfpplus2 ] name=sfp2
set [ find default-name=sfp-sfpplus3 ] name=sfp3
set [ find default-name=sfp-sfpplus4 ] name=sfp4
/interface vlan
add interface=vlan-bridge name=vlan-100 vlan-id=100
/interface bonding
add name=lacp-qsfp-1 slaves=qsfp-1-1,qsfp-1-2,qsfp-1-3,qsfp-1-4
add name=lacp-qsfp-2 slaves=qsfp-2-1,qsfp-2-2,qsfp-2-3,qsfp-2-4
add name=lacp-core slaves=sfp2,sfp1
add name=lacp-stacking slaves=lacp-qsfp-1,lacp-qsfp-2
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip hotspot profile
set [ find default=yes ] html-directory=hotspot
/port
set 0 name=serial0
/interface bridge mlag
set bridge=vlan-bridge peer-port=lacp-stacking
/interface bridge port
add bridge=vlan-bridge fast-leave=yes interface=lacp-stacking pvid=99
add bridge=vlan-bridge interface=lacp-core
add bridge=vlan-bridge interface=eth-1 pvid=100
add bridge=vlan-bridge interface=eth-2 pvid=100
add bridge=vlan-bridge interface=eth-3 pvid=6
add bridge=vlan-bridge interface=eth-4 pvid=6
add bridge=vlan-bridge interface=eth-5 pvid=100
add bridge=vlan-bridge interface=eth-6 pvid=6
add bridge=vlan-bridge interface=eth-7 pvid=100
add bridge=vlan-bridge interface=eth-8 pvid=6
add bridge=vlan-bridge interface=eth-9 pvid=6
add bridge=vlan-bridge interface=eth-10 pvid=6
add bridge=vlan-bridge interface=eth-11 pvid=6
add bridge=vlan-bridge interface=eth-12 pvid=6
add bridge=vlan-bridge interface=eth-13 pvid=6
add bridge=vlan-bridge interface=eth-14 pvid=6
add bridge=vlan-bridge interface=eth-15 pvid=6
add bridge=vlan-bridge interface=eth-16 pvid=6
add bridge=vlan-bridge interface=eth-17 pvid=6
add bridge=vlan-bridge interface=eth-18 pvid=6
add bridge=vlan-bridge interface=eth-19 pvid=6
add bridge=vlan-bridge interface=eth-20 pvid=6
add bridge=vlan-bridge interface=eth-21 pvid=6
add bridge=vlan-bridge interface=eth-22 pvid=6
add bridge=vlan-bridge interface=eth-23 pvid=6
add bridge=vlan-bridge interface=eth-24 pvid=6
add bridge=vlan-bridge interface=eth-25 pvid=6
add bridge=vlan-bridge interface=eth-26 pvid=6
add bridge=vlan-bridge interface=eth-27 pvid=6
add bridge=vlan-bridge interface=eth-28 pvid=6
add bridge=vlan-bridge interface=eth-29 pvid=6
add bridge=vlan-bridge interface=eth-30 pvid=6
add bridge=vlan-bridge interface=eth-31 pvid=6
add bridge=vlan-bridge interface=eth-32 pvid=20
add bridge=vlan-bridge interface=eth-33 pvid=101
add bridge=vlan-bridge interface=eth-34 pvid=101
add bridge=vlan-bridge interface=eth-35 pvid=2
add bridge=vlan-bridge interface=eth-36
add bridge=vlan-bridge interface=eth-37
add bridge=vlan-bridge interface=eth-38 pvid=2
add bridge=vlan-bridge interface=eth-39
add bridge=vlan-bridge interface=eth-40 pvid=2
add bridge=vlan-bridge interface=eth-41
add bridge=vlan-bridge interface=eth-42
add bridge=vlan-bridge interface=eth-43
add bridge=vlan-bridge interface=eth-44
add bridge=vlan-bridge interface=eth-45
add bridge=vlan-bridge interface=eth-46
add bridge=vlan-bridge interface=eth-47
add bridge=vlan-bridge interface=eth-48
/interface bridge vlan
add bridge=vlan-bridge tagged=vlan-bridge,lacp-core,lacp-stacking untagged=eth-35,eth-40,eth-38 vlan-ids=2
add bridge=vlan-bridge tagged=vlan-bridge,lacp-core,lacp-stacking vlan-ids=3
add bridge=vlan-bridge tagged=lacp-core,lacp-stacking,vlan-bridge untagged="eth-3,eth-4,eth-6,eth-5,eth-8,eth-9,eth-10,eth-11,eth-12,eth-13,eth-14,eth-15,eth\  
    -16,eth-17,eth-18,eth-19,eth-20,eth-21,eth-22,eth-23,eth-24,eth-25,eth-26,eth-27,eth-28,eth-29,eth-30,eth-31" vlan-ids=6  
add bridge=vlan-bridge tagged=vlan-bridge,lacp-core,lacp-stacking vlan-ids=8
add bridge=vlan-bridge tagged=vlan-bridge,lacp-core,lacp-stacking untagged=eth-32,eth-36 vlan-ids=20
add bridge=vlan-bridge tagged=vlan-bridge,lacp-core,lacp-stacking,eth-33,eth-34 vlan-ids=41
add bridge=vlan-bridge tagged=vlan-bridge,lacp-core,lacp-stacking,eth-33,eth-34 vlan-ids=51
add bridge=vlan-bridge tagged=vlan-bridge,lacp-core,lacp-stacking,eth-33,eth-34 vlan-ids=55
add bridge=vlan-bridge tagged=vlan-bridge,lacp-core,lacp-stacking untagged=eth-1,eth-2,eth-5,eth-7 vlan-ids=100
add bridge=vlan-bridge tagged=vlan-bridge,lacp-core,lacp-stacking untagged=eth-33,eth-34 vlan-ids=101
add bridge=vlan-bridge tagged=vlan-bridge,lacp-core,lacp-stacking vlan-ids=102
add bridge=vlan-bridge tagged=vlan-bridge,lacp-stacking,lacp-core vlan-ids=200
add bridge=vlan-bridge tagged=vlan-bridge,lacp-core,lacp-stacking vlan-ids=201
add bridge=vlan-bridge tagged=vlan-bridge,lacp-core,lacp-stacking vlan-ids=202
add bridge=vlan-bridge tagged=lacp-stacking untagged=lacp-core,vlan-bridge,eth-37,eth-39,eth-41,eth-42,eth-43,eth-44,eth-45,eth-46,eth-47,eth-48,eth-36 \
    vlan-ids=1
/ip address
add address=192.168.100.58/24 interface=vlan-100 network=192.168.100.0
/ip route
add check-gateway=ping disabled=no dst-address=0.0.0.0/0 gateway=192.168.100.1 routing-table=main suppress-hw-offload=no
/system clock
set time-zone-name=Europe/Berlin
/system identity
set name=Switch-53
/system note
set show-at-login=no
/system ntp client
set enabled=yes
/system ntp client servers
add address=1.1.1.1
add address=8.8.8.8
/system routerboard settings
set boot-os=router-os enter-setup-on=delete-key
Phil-DE
Phil-DE 09.06.2023 um 11:56:42 Uhr
Goto Top
Zitat von @Spirit-of-Eli:

Moin,

wie schaut denn deine Konfig aus? Nutzt du VLans oder spielt der CRS354 Gateway?
In dem Fall, dass der "Switch" routet, läuft sämtlicher Traffic über die CPU da kein Offloading möglich ist. Laut Block-Diagram ist die Anbindung an die CPU auch nur 1Gbs.
Unter den Ports (ink SFP+/QSFP+) sollte wirespeed möglich sein.

Gruß
Spirit

Block-Diagram:
https://i.mt.lv/cdn/product_files/CRS354-48G-4Splus2Qplus_200122.png

Der Switch übernimmt kein Routing. Der soll nur Switchen.
7426148943
7426148943 09.06.2023, aktualisiert am 10.06.2023 um 11:26:05 Uhr
Goto Top
Wieso taggst du überall die VLAN-Bridge?? Der soll doch nur switchen... fürs reine Switchen brauchst du die VLANs auf dem Bridge-Interface nicht taggen, außer dem MGMT VLAN100 welches dort eine IP bezieht ...
https://wiki.mikrotik.com/wiki/Manual:CRS3xx_VLANs_with_Bonds

Was erwartest du mit proprietärem Bonding statt 803.2ad und 10GBit? Das Ding hat nur 1 CPU mit 650MHz, da ist das normal das das Teil schnell am Anschlag ist, auch ohne Routing. You get what you pay face-wink

Zeppel.

p.s. die 7.9.2 Release hat ein paar Bugs bezüglich Hardware-Offload, einige davon wurden in den aktuellen Testing-Releases behoben.
Phil-DE
Phil-DE 09.06.2023 um 16:59:03 Uhr
Goto Top
Zitat von @7426148943:

Wieso taggst du überall die VLAN-Bridge?? Der soll doch nur switchen... fürs reine Switchen brauchst du die VLANs auf dem Bridge-Interface nicht taggen, außer dem MGMT VLAN100 welches dort eine IP bezieht ...
https://wiki.mikrotik.com/wiki/Manual:CRS3xx_VLANs_with_Bonds


Ich hatte das damals so gezeigt bekommen, dass das nötig ist. Aber ändert das was an der Performance?


Zitat von @7426148943:

Was erwartest du mit Bonding und 10GBit? Das Ding hat nur 1 CPU mit 650MHz, da ist das normal das das Teil schnell am Anschlag ist, auch ohne Routing. You get what you pay face-wink

Aber dann frage ich mich, wie die auf die Testergebnisse kommen? 300.000 sieht dann ja etwas anders aus ...

Würde es mit SwitchOS anders aussehen?
7426148943
7426148943 09.06.2023 aktualisiert um 21:03:58 Uhr
Goto Top
Zitat von @Phil-DE:
Ich hatte das damals so gezeigt bekommen, dass das nötig ist. Aber ändert das was an der Performance?
Ja, weniger tagged packets an die CPU == CPU hat mehr freie Zeitslots = geringere CPU Last.
Aber dann frage ich mich, wie die auf die Testergebnisse kommen? 300.000 sieht dann ja etwas anders aus ...
Das ist alles ohne VLAN-Filtering und Bonding/MLAG gemessen, das sind alles Features die auch die CPU zu einem Anteil belasten nicht nur den Switch-Chip.
Würde es mit SwitchOS anders aussehen?
Nein, SwitchOS ist nur ein Feature reduziertes RouterOS das ehrlich gesagt auch nicht mehr großartig weiterentwickelt wird.
Nutze halt keine CPU lastigen Features dann geht das mit der Möhre, alles andere hat mit der CPU keinen Sinn, selbst ne Fritte hat da um das x fache mehr Power.
Visucius
Visucius 10.06.2023 aktualisiert um 06:02:50 Uhr
Goto Top
Würde es mit SwitchOS anders aussehen?
Ja! Mein 326er arbeitet jetzt mit SwitchOS problemlos und ohne Performance-Issues. Zudem sind viele Fehlerquellen zus. abhängig von ROS-Version, schlicht nicht vorhanden.

Backup Dir Dein aktuelles Setup und probiere es einfach aus! Die MT-Testergebnisse werden mit „using mentioned hardware and software configuration“ erhoben. Das ist bei Switch halt SwitchOS.

SwitchOS ist nur ein Feature reduziertes RouterOS das ehrlich gesagt auch nicht mehr großartig weiterentwickelt wird.
Ist das so was „gefühltes“ oder lässt sich das mit irgendwas erhärten? Frag nur, wegen der non-Dualboot-Modelle

dann geht das mit der Möhre
Naja Möhre?! Ist halt ne Switch-HW mit Routerfunktionalität (unter Router-OS). Ich wage zu behaupten, dass 80% der manuell konfigurierten ROS-HW nicht in ihrem Sweet-Spot läuft.
7426148943
7426148943 10.06.2023 aktualisiert um 07:39:46 Uhr
Goto Top
SwitchOS ist halt quasi nur ein WebGUI Interface zur Generierung von Switch-Chip Konfigurationsdateien. Die meisten Bugs/Fehler sind somit schon in Silikon gegossen und werden wohl niemals behoben werden können ohne die Hardware zu wechseln oder ein anderes OS zu verwenden was es erlaubt Workarounds darauf anzuwenden.
SwitchOS macht es dem "Laien" halt einfacher nicht in die config technischen Performance-Fallen von RouterOS zu tappen, insofern kann er es gerne ausprobieren.
Sofern man die Fallen kennt lohnt ein Wechsel nicht wirklich. Die Hardware bleibt die selbe.
aqui
aqui 10.06.2023 um 09:35:36 Uhr
Goto Top
RouterOS in der Version 7.9.2 installiert.
Hast du auch den Bootloader unter System - Routerboard entsprechend auf diese Version upgedated?? Das sollte man nicht vergessen!
Bonding Mode: balance
Das ist keine gute Idee und ein proprietäres Verfahren. Du solltest hier immer den Standard 802.3ad wählen. Siehe:
Mikrotik VLAN Konfiguration ab RouterOS Version 6.41
commodity
Lösung commodity 12.06.2023 aktualisiert um 07:53:11 Uhr
Goto Top
Im Regelfall gilt bei Mikrotik:
  • Hohe CPU-Last liegt an einer Fehlkonfiguration oder Funktionsbeschränkung, die Traffic, der eigentlich im Offload laufen sollte, über die CPU leitet.
  • Mögliche Fehlkonfiguration wird in den Docs direkt angesprochen.
  • Man übersieht es (kennen wir wohl alle face-smile)

Wie praktisch immer, trifft der Kollege @aqui hier wahrscheinlich den Punkt:
Das ist keine gute Idee
https://help.mikrotik.com/docs/display/ROS/Bonding
screenshot 2023-06-11 235530

Alternativ könnte auch das ein Problem sein:
https://help.mikrotik.com/docs/display/ROS/Multi-chassis+Link+Aggregatio ...
screenshot 2023-06-11 235626
wobei ich auch die Schnelle jetzt bei Dir kein L3 Routing o.ä. sehe.

Und das
Zitat von @Visucius:

Würde es mit SwitchOS anders aussehen?
Ja!
ist natürlich nur richtig, soweit man mit SWOS bestimmte Konfigurationsfehler vermeidet, weil es leichter zu handhaben ist. MLAG wäre in diesem Fall auch kein Problem - das gibt es bei SWOS gar nicht. face-big-smile
Ich halte es für besser, sich ernsthaft mit ROS zu beschäftigen.

Viele Grüße, commodity
Phil-DE
Phil-DE 12.06.2023 um 21:56:55 Uhr
Goto Top
Soooo...
Ich habe es jetzt mal mit RouterOS probiert und das Bonding auf 802.3ad umgestellt.
Die Auslastung ist jetzt um einiges heruntergegangen! Danke!

Zwar ist jetzt "Management" an der Spitze mit 20%, aber ich denke dagegen wird man nichts machen können.
Oder?
commodity
commodity 12.06.2023 um 22:17:55 Uhr
Goto Top
Kannst ja mal zum Test das MLAG deaktivieren. Ich könnte mir vorstellen, dass das CPU braucht. 20 % ist ja tragbar. Sonst musst Du weiter suchen, was als CPU-lastig in Frage kommt. Ein paar Hausarbeiten können ja auch bleiben.
Ich habe hier einen CRS326. Der nur ein paar VLANs switcht und meist nicht viel tut. Liegt bei <2% Management.

Viele Grüße, commodity
Phil-DE
Phil-DE 13.06.2023 um 18:53:40 Uhr
Goto Top
Ja so weit funktioniert ja alles.
Es ist mir aufgefallen.

Nochmal vielen Dank!
Spirit-of-Eli
Spirit-of-Eli 13.06.2023 um 23:11:20 Uhr
Goto Top
Ich habe hier einen 326 mit einigen VLans und einem lagg mit zwei Beinen.
Der beansprucht die CPU nur wenn ich diesen verwaltet. Bei lasst, wohl gemerkt über das lagg, passiert nichts.

Nur das mgmt Interface hat eine IP.
aqui
aqui 14.06.2023 aktualisiert um 08:20:02 Uhr
Goto Top
Beachte aber das der TO einen MLAG hat, also einen auf beide Member gesplitteten LAG von einem 3ten Switch. MLAG benötigt schon etwas mehr CPU, da hier Forwarding Tabellen usw. der MLAG Member übertragen werden müssen etc. Ein MLAG benötigt also immer etwas mehr CPU als ein Standard LAG der meistens ganz ohne CPU in den Port ASICS gehandhabt wird.
Spirit-of-Eli
Spirit-of-Eli 14.06.2023 um 09:38:22 Uhr
Goto Top
Ja sorry, ein MLAGG braucht sicherlich mehr CPU Ressourcen.

Allerdings würde ich dennoch mal testen wie das bei nur zwei Geräten aus schaut.