วันจันทร์ที่ 12 มีนาคม พ.ศ. 2555

config โดยการใช้ Bonding

 *  ความต้องการของระบบ
          o ในที่นี้ผมใช้ kernel 2.4.x เป็นตัวทดสอบนะครับ (Version ผมไม่ทราบนะครับ)
          o อุปกรณ์ Network ที่ใช้ต้องเป็น Switch นะครับ จะเป็น stack หรือไม่ stack ก็ได้นะครับ
          o Lan Card เป็นแบบทั่วไปนะครับ ที่ Support linux นะครับ

    เริ่มการ config โดยการใช้ Bonding กันเลยนะครับ

        * ในที่นี้ใช้ bonding เป็น module นะครับ สำหรับคนที่ไม่มี Module bonding ต้อง compile ให้ support ก่อนนะครับ โดยการเลือก

              Network device support --->

                  [*] Network device support

                  Dummy net driver support

        การ Config Module Bonding การแก้ไข file /etc/modules.conf โดยการเพิ่มบรรทัดนี้ลงไปนะครับ

            alias bond0 bonding

        * โปรแกรมที่ใช้ config lan card ให้เป็น slave ของ bonding คือโปรแกรม ifenslave ซึ่งสามารถ compile โปรแกรมได้จาก source ของ kernel linux ดังนี้
              o gcc -Wall -Wstrict-prototypes -O -I/usr/src/linux/include ifenslave.c -o ifenslave
              o cp ifenslave /sbin/ifenslave
        * ในส่วนนี้เป็นวิธีการ config โดยผมใช้ ifconfig down eth(x) ลงก่อนทุกตัวนะครับ
              o /sbin/modprobe bonding mode=1 (mode=0 เป็น trunking ซึ่ง switch ต้อง support นะครับดูหมายเหตุข้างล่างนะครับ mode=1 เป็น active backup policy mode=2 เป็น XOR) ในที่นี้ผมได้ทดลองโดยการใช้ switch ที่ไม่มี mode trunking นะครับ
              o /sbin/ifconfig bond0 192.168.0.254 broadcast 192.168.0.255 netmask 255.255.255.0 up นี้เป็น config interface bond0 ให้ทำงานที่ ip 192.168.0.254 นะครับ
              o /sbin/ifenslave bond0 eth1 eth0 อันนี้เป็นการใช้โปรแกรม ifenslave ในการสร้าง eth0 eth1 เป็น slave ของ bonding นะครับ ถ้าเราใช้ ifconfig ในการตรวจสอบจะพบดังนี้

              �

              bond0 Link encap:Ethernet HWaddr 00:50:04:C1:A6:B8
              inet addr:192.168.0.254 Bcast:192.168.0.255 Mask:255.255.255.0
              UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
              RX packets:9098 errors:0 dropped:0 overruns:0 frame:0
              TX packets:2426 errors:0 dropped:0 overruns:0 carrier:0
              collisions:21 txqueuelen:0

              eth0 Link encap:Ethernet HWaddr 00:20:AF:30:71:D4
              inet addr:192.168.0.254 Bcast:192.168.0.255 Mask:255.255.255.0
              UP BROADCAST DEBUG NOTRAILERS RUNNING NOARP PROMISC SLAVE MULTICAST DYNAMIC MTU:1500 Metric:1
              RX packets:5762 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:100
              Interrupt:3 Base address:0x210

              eth1 Link encap:Ethernet HWaddr 00:50:04:C1:A6:B8
              inet addr:192.168.0.254 Bcast:192.168.0.255 Mask:255.255.255.0
              UP BROADCAST DEBUG NOTRAILERS RUNNING PROMISC SLAVE MULTICAST DYNAMIC MTU:1500 Metric:1
              RX packets:3336 errors:0 dropped:0 overruns:0 frame:0
              TX packets:2426 errors:0 dropped:0 overruns:0 carrier:0
              collisions:21 txqueuelen:100
              Interrupt:5 Base address:0xf480

              o หมายเหตุ ซึ่งวิธีการนี้ผมเป็นการใช้ linux connect lan card 2 ตัว ต่อกับ switch ตัวเดียวกัน 2 port นะครับ โดยที่ swith ไม่มี mode trunking นะครับ วิธีการที่จะใช้ bonding ในรูปแบบอื่นๆสามารถหาอ่านเพิ่มเติมได้จาก Documentation/networking/bonding.txt ใน source ของ kernel นะครับ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น