المقدمة
يشرح هذا المستند عملية إنشاء أعطال البنية الأساسية المرتكزة على التطبيقات (ACI) على مستوى عال وكيفية منع إنشاء أعطال معينة. وتبرهن الوثيقة على ذلك بمثالين.
كيف يتولد العيب وكيف تمنع إنشاء العيب انتقائيا
آلية رفيعة المستوى
- كل خطأ هو كائن مدار (MO) لفئة faultInst (أو faultDelegate). الخطأ MO هذا تم إنشاؤه من قبل MO آخر، عادة الأصل، لأن بعض القواعد تم انتهاكها.
- تحتوي كل مذكرة تحكم في الشجرة التي يمكن أن تتسبب في حدوث أخطاء على سمة monPolDn تشير إلى أمر تحكم آخر يعد كائن نهج مراقبة. يسمح هذا الكائن بتعديل الخاصية وعامل التشغيل لإنشاء أخطاء. هناك فئات متعددة لكائن نهج المراقبة، مثل:
- MonInfraPol - يتعامل مع السياسة الداخلية (برنامج VMM وسياسة منفذ الوصول والمنافذ المادية وما إلى ذلك) - موجودة في البنية > سياسات الوصول > سياسات المراقبة
- MonFabricPol - يتعامل مع مراقبة البنية - موجودة في Fabric > سياسات البنية > سياسات المراقبة
- monEPGPol - يتعامل مع مراقبة المستأجرين > الموجودة في المستأجر > قائمة سياسة المراقبة
- عادة ما يكون كائن المراقبة الافتراضي. ومع ذلك، بالانتقال إلى المنطقة المحددة من نموذج الكائن يمكنك إنشاء سياسة مراقبة محددة ومعرفة من قبل المستخدم لأي من فئات نهج المراقبة هذه.
- يمكنك تعديل العديد من خصائص نهج المراقبة هذه. يوضح المثال كيف يمكنك منع إنشاء خطأ معين لكل الكائنات التي يتم تطبيق نهج المراقبة عليها. ومع ذلك، يمكنك أيضا تعديل مؤقتات دورة حياة الخطأ (وقت الاحتفاظ، ووقت اللهو، وما إلى ذلك).
- لتعديل خطورة الخطأ أو منع إنشاء خطأ، تحتاج إلى تحديد كائن المراقبة الذي يتوافق مع فئة الأمر (MO) التي قامت بإنشاء هذا الكائن (على سبيل المثال، أصل الخطأ).
- ثم تحت هذه الفئة، أختر رمز الخطأ الذي تريد تعديله واختر مستوى الخطورة الأولي للقيمة "ملغى".
وهذا يؤدي إلى منع إنشاء أي خطأ يتعلق بهذا الرمز بواسطة الأمر MO الذي تم تعيينه لنهج المراقبة المحدد هذا.
مثال 1 - خطأ في مستأجر
كل خطأ مرتبط بكائن.
admin@apic:~> moquery -d "uni/tn-RD/ipToEpg-Ext_10.200.1.101/rstoEpg-[uni/tn-RD/ap-App_RD1/epg-EPG_RD11]/fault-F0879"
Total Objects shown: 1
# fault.Inst
code : F0879
ack : no
cause : resolution-failed
changeSet :
childAction :
created : 2015-01-22T00:05:00.286+01:00
descr : Failed to form relation to MO uni/tn-RD/ap-App_RD1/epg-EPG_RD11 of class fvAEPg
dn : uni/tn-RD/ipToEpg-Ext_10.200.1.101/rstoEpg-[uni/tn-RD/ap-App_RD1/epg-EPG_RD11]/fault-F0879
domain : infra
highestSeverity : warning
lastTransition : 2015-01-22T00:05:00.286+01:00
lc : raised
modTs : never
occur : 1
origSeverity : warning
prevSeverity : warning
rn : fault-F0879
rule : dbgac-rs-to-epg-resolve-fail
الخطأ السابق هو MO للفئة fault.inst ومع الرمز F0879.
يقترن الخطأ بكائن مجموعة نقاط النهاية (EPG) كما هو موضح بعد ذلك.
هذا الكائن هو الاسم المميز (DN) لأصل الخطأ. هذا الكائن الأصل من الفئة dbg.RsToEpg.
admin@apic:~> moquery -d uni/tn-RD/ipToEpg-Ext_10.200.1.101/rstoEpg-[uni/tn-RD/ap-App_RD1/epg-EPG_RD11]
Total Objects shown: 1
# dbgac.RsToEpg
tDn : uni/tn-RD/ap-App_RD1/epg-EPG_RD11
childAction :
dn : uni/tn-RD/ipToEpg-Ext_10.200.1.101/rstoEpg-[uni/tn-RD/ap-App_RD1/epg-EPG_RD11]
forceResolve : no
lcOwn : local
modTs : 2014-12-05T12:56:29.340+01:00
monPolDn : uni/tn-RD/monepg-RD_Monitoring
rType : mo
rn : rstoEpg-[uni/tn-RD/ap-App_RD1/epg-EPG_RD11]
state : missing-target
stateQual : none
status :
tCl : fvAEPg
tType : mo
uid : 15374
يمكنك ملاحظة أن كائن EPG هذا مرتبط بكائن monPolDn. تتم مراقبة معظم الكائنات في الشجرة بواسطة كائن مراقبة.
فيما يلي كائن مراقبة معرف من قبل المستخدم للفئة monEPGPol مع dn.
uni/tn-RD/monepg-RD_Monitoring
فيما يلي الكائن الكامل المستخدم للمراقبة.
admin@apic:~> moquery -d uni/tn-RD/monepg-RD_Monitoring
Total Objects shown: 1
# mon.EPGPol
name : RD_Monitoring
childAction :
descr :
dn : uni/tn-RD/monepg-RD_Monitoring
lcOwn : local
modTs : 2014-11-13T15:41:45.326+01:00
monPolDn : uni/tn-RD/monepg-RD_Monitoring
ownerKey :
ownerTag :
rn : monepg-RD_Monitoring
status :
uid : 10673
يتم تكوين كائن monEPGPol بموجب نهج مراقبة المستأجر، حيث يمكنك إما إنشاء نهج جديد أو تعديل النهج الافتراضي. هنا مثال من monEPGPol name rd_Monitoring.
يمكنك إختيار نهج تعيين خطورة الخطأ وانقر فوق القلم الرصاص (بجوار كائن المراقبة).
ثم، إذا أخترت في قائمة كائنات المراقبة لنهج المراقبة هذا، الفئة التي تم إنشاء الخطأ لها (هنا dbgac.RsToEpg).
يمكنك مشاهدة جميع الأخطاء المرتبطة بتلك الفئة المحددة (الوحيدة الموضحة هنا هي F0789).
الخطأ F0789 هو شفرة عرض الأخطاء في بداية المثال.
يمكنك إختيار هذا الخطأ وإذا قمت بتعيين مستوى خطورة أولي إلى ملغي (يمكنك ترك مستوى خطورة الهدف ليرث)، فإنه يمنع مثل هذا الخطأ من التوليد في المستقبل مع افتراض أنه تم إنشاؤه بواسطة كائن له إرتباط بنهج المراقبة الذي قمت بتعديله للتو.
ومع ذلك فإنه لن يزيل الأخطاء الموجودة، لكنه سيزيل الأخطاء الجديدة فقط.
مثال 2 - خطأ مادي
في هذا مثال، ولدت الخطأ لأن ميناء 1/25 على ورقة يكون admin up غير أن لا SFP في هو.
admin@apic:~> moquery -c faultInst -f 'fault.Inst.code == "F1678"'
Total Objects shown: 2
# fault.Inst
code : F1678
ack : no
cause : port-failure
changeSet : usage (New: epg)
childAction :
created : 2015-01-19T14:26:13.862+01:00
descr : TEST FAULT -- Port is down, reason:sfpAbsent(connected), used by:EPG,
lastLinkStChg:1970-01-01T01:00:00.000+01:00, operSt:down
dn : topology/pod-1/node-101/sys/phys-[eth1/25]/phys/fault-F1678
domain : access
highestSeverity : critical
lastTransition : 2015-01-19T14:28:41.668+01:00
lc : raised
modTs : never
occur : 1
origSeverity : critical
prevSeverity : critical
rn : fault-F1678
rule : ethpm-if-port-down-infra-epg-test
severity : critical
status :
subject : port-down
type : communications
uid :
يقترن هذا بمنفذ طبيعي. فيما يلي رسالة MO الأصل التي تسببت في هذا الخطأ.
admin@apic:~> moquery -d topology/pod-1/node-101/sys/phys-[eth1/25]/phys
Total Objects shown: 1
# ethpm.PhysIf
accessVlan : vlan-1
allowedVlans :
backplaneMac : 50:87:89:A2:2A:C1
bundleBupId : 1
bundleIndex : unspecified
cfgAccessVlan : vlan-1
cfgNativeVlan : vlan-1
childAction :
currErrIndex : 4294967295
diags : none
dn : topology/pod-1/node-101/sys/phys-[eth1/25]/phys
encap : 3
errDisTimerRunning : no
errVlanStatusHt : 0
errVlans :
hwBdId : 0
intfT : phy
iod : 29
lastErrors : 0
lastLinkStChg : 1970-01-01T01:00:00.000+01:00
media : 2
modTs : never
monPolDn : uni/infra/moninfra-default
nativeVlan : vlan-1
هذا مقترن بكائن monInfraPol الذي تم تكوينه كما هو موضح هنا.
admin@apic:~> moquery -c monInfraPol
Total Objects shown: 4
# mon.InfraPol
name : default
childAction :
descr :
dn : uni/infra/moninfra-default
lcOwn : local
modTs : 2014-08-06T07:58:19.494+01:00
monPolDn : uni/infra/moninfra-default
ownerKey :
ownerTag :
rn : moninfra-default
status :
uid : 0
ضمن نهج تعيين خطورة الخطأ، انقر فوق القلم الرصاص الموجود في جزء العمل، بجوار القائمة المنسدلة كائن المراقبة. قم بإضافة فئة حيث تقوم بتعديل خصائص المراقبة. ثم أختر فئة الكائن الذي ولد الخطأ، أي، ethmPhysIf.
أختر هذه الفئة وانقر أيقونة + لترى كل خطأ تم إنشاؤه لهذا الكائن.
في هذا المثال، يمكنك رؤية الخطأ F1678 وخصائصه يمكن تعديلها. يؤدي إختيار وراثة الخطورة الهدف ومغالطة الخطورة الأولية إلى منع إنشاء أخطاء جديدة لهذا الرمز من الكائن الذي يطبق نهج المراقبة هذا.
بعد إجراء التغيير، إذا قمت بتمكين المنفذ 1/25 بدون SFP فيه، فلن يؤدي إلى أي أخطاء!
ملاحظة: في الإصدارات الأقدم من الإصدار 2.2 من البرنامج: لن يتم مسح الأخطاء الموجودة (حتى في وضع مسح الاستبقاء).
ملاحظة: في الإصدار 2.2 من البرنامج والإصدارات الأحدث: حتى الأخطاء الموجودة ستتأثر بالسياسة الجديدة.