المحتويات

المقدمة

المتطلبات الأساسية

المتطلبات

المكونات المستخدمة

خطوات التحقق من الصحة - موجه XR

عمليات فحص التكوين

شبكات لينوكس

تكوين الواجهة المادية والفرعية

تكوين وحدة التحكم PON

التحقق

ملف JSON

فحوصات الاتصال

حالة الحاوية

التاريخ والوقت

تتبع الرسائل

خطوات التحديث - نظام التشغيل Linux VM

التحقق

برنامج نصي ل Status.sh

Netplan

اتصال IP

ملف تكوين MongoDB

مواقع سجل مستوى النظام

الوثائق المرجعية

المقدمة

يصف هذا المستند التحقق من صحة حل Cisco Routed PON (الشبكة الضوئية الخاملة) على الجهاز الظاهري (VM) وموجه XR.

المتطلبات الأساسية

المتطلبات

توصي Cisco بالمعرفة حول هذه الموضوعات.

- برنامج IOS® XR من Cisco

- لينكس

- بيئة الجهاز الظاهري

المكونات المستخدمة

تستند المعلومات الواردة في هذا المستند إلى إصدارات البرامج والمكونات المادية المدرجة:

- الموجه NCS-540-28Z4C-SYS-A XR

- برنامج Cisco IOS® XR 24.1.2

- PON الموجه، الإصدار 24.1.2

- Ubuntu، الإصدار 20.04.06 LTS

تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.

خطوات التحقق من الصحة - موجه XR

عمليات فحص التكوين

شبكات لينوكس

تأكد من أن التردد اللاسلكي (التوجيه وإعادة التوجيه الظاهري) المستخدم للاتصال، ينعكس ضمن تكوين شبكات لينوكس. على سبيل المثال، تم تكوين VRF Mgmt-intf. وبالإضافة إلى ذلك، تأكد من تعيين المسار الافتراضي لتلميح المصدر لواجهة الوصلة الصحيحة. يستخدم الاتصال في المثال المدرج الواجهة 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) للخط البصري (OLT) في الوضع الصحيح وليس إيقاف التشغيل في التكوين. وبالإضافة إلى ذلك، تأكد من أن الواجهة الفرعية هي dot1q التي تم وضع علامة عليها باستخدام 4090 ويتم تطبيقها على الواجهة المادية المقترنة.

مثال التكوين:

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

تكوين وحدة التحكم PON

تأكد من تثبيت RPM xr-pon-ctrl ومن أنه نشط. إذا لم تكن هناك مساحة، فأكد أن NCS540l-iosxr-optional-RPMs-24.2.11.tar موجود على القرص الثابت (في طبقة Linux، المسار هو /misc/disk1/)، ويتم الإشارة بشكل صحيح إلى repo المحلي الذي يحتوي على البرامج المطابقة ل RPMs.

ملاحظة: يمكن العثور على معلومات حول التثبيت والإدارة على RPM على مستوى النظام عند هذا الارتباط: دليل إعداد النظام وتثبيت البرامج لموجهات سلسلة Cisco NCS 540، IOS XR الإصدار 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-Controller) باستخدام الملف ومسار الملف و VRF المقترنة بشكل صحيح.

مثال:

pon-ctlr

cfg-file harddisk:/PonCntlInit.json vrf Mgmt-intf

التحقق

ملف JSON

ملاحظة: يتم تضمين مثال ملف PonCntlInit.json مع تثبيت برنامج مدير PON الموجه على الجهاز الظاهري.

ملاحظة: من خلال تثبيت جهاز VM واحد لبرنامج PON Manager، يكون كل من IP من MongoDB و IP الخاص بجهاز VM متماثلين.

ملاحظة: لا يستخدم المثال المدرج TLS. إذا كنت تستخدم TLS، فتأكد من أن اسم المستخدم وكلمة المرور تم ضبطهما بشكل صحيح للتثبيت الخاص بك.

ضمنت أن ثبتت ال IP من ال mongoDB في المضيف: قسم أن تلاءم ما ال PON جهاز تحكم يربط إلى. وبالإضافة إلى ذلك، تأكد من تطابق المنفذ الذي تم تكوينه مع ملف mongod.conf في ال VM.

مثال:

{

"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 الموجه. إن يستعمل أنت 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. تحقق من حالة الحاوية عن طريق تسجيل الدخول إلى طبقة Linux في موجه XR، ثم قم بتشغيل إرساء الأمر. هذا يعرض الحاوية النشطة والعاملة حاليا إذا كان هناك حاوية واحدة.

مثال:

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

إذا لم تكن حاوية الإرساء قيد التشغيل، تحقق من المحتويات وهيكل الملف في ملف JSON. تحقق من سجلات حاوية الإرساء بحثا عن أية أخطاء نشطة. يوضح مثال السجل تسجيل ONU لدى وحدة التحكم. كما يقوم هذا بطباعة أي أخطاء على مستوى وحدة الإرساء فيما يتعلق بالحاوية و OLT. وبالإضافة إلى ذلك، يمكن الحصول على التوجيه من تشغيل تسجيل عرض بسيط للتحقق من وجود رسائل خطأ.

ملاحظة: يؤدي إستخدام —follow إلى عرض أحدث محتوى سجل داخل المستند.

مثال:

[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 الموجه. أستخدم، إن أمكن، نفس خوادم NTP لتحقيق الدقة القصوى.

تحذير: يؤثر عدم مزامنة NTP بين موجه VM و XR بشكل مباشر على رؤية OLT في مدير PON الموجه.

مثال:

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

خطوات التحديث - نظام التشغيل Linux VM

التحقق

برنامج نصي ل Status.sh

ضمن دليل تثبيت "مدير العملية الموجهة"، يوجد برنامج نصي ل Shell (status.sh) لعرض الحالة الحالية لكل عملية مقترنة. قم بتشغيل هذا البرنامج النصي بامتياز مرتفع للتحقق من تشغيل كل من الخدمات المدرجة. في حالة عدم تشغيل إحدى الخدمات، تحقق أولا من البرنامج النصي للتثبيت الذي تم تشغيله عند إجراء التثبيت وتأكد من تعيين الوسيطات المناسبة لكل دليل التثبيت.

ملاحظة: يمكن العثور على دليل تثبيت Cisco Routed Pon Manager في هذا الارتباط: دليل تثبيت Cisco Routed Pon Manager

خدمة الله

خدمة Apache2

netconf.service

netopir2-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

تحقق من صحة خطة NetPlan وتأكد من صحة معلومات IP، واسم واجهة شبكة VM صحيح، وتم إنشاء معرف شبكة VLAN رقم 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

تحقق من تكوين IP الخاص ب VM ومن تطابق محول الشبكة الذي تم تكوينه مع ما هو مدرج في ملف NetPlan YAML.

ملاحظة: إستخدام Sudo NetPlan —يعد تصحيح الأخطاء مفيدا عند إختبار 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

اتصال IP

تحقق من اتصال IP بموجه XR الذي يستضيف وحدة التحكم في التشغيل عبر إختبار الاتصال.

مثال:

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 رقم 27017. إذا كنت تستخدم منفذا غير قياسي ل MongoDB، فتحقق من أنه مفتوح/منصت عبر netstat -tunl.

ملاحظة: منفذ TCP الأحادي القياسي هو 27017.

ملاحظة: يعمل ملف التكوين المدرج في الخطوة 4 أيضا على تعيين تكوين منفذ TCP ل MongoDB المراد إستخدامه.

مثال:

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

ملف تكوين MongoDB

تحقق من دقة ملف mongod.conf، وتأكد من إدراج IP الصحيح تحت bindIP:.

ملاحظة: يوجد ملف تكوين 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

الوثائق المرجعية

- صفحة الدعم والتنزيلات من Cisco

- صفحة حل الوحدة النمطية على الإنترنت (PON) الموجهة من Cisco

- دليل تثبيت Cisco Routed Pon

- دليل نشر Cisco Routed PON

- ملاحظات الإصدار الخاصة ب Cisco Routed PON، Cisco IOS XR، الإصدار 24.1.1 و 24.1.2