Upload
lykhanh
View
225
Download
1
Embed Size (px)
Citation preview
© 2013 Cisco and/or its affiliates. All rights reserved. 1
Comunidade de Suporte da Cisco - Webcast ao vivo: IOS XR Software - Fundamentos, Configuração e Troubleshooting
Rodrigo Delgadinho
Quarta-feira 7 de agosto de 2013
© 2031 Cisco and/or its affiliates. All rights reserved. 2 2013 Cisco and/or Affiliates. All Rights Reserved 2013 Cisco and/or Affiliates. All Rights Reserved
Especialista de hoje:
Rodrigo Delgadinho, Engenheiro HTTS do TAC da Cisco Brasil.
Rodrigo Delgadinho
2
© 2031 Cisco and/or its affiliates. All rights reserved. 3 2013 Cisco and/or Affiliates. All Rights Reserved 2013 Cisco and/or Affiliates. All Rights Reserved
Especialista ajudante de hoje:
André Pedro, Engenheiro HTTS do TAC da Cisco Brasi
André Pedro
3
© 2031 Cisco and/or its affiliates. All rights reserved. 4 2013 Cisco and/or Affiliates. All Rights Reserved 2013 Cisco and/or Affiliates. All Rights Reserved
Durante a apresentação, serão feitas
algumas perguntas para o público.
Dê suas respostas, participe!
© 2031 Cisco and/or its affiliates. All rights reserved. 5 2013 Cisco and/or Affiliates. All Rights Reserved 2013 Cisco and/or Affiliates. All Rights Reserved
a) Básica. Já tive alguns contatos, porém não entendo muito sobre a solução em si.
b) Eu tenho conhecimento avançado, porém utilizo o time do TAC em muitos casos.
c) Estou em processo de aprendizado.
d) Não tenho ideia sobre esta solução.
Qual é sua experiência com IOS XR?
© 2031 Cisco and/or its affiliates. All rights reserved. 6 2013 Cisco and/or Affiliates. All Rights Reserved
IOS XR Software -
Rodrigo Delgadinho
Data: 7/08/2013
© 2031 Cisco and/or its affiliates. All rights reserved. 7 2013 Cisco and/or Affiliates. All Rights Reserved 2013 Cisco and/or Affiliates. All Rights Reserved
• Arquitetura IOS XR – Visão Geral
• Arquitetura de Aplicações do IOS XR
• LPTS – Local Packet Transport Service
• Ententendo a função do System Manager e Wdsysmon
• Configurando o sistema - dois estágios
• Configuração de Monitoramento
• Instalação de pacotes - PIE , SMU
• Trabalhando com processos
• Dicas e analise de problemas
8 © 2013 Cisco and/or its affiliates. All rights reserved.
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 9
• Arquitetura Modular Micro-Kernel
• Processamento Distribuido
• Alta escalabilidade
• Alta disponibilidade
• Segurança
• Gerenciamento Integrado
OS
PF
BG
P
LD
P
PP
P
ISS
U
A próxima geração do sistema operacional
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 10
Modular - Processos e threads distintos
- Contenção e recuperação a falha
Distribuido - Base de Dados particionado em vários nodes
- Escalável
Alta Disponibilidade - Os processos podem ser reiniciados
- RP Switchover
Segurança e Priorização - Policiamento de pacotes destinado ao roteador
- Priorização de pacotes do e para o roteador em diferentes filas.
Interface unificada de gerenciamento
CLI, SNMP, XML
Separação de Serviço Diferentes dominios ou instancias virtuais (Service Domain Routers)
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 11
XR Kernel
Infraestrutura Distribuida
Modulos de
Roteamento
(BGP, OSPF)
Modulos
de
Protocolos
(IP)
Modulos
de
Aplicações
Executado
em
multiplas
CPUs
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 12
Isolamento de falhas e proteção entre os planos
IOS IOS-XR
Plano de
Controle
Plano de
Dados
Pla
no
de
Ge
ren
cia
me
nto
IOS Image
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 13 Cisco Confidential © 2010 Cisco and/or its affiliates. All rights reserved. 13
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 14
Control Plane Data Plane Management Plane
Control Plane Data Plane Management Plane
Control Plane Data Plane Management Plane
BG
P
BR
IB
ISIS
OS
PF
RS
VP
PIM
IGM
P
RIB
L2 D
riv
ers
AC
L
FIB
Qo
S
LP
TS
Ho
st
Serv
ice
PF
I
Inte
rface
CL
I
SN
MP
XM
L
Netf
low
Ala
rm
Per.
fMg
mt
SS
H
SS
H
SS
H
Checkpoint DB Multicast IPC System DB
Infraestrutura distribuida
Memory Mgmt IPC Mechanism Synch. Services Scheduler
Serviços do Kernel
Lightweight Micro Kernel
Processos e Subsistemas distribuidos
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 15
• Cada processo tem um espaço de memória virtual
Kernel mapeia um endereço virtual para um endereço físico As Threads compartilham uma mesma area de memoria
Um processo não pode corromper a aréa de memória do outro O processo só pode acessar seu espaço virtual
No IOS - todos os processos compartilham o mesmo espaço virtual
• Comunicação entre processos é através de APIs controladas
• Existe um uso limitado de memória compartilhada
0x000000
OSPF
1
2
3
0x00000
0x10000
0x20000
0x100000
0x200000
0x300000
0x400000
0x500000
0x600000
0x700000
0x800000
0xa00000
0x900000
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 16
• Prioridade padrão de execução é 10
• Processo de maior prioridade pode interromper
• para ser atendiudo No IOS tem que aguardar execução terminar.
• Processo de mesma prioridade seguem FIFO
• CRS-1/16 por exemplo possue duas CPUs
10 10
10 16
16 62
50
50
50
50 50
10
10 10
10
16
16
16
16
62
50
10
10
10 16
16
16
62
62
50
50
Dormindo
Pronto
Aguardando
Executando
50 50 50
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 17
10 10
10 16
16 62
50
50
50
10 50
10
10 10
10
16
16
16
16
62
50
10
10
10 16
16
16
62
62
50
50 50
50 50 50
Pronto (despertou)
• Maior prioridade desperta e esta pronto para executar
• Exemplo:
Processo prioridade 62 desperta
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 18
• Processo de maior prioridade é executado imediatamente
• Não aguarda se um processo de menor prioridade esta sendo
executado, ocorre uma interrupção.
10 10
10 16
16 62
50
50
50
10 50
10
10 10
10
16
16
16
16
62
50
10
10
10 16
16
16
62
62
50
50 50
50 50 50
Não aguarda!
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 19
• O processo que estava sendo executado retorna a fila
10 10
10 16
16 62
50
50
50
50 50
10
10 10
10
16
16
16
16 50
10
10
10 16
16
16
62
62 50
50
50 50 50
62
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 20
Gerenciamento especial para casos de CPU hogs
• Alguns processos consomem muitos ciclos de CPU
• Dependendo do processo ele pode obter duas prioridades
• A execução em alta prioridade pode ser executada apenas
parte do tempo.
10 10
10 16
16 10
50
50
10 50
10
10 10
10
16
16
16
16 50
10
10
10 16
16
16
62
62 50
50 50
50 50 50
62,50
50
62,50 Terminou o tempo de
execução em alta prioridade
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 21
• Ponto a Ponto
Comunicaçao um-a-um entre processos – uso de IPC entre os nodes
– Lightweight Messaging (LWM)
– Suporte a memoria compartilhada para IPC
• Ponto a Multiponto
Communicação em grupo para permitir que um processo que esta sendo
em diferentes nodes possam troca informação de maneira coletiva
(multicast)
– Serviço em grupo prove uma distribuição de mensagem mais rapida e
escalável com menos mensagens.
– A chave é a arquitetura distribuida de aplicações.
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 22
• Responsável por iniciar, terminar ou reiniciar os processos.
• Processos são agrupados de acordo com a categoria de inicialização.
• A categoria de inicialização esta definica no arquivo de inicialização
• Após inicializar o Sistema Kernel QNX , o Sysmgr inicializa uma categoria ou grupo de processos por vez
• Gerencia também processos que são inciados baseado com a configuração do sistema.
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 23
• Monitora o sistema e realiza recuperação se necessario para assegurar que tudo esta correndo bem.
• Monitora
Uso de memoria
Notifica condições de falta de memoria.
Uso de CPU
Situações de Deadlock
Atividade de comunicação entre processos.
Uso de disco
• Recuperação
Das condições acima
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 24
• Wdsysmon monitora e alerta uso de memória baseado em threshoulds: NORMAL, MINOR, SEVERE, and CRITICAL.
• Em uma condição de falta de memória será decidido por terminar o processo responsavel por consumir mais memória.
O objetivo é reduzir o consumo de memoria do sistema.
• Exemplo: BGP
Severe Reseta vizinhos
Critical Termina o processo BGP
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 25 Cisco Confidential © 2010 Cisco and/or its affiliates. All rights reserved. 25
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 26
RP
LC
LC
LC
LC
LC
LC
LC
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 27
• Pacotes para nós - RP, ou LC CPU
• IFIB (Internal Forwarding Information Base) usado para associar os flows existentes.
Implementado em hardware – TCAM
• Associa IP e campos do cabeçalho, tipo de pacote e interface
• Pacotes não desejáveis são negados rapidamente.
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 28
pacotes
“In”
Pacotes
Transito
“Out”
Pacotes
para nós
App 1
App 2
Local
Stacks Pacotes
negados
LC
RP
RP
Pacotes
ok LPTS Internal FIB (IFIB)
FIB
DCoPP
Policiamento
dinamico
LPTS
Tra
feg
o d
e u
su
ario
Control Plane Traffic
LC
• LPTS é transparente e automático
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 29
RP/0/RP0/CPU0:RTPTME-CRS#show lpts pifib hardware entry loc 0/2/CPU0 … L4 Protocol : TCP VRF ID : default Source IP : 8.1.1.2 Port/Type : Port:179 Source Port : any Is Fragment : 0 Is SYN : any Interface : any V/M/C/L/T/F : 1/0/1/IPv4_LISTENER/0/BGP-cfg-peer DestNode : 0/RP0/CPU0 DestAddr : 30 Sq/Dq/Ct : 24/6/0x24456 Accepted/Dropped : 0/0 Lp/Sp : 3/255 # of TCAM entries : 1 Po/Ar/Bu : 105/10000pps/100ms State : Entry in TCAM Rsp/Rtp : 13/13
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 30
Nova sessão BGP Configurada (mas não ativa)
L4 Protocol : TCP VRF ID : default Source IP : 192.1.1.2 Port/Type : Port:179 Source Port : any Is Fragment : 0 Is SYN : any Interface : any V/M/C/L/T/F : 1/0/1/IPv4_LISTENER/0/BGP-cfg-peer DestNode : 0/RP0/CPU0 DestAddr : 30 Sq/Dq/Ct : 24/6/0x24454 Accepted/Dropped : 0/0 Lp/Sp : 1/255 # of TCAM entries : 1 Po/Ar/Bu : 105/10000pps/100ms HPo/HAr/HBu : 105/10000pps/100ms State : Entry in TCAM Rsp/Rtp : 2/2
router bgp 100 address-family ipv4 unicast ! neighbor 192.1.1.2 remote-as 200 address-family ipv4 unicast route-policy pass-all in route-policy pass-all out
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 31
BGP Sessão Up – Valores novos
L4 Protocol : TCP VRF ID : default Source IP : 192.1.1.2 Port/Type : Port:25689 Source Port : 179 Is Fragment : 0 Is SYN : any Interface : any V/M/C/L/T/F : 0/0/0/IPv4_LISTENER/0/TCP-listen DestNode : 0/RP0/CPU0 DestAddr : 30 Sq/Dq/Ct : 24/7/0x24456 Accepted/Dropped : 23/0 Lp/Sp : 1/255 # of TCAM entries : 1 Po/Ar/Bu : 123/25000pps/100ms HPo/HAr/HBu : 123/25000pps/100ms State : Entry in TCAM Rsp/Rtp : 1/1
RP/0/RP0/CPU0:RTPTME-CRS#show bgp sum Neighbor Spk AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down St/PfxRcd 192.1.1.2 0 200 19 47 1 0 0 00:08:36 0
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 32 Cisco Confidential © 2010 Cisco and/or its affiliates. All rights reserved. 32
• Dois estágios de configuração
• Base de Dados de histórico de configuração
• Recuperação da config - Rollback
• Atomic vs. Best Effort
• Multiplas sessões de Configuração
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 33
IOS-XR IOS
Configuração não ativada a cada enter <CR>
Configuração ativada imediatamente após um enter <CR>
Configuração nova precisa ser ‘committed’ para que se torne ativa
Imediatamente a cada enter
Permite você verificar a configuração antes que seja ativada
Não requer verificação
Modelo em dois estágios Não disponível
Regresso da config anterior - rollback
Não disponível
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 34
hostname Backbone-CRS line default exec-timeout 1440 0 ! Interface gig 0/3/0/0 ipv4 address 9.9.9.9/24 ! taskgroup ops task read boot task write boot task execute bgp ! router ospf 100 area 0 interface gig 0/3/0/0 area 1 interface pos 0/4/0/0 ! router static address-family ipv4 unicast 0.0.0.0/0 7.1.9.1 7.7.7.77/32 7.1.9.1
interface gig 0/3/0/0 ipv4 address 9.9.9.9/24 router ospf 100 area 0 interface gig 0/3/0/0 area 1 interface pos 0/4/0/0
Configuraçao proposta
Configuração Target
Commit
Mudanças são aplicadas
hostname Backbone-CRS line default exec-timeout 1440 0 ! taskgroup ops task read boot task write boot task execute bgp ! router static address-family ipv4 unicast 0.0.0.0/0 7.1.9.1 7.7.7.77/32 7.1.9.1
Configuração ativa Antes do Commit
Configuração Ativa Após o Commit
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 35
hostname Backbone-CRS line default exec-timeout 1440 0 ! Interface gig 0/3/0/0 ipv4 address 9.9.9.9/24 ! taskgroup ops task read boot task write boot task execute bgp ! router ospf 100 area 0 interface gig 0/3/0/0 area 1 interface pos 0/4/0/0 ! router static address-family ipv4 unicast 0.0.0.0/0 7.1.9.1 7.7.7.77/32 7.1.9.1
Verifica a Sintaxe linha a linha
interface gig 0/3/0/0 ipv4 address 9.9.9.9/24
router ospf 100 area 0 interface gig 0/3/0/0 area 1 interface pos 0/4/0/0
Verificação de sintaxe após cada linha
Configuração Target
Verificação deSemantica durante commit
hostname Backbone-CRS line default exec-timeout 1440 0 ! taskgroup ops task read boot task write boot task execute bgp ! router static address-family ipv4 unicast 0.0.0.0/0 7.1.9.1 7.7.7.77/32 7.1.9.1
Configuração Ativa Antes Commit
Configuração Ativa Após Commit
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 36
hostname Backbone-CRS line default exec-timeout 1440 0 ! Interface gig 0/3/0/0 ipv4 address 9.9.9.9/24 ! taskgroup ops task read boot task write boot task execute bgp ! router ospf 100 area 0 interface gig 0/3/0/0 area 1 interface pos 0/4/0/0 ! router static address-family ipv4 unicast 0.0.0.0/0 7.1.9.1 7.7.7.77/32 7.1.9.1
interface gig 0/3/0/0 ipv4 address 9.9.9.9/24
router ospf 100 area 0 interface gig 0/3/0/0 area 1 interface pos 0/4/0/0
Configuração proposta
Configuração Target
Commit
Histórico de commit
interface gig 0/3/0/5 ipv4 address 9.9.9.9/24 router ospf 100 area 0 interface gig 0/3/0/5
router bgp 100
address-family ipv4 unicast
neighbor 5.5.5.5
remote-as 87
interface gig 0/3/0/2
ipv4 address 9.19.9.9/24
router ospf 100
area 0
interface gig 0/3/0/2
interface gig 0/3/0/0
ipv4 address 9.9.9.9/24
router ospf 100
area 0
interface gig 0/3/0/0
#1
#2 BGP Change
#3
#4
Historico de mudanças
Commit anterior com label (opcional)
Unico ID gerado Automaticamente
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 37
Uma nova entrada é gerada no histórico de commit
(config)#load rollback changes BGP_Change (or commit id)
no router bgp 100
Configuração Target
Commit
hostname Backbone-CRS line default exec-timeout 1440 0 ! Interface gig 0/3/0/0 ipv4 address 9.9.9.9/24 ! taskgroup ops task read boot task write boot task execute bgp ! router ospf 100 area 0 interface gig 0/3/0/0 area 1 interface pos 0/4/0/0 ! router static address-family ipv4 unicast 0.0.0.0/0 7.1.9.1 7.7.7.77/32 7.1.9.1
Histórico
interface gig 0/3/0/5 ipv4 address 9.9.9.9/24 router ospf 100 area 0 interface gig 0/3/0/5
router bgp 100 address-family ipv4 unicast neighbor 5.5.5.5 remote-as 87
interface gig 0/3/0/2 ipv4 address 9.19.9.9/24 router ospf 100 area 0 interface gig 0/3/0/2
interface gig 0/3/0/0 ipv4 address 9.9.9.9/24 router ospf 100 area 0 interface gig 0/3/0/0
#1
#2 BGP_Change
#3
#4
Rollback
interface gig 0/3/0/5 no ipv4 address 9.9.9.9/24 router ospf 100 area 0 no interface gig 0/3/0/5
no router bgp 100
interface gig 0/3/0/2 no ipv4 address 9.19.9.9/24 router ospf 100 area 0 no interface gig 0/3/0/2
interface gig 0/3/0/0 no ipv4 address 9.9.9.9/24 router ospf 100 area 0 no interface gig 0/3/0/0
no router bgp 100 #5 router bgp 100 address-family ipv4 unicast neighbor 5.5.5.5 remote-as 87
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 38
(config)#load rollback changes to BGP_Change (or commit id)
no router bgp 100 interface gig 0/3/0/2 no ipv4 address 9.19.9.9/24 interface gig 0/3/0/0 no ipv4 address 9.9.9.9/24 router ospf 100 area 0 no interface gig 0/3/0/2 no interface gig 0/3/0/0
Configuração Target
Commit
Histórico
interface gig 0/3/0/5 ipv4 address 9.9.9.9/24 router ospf 100 area 0 interface gig 0/3/0/5
router bgp 100 address-family ipv4 unicast neighbor 5.5.5.5 remote-as 87
interface gig 0/3/0/2 ipv4 address 9.19.9.9/24 router ospf 100 area 0 interface gig 0/3/0/2
interface gig 0/3/0/0 ipv4 address 9.9.9.9/24 router ospf 100 area 0 interface gig 0/3/0/0
#1
#2 BGP Change
#3
#4
Rollback
interface gig 0/3/0/5 no ipv4 address 9.9.9.9/24 router ospf 100 area 0 no interface gig 0/3/0/5
no router bgp 100
interface gig 0/3/0/2 no ipv4 address 9.19.9.9/24 router ospf 100 area 0 no interface gig 0/3/0/2
interface gig 0/3/0/0 no ipv4 address 9.9.9.9/24 router ospf 100 area 0 no interface gig 0/3/0/0
no router bgp 100 interface gig 0/3/0/2 no ipv4 address 9.19.9.9/24 interface gig 0/3/0/0 no ipv4 address 9.9.9.9/24 router ospf 100 area 0 no interface gig 0/3/0/2 no interface gig 0/3/0/0
#5 no router bgp 100 interface gig 0/3/0/2 no ipv4 address 9.19.9.9/24 interface gig 0/3/0/0 no ipv4 address 9.9.9.9/24 router ospf 100 area 0 no interface gig 0/3/0/2 no interface gig 0/3/0/0
Regressa todas as mudanças incluindo mudança feita na referencia do commit.
hostname Backbone-CRS line default exec-timeout 1440 0 ! taskgroup ops task read boot task write boot task execute bgp ! router ospf 100 area 0 area 1 interface pos 0/4/0/0 ! router static address-family ipv4 unicast 0.0.0.0/0 7.1.9.1 7.7.7.77/32 7.1.9.1 hostname Backbone-CRS line default exec-timeout 1440 0 ! taskgroup ops task read boot task write boot task execute bgp ! router ospf 100 area 0 area 1 interface pos 0/4/0/0 ! router static address-family ipv4 unicast 0.0.0.0/0 7.1.9.1 7.7.7.77/32 7.1.9.1 hostname Backbone-CRS line default exec-timeout 1440 0 ! taskgroup ops task read boot task write boot task execute bgp ! router ospf 100 area 0 area 1 interface pos 0/4/0/0 ! router static address-family ipv4 unicast 0.0.0.0/0 7.1.9.1 7.7.7.77/32 7.1.9.1
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 39
(config)#load rollback changes last 2
interface gig 0/3/0/2 no ipv4 address 9.19.9.9/24 interface gig 0/3/0/0 no ipv4 address 9.9.9.9/24 router ospf 100 area 0 no interface gig 0/3/0/2 no interface gig 0/3/0/0
Configuração Target
Commit
hostname Backbone-CRS line default exec-timeout 1440 0 ! taskgroup ops task read boot task write boot task execute bgp ! router ospf 100 area 0 area 1 interface pos 0/4/0/0 ! router static address-family ipv4 unicast 0.0.0.0/0 7.1.9.1 7.7.7.77/32 7.1.9.1 hostname Backbone-CRS line default exec-timeout 1440 0 ! taskgroup ops task read boot task write boot task execute bgp ! router ospf 100 area 0 area 1 interface pos 0/4/0/0 ! router static address-family ipv4 unicast 0.0.0.0/0 7.1.9.1 7.7.7.77/32 7.1.9.1 hostname Backbone-CRS line default exec-timeout 1440 0 ! taskgroup ops task read boot task write boot task execute bgp ! router ospf 100 area 0 area 1 interface pos 0/4/0/0 ! router static address-family ipv4 unicast 0.0.0.0/0 7.1.9.1 7.7.7.77/32 7.1.9.1
Histórico
interface gig 0/3/0/5 ipv4 address 9.9.9.9/24 router ospf 100 area 0 interface gig 0/3/0/5
router bgp 100 address-family ipv4 unicast neighbor 5.5.5.5 remote-as 87
interface gig 0/3/0/2 ipv4 address 9.19.9.9/24 router ospf 100 area 0 interface gig 0/3/0/2
interface gig 0/3/0/0 ipv4 address 9.9.9.9/24 router ospf 100 area 0 interface gig 0/3/0/0
#1
#2 BGP_Change
#3
#4
Rollback
interface gig 0/3/0/5 no ipv4 address 9.9.9.9/24 router ospf 100 area 0 no interface gig 0/3/0/5
no router bgp 100
interface gig 0/3/0/2 no ipv4 address 9.19.9.9/24 router ospf 100 area 0 no interface gig 0/3/0/2
interface gig 0/3/0/0 no ipv4 address 9.9.9.9/24 router ospf 100 area 0 no interface gig 0/3/0/0
interface gig 0/3/0/2 no ipv4 address 9.19.9.9/24 interface gig 0/3/0/0 no ipv4 address 9.9.9.9/24 router ospf 100 area 0 no interface gig 0/3/0/2 no interface gig 0/3/0/0
#5 interface gig 0/3/0/2 ipv4 address 9.19.9.9/24 interface gig 0/3/0/0 ipv4 address 9.9.9.9/24 router ospf 100 area 0 interface gig 0/3/0/2 interface gig 0/3/0/0
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 40
Comportamento padrãoothing – Any semantic failure stops commit
interface gig 0/3/0/0 ipv4 address 9.9.9.9/24 taskgroup bgp task read bgp task write bgp
Check de Sintaxe Após cada linha
PASSOU
Target Configuration
Check de Semantica furante o commit
FAlHOU BGP não poder ser
um nome de taskgroup
hostname Backbone-CRS line default exec-timeout 1440 0 ! taskgroup ops task read boot task write boot task execute bgp ! router static address-family ipv4 unicast 0.0.0.0/0 7.1.9.1 7.7.7.77/32 7.1.9.1
hostname Backbone-CRS line default exec-timeout 1440 0 ! taskgroup ops task read boot task write boot task execute bgp ! router static address-family ipv4 unicast 0.0.0.0/0 7.1.9.1 7.7.7.77/32 7.1.9.1
Configuração Ativa Antes Commit
Configuração Activa Após Commit
Não mudou
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 41
hostname Backbone-CRS line default exec-timeout 1440 0 ! interface gig 0/3/0/0 ipv4 address 9.9.9.9/24 ! taskgroup ops task read boot task write boot task execute bgp ! router static address-family ipv4 unicast 0.0.0.0/0 7.1.9.1 7.7.7.77/32 7.1.9.1
melhor esforçoCommit as much as possible, even if semantic check fails
interface gig 0/3/0/0 ipv4 address 9.9.9.9/24
taskgroup bgp task read bgp task write bgp
Syntax Check after each line
PASSES
Target Configuration
hostname Backbone-CRS line default exec-timeout 1440 0 ! taskgroup ops task read boot task write boot task execute bgp ! router static address-family ipv4 unicast 0.0.0.0/0 7.1.9.1 7.7.7.77/32 7.1.9.1
Configuração Ativa Antes do Commit
Configuração Ativa Após o Commit
Commit Parcial
Check de Semantica durante commit
FALHOU BGP não pode ser
nome do taskgroup
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 42
Dois ou mais usuarios podem estar mudando a config ao mesmo tempo
interface gig 0/3/0/0 ipv4 address 9.9.9.9/24 router ospf 100 area 0 interface gig 0/3/0/0 area 1 interface pos 0/4/0/0
Config Proposta
Primeiro a Comitar
interface gig 0/3/0/0 ipv4 address 9.9.9.7/24 router ospf 100 area 2 interface gig 0/3/0/0 area 4 interface pos 0/4/0/0
Config Proposta
Segundo Commit
One or more commits have occurred from other configuration sessions since this session started or since the last commit was made from this session. You can use the 'show configuration commit changes‘ command to browse the changes. Do you wish to proceed with this commit anyway? [no]: Normal Commit
apenas a mudança do primeiro usuario
Use config exclusive para bloquear outros usuários de mudar a config
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 43
• commit confirmed – faz o rollback automático se não confirmado
• commit replace – Troca a config Ativa pela config Target (WARNING)
• commit label – Adiciona um nome o qual pode ser usado para referencia
no commit
• clear – Apaga a config Target, mantem no modo de config
• abort – Apaga a config Target, sai do modo de config
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 44
• Interfaces podem ser pré-configuradas
A configuração se tornará ativa quando o HW estiver ativo ou for inserido.
• Interfaces futuras podem ser provisionadas para protocolos de roteamento
• A remoção de um hardware move a config para o status de pre-configuração
RP/0/RP1/CPU0:E1-SA5#conf
RP/0/RP1/CPU0:E1-SA5(config)#interface preconfigure POS 0/4/0/0
RP/0/RP1/CPU0:E1-SA5(config-if-pre)#ip address 62.225.129.1/30
RP/0/RP1/CPU0:E1-SA5(config-if-pre)#encapsulation ppp
RP/0/RP1/CPU0:E1-SA5(config-if-pre)#pos
RP/0/RP1/CPU0:E1-SA5(config-if-pos)#crc 32
RP/0/RP1/CPU0:E1-SA5(config-if-pre)#no shut
RP/0/RP1/CPU0:E1-SA5(config)#controller preconfigure SONET 0/4/0/0
RP/0/RP1/CPU0:E1-SA5(config-sonet)#framing sdh
RP/0/RP1/CPU0:E1-SA5(config-sonet)#clock source line
RP/0/RP1/CPU0:E1-SA5(config-sonet)#path
RP/0/RP1/CPU0:E1-SA5(config-sonet-path)#scrambling enable
RP/0/RP1/CPU0:E1-SA5(config-sonet)#no shut
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 45
A partir do modo de configuração
• show – Display target config for current sub-mode
• show config – Display entire target config
• show config merged – Display target and active config together
• show config running – Display active config
• show config rollback – Display possible rollback options
• show config failed – Display config that failed semantic check
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 46 2013 Cisco and/or Affiliates. All Rights Reserved
a) Capturar logs de debugging
b) É o algorítimo responsavel para comunicação entre processos
c) É o mecanismo responsável por proteger o sistema e as CPU’s
d) Tem função de controlar as mudanças de configuração
Qual a função do LPTS no IOSXR?
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 47
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 48
Mini?
PIE? SMU? Package?
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 49
MPLS MCAST
MGBL SEC
Mandatório
Opcional
OS-MBI
Base
Admin
Forwarding
Line card
Routing
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 50
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 51
• Process
Uma parte executável de código que possue sua própria área de memória
• Thread
É um sub-processo gerenciado pelo processo pai
Responsável por executar uma parte do código do processo
Um processo pode conter várias threads
É executado apenas executa quando o processo pai esta em execução
Exemplo – thread OSPF que gerencia os pacotes ‘Hello’, enviados e recebidos
• Dynamically Linked Library - DLL
É uma parte do código (bibliotecas) que é carregado quando o processo é executado.
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 52
• Reduz o uso de memória geral Apenas as bibliotecas ativas são carregadas na memória Os processos podem compartilhar bibliotecas
• As DLLs não são carregadas se não em uso.
libtrace
libinfra
libxyzzy
libsyslog
libplatform
libnodeid
libospf_error
libbgp_vrf
libbgp_policy
libbgp_rib
Disk0 Uso de memoria na RP antes do BGP se configurado Uso da memória após o BGP ser configurado
libtrace
libinfra
libsyslog
libplatform
libnodeid
libospf_error
libtrace
libinfra
libsyslog
libplatform
libnodeid
libospf_error
libbgp_vrf
libbgp_policy
libbgp_rib
BGP DLLs ativas
Ainda não usada
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 53
RP/0/5/CPU0:GSR#show dll | inc bgp /disk0/c12k-rout-3.9.1/lib/cerrno/libbgp_error.dll 0x4ce34000 0x00002000 0xec1f6000 0x00001000 1 /disk0/c12k-rout-3.9.1/lib/cerrno/libbgp_error2.dll 0x4ce36000 0x00002000 0xec1f7000 0x00001000 1 /disk0/c12k-rout-3.9.1/lib/cerrno/libbgp_policy_ora_error.dll 0x4ce38000 0x00002000 0xec1f8000 0x00001000 2 /disk0/c12k-base-3.9.1/lib/libip_bgp_attr_parser_tokens.dll 0x4cefe000 0x00002000 0xec23d000 0x00001000 2 /disk0/c12k-base-3.9.1/lib/libip_bgp_attr_util.dll 0x4d450000 0x00003000 0xec324000 0x00001000 4 /disk0/c12k-rout-3.9.1/lib/libbgp_policy_ora_v1_0_0.dll 0x4dd73000 0x0003c000 0xec4ab000 0x00001000 1 /disk0/c12k-rout-3.9.1/lib/libbgp_damp_ora_v1_0_0.dll 0x4ddc3000 0x00009000 0xec4e4000 0x00001000 1 /disk0/c12k-rout-3.9.1/lib/libbgp_export.dll 0x4e034000 0x00011000 0xec582000 0x00001000 1 RP/0/5/CPU0:GSR#show dll mem ---------------------------------------------------------------------------- Total DLL Text - 32960512 bytes Total Virtual Memory for DLL Data - 5844992 bytes Total Physical Memory for DLL Data - 62697472 bytes Total Virtual Memory for DLL - 38805504 bytes Total Physical Memory for DLL - 95657984 bytes RP/0/5/CPU0:GSR#conf t RP/0/5/CPU0:GSR(config)#router bgp 100 RP/0/5/CPU0:GSR(config-bgp)#commit RP/0/5/CPU0:GSR(config-bgp)#end RP/0/5/CPU0:GSR#show dll mem ---------------------------------------------------------------------------- Total DLL Text - 34689024 bytes Total Virtual Memory for DLL Data - 6361088 bytes Total Physical Memory for DLL Data - 64389120 bytes Total Virtual Memory for DLL - 41050112 bytes Total Physical Memory for DLL - 99078144 bytes
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 54
• Job ID (JID)
─ Uma identificação assinalada quando o processo é executado pela primeira vez.
─ Unico globalmente no sistema – identifica o processo
─ Não muda se o processo for reiniciado
• Process ID (PID)
─ Assinalado quando a instancia do processo é criada
─ Unico globalmente no sistema – identifica o processo
─ Um novo PID é assinalado se o processo é restartado
• Thread ID (TID)
─ Parte integrante de processo. TID incia com numeração 1 etc..
• Name
─ Alguns comandos permitem a identificação do processo pelo nome
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 55
RP/0/RP0/CPU0:CRS#show process ospf Job Id: 262 PID: 209102 Executable path: /disk0/hfr-rout-3.3.1/bin/ospf Instance #: 1 Version ID: 00.00.0000 Respawn: ON Respawn count: 1 Max. spawns per minute: 12 Last started: Thu Jul 20 15:39:20 2006 Process state: Run Package state: Normal Started on config: cfg/gl/ipv4-ospf/proc/1/ord_z/config core: TEXT SHAREDMEM MAINMEM Max. core: 0 Placement: ON startup_path: /pkg/startup/ospf.startup Ready: 13.338s Available: 17.353s Process cpu time: 2.702 user, 0.188 kernel, 2.890 total JID TID Stack pri state HR:MM:SS:MSEC NAME 262 1 60K 10 Receive 0:00:02:0672 ospf 262 2 60K 10 Receive 0:00:00:0012 ospf 262 3 60K 10 Receive 0:00:00:0012 ospf
JID e PID
Restart automatico ?
Thread IDs
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 56
A arquitetura Microkernel permite reiniciar a maioria dos processos
Microkernel IOS XR
Kernel BSD
Monolithic IOS
Timers Scheduler Timers Scheduler Timers Scheduler
BGP OSPF
EIGRP ISIS
RIP VPN
SSH Telnet
Server
IPv4 Forwarding
ACLs LDP
TCP/IP Drivers
BGP OSPF
ISIS
RIP
VPN
SSH Telnet
Server
IPv4 Forwarding
ACLs
LDP
BGP OSPF
EIGRP ISIS
RIP VPN
SSH Telnet
Server
IPv4 Forwarding
ACLs LDP
TCP/IP Drivers TCP/IP Drivers
Areas verdes
não podem ser
reiniciadas
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 57
• process shutdown – para o processo e não restarta
─ Termina o processo de modo não abrupto
• process start – inicia um processo que estava em shutdown
• process restart – reinicia um processo
─ Funciona se o processo estive parado ou executando.
─ Termina o processo de modo não abrupto
• process crash – simula um crash
─ O processo será restartado automaticamente se Respawn=ON
─ Termina o processo abruptamente
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 58
RP/0/RP0/CPU0:CRS#show proc qnet Job Id: 74 PID: 32795 Executable path: /hfr-os-3.3.1/sbin/qnet Instance #: 1 Args: transport=enet,conn_est_retries=3 Version ID: 00.00.0000 Respawn: ON Respawn count: 1 … RP/0/RP0/CPU0:CRS#process restart 74 RP/0/RP0/CPU0:CRS#process restart 74 RP/0/RP0/CPU0:CRS#show proc 74 Job Id: 74 PID: 7061531 Executable path: /hfr-os-3.3.1/sbin/qnet Instance #: 1 Args: transport=enet,conn_est_retries=3 Version ID: 00.00.0000 Respawn: ON Respawn count: 3 Max. spawns per minute: 12 Last started: Thu Aug 31 07:13:37 2006 Process state: Run (last exit due to SIGTERM)
Motivo do restart
Respawn incrementa
PID muda, JID mantém o mesmo
Reinicia algumas vezes
Respawn = 1 processo nunca foi reiniciado
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 59
RP/0/RP0/CPU0:CRS#process shut ospf RP/0/RP0/CPU0:CRS#show process ospf Job Id: 262 PID: 6983888 Executable path: /disk0/hfr-rout-3.3.1/bin/ospf Instance #: 1 Version ID: 00.00.0000 Respawn: ON Respawn count: 4 Max. spawns per minute: 12 Last started: Thu Aug 31 07:02:32 2006 Process state: Killed (last exit status : 1) Package state: Normal Registered item(s): cfg/gl/ipv4-ospf/proc/ core: TEXT SHAREDMEM MAINMEM Max. core: 0 Placement: ON startup_path: /pkg/startup/ospf.startup Ready: 6.368s Available: 10.385s RP/0/RP0/CPU0:CRS#process start ospf
Processo não esta em execução
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 60 Cisco Confidential © 2010 Cisco and/or its affiliates. All rights reserved. 60
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 61
• “Show tech terminal” é a forma basica de capturar um show tech no IOS XR, porém não nos traz muita informação útil.
• Usualmente pedimos a lista de comandos abaixo que é muito útil para iniciarmos um processo de troubleshooting
-show install active detail
-show run
-show ipv4 vrf all int brief
-show log
-show proc blocked location all
-(admin) show platform
-(admin) show diag
Temos show tech por funções que são muito úteis. Então verifique sempre se existe um show tech para a função sob análise. Por exemplo “show tech routing bfd terminal” em caso de problema com BFD.
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 62
Um processo pode permenecer ou travar em um estado de REPLY, SENT, MUTEX, CONDVAR, e isso pode causar problema.
• Analisando um processo em estato travado
Um processo A pode estar bloqueado devido a um processo B e esse devido a um processo C...
Uma vez identificado qual o processo culpado, coletamos o maximo possível de informações sobre o processo (veja proximos slides)
Para solutionar ou contornar o problema:
- reiniciamos o processo
- Se não houver outra opção, reiniciamos a LC
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 63
• show proc <name> location <loc>
• Make sure you have the right exception commands:
• dumpcore running <jid> location <loc>
• follow <pid> iteration 10 stackonly location <loc>
• Traces if available (next slide)
• show tech <feature>
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 64
• Aplicações usam um buffer circular em uma area de memória compartilhada que proativamente salvam algumas informações de debugging.
• Exemplo de traces especificos:
show rib trace / show ospf trace
• Quando analizando um problema, fazemos um “?” para ver se encontramos algum trace disponibel para aquele processo que estamos analizando.
• O provilegio de acesso “cisco-support’ é necessario para isso.
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 65
• You can attach to a process and dump its stack trace.
RP/0/0/CPU0:XR1#follow process 135426 thread 1 iteration 1 stackonly
Sun May 26 16:13:33.697 UTC
Attaching to process pid = 135426 (pkg/bin/ospf)
Iteration 1 of 1
------------------------------
Current process = "pkg/bin/ospf", PID = 135426 TID = 1 (Router-Thread)
trace_back: #0 0x4c2c0ea0 [MsgReceivev]
trace_back: #1 0x4c224e3c [msg_receivev]
trace_back: #2 0x4c225238 [msg_receive]
trace_back: #3 0x4c227904 [event_pool_context_alloc]
ENDOFSTACKTRACE
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 66
• Wdsysmon monitora continuamente o sistema para garantir que nenhum processo de
alta prioridade esteja consumindo muita CPU e fornece um procedimento para se
recuperar o sistema de um alto consumo de CPU.
• Quando um processo é determinado por estar causando um CPU-hog, o wdsysmon irá
alertar na Log essa ocorrencia e poderá terminá-lo. Se isso ocorrer um “core-dump” do
processo será capturado e armazenado no sistema para analyze..
• O comando 'show watchdog trace' irá mostrar informações adicionais sobre o potencial
CPU hog.
RP/0/RP0/CPU0:Dec 22 16:16:35.813 : wdsysmon[331]: %HA-HA_WD-6-CPU_HOG_4 : Process wd_test pid 409794 tid 2 prio 14 using 99% is the top user of CPU.
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 67
RP/0/0/CPU0:XR1#show proc cpu location 0/0/cpu0
Sun May 26 16:50:14.905 UTC
CPU utilization for one minute: 8%; five minutes: 9%; fifteen minutes: 8%
PID 1Min 5Min 15Min Process
1 0% 0% 0% kernel
8195 1% 1% 1% dllmgr
12290 0% 0% 0% wd-critical-mon
12294 0% 0% 0% pkgfs
RP/0/0/CPU0:XR1#top location 0/0/cpu0
Sun May 26 16:51:04.128 UTC
260 processes; 1242 threads;
CPU states: 93.7% idle, 4.9% user, 1.3% kernel
Memory: 4096M total, 2794M avail, page size 4K
Time: Sun May 26 16:51:06.205 UTC
JID TID LAST_CPU PRI STATE HH:MM:SS CPU COMMAND
419 4 0 10 Rcv 4:14:45 1.01% sysdb_mc
421 2 1 10 Rcv 5:34:05 0.99% sysdb_svr_local
422 5 0 10 Rcv 3:59:24 0.74% sysdb_svr_shared
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 68
• show proc
• dumpcore running
• trace
• follow
• reiniciar o processo “pode” resolver o problema
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 69 2013 Cisco and/or Affiliates. All Rights Reserved
a) System Manager
b) Wdsysmon
c) Watch-Memory
d) Não existe
Qual é o processo responsável por monitorar consumo de memoria no sistema?
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 70
• No XR tambem existem um mecanismo de detecção de hog de memoria. O algoritimo verificar o consumo de memoria em intervalos regulares.
• Existem diferentes threshoulds para quatro estágios : Normal, Minor, Severe and Critical.
• A definição dos thresholds depende do tamanho da memória física.
• O estado da memória pode ser verificado com o comando CLI
show watchdog memory-state <location>
show watchdog threshold memory default <location>
RP/0/RP1/CPU0:router#sh watchdog memory-state
Memory information:
Physical Memory: 4096 MB
Free Memory: 3447.226 MB
Memory State: Normal
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 71
• O sistema poderá alertar situações de pouca memoria se um processo ultrapassar o treshould definido. O wdsysmon poderá reiniciar o processo se a memória disponível no sistema ficar muito baixa.
Comandos:
• #show proc mem
• #run top_procs (press M to sort by memory)
• # show watchdog memory-state <location>
• # show memory compare ?
(will take a snapshot when start and when end and then take a comparison report)
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 72
• show mem <jid>
• show mem heap dllname <jid>
• core dump
Reinicie o processo para recuperar a memória
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 73
• O comando describe é muito útil para ajudar a encontrar qual o comando mapeia o CLI ao comando na shell (ksh):
RP/0/0/CPU0:XR1#describe show mem sum
It will take the following actions:
Sun May 26 17:30:00.222 UTC
Spawn the process:
show_memory -s
# show_memory -s
Physical Memory: 4096M total (2793M available)
Application Memory : 3923M (2793M available)
Image: 44M (bootram: 44M)
Reserved: 128M, IOMem: 4M, flashfsys: 0
Total shared window: 23M
RP/0/RP0/CPU0:XR1#run
Sun May 26 17:30:00.222 UTC
# uname -a
QNX node0_RP0_CPU0 6.4.0
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 74
• O IOS XR tem alguns utilitários muito úteis para coletar e manipular informação:
RP/0/RP0/CPU0:CRS-E#utility ? bc Arbitrary precision Calculator cut Cut out selected fields of each line of a file date Show or set system time df Report free disk space du Estimate disk space usage egrep Extended regular expression grep fgrep Fixed string expression grep find Find files head Show set of lines/characters from the top of a file less Fixed string pattern matching mv Move files sort Sort, merge, or sequence-check text files tail Copy the last part of files uniq Report or filter out repeated lines in a file wc Counting lines/words/characters of a file which Locate a program file xargs Construct argument list(s) and invoke a program
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 75
Thank you.