المحتويات

المقدمة

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

المتطلبات

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

معلومات أساسية

ملف سجل تصحيح الأخطاء ل Punt

واجهة وحدة ذاكرة لينوكس المشتركة (LSMPI)

الشرطي الفاشل

مدير الحدث المضمن (EEM) لجمع البيانات

مثال عملي

التحسينات

المقدمة

يوضح هذا المستند كيفية أستكشاف أخطاء إستمرارية عمليات الفشل وإصلاحها.

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

المتطلبات

معرفة الأساسية في cisco IOS® XE.

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

يستند هذا المستند إلى موجهات Cisco IOS XE مثل CSR8000V، ASR1000، و ISR4000 Series.

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

معلومات أساسية

مسار البت في الأنظمة المستندة إلى Cisco IOS XE هو مسار بيانات داخلي. هذا هو المسار الذي يتم فيه الاتصال بين مستوى التحكم ومستوى البيانات.

يتم إستخدام هذا المسار الداخلي لإرسال حزم مستوى التحكم لاستهلاك الموجه.

عندما يفشل هذا المسار، يمكنك أن ترى هذا النوع من الخطأ في السجل.

%IOSXE_INFRA-4-NO_PUNT_KEEPALIVE:  Keepalive not received for 60 seconds

رسائل الاحتفاظ هي رسائل تراقب صحة المسار بين QFP و RP.

يعد هذا المسار أمرا بالغ الأهمية لتشغيل النظام.

إذا لم يتم تلقي رسائل البقاء هذه في غضون 5 دقائق، يمكنك مشاهدة سجل حرج كهذا:

%IOSXE_INFRA-2-FATAL_NO_PUNT_KEEPALIVE:  Keepalive not received for 300 seconds resetting

إعادة ضبط النظام من أجل الاسترداد من هذا الشرط.

ملف سجل تصحيح الأخطاء الخاص ب Punt

في حالة فشل Punt Keep وإعادة الضبط بسبب ذلك، يقوم النظام بإنشاء ملف يسمى punt_debug.log يقوم بتجميع البيانات ذات الصلة لفهم السلوك في وقت المشكلة.

ملاحظة: تأكد من أن النظام محدث باستخدام أحدث إصدار من برنامج Cisco IOS XE لإنشاء الملف punt_debug.log.

يحتوي هذا الملف على هذه الأوامر تقوم بتنفيذ عدة مرات من أجل فهم العدادات المختلفة.

إظهار برامج الأنظمة الأساسية في وضع Punt-keepalive

إظهار برامج النظام الأساسي داخل LSMPI

إظهار برنامج تشغيل LSMPI الخاص بالبنية الأساسية لبرنامج النظام الأساسي

إظهار برنامج النظام الأساسي في ذاكرة LSMPI

show platform software punt-policer

show platform software status control-processor brief

إظهار النظام الأساسي لوحدة المعالجة المركزية (CPU) للعملية المفروزة

إظهار حساب البنية الأساسية لبرنامج النظام الأساسي

إظهار إسقاط الإحصائيات النشطة ل QFP لأجهزة النظام الأساسي

إظهار نوع إحصائيات QFP النشطة التي لا تظهر بيانات النظام الأساسي لكل سبب

إظهار إخراج قائمة انتظار BQS الخاص بالأجهزة الأساسية QFP النشطة للبنية الأساسية بشكل افتراضي الكل

ملاحظة: من خلال punt_debug.log، تركز على مؤشرات الأخطاء وكمية كبيرة من الحزم التي يمكن أن تتسبب في المشكلة.

واجهة وحدة ذاكرة لينوكس المشتركة (LSMPI)

يستخدم هذا المكون لإرسال الحزم والرسائل من معالج إعادة التوجيه إلى معالج التوجيه.

الشرطي الفاشل

واضع السياسات هو آلية حماية مستوى التحكم التي تسمح للنظام بحماية حزم مستوى التحكم والتحكم فيها.

باستخدام الأمر show platform software punt-policer، يمكنك أن ترى الحزم المطابقة والإفلات بسبب هذا المنظم.

----------------- show platform software punt-policer ------------------

Per Punt-Cause Policer Configuration and Packet Counters

Punt                                Config Rate(pps)     Conform Packets                   Dropped Packets               Config Burst(pkts)  Config Alert

Cause  Description                   Normal   High     Normal           High             Normal           High             Normal   High     Normal   High

-------------------------------------------------------------------------------------------------------------------------------------------------------------

2    IPv4 Options                  874      655      0                0                0                0                874      655      Off      Off

3    Layer2 control and legacy     8738     2185     0                0                0                0                8738     2185     Off      Off

4    PPP Control                   437      1000     0                0                0                0                437      1000     Off      Off

—— snip : output omitted for brevity  ——

يعرض الأمر show platform software infrastructure بيانات العداد حول أسباب الضرب.

------------------ show platform software infrastructure punt ------------------

LSMPI interface internal stats:

enabled=0, disabled=0, throttled=0, unthrottled=0, state is ready

Input Buffers = 51181083

Output Buffers = 51150283

—— snip : output omitted for brevity  ——

EPC CP RX Pkt cleansed 0

Punt cause out of range 0

IOSXE-RP Punt packet causes:

3504959 ARP request or response packets

27 Incomplete adjacency packets

—— snip : output omitted for brevity  ——

FOR_US Control IPv4 protcol stats:

2369262 TCP packets

FOR_US Control IPv6 protcol stats:

6057 ICMPV6 packets

Packet histogram(500 bytes/bin), avg size in 119, out 95:

Pak-Size      In-Count        Out-Count

0+:      51108211         51144723

500+:         22069             2632

1000+:          2172                0

1500+:          3170                0

هذه البيانات ذات صلة لفهم ما يمكن أن يؤثر على مسار البقاء على قيد الحياة.

مدير الحدث المضمن (EEM) لجمع البيانات

في حالة عدم توفير punt_debug.log للبيانات الكافية لتشخيص المشكلة، يمكن إستخدام البرمجة النصية ل EEM للحصول على مزيد من نقاط البيانات في وقت المشكلة.

event manager applet punt_script authorization bypass

event syslog pattern "IOSXE_INFRA-4-NO_PUNT_KEEPALIVE" maxrun 1000

action 0.0 cli command "enable"

action 0.1 set i "0"

action 0.2 cli command "test platform software punt-keepalive ignore-fault"

action 0.3 while $i lt 10

action 0.4 syslog msg "iteration $i"

action 0.9 cli command "show clock | append bootflash:qfp_lsmpi.txt"

action 1.0 cli command "show platform software infrastructure lsmpi | append bootflash:qfp_lsmpi.txt"

action 1.1 cli command "show platform software infrastructure lsmpi driver | append bootflash:qfp_lsmpi.txt"

action 1.2 cli command "show platform software infrastructure lsmpi driver 0 | append bootflash:qfp_lsmpi.txt"

action 1.3 cli command "show platform software infrastructure lsmpi bufusage | append bootflash:qfp_lsmpi.txt"

action 1.4 cli command "show platform software infrastructure lsmpi bufusage 0 | append bootflash:qfp_lsmpi.txt"

action 1.5 cli command "show platform software infrastructure punt-keepalive | append bootflash:qfp_lsmpi.txt"

action 1.6 cli command "show platform software infrastructure punt | append bootflash:qfp_lsmpi.txt"

action 1.7 cli command "show platform software punt-policer | append bootflash:qfp_lsmpi.txt"

action 1.8 cli command "show platform hardware qfp active infrastructure punt stat type per-cause | append bootflash:qfp_lsmpi.txt"

action 1.9 cli command "show platform hardware qfp active infrastructure punt statistics type punt-drop | append bootflash:qfp_lsmpi.txt"

action 1.a cli command "show platform hardware qfp active infrastructure punt statistics type inject-drop | append bootflash:qfp_lsmpi.txt"

action 1.b cli command "show platform hardware qfp active infrastructure bqs queue output default interface-string internal0/0/rp:0 hier detail | append bootflash:qfp_lsmpi.txt"

action 1.c cli command "show platform hardware qfp active statistics drop | append bootflash:qfp_lsmpi.txt"

action 1.d cli command "show platform hardware qfp active datapath utilization | append bootflash:qfp_lsmpi.txt"

action 1.e cli command "show platform hardware qfp active datapath infrastructure sw-hqf | append bootflash:qfp_lsmpi.txt"

action 1.f cli command "show platform hardware qfp active datapath infrastructure sw-distrib | append bootflash:qfp_lsmpi.txt"

action 1.g cli command "show platform hardware qfp active datapath infrastructure sw-pktmem | append bootflash:qfp_lsmpi.txt"

action 1.h cli command "show platform software status control-processor brief | append bootflash:qfp_lsmpi.txt"

action 2.0 increment i

action 2.1 wait 3

action 2.4 end

action 3.0 syslog msg "End of data collection. Please transfer the file at bootflash:qfp_lsmpi.txt"

action 5.0 cli command "debug platform hardware qfp active datapath crashdump"

ملاحظة: تختلف الأوامر المتضمنة ضمن النص التنفيذي طبقا للمنصة التي تم تكوينها فيها.

يتيح لك هذا البرنامج النصي فهم المساحة والموارد وحالة القيمة أثناء وقت الإصدار.

يتضمن برنامج IM النصي الأمر debug platform hardware qfp active data crashdump التي تقوم بإنشاء تفريغ QFP الأساسي، المطلوب بواسطة فريق المطور و TAC.

ملاحظة: إن يحيل حالة مع cisco TAC، رجاء زودت ال core مبرد يخلق من النص التنفيذي.

إذا كانت هناك حاجة لتتبع الحزمة، يمكن إضافة هذا التعديل إلى البرنامج النصي:

أولا، قم بإعداد تكوين تتبع الحزمة، والذي يمكن القيام به من برنامج IM النصي:

حزمة تتبع حزم النظام الأساسي debug Platform 8192 FIA-trace Circular

تصحيح أخطاء شرط النظام الأساسي على حد سواء

debug platform packet-trace copy packet كلا L2

بعد ذلك، إبدأ و توقف مع هذه العمليات في نص حذائك:

الإجراء 6.2 أمر cli "debug platform condition start"

الإجراء 6.3 الانتظار 8

الإجراء 6.4 أمر cli "debug platform platform condition stop"

بعد ذلك، قم بتفريغ البيانات باستخدام هذه الأوامر في ملف منفصل:

الإجراء 6.5 CLI أمر عرض إحصائيات تتبع حزمة النظام الأساسي | إلحاق bootflash:traceAll.txt

إجراء 6.6 أمر cli "show platform packet-trace summary | إلحاق bootflash:traceAll.txt

أمر cli للإجراء 6.7 "show platform packet-trace packet all decode all | إلحاق bootflash:traceAll.txt

تتم إضافة منطق إجراءات تتبع الحزمة هذا مباشرة بعد بيان نهاية دورة الإيقاف داخل برنامج IM النصي.

يتيح لك هذا البرنامج النصي فهم نوع الحزم التي يمكن أن تسبب المشكلة.

تعقب الحزمة هي ميزة موثقة في أستكشاف الأخطاء وإصلاحها باستخدام ميزة تتبع حزمة بيانات IOS XE

مثال عملي

يتم إعادة تمهيد CSR8000v بشكل مستمر.

بعد إستخراج تقرير النظام، يمكنك ملاحظة مكب تفريغ، وملف أساسي iOSD يشير إلى الاحتفاظ بالدوال المرتبطة داخل تتبع المكدس.

ملاحظة: بالنسبة لفك تشفير تتبع المكدس، يلزم الحصول على مساعدة TAC.

ومع ذلك، فإن ملف crashinfo موجود في نص واضح ويمكنك مشاهدة هذه الأعراض:

Jan 15 14:29:41.756 AWST: %IOSXE_INFRA-4-NO_PUNT_KEEPALIVE:  Keepalive not received for 160 seconds

Jan 15 14:30:01.761 AWST: %IOSXE_INFRA-4-NO_PUNT_KEEPALIVE:  Keepalive not received for 180 seconds

Jan 15 14:30:21.766 AWST: %IOSXE_INFRA-4-NO_PUNT_KEEPALIVE:  Keepalive not received for 200 seconds

Jan 15 14:30:41.776 AWST: %IOSXE_INFRA-4-NO_PUNT_KEEPALIVE:  Keepalive not received for 220 seconds

Jan 15 14:31:01.780 AWST: %IOSXE_INFRA-4-NO_PUNT_KEEPALIVE:  Keepalive not received for 240 seconds

Jan 15 14:31:41.789 AWST: %IOSXE_INFRA-4-NO_PUNT_KEEPALIVE:  Keepalive not received for 280 seconds

Jan 15 14:32:01.791 AWST: %IOSXE_INFRA-4-NO_PUNT_KEEPALIVE:  Keepalive not received for 300 seconds

Jan 15 14:32:01.791 AWST: %IOSXE_INFRA-2-FATAL_NO_PUNT_KEEPALIVE:  Keepalive not received for 300 seconds resetting

%Software-forced reload

Exception to IOS Thread:

Frame pointer 0x7F0AE0EE29A8, PC = 0x7F0B342C16D2

UNIX-EXT-SIGNAL: Aborted(6), Process = PuntInject Keepalive Process

-Traceback= 1#7b5996c3

العملية المتأثرة هي عملية PuntInput keepalive.

يجب أن يقوم النظام بتشغيل إشارة إجهاض عندما يصل keepalive إلى علامة العتبة 300 ثانية.

يكشف ال punt_debug.log بعض حالات فشل الإرسال ضمن الأمر show platform software infrastructure lsmpi driver:

Reason for TX drops (sticky):

Bad packet len   : 0

Bad buf len      : 0

Bad ifindex      : 0

No device        : 0

No skbuff        : 0

Device xmit fail : 82541   >>>>>>>>>>>>>>>>>>>>> Tx failure

هذا فشل عام.

يزداد هذا العداد ضمن عينات متعددة تم أخذها في الملف.

تم توفير برنامج IM النصي للحصول على مزيد من البيانات حول الموارد ومسار بيانات الحزم والأوامر الأخرى ذات الصلة بالبنية الأساسية.

بالتحقق من عدادات علامة مرور LSMPI ترى أن حزم مستوى التحكم في EIGRP مميزة. هذه حزم محددة لنا كحزم:

17660574 For-us data packets

543616 RP<->QFP keepalive packets

1004 Glean adjacency packets

3260636 BFD control packets

122523839 For-us control packets<<<<

FOR_US Control IPv4 protcol stats:

153551 TCP packets

2663105 GRE packets

104394559 EIGRP packets<<<<

لاحقا، تم العثور على زيادة في الاشتراك في برنامج hypervisor، مما أثر على موارد الحوسبة الأساسية.

تم نشر وحدة CSR8000v في برنامج مراقبة أجهزة افتراضية آخر، وساعد ذلك في تخفيف المشكلة.

التحسينات

تم تقديم تحسين لإنشاء ملف أساسي QFP تلقائيا بدءا من إصدار Cisco IOS XE 17.15 عبر معرف تصحيح الأخطاء من Cisco CSCwf85505