المقدمة
يوضح هذا المستند كيفية العثور على أعطال منشأة StarOS واستكشاف أخطائها وإصلاحها.
نظرة عامة
وفي بعض الأحيان، قد يفشل منطق النظام، مما يؤدي إلى إعادة تشغيل مهمة برنامج من أجل إستعادة الوظائف المناسبة. يمكن أن يؤدي ذلك إلى تعطل العملية. يتم الإبلاغ بشكل متكرر عن أعطال منشأة المهام في StarOS، ويمكن إتخاذ الإجراءات اللازمة استنادا إلى السبب الجذري للعطل. لتعريف الأعطال على العقدة، يمكنك إستخدام أمر CLI هذا:
******** show crash list *******
Saturday April 15 05:05:56 SAST 2023
=== ==================== ======== ========== =============== =======================
# Time Process Card/CPU/ SW HW_SER_NUM
PID VERSION CF / Crash Card
=== ==================== ======== ========== =============== =======================
1 2022-Dec-02+14:08:46 confdmgr 02/0/19342 21.26.13 NA
2 2022-Dec-02+14:48:08 confdmgr 02/0/31546 21.26.13 NA
3 2022-Dec-04+19:10:50 sessmgr 03/0/12321 21.26.13 NA
4 2022-Dec-21+03:34:13 sessmgr 04/0/12586 21.26.13 NA
يتم دمج أعطال مماثلة في سجل واحد. يعرض السجل عدد مرات حدوث نوع التعطل هذا.
********************* CRASH #02 ***********************
SW Version : 21.26.13
Similar Crash Count : 33 >>>>
Time of First Crash : 2022-Dec-02+14:10:05
Assertion failure at confdmgr/src/confdmgr_fsm.c:870
Note: State machine failure, state = 3
Function: confdmgr_fsm_state_wait_p0_handler()
Expression: 0
Code: CRASH
Proclet: confdmgr (f=1900,i=0)
Process: card=2 cpu=0 arch=X pid=31546 argv0=confdmgr
في show snmp trap history verbose
يظهر الإخراج أن بعض العملية قد تعطل:
Fri Dec 26 08:32:20 2014 Internal trap notification 73 (ManagerFailure) facility sessmgr
instance 188 card 7 cpu 0
Fri Dec 26 08:32:20 2014 Internal trap notification 150 (TaskFailed) facility sessmgr instance
188 on card 7 cpu 0
Fri Dec 26 08:32:23 2014 Internal trap notification 1099 (ManagerRestart) facility sessmgr
instance 139 card 4 cpu 1
Fri Dec 26 08:32:23 2014 Internal trap notification 151 (TaskRestart) facility sessmgr
instance 139 on card 4 cpu 1
سيناريو الأعطال
يمكن أن يكون هناك أسباب متعددة مختلفة للأعطال:
1. سيناريوهات مختلفة لتدفق المكالمات
2. مشكلات الذاكرة
3. مشكلة في التكوين
4. حالات تعطل الأجهزة
السبب وراء عطل
لديك العديد من منشآت المهام في نظام التشغيل StarOS التي تقوم بوظائفها الفردية استنادا إلى الوظائف، فكلما واجه هذا الجهاز أي إدخال بحيث يدخل في حالة إشكالية، يتعطل المرفق للتعافي من حالة الخطأ هذه.
أنواع مختلفة من الأعطال
1. التأكيد على الفشل:
********************* CRASH #22 ***********************
SW Version : 21.26.13
Similar Crash Count : 33
Time of First Crash : 2023-Apr-12+22:40:01
Assertion failure at sess/smgr/sessmgr_snx.c:9568 >>>>
Function: sessmgr_snx_send_drop_call()
Expression: result == SN_STATUS_SUCCESS
Proclet: sessmgr (f=87000,i=261)
Process: card=5 cpu=0 arch=X pid=12724 cpu=~0% argv0=sessmgr
2. خطأ التقسيم:
********************* CRASH #69 ***********************
SW Version : 21.13.3
Similar Crash Count : 2
Time of First Crash : 2019-Nov-25+07:53:54
Fatal Signal 11: Segmentation fault >>>>
Faulty address: 0x7ff6b4801036
Signal from: kernel
Signal detail: address not mapped to object
Process: card=8 cpu=1 arch=X pid=7316 argv0=vpp
Crash time: 2020-Feb-11+04:04:23 UTC
Build_number:
3. إشارة قاتلة:
********************* CRASH #01 ***********************
SW Version : 21.23.12
Similar Crash Count : 2
Time of First Crash : 2023-Jan-27+05:22:46
Fatal Signal 11: 11 >>>>>
PC: [04be6859/X] sessmgr_pgw_create_bearers()
Faulty address: 0x297116e4
Signal from: kernel
Signal detail: address not mapped to object
Process: card=9 cpu=1 arch=X pid=10383 cpu=~8% argv0=sessmgr
متطلبات السجلات الأولية
يعمل سجل الأعطال كمصدر قيم لمعلومات حدث الأعطال. عند حدوث عطل ببرنامج، يلتقط StarOS ويخزن البيانات ذات الصلة التي يمكن أن تساعد في تحديد سبب الأعطال. يمكن تخزين هذه المعلومات في ذاكرة النظام أو نقلها وحفظها على خادم الشبكة.
ملف أساسي أو ملف صغير أساسي: لاحظ أن الملفات الأساسية تتوافق مع PID (المعرفات) التي حدث بها التعطل. تتم تسمية الملفات الأساسية بتنسيق "crash-<card no>-<cpu>-<pid>-<unixtime>-core". يمكنك العثور على هذه المعلومات في إخراج الأمر "show crash list".
ملف Minicore: يحتوي هذا الملف على معلومات حول المهمة الفاشلة، بما في ذلك تتبع المكدس الحالي وعينات منشئ ملفات التعريف السابقة وعينات نشاط الذاكرة السابقة وبيانات أخرى مجمعة بتنسيق ملف خاص.
تفريغ Core (أو Full Core): يوفر تفريغ Core تفريغ ذاكرة كامل للعملية مباشرة بعد حدوث التعطل. غالبا ما يكون تفريغ الذاكرة هذا ضروريا لتحديد السبب الجذري لانهيار البرنامج.
توقيعات الأعطال: يمكن مراجعة توقيعات الأعطال من "تفاصيل دعم العرض المشترك (SSD)" أو مصادر أخرى ذات صلة.
******** show crash list *******
Saturday April 15 05:05:56 SAST 2023
=== ==================== ======== ========== =============== =======================
# Time Process Card/CPU/ SW HW_SER_NUM
PID VERSION CF / Crash Card
=== ==================== ======== ========== =============== =======================
1 2022-Dec-02+14:08:46 confdmgr 02/0/19342 21.26.13 NA
2 2022-Dec-02+14:48:08 confdmgr 02/0/31546 21.26.13 NA
3 2022-Dec-04+19:10:50 sessmgr 03/0/12321 21.26.13 NA
الآن إن يريد أنت أن يعرف التوقيع للعطل 1، ابحث في SSD مع عطل #01 أو في CLI يستعمل عرض عطل رقم 1.
From SSD
********************* CRASH #01 ***********************
SW Version : 21.26.13
Similar Crash Count : 1
Time of First Crash : 2022-Dec-02+14:08:46
Assertion failure at confdmgr/src/confdmgr_fsm.c:758
Note: State machine failure, state = 5
Function: confdmgr_fsm_state_wait_p1_handler()
Expression: 0
Code: CRASH
Using CLI
[local]abc# show crash number 1
Friday June 09 06:41:53 CDT 2023
********************* CRASH #01 ***********************
SW Version : 21.12.20.77760
Similar Crash Count : 1
Time of First Crash : 2021-Mar-31+15:58:06
Fatal Signal 6: Aborted
PC: [ffffe430/X] __kernel_vsyscall()
Note: User-initiated state dump w/core.
Signal from: sitmain pid=6999 uid=0
Process: card=9 cpu=0 arch=X pid=9495 cpu=~0% ar
اختبر show support detail (SSD) و syslogs أثناء الطابع الزمني المحدد عند حدوث المشكلة.
خطوات التحليل
1. يلزم التحقق من مكدس/توقيع التعطل والتحقق من وجود أي أخطاء لتوقيع التعطل المحدد.
2. يتعين تحليل ملف الذاكرة/الذاكرة لتحليل الأثر الخلفي والحصول على دليل حول الوظيفة التي تحطمت بها المنشأة.
3. بمجرد إجراء تصحيح أخطاء إعادة الملفات، تحتاج إلى التحقق من الأعراض التي تظهر على عيب البرنامج وإذا كان هناك أي عيب موجود في البرنامج يتعلق بتوقيع عطل وتعقب خلفي مماثل.
جلسة إستعادة
تم تصميم برنامج StarOs لمعالجة كل من الظروف/الأحداث المتوقعة والظروف/الأحداث غير المتوقعة. بينما تسعى Cisco جاهدة للحصول على برنامج كامل، إلا أنه من المحتم أن تكون هناك أخطاء وأن الأعطال ممكنة. هذا هو السبب أن الجلسة إستعادة سمة مهم جدا.
توفر ميزة "إسترداد جلسة العمل" إمكانية التغلب على الأعطال بسلاسة تامة وإعادة إنشاء معلومات جلسة عمل المشترك في حالة حدوث عطل بالأجهزة أو البرامج داخل النظام مما يمنع قطع اتصال جلسة عمل المستخدم المتصلة بالكامل. يتم إجراء إسترداد جلسة العمل من خلال نسخ عمليات البرامج الرئيسية (على سبيل المثال، مدير جلسة العمل ومدير المصادقة والتفويض والمحاسبة (AAA)) داخل النظام. تظل هذه العمليات المنسوخة نسخا متماثلا في حالة الخمول (وضع الاستعداد) حيث لا تقوم بإجراء معالجة حتى يمكن أن تكون هناك حاجة إليها في حالة فشل برنامج (على سبيل المثال، تقوم مهمة إدارة جلسة العمل بإجهاض).
تتضمن المهام مثل مهام العرض التوضيحي ومدير المصادقة والتفويض والمحاسبة (AAA) ومدير الشبكة الخاصة الظاهرية (VPN) آليات إسترداد تلقائية مدمجة في أنظمتنا، وخاصة لمعالجة معلومات المشترك. يشير إسترداد جلسة العمل في المقام الأول إلى سيناريوهات يوجد بها فشل في مهمة الاختبار أو فشل على مستوى البطاقة، ويلزم إسترداد جلسات العمل دون أي فقدان للاستدعاء.
******** show session recovery status verbose *******
Saturday April 15 05:11:17 SAST 2023
Session Recovery Status:
Overall Status : Ready For Recovery >>>>
Last Status Update : 5 seconds ago
----sessmgr--- ----aaamgr---- demux
cpu state active standby active standby active status
---- ------- ------ ------- ------ ------- ------ -------------------------
3/0 Active 40 1 40 1 0 Good
4/0 Active 40 1 40 1 0 Good
5/0 Active 40 1 40 1 0 Good
6/0 Active 40 1 40 1 0 Good
7/0 Active 0 0 0 0 10 Good (Demux)
8/0 Active 40 1 40 1 0 Good
9/0 Active 40 1 40 1 0 Good
10/0 Active 40 1 40 1 0 Good
11/0 Standby 0 40 0 40 0 Good