วันเสาร์ที่ 19 พฤศจิกายน พ.ศ. 2559

วิธีการทำ Bonding Network ใน CentOS


วิธีการทำ Bonding Network ใน CentOS

   เพิ่มความมั่นใจในระบบ network ด้วยการทำ bonding interface ในระบบ CentOS Linux เราสามารถรวมเอาหลายๆ Network card มารวมกันเสมือนว่าเป็น Network card เพื่อทำ HA ของ Network card ในกรณี Network card เสียหรือ Link Down หนึ่งเส้น ก็ยังสามารถทำงานต่อได้ หรือใช้ในกรณีที่ต้องการเพิ่ม bandwidth ของ network ก็ได้

สิ่งที่ต้องเตรียม
-เครื่องคอมพิวเตอร์พร้อมทำงาน 1 เครื่อง
-ติดตั้งระบบ Redhat, CentOS อย่างใดอย่างหนึ่ง
-Lan Card 2 ใบขึ้นไป
(วันนี้มาเป็นขั้น เป็นตอน แบบเต็มเลย หุหุ)

เริ่มทำ Bonding ใน CentOS กันเลยตรับ

1. เพิ่ม config ในไฟล์ /etc/modprobe.conf ซึ่งเป็นการเพิ่ม module ที่จะใช้
#vi /etc/modprobe.conf
alias bond0 bonding
options bonding mode=1 miimon=100


                                             

ถ้าต้องการทำ bonding มากกว่า 1 ให้เพิ่มส่วนข้างล่างโดยให้เปลี่ยนตัวเลขไปเลื่อยๆ
alias bond1 bonding
alias bond2 bonding

ตามความคิดผมคิดว่า bond0, bond1 เปรียบเสมือนเป็นการแทนชื่อเรียกใช้งาน function

การ bonding มี 7 mode (เริ่มตั้งแต่ 0 เป็น Default)
   mode=0 (Balance Round Robin)
   mode=1 (active-backup)*
   mode=2 (balance-xor)*
   mode=3 (broadcast)
   mode=4 (802.3ad)
   mode=5 (balance-tlb)
   mode=6 (balance-alb)
*ที่นิยมใช้กัน ความหมายถ้าว่างๆจะมาแปลให้อ่านอีกครั้ง

2. สร้างไฟล์ /etc/sysconfig/network-scripts/ifcfg-bond0
#vi /etc/sysconfig/network-scripts/ifcfg-bond0
    DEVICE=bond0
    BOOTPROTO=none
    ONBOOT=yes
    TYPE=Ethernet
    IPADDR=192.168.1.201
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.1
:wq


                                             

การปรับแต่งขึ้นอยู่กับเน็ตเวิร์คของคุณ

3. แก้ไขไฟล์ ifcfg-eth0 และ ifcfg-eth1 (หากมี interface มากกว่านั้น สามารถเพิ่มเติมได้)
สร้างและแก้ไขไฟล์ตามตัวอย่างดังนี้

Interface 1
#vi /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0
    BOOTPROTO=none
    ONBOOT=yes
    HWADDR=00:60:df:31:13:3d
    MASTER=bond0
    SLAVE=yes
    USERCTL=no


                                             

Interface 2
#vi /etc/sysconfig/network-scripts/ifcfg-eth1
    DEVICE=eth1
    BOOTPROTO=none
    ONBOOT=yes
    HWADDR=00:60:df:a0:14:c2
    MASTER=bond0
    SLAVE=yes
    USERCTL=no


                                             

4. ทำการ restart network สักครั้งเพื่อให้เห็นผล
service network restart
หรือ
/etc/init.d/network restart

   เมื่อทำการ restart network แล้ว ดูถ้าไม่มีอะไรผิดพลาดเราจะเห็น interface ที่ชื่อ bond0 up และสามารถทดสอบโดยการใช้คำสั่ง
ifconfig bond0

                                             

หรือ pingไปที่ IP address ที่กำหนดไว้ใน ifcfg-bond0
ping 192.168.1.201
5. monitor bonding ด้วย คำสั่ง
cat /proc/net/bonding/bond0

                                             

การเช็ค Link Network UP/DOWN
[root@ComZone ~]# mii-tool
eth0: negotiated 100baseTx-FD, link ok
eth1: negotiated 100baseTx-FD, link ok

เรามาลองกันว่าที่ทำมาได้ผลหรือป่าว การเช็คแบบง่ายๆ ด้วยใช้คำสั่ง
ifdown eth0
ผลที่ได้คือ Currently Active อยู่ eth1

                                             

เราจะ ifup eth0 ขึ้นมาใหม่ ด้วยใช้คำสั่ง
ifup eth0
ผลที่ได้คือ Currently Active ยังอยู่ที่ eth1 และ eth0 ก็ up ขึ้นมาแล้ว แต่อยู่ eth0 จะกลับมา Currently Active อีกครั้งก็ต่อเมื่อ eth1 down สรุปจะวนสลับกัน

                                           

   จากการที่เรา เลือกเทำเป็น mode = 1 จะเห็นได้ว่ามันแสดงเป็น mode ของ (active-backup) จริง แล้วถ้าเราเปลี่ยนเป็น mode อื่นละจะต้องทำยังไงบ้าง หลักการ วิธีการทำจะเหมือนกัน เพียงแค่เปลี่ยน mode ตามที่เราต้องการ ผมจะลองทำเป็น mode 2 ดู โดยไปแก้ไขไฟล์เดิม /etc/modprobe.conf ในส่วนของ options แล้วสั่ง restart network ดูผลที่ได้ครับ
options bonding mode=2 miimon=100

                                           

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

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