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.

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

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 😉

Datentransfer in einem Alcatel Omniswitch 6900 Virtual Chassis

Will man Dateien von einem Virtual Chassis zu einem anderen transferieren kann man

  • per console und USB Stick Daten kopieren
  • per PC im EMP Netz mit FTP auf die einzelnen Chassis zugreifen.
  • ..

Aber was macht man, wenn man (per Remote) NICHT im EMP Netz ist? Oder die Variante Console+USB Stick nicht praktikabel ist?

Bei Stacks gibt es Kommandos wie „rcp“ oder „rrm“ um Dateien auf anderen Stackmembern zu kopieren/löschen – in einem Virtual Chassis gibt es das nicht.

Rettung naht!

Man kopiert einfach die Daten zwischen den Chassis über den EMP Port per FTP oder SFTP:

FTP/SFTP zum Filetransfer zwischen zwei Chassis innerhalb VC
Man muss entsprechend EMP-Interface angelegt haben, um eindeutig das jeweilige andere Chassis zu erreichen. Aber das ist ja in einem VC sowieso best practice.
Exkurs:
Hat man das vergessen geht es so (vom Master)

ip interface local chassis-id X emp address 192.168.2.2/24

Wobei X für das Chassis steht, dessen interface man ändern will. Derzeit gibt es noch ein Software-Problem, wenn man die Adressen im laufenden Betrieb ändert, als workaround löscht man die Adressen zu erst (bitte dann nicht über die EMP Adresse verbunden sein)

no ip interface local chassis-id 2 emp
ip interface local chassis-id 2 emp address 192.168.2.2/24

Abspeichern nicht vergessen!

write memory flash-synchro

Genug des Exkurses.. wir haben jetzt EMP Adressen.

Nachfolgend verbinden wir uns z.B. per ssh auf dem Chassis 1 (VC-Master) und nutze eine der CHAS2-EMP-Adressen (10.255.255.32 oder 10.255.255.12) zum Zugriff auf Chassis 2.

Lokale Verzeichnisse sind dann im Flash von Chassis 1 und Remote Verzeichnisse im Flash von Chassis 2.
Mit Put wird also von Chassis 1 zu Chassis 2 übertragen, mit Get in die andere Richtung.
VC-Test> show ip interface
Total 10 interfaces
Name IP Address Subnet Mask Status Forward Device
--------------------------------+---------------+---------------+------+-------+--------
EMP-CHAS1 10.255.255.31 255.255.255.0 UP NO EMP
EMP-CHAS2 10.255.255.32 255.255.255.0 UP NO EMP
EMP-CMMA-CHAS1 10.255.255.11 255.255.255.0 UP NO EMP
EMP-CMMA-CHAS2 10.255.255.12 255.255.255.0 UP NO EMP
EMP-VC 10.255.255.1 255.255.255.0 UP NO EMP

FTP-Verbindung

VC-Test> ftp 10.255.255.12
Connected to 10.255.255.12 (10.255.255.12).
220 (vsFTPd 2.0.7)
Name (10.255.255.12:admin): admin
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.

Umschalten zw. Text und binary-Mode (für Image-Transfer ist Binary Mode erforderlich)
ftp> ascii
200 Switching to ASCII mode.
ftp> binary
200 Switching to Binary mode.

Beispiel für Image-Transfer (inklusive Anlegen des Verzeichnisses auf dem Chassis 2):
mput – zur Übertragung mehrerer Files mit Wildcards (*)
ftp> pwd
257 "/flash"

ftp> mkdir NEW-IMG
257 "/flash/NEW-IMG" created

ftp> mput /flash/NEW-IMG/* /flash/NEW-IMG/*
mput /flash/NEW-IMG/Tos.img? y
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 File receive OK.
155796964 bytes sent in 27.9 secs (5.5e+03 Kbytes/sec)
mput /flash/NEW-IMG/software.lsm? y

ftp> cd NEW-IMG
250 Directory successfully changed.

ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rw------- 1 ftp ftp 155796964 Dec 30 14:09 Tos.img
-rw------- 1 ftp ftp 438 Dec 30 14:09 software.lsm
226 Directory send OK.

ftp> bye
221 Goodbye.

SFTP-Verbindung

VC-Test> sftp 10.255.255.12
Connecting to 10.255.255.12...
The authenticity of host '10.255.255.12 (10.255.255.12)' can't be established.
RSA key fingerprint is 5e:c4:3a:37:fa:f6:90:5a:d8:71:98:1c:70:63:24:71.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.255.255.12' (RSA) to the list of known hosts.
Password:

Mögliche Befehle:
sftp> ?
Available commands:
cd path Change remote directory to 'path'
lcd path Change local directory to 'path'
chgrp grp path Change group of file 'path' to 'grp'
chmod mode path Change permissions of file 'path' to 'mode'
chown own path Change owner of file 'path' to 'own'
help Display this help text
get remote-path [local-path] Download file
lls [ls-options [path]] Display local directory listing
ln oldpath newpath Symlink remote file
lmkdir path Create local directory
lpwd Print local working directory
ls [path] Display remote directory listing
lumask umask Set local umask to 'umask'
mkdir path Create remote directory
progress Toggle display of progress meter
put local-path [remote-path] Upload file
pwd Display remote working directory
exit Quit sftp
quit Quit sftp
rename oldpath newpath Rename remote file
rmdir path Remove remote directory
rm path Delete remote file
symlink oldpath newpath Symlink remote file
version Show SFTP version
!command Execute 'command' in local shell
! Escape to local shell
? Synonym for help

Beispiel für Image-Transfer (inklusive Anlegen des Verzeichnisses auf dem Chassis 2):
sftp> mkdir NEW-IMG

sftp> mput /flash/NEW-IMG/* /flash/NEW-IMG
Uploading /flash/NEW-IMG/Tos.img to /flash/NEW-IMG/Tos.img
/flash/NEW-IMG/Tos.img 100% 149MB 5.3MB/s 00:28
Uploading /flash/NEW-IMG/software.lsm to /flash/NEW-IMG/software.lsm
/flash/NEW-IMG/software.lsm 100% 438 0.4KB/s 00:00
sftp>

sftp> bye

Große Teile dieses Posts hab ich schamlos von Silvio geklaut (aber er hat „du darfst“ gesagt)