Skip to main content

Endian Firewall Load Balance ตามคำขอครับ

รูปภาพของ sothorn

จากกรณีที่คุณ fong  ทำ Load Balance ด้วย Endian Firewall ไม่สำเร็จตามกระทู้นี้ http://linux.sothorn.org/node/452#comment-351 ผมช่วยตอบตรงนี้นะครับ

ตามภาพด้านบนที่ผมใช้งานอยู่นะครับ
เมื่อเพิ่ม uplink เรียบร้อยแล้ว ก็มาเพิ่ม routing ในไฟล์ /var/efw/inithooks/start.local

#!/bin/sh
route del default
ip route add default equalize scope global nexthop via 192.168.1.1 dev eth1 weight1 nexthop via 192.168.3.1 dev eth3 weight 1
exit 0

คำสั่งนี้จะทำงานเมื่อเรารีบูทเครื่องใหม่ แต่ไม่จำเป็นครับเราสามารถสั่งรันได้เลยโดยใช้คำสั่ง

# /var/efw/inithooks/start.local

หรือ

# cd /var/efw/inithooks/
# ./start.local

ปัญหาที่คุณ fong รันคำสั่งนี้แล้ว Load Balance ไม่ทำงาน ผมคาดเดาว่า คำสั่ง ip route add จนถึง weight 1 ไม่ได้อยู่ในบรรทัดเดียวกัน ถ้าจะตัดบรรทัดก็ต้องจบด้วยเครื่องหมาย \  แต่อย่างไรก็แล้วแต่ แก้ให้คำสั่งนี้ อยู่บรรทัดเดียวกันให้หมดจะดีกว่าครับ

ปัญหาจาก Load Balance ไม่ทำงานอีกกรณีหนึ่ง ผมได้เขียนไว้ที่ 

http://linux.sothorn.org/node/398

ตามตัวอย่างคิดว่าน่าจะพอช่วยได้นะครับ
ถ้ายังติดปัญหาก็สอบถามมาได้นะครับ ด้วยความยินดี

ลิงค์ที่เกี่ยวข้อง

 

 

 

fong
User offline. Last seen 18 weeks 19 hours ago. Offline
Joined: 7 พ.ย. 2008
รายงานการใช้งาน Load Balane บน Endian 2.2 RC 3

ผมกลับมารันสคริปอีกครั้ง และลองดาวน์โหลด Log Server 1.0 ขนาด 473 MB
ใช้เวลาในการดาวน์โหลดทั้งหมด 33  นาที ครับ ถือว่าเยี่ยมยอม

ก่อนหน้านี้  ขนาดไฟล์ประมาณนี้จะใช้เวลา  50 - 1 ชั่วโมง ครับ

พอทำใจได้ครับสำหรับประสิทธิภาพของ Load Balance ที่ทำเอง(ฟรี)
ที่คุณ sothorn พูด ว่าคุณภาพอาจไม่สมบูรณ์ 100 % แต่ก็ยอมรับได้ครับ

ตอนนี้ผมเข้าไปรันสคริปให้ load balane รันทุก 15  นาที ตาม
http://linux.sothorn.org/node/398 แต่ขออนุญาตแก้ไขตรงที่

เข้าไปแก้ไขไฟล์  /etc/crontab
ด้วยคำสั่ง nana  /etc/crontab แล้วเพิ่มสคริป
*/15  * * * *     /var/efw/inithooks/start.local
ให้สคริป load balance รันทุก 15 นาที

ไว้ท้ายไฟล์ แล้วบันทึกไฟล์ด้วยคำสั่ง Ctrl+O  กด enter  1  ครั้ง และออกด้วย Ctrl+X

เพราะในความเห็ฯที่คุณ sothorn เขียนไว้มันเป็น   /ect/crontab (ตัว t และ e สลับกัน)
ครั้งแรกผมใช้วิธีการคัดลอกจากหน้าเว็บไป  ปรากฏว่าไม่ทำงานครับ
พอมานั่งไล่ดู  อ๋อ..มันผิดตรงนี้เอง  ตอนนี้ทำงานดีครับ

(ที่เพิ่มเติมไว้ กลัวว่าจะมีคนอื่นมาใช้วิธีการแบบผม  โดยไม่ได้ตรวจสอบ)
ขอบคุณ..คุณ sothorn ครับ

sothorn
รูปภาพของ sothorn
User offline. Last seen 1 ชั่วโมง 33 min ago. Offline
Joined: 11 มิ.ย. 2007
ขอบคุณครับ

ขอบคุณครับ ที่แจ้งคำผิด ได้แก้ไขแล้วครับ

ยินดีด้วยครับสำหรับ Load Balance แบบลูกทุ่ง :)

fong
User offline. Last seen 18 weeks 19 hours ago. Offline
Joined: 7 พ.ย. 2008
ต้องรีสตาร์ทสคริปอีกรอบ - และขออนุญาตนำบทความไปเผยแพร่

พอผมสั่งรันคำสั่ง ./start.lcal อีกครั้ง สคริปทำงานปกติครับ
แต่ไม่ทราบว่า สคริปมันจะรันได้นานเท่าไหร่ คงต้องรอดูไปก่อน ถ้าได้ผลยังไง จะมารายงานให้ทราบ

เรียนคุณ sothorn ครับ
เนื่องจากการทำ load balance บน endian นี่ ผมไม่ค่อยเห็นในบอร์ดอื่น ๆ มากนัก ถ้ามีก็จะเป็นแบบ ตอบสั้น ๆ ไม่ค่อยเข้าใจทั้งระบบ เหมื่อนที่คุณ sothorn เขียนไว้ มันเข้าใจได้ดีมาก  เพื่อให้ความรู้เกี่ยวกับเรื่องนี้ ได้เผยแพร่ในวงกว้าง  ผมจะขออนุญาตนำบทความของคุณ sothorn ไปเผยแพร่ในบอร์ดอื่นๆ ด้วย โดยจะใส่เครดิตไว้ทุกครั้ง ผมคิดว่ามันจะเป็นประโยชน์ในวงกว้างครับ

sothorn
รูปภาพของ sothorn
User offline. Last seen 1 ชั่วโมง 33 min ago. Offline
Joined: 11 มิ.ย. 2007
ยินดีครับ

ยินดีครับ แต่ขอทำความเข้าใจนะครับว่ามันไม่ใช่ระบบที่สมบูรณ์แบบ ยังมีปัญหาอยู่บ้าง ก็ต้องทำใจยอมรับอย่างปัญหาที่คุณ fong เจออยู่ แต่ถ้าได้อ่านตรงนี้ http://linux.sothorn.org/node/398 การแก้ปัญหา Script ไม่รัน ก็พอช่วยแก้ปัญหาได้ในระดับหนึ่งครับ

เพิ่มเติ่มนะครับ routing จะกลับมาเป็นแบบเดิมที่ไม่ใช่ Load Balance เมื่อ

1. เปลี่ยนแปลงคอนฟิกจากหน้าเวบ
2. Link เส้นใดเส้นหนึ่ง down ลง
3. เที่ยงคืน

 ก็ลองดูจาก http://linux.sothorn.org/node/398  ก็พอช่วยได้ครับ

 

fong
User offline. Last seen 18 weeks 19 hours ago. Offline
Joined: 7 พ.ย. 2008
สอบถามปัญหาที่เกิดขึ้น(เพิ่มเติม)

หลังจากทำตามคำแนะนำสำเร็จ เมื่อวานนี้ และลองดาวน์โหลดดู พบว่า มันทำงานได้จริง  กราฟต่าง ๆ ทำงานทั้งหมด  สามารถทำงานได้ในช่วงเวลา  บ่าย  14.00 -  20.00 น เท่านั้น

พอเช้าวันนี้เข้ามาเช็ดดูด้วย ip route ปรากฏว่าขึ้นอย่างนี้ครับ

root@efw-1225783320:~ # ip route
192.168.212.0/24 dev br0  proto kernel  scope link  src 192.168.212.1
192.168.1.0/24 dev eth2  proto kernel  scope link  src 192.168.1.2
192.168.0.0/24 dev eth1  proto kernel  scope link  src 192.168.0.2
default via 192.168.0.1 dev eth1

แสดงว่า สคริป load balance กลับไปเหมือนเดิม คือ ไม่ทำงาน ใช่หรือเปล่า

คุณ sothorn ลองช่วยวิเคราะห์ดูหน่อยว่า มันเกิดจากอะไรครับ

กำลังดีใจที่มีแบนวิดจ์เพิ่ม ไม่ทันไร...เสียดายจังเลยครับ

รบกวนคุณ sothorn อีกครั้งนะครับ

sothorn
รูปภาพของ sothorn
User offline. Last seen 1 ชั่วโมง 33 min ago. Offline
Joined: 11 มิ.ย. 2007
อ่านเรื่องนี้ครับ

อ่านเรื่องนี้ครับ http://linux.sothorn.org/node/398

fong
User offline. Last seen 18 weeks 19 hours ago. Offline
Joined: 7 พ.ย. 2008
ขอบคุณ..คุณ sothorn มากครับ

ผมทำตามที่คุณ sothorn แนะนำข้างบน โดยการก็อบปี้สคริปไปใส่ใน start.local ของผมเลย  โดยเปลี่ยน gateway เป็น 192.168.0.1  และ 192.168.1.1  และ ใช้คำสั่ง ./start.local

แล้ว ใช้ ip route ดู ปรากฏว่าไม่สำเร็จ

(คำสั่งที่คุณ sothorn เขียนไว้)ดังี้

#!/bin/sh
route del default
ip route add default equalize scope global nexthop via 192.168.1.1 dev eth1 weight1 nexthop via 192.168.3.1 dev eth3 weight 1
exit 0

ลองอีกที พยายามให้คำสั่งมันอยู่บรรทัดเดียว แต่ปรากฏว่ามันยาวเกินไป มันก็ตกมาที่บรรทัดถัดไปตลอด ผมเลย

ลบคำสั่งบางคำออก เป็นดังนี้

#!/bin/sh
route del default
ip route add default equalize scope global nexthop via 192.168.0.1 dev eth1  nexthop via 192.168.1.1 dev eth3 weight 1
exit 0

(ทั้งหมดนี้ เขียนอยู่บรรทัดเดียวกันครับ)

และลอง ใช้คำสั่ง  ./start.local ที่นี้ผลก็ปรากฏอย่างนี้

root@efw-1225783320:~ # ip route
192.168.212.0/24 dev br0  proto kernel  scope link  src 192.168.212.1
192.168.1.0/24 dev eth2  proto kernel  scope link  src 192.168.1.2
192.168.0.0/24 dev eth1  proto kernel  scope link  src 192.168.0.2
default equalize
        nexthop via 192.168.0.1  dev eth1 weight 1
        nexthop via 192.168.1.1  dev eth2 weight 1

แสดงว่า  load balance ของผมทำงานแล้ว ใช่ไหมครับ

โอ้..พระเจ้าจอร์ท  ขอบคุณ คุณ sothorn มากๆ ครับ

จะลองใช้งานดูครับ  สักพักคงได้เข้ามารายงานผมว่าเป็นอย่างไร

วันนี้ผมรอคุณ sothorn ทั้งวัน กลัวว่าจะไม่มาเขียน  และแล้วก็มาตามนัด ขอบคุณจริงๆ

sothorn
รูปภาพของ sothorn
User offline. Last seen 1 ชั่วโมง 33 min ago. Offline
Joined: 11 มิ.ย. 2007
ยินดีด้วย

ยินดีด้วยครับ

ดาวน์โหลดหนักๆ นั่งดูกราฟ Red และ Uplink ก็ได้คำตอบแล้วครับ :)
ว่า Load Balance แล้ว

หมายเหตุ เท่าที่ลองใช้  weight 1 แรกในคำสั่ง จะมีหรือไม่มีก็มีค่าเท่ากันครับ