المحتويات

المقدمة

نظرة عامة

سيناريو الأعطال

السبب وراء عطل

أنواع مختلفة من الأعطال

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

خطوات التحليل

جلسة إستعادة

المقدمة

يوضح هذا المستند كيفية العثور على أعطال منشأة 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) آليات إسترداد تلقائية مدمجة في أنظمتنا، وخاصة لمعالجة معلومات المشترك. يشير إسترداد جلسة العمل في المقام الأول إلى سيناريوهات يوجد بها فشل في مهمة الاختبار أو فشل على مستوى البطاقة، ويلزم إسترداد جلسات العمل دون أي فقدان للاستدعاء.

- في النظام، يكون مدير الجلسة الاحتياطية نشطا على كل بطاقة معالجة ويمكنه تولي المهمة بسرعة كجلسة عمل أساسية في حالة حدوث فشل. ثم يتم إنشاء جلسة إستعداد جديدة على بطاقة المعالجة.

- عندما تفشل عملية التخزين بشكل غير متوقع، يسترجع جلسة العمل الاحتياطية المعلومات التي تم نسخها إحتياطيا من AAMGR (مدير AAA) ويعيد إنشاء جلساتها.

- في حالة فشل AAMGR، يستعلم AAMGR الاحتياطي عن جلسة العمل لمزامنة معلومات المشترك ذات الصلة.

- في حالة فشل برنامج Demux-mgr، فإنه يستعلم عن جميع العروض ويعيد بناء قاعدة بياناته الخاصة بمعلومات توزيع المكالمات.

- لضمان التكرار على مستوى البطاقة، تعمل بطاقة معالجة واحدة كبديل جاهز للعمل في حالة تعطل الأجهزة أو البرامج. تقوم البطاقة الاحتياطية بعد ذلك باستعادة الجلسات من مراقب نظير يتم تشغيله على بطاقة مختلفة.

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