El conjunto de documentos para este producto aspira al uso de un lenguaje no discriminatorio. A los fines de esta documentación, "no discriminatorio" se refiere al lenguaje que no implica discriminación por motivos de edad, discapacidad, género, identidad de raza, identidad étnica, orientación sexual, nivel socioeconómico e interseccionalidad. Puede haber excepciones en la documentación debido al lenguaje que se encuentra ya en las interfaces de usuario del software del producto, el lenguaje utilizado en función de la documentación de la RFP o el lenguaje utilizado por un producto de terceros al que se hace referencia. Obtenga más información sobre cómo Cisco utiliza el lenguaje inclusivo.
Cisco ha traducido este documento combinando la traducción automática y los recursos humanos a fin de ofrecer a nuestros usuarios en todo el mundo contenido en su propio idioma. Tenga en cuenta que incluso la mejor traducción automática podría no ser tan precisa como la proporcionada por un traductor profesional. Cisco Systems, Inc. no asume ninguna responsabilidad por la precisión de estas traducciones y recomienda remitirse siempre al documento original escrito en inglés (insertar vínculo URL).
Este documento describe la validación de la solución Cisco Routed PON (Passive Optical Network) en una máquina virtual (VM) y un router XR.
Cisco recomienda tener conocimientos sobre estos temas.
La información de este documento se basa en las versiones de software y hardware enumeradas:
La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.
Asegúrese de que el VRF (Virtual Routing and Forwarding) utilizado para la conectividad esté reflejado dentro de la configuración de la red linux. Para este ejemplo, se ha configurado VRF Mgmt-intf. Además, asegúrese de que source-hint default-route esté configurado para la interfaz de enlace ascendente correcta. La conectividad en el ejemplo listado utiliza la interfaz MgmtEth0/RP0/CPU0/0.
Ejemplo de configuración:
linux networking
vrf Mgmt-intf
address-family ipv4
default-route software-forwarding
source-hint default-route interface MgmtEth0/RP0/CPU0/0
Asegúrese de que la interfaz en la que está insertado el OLT (Terminal de Línea Óptica) Pluggable es correcta y no está apagada en la configuración. Además, confirme que la subinterfaz es dot1q etiquetada con 4090 y que se aplica a la interfaz física asociada.
Ejemplo de configuración:
interface TenGigE0/0/0/0
description PON OLT
!
interface TenGigE0/0/0/0.4090
encapsulation dot1q 4090
Verificación 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
Asegúrese de que LLDP esté habilitado en la configuración global.
RP/0/RP0/CPU0:F340.16.19.N540-1#show run | include lldp
Thu Jul 18 20:16:12.073 UTC
lldp
Asegúrese de que el RPM xr-pon-ctrl está instalado y es un RPM activo. Si no es así, confirme que NCS540l-iosxr-optional-RPMs-24.2.11.tar existe en el disco duro (en el shell de Linux, la ruta es /misc/disk1/), y se hace referencia correctamente al repo local que contiene los RPM coincidentes con el software.
Nota: Puede encontrar información sobre la instalación y la administración de RPM en todo el sistema en este enlace: Guía de instalación de software y configuración del sistema para routers Cisco NCS 540 Series, IOS XR Release 24.1.x, 24.2.x
Ejemplo:
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
Asegúrese de que PON-Controller esté configurado con el archivo, la ruta de acceso del archivo y el VRF asociados correctamente.
Ejemplo:
pon-ctlr
cfg-file harddisk:/PonCntlInit.json vrf Mgmt-intf
Nota: El ejemplo del archivo PonCntlInit.json se incluye con la instalación del software Routed PON Manager en la máquina virtual.
Nota: Con una sola instalación de VM de PON Manager, la IP MongoDB y la IP de VM son una en la misma.
Nota: El ejemplo enumerado NO utiliza TLS. Si utiliza TLS, asegúrese de que el nombre de usuario y la contraseña estén configurados correctamente para su instalación.
Asegúrese de que la IP de MongoDB esté configurada en el host: para que coincida con lo que conecta el controlador PON. Además, confirme que el puerto configurado coincida con el del archivo mongod.conf en la máquina virtual.
Ejemplo:
{
"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"
}
Desde el router XR, haga ping al administrador de PON enrutado de alojamiento MongoDB/VM. Si utiliza un VRF, el origen se obtiene del VRF.
Ejemplo:
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#
El controlador PON se ejecuta en un contenedor de acoplamiento en el router XR. Verifique el estado del contenedor iniciando sesión en el shell de linux en el router XR, luego ejecute el comando docker ps. Muestra el contenedor activo y activo actualmente, si lo hay.
Ejemplo:
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
Si el contenedor de acoplamiento NO se está ejecutando, compruebe el contenido y la estructura de archivos del archivo JSON. Compruebe los registros del contenedor de acoplamiento para ver si hay errores activos. El ejemplo de registro muestra un registro ONU con el controlador. Esto también imprime cualquier error de nivel de acoplador con respecto al contenedor y OLT. Además, se puede obtener orientación al ejecutar un simple show logging para verificar si hay mensajes de error.
Nota: El uso de —follow muestra el contenido de registro más reciente en docker.
Ejemplo:
[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"
Asegúrese de que la fecha y la hora del router XR y de la máquina virtual que aloja el administrador de PON enrutado coincidan. Si es posible, utilice los mismos servidores NTP para una precisión óptima.
Precaución: El hecho de que el NTP no esté sincronizado entre la máquina virtual y el router XR afecta directamente a la visibilidad de OLT en el administrador de PON enrutados.
Ejemplo:
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
Ejemplo de configuración:
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
El proceso PON genera registros adicionales a través de ltrace. Verifique estos registros para ver si hay errores relacionados con este proceso.
Ejemplo:
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
Dentro del directorio de instalación de Routed PON Manager, hay una secuencia de comandos de shell (status.sh) para mostrar el estado actual de cada proceso asociado. Ejecute este script con privilegios elevados para verificar que cada uno de los servicios listados está activo y en ejecución. En caso de que uno de los servicios no se esté ejecutando, compruebe primero la secuencia de comandos de instalación que se ejecutó al realizar la instalación y asegúrese de que se han establecido los argumentos adecuados en la guía de instalación.
Nota: La Guía de Instalación de Cisco Routed PON Manager se puede encontrar en este enlace: Guía de instalación de Cisco Routed PON Manager
mongod.service
apache2.service
netconf.service
netopeer2-server.service
Ejemplo:
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 el Netplan y asegúrese de que la información de IP sea válida, que el nombre de la interfaz de red de VM sea correcto, que se cree y asigne el ID de VLAN 4090 y que esté utilizando una estructura de árbol YAML de Netplan válida.
Nota: El archivo YAML de netplan se encuentra en /etc/netplan/.
Ejemplo:
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 la configuración IP de la VM y que el adaptador de red configurado coincida con lo que se enumera en el archivo YAML de netplan.
Nota: El uso de sudo netplan —debug apply es útil cuando se prueba el netplan antes de la aplicación.
Ejemplo:
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 la conectividad IP con el router XR que aloja el controlador PON a través del ping.
Ejemplo:
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 que el puerto TCP 27017 de MongoDB esté abierto. Si está utilizando un puerto no estándar para MongoDB, verifique que esté abierto/escuchando vía netstat -tunl.
Nota: El puerto TCP MongoDB estándar es 27017.
Nota: El archivo de configuración enumerado en el paso 4 también establece la configuración del puerto TCP que utilizará MongoDB.
Ejemplo:
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 que el archivo mongod.conf sea preciso y que tenga la IP correcta enumerada en bindIP:.
Nota: El archivo de configuración de MongoDB se encuentra en /etc/mongod.conf
Ejemplo:
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 --
Los registros de nivel de sistema para cada servicio se administran dentro de linux. Estos registros se almacenan en el directorio /var/log, específicamente debajo de estos árboles.
Registros de MongoDB: /var/log/mongod/mongod.log
Registros de Apache: /var/log/apache2/<nombre de archivo>.log
Syslog de máquina virtual: /var/log/syslog
Revisión | Fecha de publicación | Comentarios |
---|---|---|
1.0 |
19-Jul-2024 |
Versión inicial |