إن الإبلاغ عن أن خدمة pseudowire قائمة يخبرك بأن الخدمة موجودة وبأن الاتجاهين متفقان على أنها ينبغي أن تحمل حركة المرور. لكنه لا يخبرك بأن إطارًا واحدًا من العميل عبرها يومًا. لقد كُتبت كائنات الحالة وكائنات العدّادات لأغراض مختلفة، ومعالجة أحدهما كدليل على الآخر هي موضع الخطأ في معظم هذه اللوحات. والمقارنة بينهما هي العمل المطلوب، لأن الثقة بأيّ منهما منفردًا تجيب عن سؤال لم يسأله أحد.

الحالة والعدّادات تجيبان عن سؤالين مختلفين

يحمل مُدخل VC الرئيسي حالة تشغيلية مجتمعة، وهذه الحالة تكون قائمة فقط عندما تكون حالتا الاتجاهين قائمتين. وكل ما يقف خلفها هو معرفة بلوحة التحكم والإعداد: دائرة الربط المحلية، والنظير، والتأشير. والصف في هذه الحالة عبارة عن تصريح بالنية والجاهزية، لا عن إطارات مُمرَّرة.

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

QuestionObjectWhat it can establish
Is the service up?cpwVcOperStatusBoth direction states agree the VC should carry traffic.
Which side is down?cpwVcInboundOperStatus, cpwVcOutboundOperStatusDirection of the reported fault.
Did frames move?cpwVcPerfTotalTable HC countersObserved forwarding on that row between two polls.
Is the interval clean?cpwVcPerfTotalDiscontinuityTimeWhether the counter was reset inside the window.

اقرأ الجدول كعمودين من الأدلة، لا كسلّم واحد من الخطورة. فالحالة القائمة مع عدّادات مسطّحة ليست نسخة أسوأ من الحالة القائمة مع نمو، بل هي مشاهدة مختلفة تتبعها خطوة تالية مختلفة.

اربط على فهرس VC، لا على الرقم الموجود في التذكرة

يُفهرَس جدول VC بعدد صحيح واحد، أما معرّف VC وعنوان النظير ونوع الخدمة والاسم فهي سمات لذلك الصف. وبهذه السمات تجد خدمتك؛ وبالفهرس تستمر في إيجادها بعد أول استقصاء. وفهرس الواجهة، أو اسم الدائرة المعروض، أو تسمية MPLS ليست ذلك الفهرس حتى عندما تتطابق الأرقام.

اشتقّ معرّفات OID الرقمية من ملف MIB الموجود على المجمِّع، لا من تدوينة، ثم امشِ على الجدول مرة واحدة واحفظ الهوية التي وجدتها.

snmptranslate -On CPW-VC-MIB::cpwVcIndex
snmptranslate -On CPW-VC-MIB::cpwVcPerfTotalDiscontinuityTime
snmpwalk -v2c -c monitor 10.60.4.21 -On CPW-VC-MIB::cpwVcTable

سجّل عنوان الإدارة والفهرس معًا في نظام المراقبة. فإعادة التهيئة قد تنقل الخدمة إلى صف مختلف، وحينها يظل المجمِّع الذي رُبط على معرّف VC بالاسم يرسم فهرسًا قديمًا لا يزال يجيب بأدب.

الاتجاه يعني pseudowire، لا المشترك

تصف العدّادات الواردة ما استقبله VC من شبكة تبديل الحزم؛ وتصف العدّادات الصادرة ما مرّرته نحو تلك الشبكة. وعلى PE يواجه عميلًا، يترجم ذلك غالبًا إلى التنزيل والتحميل بترتيب ما. وعلى PE محوري، أو على PE يناظر نواة، تصف أسماء الكائنات نفسها تجربة العميل المعاكسة.

اكتب التعيين مرة واحدة لكل دور جهاز واحتفظ به في عنوان اللوحة. فالرسم البياني المعنون «تحميل العميل» والذي يرسم فعليًا حركة المرور إلى النواة سينجو من المراجعة ويضلّل بهدوء كل من يستخدمه لقرارات السعة. وينطبق الخطر نفسه على التنبيهات المبنية على تلك الرسوم، إذ ستنادي الفريق الخطأ. سمِّ كل رسم بياني باتجاه الحركة نسبةً إلى pseudowire، ودع تعيين العميل يعيش في اللوحة التي تحتاجه.

اختبار واحد يتغلب على أي مقدار من قراءة أوصاف الكائنات: اسحب ملفًا معروفًا عبر الخدمة، ثم استقصِ الاتجاهين فورًا بعد ذلك، وانظر أي عدّاد تحرك. سجّل النتيجة بجوار دور الجهاز، لأن الشخص التالي سيسأل السؤال نفسه.

المعدّل صالح فقط داخل نافذة انقطاع واحدة

احسب المعدّل على أنه الزيادة في عدّاد البايتات مقسومة على الثواني المنقضية، واضربها في ثمانية للحصول على بتات في الثانية. واعتبر الفترة غير صالحة إذا انخفض العدّاد، أو أُعيد تشغيل الوكيل، أو تغيّر الصف، أو تحرّك كائن الانقطاع. وهذا الكائن يُعبَّر عنه بالنسبة لزمن تشغيل النظام، لذا فإن إعادة تشغيل الجهاز تُبطله أيضًا. اطرح العيّنة وافتح نافذة جديدة بدلًا من رسم قمة.

خُذ عيّنتين بفاصل معروف واحتفظ بالطوابع الزمنية من المجمِّع، لا من سجل الطرفية لديك.

snmpget -v2c -c monitor -Oqv 10.60.4.21 CPW-VC-MIB::cpwVcPerfTotalInHCBytes.7
sleep 60
snmpget -v2c -c monitor -Oqv 10.60.4.21 CPW-VC-MIB::cpwVcPerfTotalInHCBytes.7
snmpget -v2c -c monitor -Oqv 10.60.4.21 CPW-VC-MIB::cpwVcPerfTotalDiscontinuityTime.7

تجعل العدّادات عالية السعة التفاف العداد أمرًا غير ذي بال على pseudowire واحد، لذا فإن الانخفاض يعني دائمًا تقريبًا إعادة ضبط أو وكيلًا بديلًا أو صفًا مختلفًا، لا تجاوزًا حسابيًا. ولهذا فإن الأمر الثالث يهم بقدر ما يهم الأولان.

تحقق مما يدعمه الإصدار المثبَّت فعليًا

تعريف MIB مواصفة، وليس وعدًا بشأن صورتك. فقد تكون الجداول غائبة، أو منفَّذة جزئيًا، أو موجودة لكن غير معبّأة حتى تُفعَّل ميزة، وقد تختلف المنصة نفسها بين الإصدارات. أما تعريف CISCO-IETF-PW-MIB فيمنحك أسماء الكائنات؛ والجهاز يخبرك هل تجيب أم لا.

استقصِ الجدولين ونصّ البرنامج الثابت في تمريرة واحدة، ثم قارن بما تدّعيه ملاحظات الإصدار.

snmpget -v2c -c monitor -Oqv 10.60.4.21 SNMPv2-MIB::sysDescr.0
snmpwalk -v2c -c monitor 10.60.4.21 CPW-VC-MIB::cpwVcTable | wc -l
snmpwalk -v2c -c monitor 10.60.4.21 CPW-VC-MIB::cpwVcPerfTotalTable | wc -l

المشي الفارغ والمشي غير المدعوم فشلان مختلفان، لذا اقرأ الخطأ لا عدد الأسطر وحده. فإذا أجاب جدول الحالة ولم يجب جدول الأداء، فإن الربط الذي صممته في القسم الأول ليس له مكان يستقر فيه، ويكون الإصلاح تغييرًا في المجمِّع لا في الدائرة.

التسلسل في دائرة متنازع عليها قصير: أكّد هوية الصف من الفهرس، وأكّد تعيين الاتجاه بنقل معروف واحد، واحسب المعدّل داخل نافذة انقطاع نظيفة فقط، وأكّد أن الجدولين يجيبان على ذلك الإصدار. كل خطوة تزيل تفسيرًا مرشحًا واحدًا. وعندما تصح الأربعة جميعًا ولا تزال العدّادات لا تتحرك، فإن الأدلة تشير بعيدًا عن pseudowire. وهذه هي النقطة التي يستحق عندها التقاط الحزم على دائرة الربط عناءه.

مقالات ذات صلة