روابط DAC بسرعة 25G تعمل بين وحدات FortiSwitch متطابقة لكن ليس بين FS2048 و FS648
نقوم بدمج صفين من التجميع على FortiSwitch، والجزء الأخير هو وصلة 25G بين FS2048 و FS648 في راكات متجاورة. كل شيء آخر في التصميم عمل من أول محاولة؛ هذه الوصلة وحدها ترفض العمل.
- FortiSwitch 2048، منفذ 25G في اللوحة الأمامية
- FortiSwitch 648، منفذ 25G في اللوحة الأمامية
- كابل FN-CABLE-SFP28-5 DAC سلبي، كابل من فورتينت، ليس من طرف ثالث
- كلا المنفذين لم يُعبث بهما سوى إعداد VLAN
ما أحصل عليه:
FS2048 port: down, no rx/tx counters moving
FS648 port: down, no rx/tx counters moving
same FN-CABLE-SFP28-5 between two FS648 units: up at 25G, stable
ما جُرّب بالفعل:
- استبدلت الكابل بكابل FN-CABLE-SFP28-5 آخر من نفس العلبة، لا تغيير
- نقلت كلا الطرفين إلى منافذ 25G مختلفة على كل جهاز، لا تغيير
- أثبتّ سلامة الكابل بتوصيله بين وحدتي FS648 متطابقتين، حيث يعمل فورًا
إذًا الكابل سليم والمنفذان سليمان، لكن التركيبة معًا لا تعمل. هل هناك شيء في منافذ 25G يجب أن يتطابق بين الطرازين قبل أن تنجح الوصلة في التدريب (training)؟
Comments 6
هذا بالضبط هو السبب. الجهازان مبنيان على أجيال مختلفة من ASIC وPHY، وتصحيح الأخطاء (FEC) الذي يستقر عليه كل منهما تلقائيًا عند 25G ليس نفسه على الجانبين، لذا لا تكمل الوصلة عملية التدريب أبدًا. تبقى مع down/down نظيف ولا شيء في السجلات يمكن التعامل معه.
ثبّت نفس وضع FEC يدويًا على كلا المنفذين:
نفّذ ذلك على FS2048 وعلى FS648، باستخدام اسم المنفذ الخاص بكل جانب. CL91 هو نوع Reed-Solomon وينظّف أكثر بكثير من خيار CL74 firecode، لكن أيًا من الاثنين تختاره أقل أهمية بكثير من اختيار نفس الوضع مرتين: يجب أن يقوم كلا PHY بالترميز وفك الترميز بنفس المخطط وإلا فلن يكتمل التدريب أبدًا، و"auto" على عائلتي PHY مختلفتين ليس مخططًا متطابقًا.
يجب أن يعمل المنفذ فور تثبيت الجانب الثاني. إذا أضفت لاحقًا طرازًا ثالثًا إلى هذا المزيج، اضبطه صراحة هناك أيضًا بدلًا من افتراض أن الإعداد الافتراضي انتقل معه.
كابل يعمل بين وحدتين متطابقتين ويتعطل بين طرازين مختلفين يعني أن الطبقة الفيزيائية تفشل في الاتفاق على شيء ما، وعند 25G عبر النحاس يكون هذا دائمًا تقريبًا FEC.
قبل أي شيء آخر، انشر ما هو fec-state المُهيّأ حاليًا على كلا المنفذين. الإعداد الافتراضي ليس نفسه عبر أجيال FortiSwitch، والطرازان اللذان تربطهما ليسا من نفس عائلة ASIC/PHY، لذا "الإعدادات المصنعية على كلا الطرفين" لا تعني "نفس الإعداد على كلا الطرفين".
إذا عاد المنفذان بقيمتين مختلفتين هناك، فلديك الإجابة قبل لمس أي شيء آخر.
لم يُلمس شيء في أي من الجانبين، لذا كلا المنفذين يعمل بما تضبطه النسخة افتراضيًا. جانب FS2048 فارغ:
نفس الشيء على FS648. السرعة والتفاوض التلقائي (auto-negotiation) لم يُلمسا أيضًا، أنا فقط وضعت المنفذين في VLAN الصحيح. إذا كانت الإعدادات الافتراضية تختلف حسب الطراز، فهذا يفسّر لماذا نفس الكابل يعمل بلا مشكلة بين جهازين متطابقين.
نفس فئة المشكلة خارج نطاق Fortinet تمامًا، لمن يهمه الأمر. كان لديّ كابل DAC سلبي SFP28 بسرعة 25G يعمل بسعادة بين UniFi USW-Pro-Aggregation وخادم ببطاقة Intel SFP28، ولم يعطِ شيئًا على sfp28-2 من MikroTik CCR2004-1G-12S+2XS - لا خطأ على أي جانب، فقط لا رابط. جرّبت Ubiquiti UACC-DAC-SFP28-3M و Lenovo 7Z57A03558، نفس النتيجة. في مرحلة ما عمل المنفذ فعلاً ثم انقطع بعد حوالي ثانيتين، وكان ذلك دليلاً على أن شيئًا ما يفشل في التدريب بدلاً من أن يكون الكابل تالفًا.
FEC مرة أخرى: جانب Ubiquiti يبقي FEC مفعّلاً بلا طريقة مدعومة لتغييره، وRouterOS نقل الإعداد الافتراضي من fec91 إلى بلا FEC في 6.49. ما نجح هنا هو الترقية إلى RouterOS 7.4، حيث تكون خيارات FEC مكشوفة، بتشغيل
ثم ضبط المنفذ على fec74 مع إيقاف التفاوض التلقائي، وإيقاف التحكم بالتدفق في كلا الاتجاهين، و25 جيجابت full duplex، بالإضافة إلى تجاوز ملف تعريف المنفذ على جانب UniFi لتثبيت 25G FDX. هذا عتادي وبرنامجي الثابت الخاص بي، فتعامل مع الوصفة الدقيقة كنقطة انطلاق وتحقق منها على جهازك.
يستحق الإضافة أن نفس الخيار له اسم مختلف حسب واجهة سطر الأوامر التي تقف فيها، وهذا ما يجعل الأمر مؤلمًا بمجرد أن يحتوي الراك على أكثر من مورد واحد. على وصلات Cisco بسرعة 25G بين مكدس Catalyst 9300 وزوج Catalyst 9500، fec cl108 على كلا الطرفين هو ما شغّلها؛ على وصلة 100G بين زوج 9500 ذاك و Nexus 9000، ما نجح كان fec off على كلا الجانبين. نفس القرار، كلمات مفتاحية مختلفة.
وFEC ليس دائمًا شيئًا تُشغّله. على Nexus 93180YC-EX مع SFP-H25GB-SR متصل ببطاقة Cavium 25G، كان منفذ المحول عند FEC auto ويتوقع FEC بسبب البصريات، بينما أبلغت بطاقة الشبكة عن عدم دعم FEC إطلاقًا، فلم يتفق الطرفان أبدًا وبقيت الواجهات down مع التعرف على الوحدات. هناك، كان fec off على واجهة المحول هو الحل، وshow interface يؤكد انتقال الوضع من Auto إلى Off.
إذًا القاعدة ليست "استخدم cl91"، بل "قرر الوضع، ثم اضبطه صراحة على كلا الطرفين".
تأكّد. set fec-state cl91 على منفذ FS2048 لم يغيّر شيئًا بمفرده، ثم نفس الشيء على منفذ FS648 وعمل الرابط خلال ثانيتين تقريبًا. العدادات تتحرك على كلا الجانبين، وصمد أمام إعادة تشغيل كل جهاز.
من الآن فصاعدًا يبقى الإعداد صريحًا على كل منفذ 25G في هذا الزوج بدلًا من الثقة بالإعداد الافتراضي. أمسيتان من استبدال كابلات سليمة تمامًا مقابل سطر واحد من الإعداد.