المقدمة
يصف هذا المستند سيناريوهات يمكن أن يحدث تحتها استقطابات في موازنة حمل قناة المنفذ ويقدم اقتراحات حول كيفية منعها.
المتطلبات الأساسية
المتطلبات
توصي Cisco بأن تكون لديك معرفة بالمواضيع التالية:
المكونات المستخدمة
لا يقتصر هذا المستند على إصدارات برامج ومكونات مادية معينة.
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.
الخلفية
الاستقطاب هو مشكلة حيث تحدد خوارزمية التجزئة مسارات معينة في الشبكة وتترك المسارات المتكررة غير مستخدمة.
المخطط
التكوين
N7K1 و N7K2 متصلة في VPC و Po100، Po200، Po300، و Po301 في VPC ميناء-channel.
يعمل كل من N7K1 و N7K2 كمحول L2 نقي، مع عدم حدوث توجيه على هذه المحولات.
تقوم جميع المحولات بتشغيل نفس خوارزمية موازنة حمل قناة المنفذ.
رأيت الاستقطاب إصدار على حركة مرور خارج N7K1 و N7K2، regardless of the حركة مرور من المصدر إلى الغاية كان في ال نفسه VLAN (ما من توجيه) أو إن كان هم في VLANs مختلف مع التحشد يقع على N7K3 أو N7k4.
تدفق حركة المرور
يرسل المصدر يتعدد تيار إلى الغاية (مع يتعدد مصدر وغاية عنوان، وال L4 ميناء معلومة أيضا يختلف من ربط إلى ربط). يتم إستخدام خليط جيد من حركة المرور لضمان أنه في الحالة المثالية، يتم توزيع حركة المرور بالتساوي بين واجهات عضو القناة الميناء.
تحط حركة المرور من المصدر على N7k3/N7k4 ثم تنتقل عبر N7K1/N7K2 إلى الوجهة.
هناك إرتباط واحد بين إرتباطات الأعضاء ل Po100 و Po200 على كل من N7K1 و N7K2 يرسل ما يقرب من 99٪ من حركة المرور ويظل الارتباط الآخر في وضع الخمول. وهذا يعني، على كل محول من المحولات N7K1 و N7K2، أن إرتباطا واحدا بين 4/2 و 4/3 يحمل حركة مرور للبث الأحادي بنسبة 99٪ بينما يحمل الارتباط الآخر أقل من 1٪. وعلى نحو مماثل، يحمل إرتباط واحد بين 9/2 و 9/3 نسبة مرور قدرها 99 في المائة بينما يحمل الرابط الآخر أقل من 1 في المائة. يبدي الإنتاج في يتحرى قسم حركة مرور على Po100 و Po200 عضو قارن على N7K1. ويمكن رؤية مخرجات مماثلة على N7K2.
وبغض النظر عن نوع خوارزمية موازنة التحميل عبر قناة المنفذ المستخدمة، يمكن رؤية الإصدار طالما يتم إستخدام نفس خوارزمية موازنة حمل قناة المنفذ على زوج N7K1/N7K2 وزوج N7K3/N7K4. يتم عرض الأمر للتحقق من خوارزمية موازنة حمل قناة المنفذ هنا:
N7K1# show port-channel load-balance
Warning: Per Packet Load balance configuration has higher precedence
System config:
Non-IP: src-dst mac
IP: src-dst ip-l4port-vlan rotate 0
Port Channel Load-Balancing Configuration for all modules:
Module 1:
Non-IP: src-dst mac
IP: src-dst ip rotate 0
Module 2:
Non-IP: src-dst mac
IP: src-dst ip rotate 0
Module 3:
Non-IP: src-dst mac
IP: src-dst ip rotate 0
Module 4:
Non-IP: src-dst mac
IP: src-dst ip-l4port-vlan rotate 0
Module 7:
Non-IP: src-dst mac
IP: src-dst ip-l4port-vlan rotate 0
Module 8:
Non-IP: src-dst mac
IP: src-dst ip-l4port-vlan rotate 0
Module 9:
Non-IP: src-dst mac
IP: src-dst ip-l4port-vlan rotate 0
استكشاف الأخطاء وإصلاحها
إن رأيت توازن حمل غير متساو على قناة أيسر، هو يستطيع كنت بسبب إستقطاب.
عندما تصل حركة المرور إلى محولات N7K3 و N7K4، فإنها تتم إعادة توجيهها إلى محولات N7K1/N7K2 عبر Po301 من N7K4 و Po300 من N7K3. هنا، تقوم خوارزمية موازنة الأحمال بالتحكم فيها ويتم إعادة توجيه بعض التدفقات إلى N7K1 ويتم إعادة توجيه التدفقات الأخرى إلى N7K2.
في البداية، تأتي جميع حركات المرور إلى المحولات N7K3/N7K4 على ETH1/1، واستنادا إلى عنوان IP src-dst ومعلومات منفذ L4، يتم تقسيم بعض التدفقات على الارتباط الذي يتجه إلى N7K1 وتدفقات أخرى مجمعة على الارتباط الذي يتجه إلى N7K2. يتم التجزئة استنادا إلى قيمة RBH التي يتم حسابها بواسطة المحول. لتحقيق البساطة، دعنا نفترض أنه استنادا إلى خوارزمية موازنة الأحمال المستخدمة، يفصل المحول حركة المرور الواردة في دفعتين (التدفق X والتدفق Y). يتم إرسال التدفق X من إرتباط عضو في قناة منفذ واحد ويتم إرسال التدفق Y من إرتباط عضو قناة المنفذ الآخر.
الآن، عندما تكون حركة المرور في حالة هبوط على زوج N7K1/N7K2، يمكن أن يكون هناك احتمالان. (إعتبار س و ص قابلين للتبديل.)
الحالة 1:
أرسل N7K3 التدفق X إلى N7K1 وتدفق Y إلى N7K2
N7K4 يرسل التدفق Y إلى N7K1 وتدفق X إلى N7K2
القضية 2:
أرسل N7K3 التدفق X إلى N7K1 وتدفق Y إلى N7K2
N7K4 يرسل التدفق X إلى N7K1 وتدفق Y إلى N7K2
في الحالة 1، يتلقى N7K1 و N7K2 كلا من أنواع التدفقات (flow X و flow Y) وحتى بعد إستخدام نفس خوارزمية موازنة حمل قناة المنفذ كتلك المستخدمة من قبل N7K3/N7K4، لن يتم النظر إلى أي إستقطاب على أنه التدفقات الخارجة من Po100 و Po200 على روابط مختلفة. لذلك، نرى توزيع حركة مرور أفضل بين واجهات أعضاء القناة الميناء.
في الحالة 2، يستلم N7K1 فقط flow X و N7K2 يستلم فقط تدفق Y وهذا يمكن أن يخلق إستقطاب إن ال port-channel تحميل-balancing خوارزمية يستعمل على هذا مفتاح ال نفسه بما أن الواحد يستعمل في ال N7K3/N7K4 زوج. بما أن N7K1 و N7K2 يستخدمان نفس خوارزمية موازنة التحميل عبر قناة المنفذ، فإن N7K1 يرسل التدفق X على إرتباط عضو واحد فقط من Po100/Po200 ولا يقوم إرتباط العضو الآخر بإعادة توجيه أي حركة مرور. وبالمثل، يرسل N7K2 التدفق Y على إرتباط عضو واحد فقط من Po100/Po200 ولا يقوم إرتباط العضو الآخر بإعادة توجيه أي حركة مرور.
بما أن حركة المرور التي يستلم منها المحولات N7K1 و N7K2 مصنفة بالفعل للبدء بها، فلا يتم إستخدام سوى إرتباط عضو واحد في قناة المنفذ لإرسال جميع حركة المرور الواردة خارج المحول N7K1/N7K2 ولن يتم إرسال أي شيء من إرتباط العضو الآخر. في حالة تجاوز معدل حركة المرور الواردة النطاق الترددي لارتباط قناة المنفذ الواحد، يمكن إسقاط حركة المرور الإضافية لأن إرتباط عضو قناة المنفذ الآخر لن يقوم بإعادة توجيه حركة المرور هذه.
مشكلة مماثل يستطيع كنت رأيت عندما استعملت أكثر من إثنان خطوة في القناة أيسر. على سبيل المثال، إذا استعملت أربعة روابط في قناة ميناء، بعد ذلك اعتمادا على التجزئة يحدث، إما أن لا إستقطاب سيحدث أو أننا نرى استقطابا جزئيا حيث فقط إثنان من الروابط الأربعة لأعضاء قناة الميناء يمكن أن تستخدم لإعادة توجيه كل حركة المرور القادمة. الربقتان الأخريان لن ترفعا شيئا
الاستقطاب بسبب التصميم، وبالتالي من المهم تحليل التصميم لضمان عدم حدوث أي إستقطاب. يتم عرض الإخراج الذي يشير إلى الاستقطاب الذي يظهر على Po100 و Po200 على N7k1 بعد ذلك (يمكن رؤية خرج مماثل على N7K2 أيضا).
N7K1# show port-channel summary | i 200
200 Po200(SU) Eth LACP Eth9/2(P) Eth9/3(P)
N7K1# show port-channel traffic interface port-channel 200
NOTE: Clear the port-channel member counters to get accurate statistics
ChanId Port Rx-Ucst Tx-Ucst Rx-Mcst Tx-Mcst Rx-Bcst Tx-Bcst
------ --------- ------- ------- ------- ------- ------- -------
200 Eth9/2 0.0% 99.99% 44.44% 4.00% 0.0% 100.00%
200 Eth9/3 0.0% 0.00% 55.55% 96.00% 0.0% 0.0%
N7K1# show port-channel summary | i 100
100 Po100(SU) Eth LACP Eth4/2(P) Eth4/3(P)
N7K1# show port-channel traffic interface port-channel 100
NOTE: Clear the port-channel member counters to get accurate statistics
ChanId Port Rx-Ucst Tx-Ucst Rx-Mcst Tx-Mcst Rx-Bcst Tx-Bcst
------ --------- ------- ------- ------- ------- ------- -------
100 Eth4/2 0.0% 99.99% 40.55% 7.00% 0.0% 100.00%
100 Eth4/3 0.0% 0.00% 54.44% 93.00% 0.0% 0.0%
الحلول
ويرد في هذا القسم وصف لبعض الحلول البديلة المستخدمة لضمان عدم حدوث الاستقطاب.
- تصميم سليم: حيث أن السبب الرئيسي للاستقطاب هو التصميم غير السليم، فمن الأفضل أن نضمن تغيير تصميم الشبكة لضمان عدم وجود مساحة للاستقطاب في المخطط.
إذا لم يكن من الممكن إجراء أي تغييرات على التصميم، يمكننا القيام بما يلي.
- أستخدم خوارزميات موازنة الأحمال عبر قناة المنفذ المختلفة على كل مستوى من مستويات المحولات (خوارزمية واحدة على زوج N7K1/N7k2 وخوارزمية مختلفة على زوج N7K3//N7k4). عند تغيير خوارزمية موازنة الأحمال، تقوم المحولات N7k1/N7k2 الآن بتقسيم حركة المرور الواردة استنادا إلى بعض المعلومات الأخرى عن تلك التي تستخدمها المحولات N7k3/N7k4. لذلك، يستعمل الحركة مرور صادر all the port-channel عضو خطوة. (يعتمد القرار على أي خوارزمية يتم إختيارها على نوع حركة مرور البيانات التي يتم استقبالها بواسطة المحول.)
- إذا كنت تريد إستخدام نفس خوارزمية موازنة التحميل، فاستخدم قيم تدوير مختلفة في كل مستوى من المحولات. يقوم
rotate الأمر بتقديم العشوائية في خوارزمية التجزئة من خلال تعويض إدخال التجزئة عن طريق وحدات البايت التي قام المستخدم بتكوينها ويساعد على تجنب الاستقطاب. (أستخدم قيمة تدوير واحدة لزوج N7k1/N7k2 وقيمة تدوير مختلفة لزوج N7k3/N7k4.)