PPP Load Balancer Script: ทำเองได้ จ่ายแพงกว่าทำไม ?
PPP Load Balancer Script - 0.1.1
ความสามารถ
- ออกแบบให้ใช้กับ PPP Connection (ADSL - PPPoE, Dial-up - PPP)
- ทำ Load Balance แบบอัตโนมติ
- มีการจัดการกับการเชื่อมต่อที่อาจจะหลุดระหว่างใช้งาน (ใช้ cron เป็นตัวช่วยในการ polling)
- ไม่จำกัดจำนวนการเชื่อมต่อของ PPP และสามารถเพิ่ม หรือลดจำนวนได้ในขณะทำงาน
ข้อจำกัด
- ใช้ cron ในการ polling ซึ่งมีข้อจำกัดเรื่องเวลาต่ำสุดในการ poll คือ 1 นาที เป็นผลให้การทำงานมี Delay ในการจัดการ Load Balance บ้างเล็กน้อย
Source
http://neutron.debianclub.com/neutron/projects/ppp-balance/ppp-balance.sh
การนำไปใช้งาน
เนื่องจากเป็น Script ที่อยู่ในระหว่างการพัฒนา จึงอาจมีข้อผิดพลาดที่ยังตรวจไม่พบอยู่บ้าง แต่จากการทดสอบเป็นเวลาระยะหนึ่งแล้ว Script นี้สามารถใช้งานได้ดี จึงได้นำออกมาเผยแพร่สู่สาธารณชน เพื่อเป็นประโยชน์ต่อผู้ที่มีความสนใจ ซึ่งสามารถนำไปใช้เพื่อศึกษา หรือแม้กระทั่งเชิงการค้า แต่กรุณาคงไว้ซึ่ง License ที่ระบุตัวผู้พัฒนา เพื่อเป็นกำลังใจในการพัฒนางานดี ๆ ต่อไป
วิธีใช้งาน
เตรียมความพร้อมของระบบ (Debian GNU/Linux) โดยติดตั้งโปรแกรมที่จำเป็นต่าง ๆ และทดสอบว่า สามารถใช้งาน PPP connection ได้อย่างปกติก่อนลงมือใช้ Script
# aptitude install iproute
ตรวจสอบระบบว่ามีการเชื่อมต่อ PPP เรียบร้อยหรือยัง ในกรณีของผมต่อเป็น PPPoE ผ่าน ADSL ครับ (ในที่นี้จะไม่ได้พูดถึงวิธีการเชื่อมต่อ PPP)
# ifconfig
... lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 ... ... ppp0 Link encap:Point-to-Point Protocol inet addr:118.173.xxx.xxx P-t-P:118.173.xxx.xxx Mask:255.255.255.255 ... ... ppp1 Link encap:Point-to-Point Protocol inet addr:118.173.xxx.xxx P-t-P:118.173.xxx.xxx Mask:255.255.255.255 ... ...
จะเห็นว่าเรามีการเชื่อมต่ออยู่ 2 Interface คือ ppp0 กับ ppp1 และเป็นเป้าหมายในการทำ Load Balance ขั้นต่อไปคือ ดึง Script มาใช้งาน
# cd /usr/local/bin # wget http://neutron.debianclub.com/neutron/projects/ppp-balance/ppp-balance.sh
หลังจากนั้น สั่งให้ Script ทำงาน
# ./ppp-balance.sh
... Mon Apr 28 16:46:24 ICT 2008: Updating default route ... Mon Apr 28 16:46:24 ICT 2008: /sbin/ip route add default scope global equalize nexthop via 118.173.xxx.xxx dev ppp0 weight 1 nexthop via 118.173.xxx.xxx dev ppp1 weight 1
ตรวจสอบความถูกต้องในการทำ Load Balance
# ip route
118.173.xxx.xxx dev ppp0 proto kernel scope link src 118.173.xxx.xxx 118.173.xxx.xxx dev ppp1 proto kernel scope link src 118.173.xxx.xxx 172.30.8.0/21 dev eth2 proto kernel scope link src 172.30.8.2 default equalize nexthop via 118.173.xxx.xxx dev ppp0 weight 1 nexthop via 118.173.xxx.xxx dev ppp1 weight 1
หากปรากฏข้อความ default equalize .... แสดงว่าระบบจัดการทำ Load Balance เรียบร้อยแล้ว สามารถทดสอบใช้งาน ได้ตามปกติ
# host www.google.com www.google.com is an alias for www.l.google.com. www.l.google.com has address 74.125.19.103 www.l.google.com has address 74.125.19.99 www.l.google.com has address 74.125.19.147 www.l.google.com has address 74.125.19.104
เป็นอันเรียบร้อยในการทดสอบ ขั้นต่อไปคือ ทำให้ระบบ Polling เพื่อตรวจสอบสถานะการเชื่อมต่อ ว่ามีหลุด มีเปลี่ยนแปลงหรือไม่
สร้าง /etc/cron.d/ppp-balance
*/1 * * * * root /usr/local/bin/ppp-balance.sh >/dev/null 2>&1
สั่ง Restart cron
# /etc/init.d/cron restart
เป็นอันเสร็จกระบวนการ หากเครื่องที่ทำ Load Balance เคยเป็น Internet Gateway เดิม สามารถใช้งานได้ทันที ไม่ต้องตั้งค่าอะไรเพิ่มเติม
- neutron's blog
- Log in to post comments
![]() |
ลิขสิทธิ์ของบทความเป็นของเจ้าของบทความแต่ละชิ้น ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-อนุญาตแบบเดียวกัน 3.0 ที่ยังไม่ได้ปรับแก้ |
Comments
Re: PPP Load Balancer Script: ทำเองได้ จ่ายแพงกว่าทำไม ?
on 17 May, 2008 - 21:46 Permalink
โหลดไม่ได้ครับ แก้ไขด้วยครับ ขอบคุณครับ
Re: PPP Load Balancer Script: ทำเองได้ จ่ายแพงกว่าทำไม ?
on 23 May, 2008 - 07:12 Permalink
พอดีฝากไว้ที่ Server ใน ม.ขอนแก่นครับ มีปัญหาเรื่องไฟ (ไฟดับ บ่อยหน่อย)
ยังไม่ได้ เสนอให้เขาซื้อ UPS ใหม่ครับ
ช่วงไหนโหลดไม่ได้ ก็น่าจะเป็นเพราะไฟดับครับ :P
___
Neutron: Linux Addict!
Re: PPP Load Balancer Script: ทำเองได้ จ่ายแพงกว่าทำไม ?
on 9 June, 2008 - 20:58 Permalink
งง script เหมือนกันนะครับช่วย เรียบเรียงให้มัน เข้าใจง่ายหน่อยได้มั้ยครับ
Re: PPP Load Balancer Script: ทำเองได้ จ่ายแพงกว่าทำไม ?
on 10 June, 2008 - 15:10 Permalink
เหอ ๆ นี่ขนาดผมเรียบเรียงมาแล้วรอบนึงนะครับ
ถ้าเอาตัวต้นแบบมาให้ดูกัน สงสัยจะหนักกว่านี้
จริง ๆ หลักการของ Script ไม่มีอะไรมากครับ
แค่เช็ค ppp connection แล้วจับทั้งหมดมาทำ routing
___
Neutron: Linux Addict!
Re: PPP Load Balancer Script: ทำเองได้ จ่ายแพงกว่าทำไม ?
on 11 March, 2009 - 11:01 Permalink
พอดีผมนำตัวนี้ไปใช้ที่โรงเรียนแบบไม่ได้แก้ไขอะไร
เครื่องเป็น Gateway ไม่มี Squid ใช้เล่น net กับ msn แต่พบปัญหาว่าเข้า Hotmail ช้ามาก และก็ msn เข้ายากมาก ติดๆหลุดๆ
ไม่ทราบว่าจะแก้ไขยังไงดีครับ ดู Script แล้วงงมากเลยครับ
Re: PPP Load Balancer Script: ทำเองได้ จ่ายแพงกว่าทำไม ?
on 5 August, 2011 - 09:31 Permalink
ขอรับไปศึกษาครับ CC 4.3 กับ ClearOS work มัยครับ??