* ความต้องการของระบบ
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 --->
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 นะครับ