Come leggere e trarre utili informazioni dall'analisi di un NSD in caso di crash o hang del server Domino. Alcuni casi pratici ed un tool utile in fase di analisi. - Dominopoint Day 2008
5. Crash e hang, le differenze
Crash Hang
• Domino non risponde ai client • Domino non risponde ai client
•
Domino non risponde da console •
Domino risponde da console
• Il sistema operativo è vivo • Il sistema operativo è vivo
NSD NSD
Viene generato un NSD in Non viene generato un NSD in
automatico automatico ...
... ma possiamo generarlo noi!
6. Le cause
Il codice delle applicazioni
Teniamo a bada le teste calde!
Database corrotti
Problemi HW (spazio disco, network)
Software terze parti
Controllare la compatibilità delle
versioni!
http://www.flickr.com/photos/cayusa/2569878338/
6
8. NSD, cos'è e perchè serve (1/2)
Cos'è?
NSD = Notes System Diagnostics
Dove si trova?
$DOMINO_DATAIBM_TECHNICAL_SUPPORT
Come si legge?
È un file ASCII
È suddiviso in diverse sezioni
Oggi ci focalizziamo su ...
NSD7 (da 6.5.5 in poi) ...
... ma disponibile anche nelle precedenti
8
9. NSD, cos'è e perchè serve (2/2)
Perchè avere un NSD?
Strategia: dare strumenti di diagnostica per
garantire continuità e affidabilità del servizio
Altri esempi: DDM, ADC
Ok ma nel pratico perchè serve NSD?
Consente di mettere a fuoco le cause del crash e
potenzialmente di risolverle
Tornando alla stategia ...
#1233676 “NSD Fix List and NSD Update
Strategy”
http://www.flickr.com/photos/spacepotato/2450300968/
9
10.
11. Come decifrare un NSD – Le basi (1/4)
Traccia tutte le info di sistema
notes.ini
Processi
Memoria
File presenti nella domino directory
11
12. Come decifrare un NSD – Le basi (2/4)
Windows (nsd.exe)
nsd
nsd -detach (solo W2003 e XP)
GNU/Linux (nsd.sh)
nsd
Alcune opzioni
nsd -kill
nsd -batch (solo GNU/Linux)
nsd -info
nsd -monitor (solo W32)
12
13. Come decifrare un NSD – Le basi (3/4)
Formato del file
nsd_<Platform>_<ServerName>_YYYY_MM_DD@HH_MM_SS.log
Ummm ... e questi?
nsd_all_<Platform>_<Host>_MM_DD@HH_MM.log
nsd_kill*.log
nsd_info*.log (GNU/Linux)
sysinfo*.log (W32)
console*.log
13
15. Come decifrare un NSD – Process Information (1/3)
Vengono riportati tutti i processi del sistema
<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@>
Section: Notes Process Info (Time 07:34:25)
<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@>
<@@ ------ Notes Process Info -> Load Modules for Process :: [ nSERVER: 0864] (Time 07:34:28) ------ @@>
Base End Size Module
0x40000000 0x0043c000 245760 C:LotusDominonSERVER.EXE
0x7c800000 0x7c8c0000 786432 C:WINDOWSsystem32ntdll.dll
0x77e40000 0x77f42000 1056768 C:WINDOWSsystem32kernel32.dll
Nel dettaglio, le chiamate dei processi Domino
<@@ ------ Notes Process Info -> Call Stack for Process :: [ nSERVER: 0864] (Time 07:34:28) ------ @@>
############################################################
### thread 1/144: [ nSERVER: 0864: 0868]
### FP=0006f5a4, PC=7c8285ec, SP=0006f53c
### stkbase=00070000, total stksize=45056, used stksize=2756
############################################################
[ 1] 0x7c8285ec ntdll.KiFastSystemCallRet+0 (1388,0,6f5c4,6009668a)
[ 2] 0x77e424ed kernel32.Sleep+15 (1388,0,6f5d8,10003ba0)
15
25. LND come strumento di diagnostica (1/3)
Lotus Notes Diagnostic
È un database Notes integrato con il sistema operativo (W32)
2.6 alla data odierna
http://www-01.ibm.com/support/docview.wss?rs=899&uid=swg24019151
25
27. LND come strumento di diagnostica (3/3)
Cosa si ottiene?
Filtra l'NSD con le info più significative
Permette di navigare in modo “visuale” un NSD
Si collega alla KB IBM ed esegue per noi una ricerca!
Consente di copiare il thread con il fatal in modo veloce
Permette di confrontare vari NSD
27
29. Un caso reale: è lento (1/2)
Problema
Drrriiiiiiiiiiin!
“È lento! Aiuto!”
Ma sono passato la settimana scorsa e mi pareva performante ...
No, nessun cambiamento ... (ndr è in piedi da 2 gg la nuova procedura)
Si ma “quanto” è urgente?
MSPI
29
31. Tranquilli c'è Jamie!
Risoluzione dei problemi di prestazioni di applicazioni Lotus Domino
Jamie Magee
In sala Michelangelo dalle 15:20 alle 16:00
31
33. Un caso reale: è giù (1/4)
Problema
Drrriiiiiiiiiiin!
“È giù!”
...
MSPI
33
34. Un caso reale: è giù (2/4)
Domino opportunamente configurato
Nsd generato in automatico
Analisi, LND
Crash rilevato. Stringhe di ricerca per la KB ma ...
34
35. Un caso reale: è giù (3/4)
... nessun risultato trovato
Raffinando la ricerca:
SPR# BRIS5TXQJU - Fixed an HTTP crash during image conversion
under certain circumstances. This problem rarely occurs in 6.5x but
code changes make it more likely in 7.0.2 FP1.
SPR# COLY6Y2J3Q - Fixed an HTTP page rendering crash. This
regression was introduced in 7.0.2 FP1.
35
38. Bonus track!
Test degli applicativi
... non solo Domino!
Software terze parti
Manutenzione periodica degli archivi
Transaction logging
Censimento dei sistemi
... non solo Domino!
Alcune accortezze che non guastano
Unread marks
Indici FT
Quota
KIS, keep it simple
38