본 제품에 대한 문서 세트는 편견 없는 언어를 사용하기 위해 노력합니다. 본 설명서 세트의 목적상, 편견 없는 언어는 나이, 장애, 성별, 인종 정체성, 민족 정체성, 성적 지향성, 사회 경제적 지위 및 교차성에 기초한 차별을 의미하지 않는 언어로 정의됩니다. 제품 소프트웨어의 사용자 인터페이스에서 하드코딩된 언어, RFP 설명서에 기초한 언어 또는 참조된 서드파티 제품에서 사용하는 언어로 인해 설명서에 예외가 있을 수 있습니다. 시스코에서 어떤 방식으로 포용적인 언어를 사용하고 있는지 자세히 알아보세요.
Cisco는 전 세계 사용자에게 다양한 언어로 지원 콘텐츠를 제공하기 위해 기계 번역 기술과 수작업 번역을 병행하여 이 문서를 번역했습니다. 아무리 품질이 높은 기계 번역이라도 전문 번역가의 번역 결과물만큼 정확하지는 않습니다. Cisco Systems, Inc.는 이 같은 번역에 대해 어떠한 책임도 지지 않으며 항상 원본 영문 문서(링크 제공됨)를 참조할 것을 권장합니다.
이 문서에서는 VM(Virtual Machine) 및 XR Router에서 Cisco Routed PON(Passive Optical Network) 솔루션의 검증에 대해 설명합니다.
Cisco에서는 이러한 항목에 대한 지식을 권장합니다.
이 문서의 정보는 나열된 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
연결에 사용되는 VRF(Virtual Routing and Forwarding)가 Linux 네트워킹 컨피그레이션에 반영되어 있는지 확인합니다. 이 예에서는 VRF Mgmt-intf가 구성되었습니다. 또한 source-hint default-route가 올바른 업링크 인터페이스에 대해 설정되었는지 확인합니다. 나열된 예의 연결은 인터페이스 MgmtEth0/RP0/CPU0/0을 사용합니다.
컨피그레이션 예시:
linux networking
vrf Mgmt-intf
address-family ipv4
default-route software-forwarding
source-hint default-route interface MgmtEth0/RP0/CPU0/0
OLT(Optical Line Terminal) Pluggable이 삽입되는 인터페이스가 올바르고 컨피그레이션에서 종료되지 않았는지 확인합니다. 또한 하위 인터페이스가 4090으로 태그된 dot1q이며 관련 물리적 인터페이스에 적용되는지 확인합니다.
컨피그레이션 예시:
interface TenGigE0/0/0/0
description PON OLT
!
interface TenGigE0/0/0/0.4090
encapsulation dot1q 4090
명령 확인:
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
전역 컨피그레이션에서 LLDP가 활성화되어 있는지 확인합니다.
RP/0/RP0/CPU0:F340.16.19.N540-1#show run | include lldp
Thu Jul 18 20:16:12.073 UTC
lldp
xr-pon-ctrl RPM이 설치되어 있고 활성 상태인지 확인합니다. 그렇지 않은 경우 하드 디스크에 NCS540l-iosxr-optional-RPMs-24.2.11.tar이 있는지 확인하고(Linux 셸의 경우 경로는 /misc/disk1/), 소프트웨어 일치 RPM이 포함된 local-repo가 올바르게 참조되었는지 확인합니다.
참고: 시스템 전체 RPM의 설치 및 관리에 대한 정보는 System Setup and Software Installation Guide for Cisco NCS 540 Series Routers, IOS XR Release 24.1.x, 24.2.x 링크에서 찾을 수 있습니다
예:
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
PON 컨트롤러가 올바르게 연결된 파일, 파일 경로 및 VRF로 구성되어 있는지 확인합니다.
예:
pon-ctlr
cfg-file harddisk:/PonCntlInit.json vrf Mgmt-intf
참고: PonCntlInit.json 파일 예는 VM에 Routed PON Manager 소프트웨어를 설치할 때 포함됩니다.
참고: PON Manager를 단일 VM에 설치하면 MongoDB IP와 VM IP가 같은 VM에 설치됩니다.
참고: 나열된 예에서는 TLS를 사용하지 않습니다. TLS를 사용하는 경우 설치에 사용자 이름과 비밀번호가 올바르게 설정되었는지 확인합니다.
MongoDB의 IP가 host: 섹션에 설정되어 PON 컨트롤러가 연결하는 것에 일치하는지 확인합니다. 또한 구성된 포트가 VM의 mongod.conf 파일의 포트와 일치하는지 확인합니다.
예:
{
"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"
}
XR 라우터에서 MongoDB/VM 호스팅 라우팅된 PON Manager를 ping합니다. VRF를 사용하는 경우 VRF에서 소스를 가져옵니다.
예:
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#
PON 컨트롤러는 XR 라우터의 docker 컨테이너에서 실행됩니다. XR 라우터의 linux 셸에 로그인하여 컨테이너의 상태를 확인한 다음 docker ps 명령을 실행합니다. 현재 가동 중인 컨테이너와 활성 컨테이너가 있는 경우 이를 표시합니다.
예:
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
docker 컨테이너가 실행되고 있지 않으면 JSON 파일의 내용과 파일 구조를 확인합니다. Docker 컨테이너의 로그에서 활성 오류가 있는지 확인합니다. 로그 예는 컨트롤러에 등록하는 ONU를 나타낸다. 이는 또한 컨테이너 및 OLT와 관련된 모든 도커 레벨 오류를 출력합니다. 또한 간단한 show logging을 실행하여 오류 메시지를 확인하는 방법을 안내받을 수 있습니다.
참고: 사용법 -follow는 docker 내의 최신 로그 내용을 표시합니다.
예:
[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"
XR 라우터와 VM이 라우티드 PON Manager를 호스팅하는 시간과 날짜가 일치하는지 확인합니다. 가능한 경우 최적의 정확성을 위해 동일한 NTP 서버를 사용합니다.
주의: VM과 XR 라우터 간에 NTP가 동기화되지 않으면 라우팅된 PON Manager의 OLT 가시성에 직접적인 영향을 미칩니다.
예:
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
컨피그레이션 예시:
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
PON 프로세스는 ltrace를 통해 추가 로깅을 생성합니다. 이 로그에서는 이 프로세스와 관련된 오류를 확인합니다.
예:
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
Routed PON Manager 설치 디렉토리 내에는 각 관련 프로세스의 현재 상태를 표시하는 셸 스크립트(status.sh)가 있습니다. 이 스크립트를 높은 권한으로 실행하여 나열된 각 서비스가 실행 중인지 확인합니다. 서비스 중 하나가 실행되고 있지 않은 경우 먼저 설치를 수행할 때 실행된 설치 스크립트를 확인하고 설치 설명서에 따라 적절한 인수가 설정되었는지 확인합니다.
참고: Cisco Routed PON Manager 설치 가이드는 Cisco Routed PON Manager 설치 가이드 링크에서 확인할 수 있습니다
moongod.봉사
apache2.service
netconf.service
netopeer2-server.service
예:
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
Netplan을 검증하고 IP 정보가 유효한지, VM 네트워크 인터페이스 이름이 정확한지, VLAN ID 4090이 생성되어 할당되었는지, 유효한 Netplan YAML 트리 구조를 사용하고 있는지 확인합니다.
참고: netplan YAML 파일은 /etc/netplan/에 있습니다.
예:
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
VM의 IP 컨피그레이션을 확인하고 구성된 네트워크 어댑터가 netplan YAML 파일에 나열된 것과 일치하는지 확인합니다.
참고: sudo netplan —debug apply의 사용은 응용 프로그램 이전에 netplan을 테스트할 때 유용합니다.
예:
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
ping을 통해 PON 컨트롤러를 호스팅하는 XR 라우터에 대한 IP 연결을 확인합니다.
예:
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
MongoDB TCP Port 27017이 열려 있는지 확인합니다. MongoDB에 비표준 포트를 사용하는 경우 netstat -tunl을 통해 해당 포트가 열려/수신되는지 확인합니다.
참고: 표준 MongoDB TCP 포트는 27017.
참고: 4단계에 나열된 컨피그레이션 파일은 MongoDB에서 사용할 TCP 포트 컨피그레이션도 설정합니다.
예:
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
mongod.conf 파일이 정확하고 bindIP:에 올바른 IP가 나열되어 있는지 확인합니다.
참고: MongoDB 구성 파일은 /etc/mongod.conf에 있습니다.
예:
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 --
각 서비스에 대한 시스템 레벨 로그는 linux 내에서 관리됩니다. 이러한 로그는 /var/log 디렉토리 내에, 특히 이러한 트리 아래에 저장됩니다.
MongoDB 로그: /var/log/mongod/mongod.log
Apache 로그: /var/log/apache2/<filename>.log
가상 머신 Syslog: /var/log/syslog
개정 | 게시 날짜 | 의견 |
---|---|---|
1.0 |
19-Jul-2024 |
최초 릴리스 |