* ความต้องการของระบบ
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 นะครับ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น