Alcatel AOS7 debuggen von high CPU

Generell: hier geht es um debuggen in der Superuser Shell, es kann etwas kaputt gehen, ich übernehme keine Verantwortung!

Sollte man auf einem AOS7/8 Switch mal hohe CPU Last haben kann man über folgende Befehle einige Debug Daten für das TAC ziehen

su
- top –n 1 (mehrfach)
- Hat man die TOP drei der CPU fresser nimmt man "bt" und sammelt Daten. Vorsicht walten lassen, mindestens 5 mal pro Task, jeweils 3-5 Sekunden warten

debug $(pidof ) "thread apply all bt full"
z.B.: debug $(pidof bcmd) "thread apply all bt full"

Daten aus dem Pakettreiber ziehen
- “cat /proc/pktdrv”. folgendes zieht 6 Sekunden lang Daten, daraus lassen sich dann durchs TAC Durchsatz-Raten bestimmen.

cnt=1;while [ $cnt -le 6 ]; do echo "Iteration:$cnt"; cat /proc/pktdrv; cnt=`expr $cnt + 1`; sleep 1; done

Auf der "normalen" CLI:
- show health 
- show health all cpu
- debug qos internal "chassis  slot  list 1 verbose"
z.B.: debug qos internal "chassis 0 slot 1 list 1 verbose"  bei einem Standalone Chassis (wobei mei mir slot 2 zumindest in einem 6900 mit Einschubmodul NICHT funktionierte)

Das sind dann ein paar Basiswerte, die dem TAC für weitere Analysen als Grundlage dienen können.

Nochmal: Alles auf eigene Gefahr.

Verbinden von Alcatel und HP 6125G/XG Bladeswitch mit LACP

Die Welt besteht ja nicht nur aus Alcatel, sondern auch aus anderen Herstellern.
So gibt es zum Beispiel auch Bladeswitche in HP Bladecentern, mit denen man uU eine Verbindung eingehen muss bzw will.

Hier beschreibe ich die notwendigen Befehle um ein LACP zwischen einem Alcatel Omniswitch 6450 und einem HP 6125G/XG im IRF Modus zu erstellen.

Auf Alcatel-Seite alles wie gehabt:

lacp linkagg 1 size 2 actor admin key 1 name "To HP Blade" admin state enable
lacp agg 1/25 actor admin key 1
lacp agg 2/25 actor admin key 1
vlan 3000-304 802.1q 1

Auf dem HP Switch sucht man sich die passenden Ports raus (hier TenGig 1/1/1 und 2/1/1) und befreit sie von allen alten Lasten:

system-view
interface ten 1/1/1
default
quit
interface ten 2/1/1
default

Danach legen wir das Aggregat an (heißt hier bridge-aggregation) und machen es zum LACP.

interface bridge-aggregation 10
link-aggregation mode dynamic
quit

Warum es einmal bridge aggregation heiß und dann mit link-aggragation weiterkonfiguriert wird.. HP Logik. Früher hieß das ganze trnk (Für Trunk) es wird also besser.

Danach bringen wir die physischen Interface in das Aggregat;

interface Tengig 1/1/1
port link-aggregation group 10
quit
interface tengig 2/1/1
port link-aggregation group 10
quit

Erst jetzt konfigurieren wir auf dem bridge-Aggregation die VLANs etc.

interface bridge-aggre 10
description "To ALU"
 port link-type trunk
 port trunk permit vlan 1 3000 to 3004

Hält man sich nicht an die Reihenfolge bzw. haben die Interfaces noch Konfiguration kommt es uU zu Fehlern beim konfigurieren:

 port trunk permit vlan 3004    
 Please wait... Done.
 Error: Failed to configure on interface Ten-GigabitEthernet1/1/1!
 Error: Failed to configure on interface Ten-GigabitEthernet2/1/1!

Alcatel Dynamic Auto fabric Konfiguration entfernen

In vielen Fällen ist die auto-fabric Funktionalität, welche in den 6900 eingebaut ist nicht gewollt. Trotzdem hat man auf einmal einen Berg von Konfiguration, den man nicht haben will, es ist MVRP aktiviert, daher auch Flat Spanning Tree (sonst geht MVRP nicht) etc.

Will man alle dies wieder Rückgängig machen sollten folgende Befehle helfen:
auto-fabric admin-state disable remove-global-config
mvrp disable
spb isis admin-state disable
no spb bvlan 4000-4015
spantree mode per-vlan

Anzahl der Resets auf OS7 Geräten 6900/10k/6860 zurücksetzen

Hat man ausgiebig getestet kann es sein, dass man bei show chassis mehr resets sieht als man vielleicht wahrhaben möchte.

Konnte man das im AOS 6 Stack noch in der Datei „boot.params“ ändern muss man auf AOS 7 Geräten im Proc-Verzeichnis hantieren:

su
TOR # -> echo 1 > /proc/nvram/numberOfResets
TOR # -> echo 1 > /proc/nvram/systemReboots

Danach rebooten.

Uptime von Alcatel Stack-Membern

Hin und wieder möchte man gern die Uptime einzelner Switche innerhalb eines Stacks wissen.
Kann man es beim Primary bzw. secondary über
show system
noch einfach anzeigen, versagen diese Methoden bei den Idle units.

Aber auch da gibt es Abhilfe, Taschenrechner vorausgesetzt:

Wir verbinden uns auf die dShell der Idle Geräte und lesen die Uptime in mSec aus:
telnet 127.2.[Stack-Unitnummer].1

> show stack topology 
                                         Link A  Link A          Link B  Link B
NI      Role      State   Saved  Link A  Remote  Remote  Link B  Remote  Remote
                          Slot   State   NI      Port    State   NI      Port
----+-----------+--------+------+-------+-------+-------+-------+-------+-------
   1 PRIMARY     RUNNING    1    UP          2   StackB  UP          5   StackB
   2 SECONDARY   RUNNING    2    UP          3   StackB  UP          1   StackA
   3 IDLE        RUNNING    3    UP          4   StackB  UP          2   StackA
   4 IDLE        RUNNING    4    UP          5   StackA  UP          3   StackA
   5 IDLE        RUNNING    5    UP          4   StackA  UP          1   StackB

> telnet 127.2.4.1
Trying 127.2.4.1...
Connected to 127.2.4.1.
Escape character is '^]'.

Working: [Kernel]->d &vxAbsTicks,4                  
007f0840:  0000 0000 102b 4810                       *.....+H.........*
value = 21 = 0x15
Working: [Kernel]-> exit
>

Relevant ist die Dezimaldarstellung der Zahl 0x0000 0000 102b 4810
-> Windows Taschenrechner -> Programmierer -> Hex
102b 4810 eingeben und umrechnen in Dezimal (271271952).

Das ganze dann noch durch 60 teilen um die Sekunden (4521199) zu bekommen.
Von hier an ist es eine Reste Rechnung um an Tage, Stunden und Minuten zu kommen:

Tage = 4521199/(3600 *24) = 52
    Rest = 4521199 Mod (3600*24) = 28399
Stunde = 28399/3600 = 7
    Rest = 28399 Mod 3600 = 3199
Minuten = 3199/60 = 53
    Rest = 3199 % 60 = 19
Sekunden = 19

Also in diesem Fall 52 Tage, 7 Stunden, 53 Minuten und 19 Sekunden

Einfacher Zugriff auf andere CMM bei 6900/OS10k im Virtual Chassis

Will man „mal eben“ auf die andere CMM in einem OS10K-Chassis oder eionem 6900-VC zugreifen bieten sich neben den vorher dokumentierten Wegen auch der direkte Zugriff auf den NFS mount an.

ACHTUNG hier endet die Alcatel Gewährleistung, die superuser shell sollte nur benutzt werden, wenn man weiß was man tut.

-> su
Entering maintenance shell. Type 'exit' when you are done.

TOR #-> cd /mnt/
TOR #-> ls
CMMA           CMMB           chassis2_CMMA  chassis3_CMMA  otherCMM

TOR #-> ls -al /flash
drwxr-xr-x   13 admin    user          4096 Jan 20 15:41 .
drwxr-xr-x   23 root     root             0 Jan 20 15:37 ..
-rw-r--r--    1 admin    user          2195 Jan 20 15:51 .bash_history
drwxr-xr-x    2 admin    user          4096 Jan 20 15:41 app-signature
drwxr-xr-x    2 admin    user          4096 Jan 20 15:48 certified
drwxr-xr-x    2 admin    user          4096 Dec 17  2013 diags
drwxr-xr-x    2 admin    user          4096 Jan 20 15:37 foss
-rw-r--r--    1 admin    user           256 Jan 20 15:37 hwinfo
-rw-r--r--    1 admin    user            40 Jan 16 12:25 licence.txt
drwxr-xr-x    2 admin    user         16384 Dec 18  2013 lost+found
drwxr-xr-x    2 admin    user          4096 Sep  5 07:30 network
drwxr-xr-x    3 admin    user          4096 Sep  5 07:30 pmd
drwxr-xr-x    3 admin    user          4096 Sep  5 07:30 switch
-rw-r--r--    1 admin    user        998306 Jan 16 12:59 swlog
drwxr-xr-x    2 admin    user          4096 Jan 20 15:41 swlog_archive
-rw-r--r--    1 root     root       1187945 Jan 20 16:31 swlog_chassis1
-rw-r--r--    1 admin    user       1280107 Jan 20 15:41 swlog_chassis1.0
-rw-r--r--    1 admin    user       1280105 Jan 20 14:44 swlog_chassis1.1
-rw-r--r--    1 admin    user       1280059 Jan 20 13:24 swlog_chassis1.2
drwxr-xr-x    2 admin    user          4096 Jan 20 13:25 system
-rw-r--r--    1 admin    user       6499328 Jan 20 09:46 tech_support_eng.tar
drwxr-xr-x    2 admin    user          4096 Jan 20 15:47 working

TOR #-> ls -al /mnt/chassis2_CMMA      
drwxr-xr-x   13 admin    user          4096 Jan 20 15:39 .
drwxr-xr-x    7 root     root             0 Jan 20 15:41 ..
-rw-r--r--    1 admin    user          3417 Jan 20 14:59 .bash_history
drwxr-xr-x    2 admin    user          4096 Jan 20 15:41 app-signature
drwxr-xr-x    2 admin    user          4096 Jan 20 15:48 certified
drwxr-xr-x    2 admin    user          4096 Dec 17  2013 diags
drwxr-xr-x    2 admin    user          4096 Jan 20 15:37 foss
-rw-r--r--    1 admin    user           256 Jan 20 15:38 hwinfo
-rw-r--r--    1 admin    user            40 Jan 16 12:28 licence.txt
drwxr-xr-x    3 admin    user         16384 Dec 18  2013 lost+found
drwxr-xr-x    2 admin    user          4096 Sep  5 03:42 network
drwxr-xr-x    3 admin    user          4096 Sep  5 03:42 pmd
drwxr-xr-x    3 admin    user          4096 Jan 16 13:17 switch
-rw-r--r--    1 admin    user        210830 Jan 16 12:59 swlog
-rw-r--r--    1 admin    user       1280003 Jan 16 12:31 swlog.0
drwxr-xr-x    2 admin    user          4096 Jan 20 13:39 swlog_archive
-rw-r--r--    1 root     root        789870 Jan 20 16:31 swlog_chassis2
-rw-r--r--    1 admin    user       1280028 Jan 20 15:39 swlog_chassis2.0
-rw-r--r--    1 admin    user       1280018 Jan 20 14:36 swlog_chassis2.1
-rw-r--r--    1 admin    user       1280040 Jan 20 13:39 swlog_chassis2.2
-rw-r--r--    1 admin    user       1280054 Jan 20 11:45 swlog_chassis2.3
drwxr-xr-x    2 admin    user          4096 Jan 20 15:41 system
-rw-r--r--    1 admin    user       6887936 Jan 20 09:47 tech_support_eng.tar
-rw-r--r--    1 admin    user           437 Jan 16 13:01 vcsetup.cfg.1.err
drwxr-xr-x    2 admin    user          4096 Jan 20 15:47 working
TOR #-> exit

Eignet sich z.B. um mal schnell Logfiles tech-support.eng etc zu kopieren.

Mit ssh geht es auch, ist aber nicht so cool 😉