إعلانات
+ الرد على الموضوع
النتائج 1 إلى 1 من 1

الموضوع: ربط كيبلي شبكة بـ ip واحد في سيرفرات لينكس لتفادي الإنقطاع

  1. #1
    لينكساوي الصورة الرمزية M@H!OO
    التوزيعة : Ubuntu 9.10

    واجهة النظام : GNOME

    تاريخ التسجيل
    Oct 2008
    الدولة
    الجزائر
    المشاركات
    1,301
    شكراً
    105
    شُكر 1,317 مرة في 320 موضوع

    افتراضي ربط كيبلي شبكة بـ ip واحد في سيرفرات لينكس لتفادي الإنقطاع

    السلام عليكم ورحمة الله وبركاته , لقد وجدت هذا الموضوع في أحد المواقع وقررت نقله لكم , الشرح ليس من عندي النقل حرفي ...

    ====================================

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

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




    تشوف الخط الأحمر، هذا هو كيبل السيرفر، في حالة إنفصاله، خلاص السيرفر راح يتعطل وبيمنع أي دخول له.
    فكرة التدوينة بتشرح لك كيف تطمئن إن مهما صار في الشبكة الخاصة فيك من تعطل، بتضمن إن السيرفر الخاص فيك ما راح يفقد إتصاله بالإنترنت أو بشبكتك الخاصة.
    الطريقة هذي تسمى Network Bonding/Teaming، وفكرتها إنك تربط كرتي شبكة مع بعض، ثم تنشئ كرت إضافي ثالث – وهمي Virtual – وهو اللي يتحكم بالترافيك اللي يدخل ويطلع من كرتي الشبكة، والكرت الوهمي هذا هو اللي راح يحتوي على الأي بي IP الخاص بالسيرفر.
    المتطلبات:

    المطلوب، فقط كرتي شبكة على سيرفر اللينكس، وشرحي بيكون على لينكس ريدهات\سنتوس\فيدورا، وباقي التوزيعات نفس الفكرة، اللهم تغير في أماكن الملفات.
    التنفيذ:

    ننشىء كرت شبكة وهمي\تخيلي Virtual، وراح نسميه bond0:


    كود PHP:
    vi /ets/sysconfig/network-scripts/ifcfg-bond0 
    وتضيف فيه إعدادت الشبكة الخاصة فيك، الأي بي IP والنت ماسك NetMask والبوابة Gateway:

    DEVICE=bond0
    ONBOOT=yes
    USERCTL=no
    TYPE=Ethernet
    BOOTPROTO=static
    IPADDR=192.168.1.2
    NETMASK=255.255.255.0
    NETWORK=192.168.1.0
    GATEWAY=192.168.1.1

    الكرت الوهمي\التخيلي جاهز، الحين باقي شغلتين:
    1- تعديل كروت الشبكة الحالية، وجعلها تشتغل تحت إدارة الكرت الوهمي Bond0:
    أبفترض إن اسم الكرت الأول بسيرفرك eth0، عدل على الملف:


    كود PHP:
    vi /etc/sysconfig/network-scripts/ifcfg-eth0 
    وأحذف إعدادته الشبكة الخاصة فيه كلها، ثم أضف مثل الأسفل:

    DEVICE=eth0
    TYPE=Ethernet
    ONBOOT=yes
    HWADDR=xx:xx:xx:xx:xx:xx
    MASTER=bond0
    SLAVE=yes
    ونفس الشيء على الكرت الثاني، أبفترض اسمه eth1:

    DEVICE=eth1
    TYPE=Ethernet
    ONBOOT=yes
    HWADDR=xx:xx:xx:xx:xx:xx
    MASTER=bond0
    SLAVE=yes
    شوف اللي بالخط العريض بالأعلى، هو السر بجعل كرت الشبكة الوهمي bond0 هو المتحكم – الماستر Master – والكروت الثانية تحت تصرفه – سليف Slave -.
    الشغلة الثانية، هي تحديد كيف يتم التفاهم بين هالكرتين؟
    مين اللي يشتغل أول؟ الكرت eth0 او eth1؟
    أو كلهم يشتغلون بنفس الوقت؟
    هنا نحتاج نوضح حاجة مهمة، لو شغلت الشبكة بالوضع السابق، راح يصير فيه تعارض بين هالكرتين، واحد يرسل باكت Packet والثاني يستقبلها، والسويتش اللي مشبوك عليه هالسيرفر بيتلخبط عنده الترافيك، لأن الترافيك يوصل له من كرت، ويرجع لنفس السيرفر من كرت ثاني-لعدم وجود الماك أدرس MAC Address في إعددات كل كرت-، شايف كيف لخبطة!.
    الحل؟
    سهلة، لازم إنك تحدد كيف يشتغلون هالكرتين، وفيه كذا وضع لتشغيلهم، تقدر تستزيد عنهم برجوعك لوثائق سيرفرات ريدهات، إحنا راح نشغل هالكرتين في وضع يسمى “fault tolerance” وبالعربي يسمى -تجاوز الخطأ-، وفكرته إن واحد من الكروت بيكون فعال -يعني يصير Active-، والثاني بيكون في حالة سبات -Backup-. الكرت الثاني اللي في حالة سبات ما راح يشتغل لحد ما الكرت الأول يتعطل أو ينفصل عنه الكيبل. وهذي أفضلها شخصياً لأنها تضمن لي إن ما راح يكون تعارض بين الترافيك المار بسيرفري.
    كيف أفعلها؟
    تعدل على المودويولز Modules الخاصة بالسيرفر، عن طريق التعديل على الملف /etc/modprobe.conf:

    كود PHP:
    echo -"alias bond0 bonding\noptions bond0 miimon=100 mode=1" 
    >> /etc/modprobe.conf 
    ولو شرحنا الخيارات اللي فوق، نلاحظ إننا وضحنا للسيرفر إن الكرت bond0 لازم يتفعل فيه خاصية دمج الكروت bonding، ثم طلبنا من السيرفر إنه يراقب حالة الكروت كل 100 جزء من الثانية، عن طريق الخيار miimon الخاص بمراقبة حالة الكرت ووضعه التشغيلي، وبالأخير قلنا له فعل لنا خاصية “تجاوز الخطأ Fault tolerance”، عن طريق الخيار mode=1.
    خلصنا!
    الحين، أعد تشغيل الشبكة عندك:


    كود PHP:
    /etc/init.d/network restart 
    ونفذ الأمر ifconfig لعرض كروت الشبكة عندك، وبتلاقي كرت bond0 تم تفعيله، وإضافة كلمة Slave في معلومات الكروت الثانية.
    وإذا كنت تحتاج تعرف حالة الـ Network Teaming في سيرفرك، ومين اللي يشتغل كـ Active ومين Backup، نفذ الأمر التالي:


    كود PHP:
    cat /proc/net/bonding/bond0 
    وبيعرض لك نتيجة مقاربة لكذا:


    Bonding Mode: fault-tolerance (active-backup)
    Primary Slave: None
    Currently Active Slave: eth0
    MII Status: up
    MII Polling Interval (ms): 100
    Up Delay (ms): 0
    Down Delay (ms): 0
    Slave Interface: eth0
    MII Status: up
    Link Failure Count: 0
    Permanent HW addr: xx:xx:xx:xx:xx:xx
    Slave Interface: eth1
    MII Status: up
    Link Failure Count: 0
    Permanent HW addr: xx:xx:xx:xx:xx:xx
    نقاط:
    1- تقدر تستغني عن فكرة Fault Tolerance للكروت، وتستخدم مثلاً Load Balance لأجل توازن الترافيك بين الكرتين في حالة وجود ضغط كبير على سيرفرك، أرجع لوثائق سيرفرات ريدهات.
    2- حاول تشبك الكيابل في سويتشات مختلفة، يعني لاتشبكهم كلهم بسويتش واحد، لأجل تتفادى تعطله، ومن ثم تعطل السيرفر. لاتضع بيضك في سلة واحدة :-)


    المصدر



  2. الأعضاء التالية أسماءهم وعددهم 3 يشكرون M@H!OO على هذه المشاركة القيمة:


+ الرد على الموضوع

معلومات الموضوع

الأعضاء الذين يشاهدون هذا الموضوع

الذين يشاهدون الموضوع الآن: 1 (0 من الأعضاء و 1 زائر)

     

الكلمات الدلالية لهذا الموضوع

مواقع النشر (المفضلة)

مواقع النشر (المفضلة)

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك