O conjunto de documentação deste produto faz o possível para usar uma linguagem imparcial. Para os fins deste conjunto de documentação, a imparcialidade é definida como uma linguagem que não implica em discriminação baseada em idade, deficiência, gênero, identidade racial, identidade étnica, orientação sexual, status socioeconômico e interseccionalidade. Pode haver exceções na documentação devido à linguagem codificada nas interfaces de usuário do software do produto, linguagem usada com base na documentação de RFP ou linguagem usada por um produto de terceiros referenciado. Saiba mais sobre como a Cisco está usando a linguagem inclusiva.
A Cisco traduziu este documento com a ajuda de tecnologias de tradução automática e humana para oferecer conteúdo de suporte aos seus usuários no seu próprio idioma, independentemente da localização. Observe que mesmo a melhor tradução automática não será tão precisa quanto as realizadas por um tradutor profissional. A Cisco Systems, Inc. não se responsabiliza pela precisão destas traduções e recomenda que o documento original em inglês (link fornecido) seja sempre consultado.
Este documento descreve a validação da solução Cisco Routed PON (Passive Optical Network) em uma máquina virtual (VM) e roteador XR.
A Cisco recomenda o conhecimento sobre esses tópicos.
As informações neste documento são baseadas nas versões de software e hardware listadas:
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Certifique-se de que o VRF (Virtual Routing and Forwarding, roteamento e encaminhamento virtual) usado para conectividade esteja refletido na configuração de rede do Linux. Para este exemplo, o VRF Mgmt-intf foi configurado. Além disso, certifique-se de que a rota padrão de dica de origem esteja definida para a interface de uplink correta. A conectividade no exemplo listado usa a interface MgmtEth0/RP0/CPU0/0.
Exemplo de configuração:
linux networking
vrf Mgmt-intf
address-family ipv4
default-route software-forwarding
source-hint default-route interface MgmtEth0/RP0/CPU0/0
Certifique-se de que a interface na qual o OLT (Optical Line Terminal - Terminal de Linha Óptica) Conectável está inserido está correta e não está desligada na configuração. Além disso, confirme se a subinterface está marcada com dot1q com 4090 e se está aplicada à interface física associada.
Exemplo de configuração:
interface TenGigE0/0/0/0
description PON OLT
!
interface TenGigE0/0/0/0.4090
encapsulation dot1q 4090
Verificação de comando:
RP/0/RP0/CPU0:F340.16.19.N540-1#show ip interface brief
Tue Jul 16 15:08:28.786 UTC
Interface IP-Address Status Protocol Vrf-Name
TenGigE0/0/0/0 unassigned Up Up default
TenGigE0/0/0/0.4090 unassigned Up Up default
RP/0/RP0/CPU0:F340.16.19.N540-1#show interface TenGigE0/0/0/0.4090
Wed Jul 17 13:17:07.754 UTC
TenGigE0/0/0/0.4090 is up, line protocol is up
Interface state transitions: 5
Hardware is VLAN sub-interface(s), address is c47e.e0b3.9b04
Internet address is Unknown
MTU 1518 bytes, BW 10000000 Kbit (Max: 10000000 Kbit)
reliability 255/255, txload 0/255, rxload 0/255
Encapsulation 802.1Q Virtual LAN, VLAN Id 4090, loopback not set
Verifique se o LLDP está habilitado na configuração global.
RP/0/RP0/CPU0:F340.16.19.N540-1#show run | include lldp
Thu Jul 18 20:16:12.073 UTC
lldp
Certifique-se de que o RPM xr-pon-ctrl esteja instalado e ativo. Caso contrário, confirme se o NCS540l-iosxr-optional-RPMs-24.2.11.tar existe no disco rígido (no shell do Linux, o caminho é /misc/disk1/) e se o repositório local que contém os RPMs correspondentes ao software é referenciado corretamente.
Observação: as informações sobre a instalação e o gerenciamento em RPMs de todo o sistema podem ser encontradas neste link: Guia de Instalação de Software e Configuração do Sistema para Cisco NCS 540 Series Routers, IOS XR Release 24.1.x, 24.2.x
Exemplo:
RP/0/RP0/CPU0:F340.16.19.N540-2#show install active summary | include xr-pon
Tue Jul 16 14:59:16.082 UTC
xr-pon-ctlr 24.1.2v1.0.0-1
install
repository local-repo
url file:///harddisk:/optional-RPMs-2412
Verifique se o controlador PON está configurado com o arquivo, o caminho do arquivo e o VRF corretamente associados.
Exemplo:
pon-ctlr
cfg-file harddisk:/PonCntlInit.json vrf Mgmt-intf
Observação: o exemplo do arquivo PonCntlInit.json está incluído na instalação do software Routed PON Manager na VM.
Observação: com uma única instalação VM do PON Manager, o IP MongoDB e o IP VM são um no mesmo.
Observação: o exemplo listado NÃO usa TLS. Se você estiver usando TLS, verifique se o nome de usuário e a senha estão definidos corretamente para sua instalação.
Certifique-se de que o IP do MongoDB esteja definido na seção host: para corresponder ao que o controlador PON se conecta. Além disso, confirme se a porta configurada corresponde à porta do arquivo mongod.conf na VM.
Exemplo:
{
"CNTL": {
"Auth": false,
"CFG Version": "R4.0.0",
"DHCPv4": true, <- DHCP set to true for CPE devices, Default is false.
"DHCPv6": true, <- DHCP set to true for CPE devices, Default is false.
"PPPoE": false,
"UMT interface": "tibitvirt",
"Maximum CPEs Allowed": 0,
"Maximum CPE Time": 0
},
"DEBUG": {},
"JSON": {
"databaseDir": "/opt/tibit/poncntl/database/",
"defaultDir": "/opt/tibit/poncntl/database/"
},
"Local Copy": {
"CNTL-STATE": false,
"OLT-STATE": false,
"ONU-STATE": false
},
"Logging": {
"Directory": "/var/log/tibit",
"FileCount": 3,
"FileSize": 10240000,
"Tracebacks": false,
"Timestamp": false,
"Facility" : "user"
},
"MongoDB": {
"auth_db": "tibit_users",
"auth_enable": false,
"ca_cert_path": "/etc/cisco/ca.pem",
"compression": false,
"write_concern": "default",
"host": "10.122.140.232", <- MongoDB IP
"name": "tibit_pon_controller",
"password": "", <- Left Empty - Not using TLS
"port": "27017", <- MongoDB TCP Port
"tls_enable": false, <- Set to False to leave TLS disabled
"username": "", <- Left Empty - Not using TLS
"dns_srv": false,
"db_uri": "",
"replica_set_enable": false,
"validate_cfg": true
},
"databaseType": "MongoDB",
"interface": "veth_pon_glb"
}
A partir do roteador XR, faça ping no MongoDB/VM Hosting Routed PON Manager. Se você estiver usando um VRF, use a origem do VRF.
Exemplo:
RP/0/RP0/CPU0:F340.16.19.N540-1#ping vrf Mgmt-intf 10.122.140.232
Tue Jul 16 15:09:52.780 UTC
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.122.140.232 timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/3 ms
RP/0/RP0/CPU0:F340.16.19.N540-1#
O controlador PON é executado em um contêiner de encaixe no roteador XR. Verifique o status do contêiner efetuando login no shell do linux no roteador XR e, em seguida, execute o comando docker ps. Mostra o contêiner ativo no momento, se houver.
Exemplo:
RP/0/RP0/CPU0:F340.16.19.N540-1#run
Tue Jul 16 15:14:26.059 UTC
[node0_RP0_CPU0:~]$docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2e700f202ee3 tibit-poncntl.xr:R4.0.0 "/usr/bin/supervisor…" 3 days ago Up 3 days pon_ctlr
Se o contêiner do docker NÃO estiver em execução, verifique o conteúdo e a estrutura do arquivo no arquivo JSON. Verifique nos logs do contêiner do encaixe se há erros ativos. O exemplo do registro mostra um ONU a registrar-se com o controlador. Isso também imprime todos os erros no nível do encaixe com relação ao contêiner e ao OLT. Além disso, é possível obter orientação ao executar um show logging simples para verificar se há mensagens de erro.
Observação: o uso de —follow exibe o conteúdo de log mais recente no docker.
Exemplo:
[node0_RP0_CPU0:~]$docker logs pon_ctlr
2024-07-16 15:05:11.630 PonCntl System Status
{
"e0:9b:27:36:aa:76": {
"OLT State": "Primary",
"ONU Active Count": 1,
"ONUs": {
"CIGG2410503f": "Registered"
Verifique se a hora e a data no Roteador XR e na VM que hospeda o Gerenciador PON Roteado correspondem. Se possível, use os mesmos servidores NTP para uma precisão ideal.
Cuidado: o NTP não está sincronizado entre a VM e o Roteador XR afeta diretamente a visibilidade do OLT no Gerenciador PON Roteado.
Exemplo:
RP/0/RP0/CPU0:F340.16.19.N540-1#show clock
Tue Jul 16 15:25:03.781 UTC
15:25:03.827 UTC Tue Jul 16 2024
Exemplo de configuração:
ntp
server vrf Mgmt-intf 172.18.108.14 source MgmtEth0/RP0/CPU0/0
server vrf Mgmt-intf 172.18.108.15 prefer source MgmtEth0/RP0/CPU0/0
O processo PON gera logs adicionais por meio do ltrace. Verifique se há erros relacionados a esse processo nesses logs.
Exemplo:
RP/0/RP0/CPU0:F340.16.19.N540-1#show pon-ctlr ltrace all reverse location all
Wed Jul 17 13:25:43.747 UTC
670 wrapping entries (4224 possible, 896 allocated, 0 filtered, 670 total)
Jul 10 19:17:55.066 pon_ctlr/event 0/RP0/CPU0 t6986 pon_ctlr_config_sysdb.c:117:Successfully connected to sysdb
Jul 10 19:17:55.039 pon_ctlr/event 0/RP0/CPU0 t6986 pon_ctlr_main.c:372:Succeessfully registered with install manager
Jul 10 19:17:55.006 pon_ctlr/event 0/RP0/CPU0 t7082 pon_ctlr_utls.c:353:IP LINK: ip link delete veth_pon_xrns
No diretório de instalação do Routed PON Manager, há um script shell (status.sh) para exibir o status atual de cada processo associado. Execute este script com privilégios elevados para verificar se cada um dos serviços listados está ativo e em execução. Caso um dos serviços não esteja em execução, verifique primeiro o script de instalação que foi executado durante a execução da instalação e certifique-se de que os argumentos apropriados foram definidos de acordo com o guia de instalação.
Observação: o Guia de instalação do Cisco Routed PON Manager pode ser encontrado neste link: Guia de instalação do Cisco Routed PON Manager
mongod.service
apache2.service
netconf.service
netopeer2-server.service
Exemplo:
rpon@rpon-mgr:~/PON_MANAGER_SIGNED_CCO/R4.0.0-Cisco-UB2004-sign/R4.0.0-Cisco-UB2004$ sudo ./status.sh
[sudo] password for rpon:
MCMS Component Versions:
PON Manager: R4.0.0
PON NETCONF: R4.0.0
PON Controller: Not Installed
● mongod.service - MongoDB Database Server
Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2024-06-27 08:46:25 EDT; 2 weeks 5 days ago
Main PID: 52484 (mongod)
Memory: 1.5G
CGroup: /system.slice/mongod.service
└─52484 /usr/bin/mongod --config /etc/mongod.conf
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2024-07-12 06:33:30 EDT; 4 days ago
Process: 103015 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS)
Main PID: 96525 (apache2)
Tasks: 123 (limit: 9403)
Memory: 27.0M
CGroup: /system.slice/apache2.service
├─ 96525 /usr/sbin/apache2 -k start
├─103029 /usr/sbin/apache2 -k start
├─103030 /usr/sbin/apache2 -k start
└─103031 /usr/sbin/apache2 -k start
● tibit-netconf.service - Tibit Communications, Inc. NetCONF Server
Loaded: loaded (/lib/systemd/system/tibit-netconf.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2024-06-27 08:47:44 EDT; 2 weeks 5 days ago
Main PID: 60768 (tibit-netconf)
Tasks: 17 (limit: 9403)
Memory: 60.7M
CGroup: /system.slice/tibit-netconf.service
├─60768 /opt/tibit/netconf/bin/tibit-netconf
└─60786 /opt/tibit/netconf/bin/tibit-netconf
● tibit-netopeer2-server.service - Tibit Communications, Inc. Netopeer2 Server
Loaded: loaded (/lib/systemd/system/tibit-netopeer2-server.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2024-06-27 08:47:44 EDT; 2 weeks 5 days ago
Main PID: 60772 (netopeer2-serve)
Tasks: 7 (limit: 9403)
Memory: 6.0M
CGroup: /system.slice/tibit-netopeer2-server.service
└─60772 /opt/tibit/netconf/bin/netopeer2-server -v 1 -t 55
Valide o Netplan e verifique se as informações de IP são válidas, se o nome da interface de rede da VM está correto, se a ID da VLAN 4090 foi criada e atribuída e se ela está usando uma estrutura de árvore YAML válida do Netplan.
Observação: o arquivo YAML do netplan está localizado em /etc/netplan/.
Exemplo:
rpon@rpon-mgr:~/PON_MANAGER_SIGNED_CCO/R4.0.0-Cisco-UB2004-sign/R4.0.0-Cisco-UB2004$ cat /etc/netplan/01-network-manager-all.yaml
network:
version: 2
Renderer: Network Manager
ethernets:
ens192: <- VM Network Adapter
dhcp4: no <- No DHCP as the IP is set statically
dhcp6: no
addresses: [10.122.140.232/28] <- IP of the VM Network adapter
gateway4: 10.122.140.225 <- GW of the IP Network
nameservers:
addresses: [172.18.108.43,172.18.108.34] <- Network DNS
vlans:
vlan.4090:
id: 4090
link: ens192 <- VM Network adapter
dhcp4: no
dhcp6: no
Verifique a configuração IP da VM e se o adaptador de rede configurado corresponde ao que está listado no arquivo NETPLAN YAML.
Observação: o uso de sudo netplan — debug apply é útil ao testar o netplan antes do aplicativo.
Exemplo:
rpon@rpon-mgr:~$ ifconfig
ens192: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.122.140.232 netmask 255.255.255.240 broadcast 10.122.140.239
inet6 fe80::df4d:8d4d:4836:82aa prefixlen 64 scopeid 0x20<link>
ether 00:50:56:84:3f:8f txqueuelen 1000 (Ethernet)
RX packets 68933231 bytes 21671670389 (21.6 GB)
RX errors 0 dropped 129 overruns 0 frame 0
TX packets 36820200 bytes 71545432788 (71.5 GB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
-- snipped for brevity --
vlan.4090: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::250:56ff:fe84:3f8f prefixlen 64 scopeid 0x20<link>
ether 00:50:56:84:3f:8f txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1044 bytes 140547 (140.5 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Verifique a conectividade IP com o roteador XR que hospeda o controlador PON via ping.
Exemplo:
rpon@rpon-mgr:~/PON_MANAGER_SIGNED_CCO/R4.0.0-Cisco-UB2004-sign/R4.0.0-Cisco-UB2004$ ping 10.122.140.226
PING 10.122.140.226 (10.122.140.226) 56(84) bytes of data.
64 bytes from 10.122.140.226: icmp_seq=1 ttl=255 time=1.01 ms
64 bytes from 10.122.140.226: icmp_seq=2 ttl=255 time=1.03 ms
64 bytes from 10.122.140.226: icmp_seq=3 ttl=255 time=1.13 ms
^C
--- 10.122.140.226 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 1.009/1.054/1.128/0.052 ms
Verifique se o 27017 de porta TCP do MongoDB está aberto. Se você estiver usando uma porta não padrão para o MongoDB, verifique se ela está aberta/escutando via netstat -tunl.
Observação: a porta TCP MongoDB padrão é 27017.
Observação: o arquivo de configuração listado no passo 4 também define a configuração da porta TCP para o MongoDB usar.
Exemplo:
rpon@rpon-mgr:~/PON_MANAGER_SIGNED_CCO/R4.0.0-Cisco-UB2004-sign/R4.0.0-Cisco-UB2004$ netstat -tunl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN
tcp 0 0 10.122.140.232:27017 0.0.0.0:* LISTEN
Verifique se o arquivo mongod.conf está correto e se tem o IP correto listado em bindIP:.
Observação: o arquivo de configuração MongoDB está localizado em /etc/mongod.conf
Exemplo:
rpon@rpon-mgr:~/PON_MANAGER_SIGNED_CCO/R4.0.0-Cisco-UB2004-sign/R4.0.0-Cisco-UB2004$ cat /etc/mongod.conf
# mongod.conf
storage:
dbPath: /var/lib/mongodb
journal:
enabled: true
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
logRotate: reopen
# network interfaces
net:
port: 27017
bindIp: 127.0.0.1,10.122.140.232
processManagement:
pidFilePath: /var/run/mongodb/mongod.pid
timeZoneInfo: /usr/share/zoneinfo
replication:
replSetName: "rs0"
-- snipped for brevity --
Os registros de nível de sistema para cada serviço são gerenciados no linux. Esses logs são armazenados no diretório /var/log, especificamente sob essas árvores.
Logs do MongoDB: /var/log/mongod/mongod.log
Logs do Apache: /var/log/apache2/<nome_do_arquivo>.log
Syslog da máquina virtual: /var/log/syslog
Revisão | Data de publicação | Comentários |
---|---|---|
1.0 |
19-Jul-2024 |
Versão inicial |