موازنة حركة المرور بين خوادم الويب باستخدام IP CEF على معدات الشبكة

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

صورتي
يوجد موجه Cisco يجلب خوادم الويب إلى الإنترنت. خادمان ويب على Centos 7 مع nginx. عناوين IP لخادم الويب الأول والثاني هي 192.168.20.176/24 و 192.168.20.177/24 على التوالي. لتنفيذ الخطة ، تحتاج خوادم الويب إلى تعيين نفس عنوان IP الثانوي. يمكن أن يكون هذا أي عنوان IP خاص لا يستخدم على شبكتك. لقد اخترت 192.168.120.175 وقمت بتسجيله باستخدام عنوان IP الثانوي لواجهة eth0 الرئيسية لخوادم الويب. في Centos ، يتم ذلك عن طريق إنشاء ملف eth0: 0 في الدليل / etc / sysconfig / network-scripts /. محتويات الملف:

TYPE="Ethernet" DEVICE=eth0:0 BOOTPROTO="static" IPADDR=192.168.120.175 NETMASK=255.255.255.255 ONBOOT="yes" 

من المهم ملاحظة أنه يتم استخدام القناع 255.255.255.255 وهذا يتجنب أي تعارضات في بروتوكول الإنترنت ، حيث لن تستخدمه خوادم الويب لتوليد حركة المرور. إذا جاز التعبير ، سيكون لدينا واجهات Loopback على خوادم الويب.

بعد ذلك ، يمكن لجهاز التوجيه تنفيذ موازنة التحميل باستخدام التوجيه الثابت. يتم تنفيذ هذه التقنية باستخدام IP Cef على أجهزة توجيه Cisco. ربط هنا . قد يكون لدى البائعين الآخرين فروق دقيقة معينة.

في Cisco ، يمكن أن يكون توزيع سلسلة الرسائل بطريقتين:

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

نصف طريقين بمساعدة الأوامر:

 ip route 192.168.120.175 255.255.255.255 GigabitEthernet0/0 192.168.20.176 ip route 192.168.120.175 255.255.255.255 GigabitEthernet0/0 192.168.20.177 

وبالتالي ، سيتم تثبيت كلا المسارين في جدول التوجيه وسيتم توزيع الحمل على طولهما:

صورتي

نتحقق أيضًا مما إذا تم تحديد طريقة الموازنة بشكل صحيح:

صورتي

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

 ip cef load-sharing algorithm include-ports source 

تحتاج أيضًا إلى تهيئة NAT ثابتة لإعادة توجيه طلبات الويب إلى العنوان 192.168.120.175:

 ip nat inside source static tcp 192.168.120.175 80 interface GigabitEthernet0/1 80 

على ماذا نحصل؟ ستنتقل الطلبات من المستخدمين من الإنترنت إلى جهاز التوجيه الخاص بنا ، والذي سيقوم بتوزيعها بين خوادمنا عن طريق التدفقات ، اعتمادًا على منفذ المصدر في TCP. عند فتح جلسة جديدة ، قد يصل العميل إلى الخادم الجديد.

ماذا يحدث إذا تعطل أحد الخوادم؟ ستتم إزالة المسار الذي أدى إلى هذا الخادم من جدول التوجيه. لتحسين هذه العملية ، يمكنك استخدام IP SLA. راقب حالة الخوادم من خلال الأمر ping كل 10 ثوانٍ:

 ip sla 10 icmp-echo 192.168.20.176 frequency 10 ip sla schedule 10 life forever start-time now ip sla 20 icmp-echo 192.168.20.177 frequency 10 ip sla schedule 20 life forever start-time now 

بعد ذلك ، أضف المراقبة إلى المسارات المناسبة:

 ip route 192.168.120.175 255.255.255.255 GigabitEthernet0/0 192.168.20.176 track 10 ip route 192.168.120.175 255.255.255.255 GigabitEthernet0/0 192.168.20.177 track 20 

كما تسمح IP SLA على أجهزة توجيه Cisco بالمراقبة بواسطة طلبات HTTP GET ، مما سيساعد على تحديد تعطل خادم الويب ليس فقط بسبب عدم وجوده في الشبكة ، ولكن أيضًا عندما تكون خدمة الويب معطلة.

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

Source: https://habr.com/ru/post/ar418915/


All Articles