หน้าเว็บ

วันเสาร์ที่ 7 ธันวาคม พ.ศ. 2556

BONDING on LINUX (RHEL6.3)

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




6.       Check Interface bond0
       ifconfig


         cat /proc/net/bonding/bond0



ทดสอบ Down Interface eth0 จะได้ผลดังนี้




เมื่อ Up interface eth0 ขึ้น ก็จะมา Standby ให้กับ bond0




ผิดพลาดประการใดขออภัยไว้ ณ ที่นี้ด้วยครับ








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

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