المحتويات

المقدمة

الخلفية

الاختصارات:

الهدف

المخطط

إلغاء اقتران المواقع

الخطوة 1. إلغاء اقتران المواقع في القوالب

الخطوة 2. تأكيد أن الكائنات لا تتم إدارتها بواسطة NDO على كل APIC

الخطوة 3. إزالة القوالب الفارغة

الخطوة 4. إزالة المخططات الفارغة

الخطوة 5. إلغاء اقتران المواقع من المستأجر

الخطوة 6. إزالة المستأجر الفارغ في NDO

الخطوة 7. إزالة تطبيق NDO في ND

الخطوة 8. إزالة تطبيق NDO في ND

المقدمة

يصف هذا المستند إجراء فصل المواقع من Cisco Nexus Dashboard Orchestrator (NDO) والإبقاء عليها تدار محليا في APICs.

الخلفية

والهدف من ذلك هو القضاء على كل من ND و NDO.

ويكون هذا الإجراء مفيدا عندما يسعى العملاء إلى إلغاء صلاحية موقع ما ويرغبون في الاحتفاظ بالتكوين الذي تم تشديده في البداية، كما هو الحال محليا، في الموقع الذي يستمر.

تحذير: يرجى الإيعاز بأن هذا المستند يحدد الخطوات اللازمة لفصل المواقع من Cisco Nexus Dashboard Orchestrator (NDO) والاحتفاظ بالإدارة المحلية في APICs. وقد يؤدي الاستمرار في هذا الإجراء دون فهم مناسب وحذر إلى مخاطر أو تعقيدات محتملة. يوصى بتوخي الحذر والبحث عن إرشادات الخبراء قبل إجراء أي تغييرات على تكوين الشبكة.

الاختصارات:

APIC: وحدة التحكم الخاصة بالبنية الأساسية لسياسة التطبيق

د.ن.: Nexus Dashboard

NDO: لوحة معلومات Nexus

VRF: التوجيه الظاهري وإعادة التوجيه

BD: مجال الجسر

EPG: مجموعة EndPoint

نقطة الوصول: ملف تعريف التطبيق

الهدف

الغرض من هذه العملية هو إلغاء إرتباط الكائنات التي تتم إدارتها من NDO بالكامل وإدارتها بشكل فردي من كل مجموعة APIC على كل بنية.

المخطط

لأغراض العرض التوضيحي، يتم نشر هذه الطبولوجيا:

الطوبولوجيا المقترحة

في NDO، يبدو النشر كما يلي:

- مستوى المستأجر: يتم إنشاء المستأجر الذي يسمى المستأجر 1 من NDO، ويقترن بكل من الموقعين، المسمى Site1 والموقع 2:

التحقق من صحة اقتران المستأجر بموقعين

تم إقرانه ب 3 قوالب:

التحقق من صحة اقتران القالب بمستأجر

- مستوى المخطط: يحتوي المخطط المسمى Schema1 على 3 قوالب:

التحقق من صحة القوالب المضمنة في Stretched_Schema

- مستوى القالب:

- Extended_SITE1_SITE2 هو القالب الممدد، حيث يتم تحديد VRF الممدد، المسمى VRF1، ويرتبط مع كلا الموقعين:

تم توسيع التحقق من صحة القالب Stretched_SITE1_SITE2 في موقعين

- في القالب المسمى Site1، المرتبط ب Site1 فقط، يتم تحديد BD_SITE1 المحلي، ويقترن ب VRF1 المتمدد؛ أيضا، يتم تحديد AP_SITE1 و EPG_SITE1 محليا في هذا القالب:

التحقق من أن القالب Site1 محلي لموقع واحد

التحقق من أن VRF الخاص ب BD المحلي هو الذي تم تمديده

- في القالب المسمى Site2، المرتبط ب Site2 فقط، يتم تحديد BD_SITE2 المحلي، ويقترن ب VRF1 المتمدد؛ أيضا، يتم تحديد AP_SITE2 و EPG_SITE2 محليا في هذا القالب:

التحقق من صحة موقع القالب 2 لتأكيد أنه محلي

التحقق من أن VRF الخاص ب BD المحلي هو الذي تم تمديده

لتأكيد نشر الكائنات بشكل صحيح:

- في الموقع 1:

يتم نشر المستأجر 1 وإدارته بواسطة NDO، بالإضافة إلى VRF و AP و BD و EPG:

التحقق من صحة التوسعة في واجهة المستخدم الرسومية (GUI)

من الممكن التأكد أيضا من أن جميع كائنات MIT لديها التعليق التوضيحي المعين على "orchestrator:msc"، بمعنى تتم إدارتها من NDO:

المستأجر:

{

"totalCount": "1",

"imdata":

[

{

"fvTenant":

{

"attributes":

{

"annotation": "orchestrator:msc",

"descr": "",

"dn": "uni/tn-Tenant1",

"name": "Tenant1",

"nameAlias": "",

"ownerKey": "",

"ownerTag": "",

"userdom": ":all:"

}

}

}

]

}

تردد VRF:

"fvCtx":

{

"attributes":

{

"annotation": "orchestrator:msc-shadow:no",

"bdEnforcedEnable": "no",

"descr": "",

"ipDataPlaneLearning": "enabled",

"knwMcastAct": "permit",

"name": "VRF1",

"nameAlias": "",

"ownerKey": "",

"ownerTag": "",

"pcEnfDir": "ingress",

"pcEnfPref": "enforced",

"userdom": ":all:",

"vrfIndex": "0"

},

"children":

[

{

"fvSiteAssociated":

{

"attributes":

{

"annotation": "",

"descr": "",

"name": "",

"nameAlias": "",

"ownerKey": "",

"ownerTag": "",

"siteId": "1",

"userdom": ":all:"

},

"children":

[

{

"fvRemoteId":

{

"attributes":

{

"annotation": "",

"descr": "",

"name": "2",

"nameAlias": "",

"ownerKey": "",

"ownerTag": "",

"remoteCtxPcTag": "32770",

"remotePcTag": "2686983",

"siteId": "2",

"userdom": ":all:"

}

}

}

]

}

},

]

}

بالنسبة إلى VRF، يمكن ملاحظة أنه إلى جانب التعليق التوضيحي "orchestrator:msc"، يتم أيضا رؤية بعض الخصائص التابعة.

لفهم كائنات الأطفال بشكل أفضل، من المهم ملاحظة أنه في NDO، إلى جانب اسم الموقع، يتم إقران معرف موقع فريد بكل موقع في NDO. للاستعلام عن المعرفات، في NDO، انتقل إلى Operate > Sites :

التحقق من صحة SiteID لكل موقع في NDO

بمجرد شرح هذه المعلومات، تكون الكائنات التابعة:

1. fvSiteAssociated: يعرض معرف الموقع للموقع المحلي.

2. fvRemoteID: معرفات المواقع البعيدة التي يتم فيها توسيع الكائن أيضا. هذا الكائن مفيد أيضا لمعرفة ترجمة الكائنات عبر المواقع؛ في حالة هذا VRF، يمكن رؤية المقطع، و ClassID، المقابلة للموقع 2. للتأكيد، يمكن إجراء مقارنة من الموقع 2:

التحقق من صحة Segment و ClassID للكائنات البعيدة

كما يمكن رؤيته، فإن Segment and ClassID من Site 2، محتويان في fvRemoteID داخل كائن VRF في Site 1.

بي دي:

"fvBD": { "attributes": { "OptimizeWanBandwidth": "yes", "annotation": "orchestrator:msc-shadow:no", "name": "BD_Site1", ... }, "children": [ ... { "fvSiteAssociated": { "attributes": { "annotation": "", "descr": "", "name": "msc-local", "nameAlias": "", "ownerKey": "", "ownerTag": "", "siteId": "1", "userdom": ":all:" } } }, ] }

AP و EPG:

"fvAp": { "attributes": { "annotation": "orchestrator:msc-shadow:no", "descr": "", "name": "APP_Site1", "nameAlias": "", "ownerKey": "", "ownerTag": "", "prio": "unspecified", "userdom": ":all:" }, "children": [ { "fvAEPg": { "attributes": { "annotation": "orchestrator:msc-shadow:no", "descr": "", "exceptionTag": "", "floodOnEncap": "disabled", "fwdCtrl": "", "hasMcastSource": "no", "isAttrBasedEPg": "no", "matchT": "None", "name": "EPG_Site1", "nameAlias": "", "pcEnfPref": "unenforced", "prefGrMemb": "exclude", "prio": "unspecified", "shutdown": "no", "userdom": ":all:" }, "children": [ { "fvSiteAssociated": { "attributes": { "annotation": "", "descr": "", "name": "msc-local", "nameAlias": "", "ownerKey": "", "ownerTag": "", "siteId": "1", "userdom": ":all:" } } }, ] } } ] }

في كائنات BD و AP و EPG، لا توجد كائنات تابعة ل FVremoteId، نظرا لأن هذه الكائنات ذات قيمة محلية، ولا يتم تمديدها.

- في الموقع 2:

الموقع 2 له مخرجات مشابهة إلى حد كبير، تغيير الكائنات البعيدة المقابلة فقط، لذلك يتم حذف هذه المعلومات.

إلغاء اقتران المواقع

يوصى بإجراء عملية نسخ إحتياطي في NDO، بالإضافة إلى لقطة في APIC قبل القيام بهذا الإجراء، في حالة الرغبة في إسترجاع ذلك مرة أخرى لاحقا.

الخطوة 1. إلغاء اقتران المواقع في القوالب

يجب تشغيل هذه الخطوة على كل قالب. بالمثل مع المنطق وراء تبعيات الدائرة، من الضروري أن تبدأ أولا في القوالب التي لها تبعيات على قوالب أخرى، وأخيرا، إلغاء ربط القوالب التي ليس لها أي مرجع تبادلي.

في المخطط المستخدم في هذا المستند، يجب أن يكون آخر قالب سيتم فصله هو Extend_Site1_Site2، وذلك لأن القالبين Site1 و Site2 يحتويان على مرجع إليه.

انتقل إلى القالب داخل المخطط، وانقر فوق Actions ، ثم انتقل إلى Disassociate Site:

كيفية إلغاء إقران القالب

في الإطار التالي، أختر من موقع القائمة المنسدلة حسب الموقع، نظرا لأن إلغاء الاقتران يتم واحدا تلو الآخر (في حالة وجود أكثر من موقعين للقالب):

تحديد الموقع من حيث يتم إلغاء اقتران القالب

ثم انقر على إلغاء الإقران.

يتم عرض رسالة مع التأكيد بمجرد انتهائها:

رسالة التأكيد

ملاحظة: كما ذكر سابقا، كرر هذا الإجراء لجميع القوالب الموجودة في المخطط.

الخطوة 2. تأكيد أن الكائنات لا تتم إدارتها بواسطة NDO على كل APIC

لتأكيد أن الكائنات لا تزال موجودة في APICs، الآن بخصائص مختلفة:

في APIC (مثال في الموقع 1):

يستمر التحقق من صحة واجهة المستخدم الرسومية (GUI) التي تم تكوينها.

لا تظهر الكائنات أيقونة NDO للسحابة المجاورة لها بعد الآن، حيث لا يزال المستأجر فقط مدارا من قبل NDO.

في جون:

"fvTenant": { "attributes": { "annotation": "orchestrator:msc", "descr": "", "dn": "uni/tn-Tenant1", "name": "Tenant1", "nameAlias": "", "ownerKey": "", "ownerTag": "", "userdom": ":all:" }, "children": [ { "fvCtx": { "attributes": { "annotation": "", "bdEnforcedEnable": "no", "descr": "", "ipDataPlaneLearning": "enabled", "knwMcastAct": "permit", "name": "VRF1", "nameAlias": "", "ownerKey": "", "ownerTag": "", "pcEnfDir": "ingress", "pcEnfPref": "enforced", "userdom": ":all:", "vrfIndex": "0" }, "fvBD": { "attributes": { "OptimizeWanBandwidth": "yes", "annotation": "", "arpFlood": "yes", "descr": "", "epClear": "no", "epMoveDetectMode": "", "hostBasedRouting": "no", "intersiteBumTrafficAllow": "yes", "intersiteL2Stretch": "yes", "ipLearning": "yes", "ipv6McastAllow": "no", "limitIpLearnToSubnets": "yes", "llAddr": "::", "mac": "00:22:BD:F8:19:FF", "mcastARPDrop": "yes", "mcastAllow": "no", "multiDstPktAct": "bd-flood", "name": "BD_Site1", "nameAlias": "", "ownerKey": "", "ownerTag": "", "type": "regular", "unicastRoute": "yes", "unkMacUcastAct": "proxy", "unkMcastAct": "flood", "userdom": ":all:", "v6unkMcastAct": "flood", "vmac": "not-applicable" } ... "fvAp": { "attributes": { "annotation": "", "descr": "", "name": "APP_Site1", "nameAlias": "", "ownerKey": "", "ownerTag": "", "prio": "unspecified", "userdom": ":all:" }, "children": [ { "fvAEPg": { "attributes": { "annotation": "", "descr": "", "exceptionTag": "", "floodOnEncap": "disabled", "fwdCtrl": "", "hasMcastSource": "no", "isAttrBasedEPg": "no", "matchT": "None", "name": "EPG_Site1", "nameAlias": "", "pcEnfPref": "unenforced", "prefGrMemb": "exclude", "prio": "unspecified", "shutdown": "no", "userdom": ":all:" }, } } ] } } ] }

كما هو موضح من APIC، فإن الكائن الوحيد الذي لا يزال يحتوي على التعليق التوضيحي هو كائن المستأجر، ولكن كائنات BD، VRF، AP، و EPG، لديها الآن خاصية التعليق التوضيحي فارغة. هذا يؤكد أن الكائنات لا يتم إزالتها من APIC، وهي الآن تتم إدارتها بواسطة كل APIC.

الخطوة 3. إزالة القوالب الفارغة

بما أن كافة القوالب فارغة وغير مقترنة بأي موقع:

التحقق من صحة القوالب في حالة غير مقترنة

يمكن إزالة هذه القوالب بأمان. لإزالتهم، انقر فوق Actions وحدد Delete Template كما هو موضح في الصورة:

حذف القالب

بمجرد أن يكون المخطط فارغا، قم بحفظ التغييرات:

حفظ التغييرات في المخطط الفارغ

الخطوة 4. إزالة المخططات الفارغة

لقد حان الوقت لإزالة المخطط الفارغ. انتقل إلى Configure > Tenant Templatesكما هو موضح في الصورة:

خطوات النقل إلى قائمة المستأجر

وانقر فوق 3 نقاط بجوار المخطط، ثم انقر فوق Delete كما هو موضح في الصورة:

حذف المخطط الفارغ المرتبط بالقالب

الخطوة 5. إلغاء اقتران المواقع من المستأجر

بمجرد عدم وجود المزيد من المخططات، يجب أن يظهر المستأجر أنه لم يعد مقترنا بأي قالب. للتأكيد، انتقل إلى Operate > Tenants:

إلغاء اقتران المواقع من المستأجر

تأكيد أن المستأجر ليس لديه قوالب مقترنة

كما يمكن رؤيته، فإن عدد القوالب المرتبطة بالمستأجر 1 هو 0. انقر على النقاط الثلاث، وحدد تحرير:

تحرير خصائص المستأجر لإزالة المواقع

الآن، هناك حاجة إلى إلغاء تحديد المواقع. انقر فوق Unselect items أعلى جدول المواقع:

إلغاء تحديد المواقع المقترنة بالمستأجر

تأكد من إلغاء تحديد خيار حذف المستأجر قبل التأكيد:

تأكيد العملية بدون التحقق

عند إلغاء تحديد كلا الموقعين، قم بحفظ التغييرات. بمجرد القيام بذلك، تأكد من أن المستأجر في كل APIC يبقى هناك:

تحقق IGUI من أن المستأجر لا يزال مكونا، ولكن لا تتم إدارته من NDO

وكما هو متوقع، فإن التعليق التوضيحي فارغ الآن:

"fvTenant": { "attributes": { "annotation": "", "descr": "", "dn": "uni/tn-Tenant1", "name": "Tenant1", "nameAlias": "", "ownerKey": "", "ownerTag": "", "userdom": ":all:" } }

الخطوة 6. إزالة المستأجر الفارغ في NDO

لقد حان الوقت لإزالة المستأجر. للقيام بذلك، انتقل إلى Operate > Tenants ، انقر فوق النقاط الثلاث، وانقر فوق Delete كما هو موضح في الصورة:

حذف المستأجر الفارغ

تأكيد، والتحقق من بقاء كائن المستأجر في APICs.

الخطوة 7. إزالة تطبيق NDO في ND

لإزالة NDO، يجب تعطيل التطبيق أولا.

في ND، انتقل إلى Admin Console > Services. يتم عرض تطبيق NDO هناك. انقر فوق النقاط الثلاث وحدد Disable:

تعطيل تطبيق NDO

قد يستغرق الأمر دقيقتين حتى يصبح الشخص معاقا تماما.

ثم، انقر على النقاط 3 مرة أخرى، وهذه المرة انقر على الخيار  Delete .

الخطوة 8. إزالة تطبيق NDO في ND

أخيرا، من ND، إزالة المواقع. لكي تتمكن من إزالة المواقع، يجب ألا تستهلك هذه المواقع أي خدمات، لذا، في حالة تثبيت أي تطبيق آخر، يجب إزالته أيضا:

التحقق من عدم إستخدام المواقع لخدمة NDO

لإزالته، انقر على النقاط الثلاث، واختر Remove Site كما هو موضح في الصورة:

إزالة المواقع في ND

وبمجرد إزالة المواقع بالكامل، يصبح كل نسيج مستقلا الآن، كما يمكن سحب ND منه.

ملاحظة: بمجرد أن تصبح المواقع مستقلة، يظل L3out الخاص بالمواقع الداخلية للمستأجر موجودا. يمكن إزالته يدويا، تأكد من أنه فقط للاتصال بين المواقع.