BONDING on LINUX (RHEL6.3)
การทำ Bonding เป็นการทำให้หลายๆ Interface เป็น 1 Chanel
มี Mode ต่างๆ ดังนี้
-
Mode 0 (Balance-RR) เป็นการรับ-ส่งข้อมูลเป็นลำดับ
(Round Robin) กับแต่ละ Interface (ใช้สำหรับ Fault Tolerace และ Load
Balancing)
-
Mode 1 (Active-Standby) เป็นการรับ-ส่งข้อมูลที่
Interface ที่เป็น Master ส่วน Interface ที่เหลือเป็น Slave
จะ
Standby ไว้ ถ้า Interface ที่เป็น Master ใช้ไม่ได้ Interface
ที่เป็น
Slave จะขึ้นมาเป็น Master เพื่อทำงานแทน (ใช้สำหรับ Fault
Tolerace)
-
Mode 2 (Balance-XOR) เป็นการรับ-ส่งข้อมูลแต่ละ
Interface โดยใช้หลัก XOR เพื่อหา Interface ที่จะส่งข้อมูล
(ใช้สำหรับ Fault Tolerace และ Load Balancing)
-
Mode 3 (Boadcast) เป็นการส่งข้อมูลไปทุกๆ
Interface (ใช้สำหรับ Fault Tolerace)
-
Mode 4 (802.11 ad) เป็นการเพิ่ม Bandwidth
เหมาะการงานที่มีการส่งข้อมูลมากๆ
(ต้อง Support Link Aggregation และต้อง Set
Switch ให้ Interface ที่เข้ามาเป็น 802.11ad ด้วย และต้อง Support ethtool
และ
Support กับ Driver ด้วย)
-
Mode 5 (Balance-TLB) Adaptive Transmit Load
Balancing เป็นการเฉลี่ยข้อมูลส่งทางทุกๆ Interface แต่รับข้อมูลเพียง
Interface เดียว ถ้ามี Interface ใดเสียก็จะตัดออกจากการนำมาคำนวณค่าเฉลี่ย และถ้า
Interface ที่รับข้อมูลเสียก็จะเปลี่ยนไปใช้ Interface อื่นแทน (ต้อง Support
ethtool)
-
Mode 6 (Balance-ALB) Adaptive Load Balancing เป็นการเฉลี่ย
รับและส่งข้อมูลบนทุกๆ Interface ถ้ามี Interface ใดเสียก็จะตัดออกจากการคำนวณค่าเฉลี่ย
(ต้อง
Support ethtool และต้องรองรับการเปลี่ยน MAC Address ในระหว่างการใช้งาน)
ในที่นี้ขอยกตัวอย่างการทำ Bonding Mode 1 (Active-Standby) บน RHEL6.3
1.
ให้ปิด Service NetworkManager เนื่องจากการทำ
Bonding ไม่ Support กับ Service NetworkManager
service NetworkManager stop
chkconfig NetworkManager off
2.
สร้างไฟล์ Interface bond (ในที่นี้สร้างชื่อ
bond0)
vim /etc/sysconfig/network-script/ifcfg-bond0
Note: BONDING_OPTS คือ การกำหนด Option ของ bonding
mode=1
คือ
Mode Active-Stanby
miimon=50
คือ
ระยะเวลาในการตรวจสอบ Interface link
3. แก้ไขไฟล์ Interface
Device ที่จะนำมาทำ Bonding (ในที่นี้จะทำกับ Interface eth0 และ eth1)
แก้ไขดังนี้ทั้งที่
/etc/sysconfig/network-script/ifcfg-eth0 และ /etc/sysconfig/network-script/ifcfg-eth0
Note : MASTER ใส่ชื่อ DEVICE BONDING ที่เราสร้างขึ้น
SLAVE
กำหนดให้
Interface นี้เป็น SLAVE ของ BOND0
4. สร้างชื่อให้กับ
Virtual bonding interface ที่เราจะทำ (bond0)
vim
/etc/modprobe.d/bonding.conf
5. Restart
service network
service network
restart
cat
/proc/net/bonding/bond0
ทดสอบ Down Interface eth0 จะได้ผลดังนี้
เมื่อ Up interface eth0 ขึ้น ก็จะมา Standby
ให้กับ
bond0
ผิดพลาดประการใดขออภัยไว้ ณ ที่นี้ด้วยครับ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น