goodbye 212cafe.com
เหนื่อยดี ช่วงนี้
Happy new year 2008 - Bac ...
Happy December
ตัณหานั่นและ เป็นบ่อเกิดแ ...
Disconnect time for syste ...
system admin เล่าธรรม
Called "Family" ...
Calm + Jazz
golfreeze 's holiday
400D and next step..
วูบหนึ่งของจิต
คิดถึงจัง ครับ อาม่า
loadbalance in my style
Korea Trips

1 | 2 | 3 | 4 | 5 | 6 | 7 |>>


All (101)
default (101)



สมัครสมาชิก | Login


All (2)
default (2)



editor
พี่ต้น
อาจารย์อัน
ป๋าเชษ thaiadmin
G7_Joke
Blog ท่าน xCarible
ป๋าตั้ม zendz
wai_wai
ป๋า HUI
Doc+E-book ท่านออฟ
forum zendz
พี่ชัตพง
packetstormsecurit
thai_Linux_cafe
Kitty เว็บ อ.กิต
http://gentoo-wiki.c
www.unixtutorials.in
www.securityfocus.co
www.linuxsecurity.co
www.netadmintools.co
กลุ่มผู้ดูแลระบบแห่ง
network_thai_อ่าน
ป๋าอัท siambox
เช๊คราคาคอม
thailand freebsd
debian expert P.poon
พี่ดวง NTT
ตาลแห้ง
สภ อ.ชะอวก Freebsd
พี่ชัย NTT
Itwizard
สมาคมถ่ายภาพแห่้งไทย
พี่เฮา 2how
ท่าน vexxhost
shell script
secure knowledge
อ.วิริยะ Unix เก๋า
กระดานดำ เพื่อสังคม
เก๋าเรียกพี่ ท่านกิว
กีต้าร์เมา
Learning Hornica
Debian project
รู้ทันมะเร็ง
ฝึก shell script
ruby + ubuntu
gg db hack
พี่ samarn ถ่ายรูป



loadbalance in my style
2007-09-28 15:36:32

 
                       
                     Load Balance and redundancy สำหรับในส่วนนี้ ระบบของบริษัทใหญ่ๆ
อาจนำไปใช้ประโยชน์ได้น่ะครับ ในกรณีต้องการ แบ่งการทำงานของ application เช่น  mail ,web , dns  เพื่อไม่ให้เครื่องใดเครื่องทำงานหนักเกินไป รวมถึงเมื่อเกิดเครื่องใดเครื่องหนึ่งมีปัญหาระหว่างให้ใช้งาน ก็สามารถสลับการทำงานไปเครื่องอื่นๆ ที่เรา
ทำการ สร้าง ระบบ failover ไว้ได้

ลงใน freebsd 6.2 ทดสอบกับโดยใช้งานผ่าน เว็บ

หลักการก็คือ ดังนี้ครับ ต้องใช้เครื่อง อย่างน้อย 2 เครื่อง

10.0.1.148:8009 config เป็น เว็บ  (lb1.pl.com)
10.0.1.148:80 config เป็น pen (loadbalance1)
10.0.1.149:8009 config เป็น เว็บ  (lb2.pl.com)
10.0.1.149:80  config เป็น pen (loadbalance2)
10.0.1.150 config เป็น virtual ip ที่ให้ เป็นเว็บ application

                          ~~~
                       ( net )
                         ~~~
                          |
                          |
                          |
                      ----------
                     |  switch  |
                      ----------
                      /       
                     /   VIP   
             ---------         --------
            |  lb1  |           | lb2  |
             ---------         --------

โดยที่เรากำหนด ให้ เว็บนั้นไป listen port 8009 เพราะว่า ตัว services pen ก็ listening port 80 เหมือนกันดังนั้นอาจจะเกิดการชนกันได้
แล้วจะทำให้ service pen ไม่ทำงานน่ะครับ 

เริ่มแรกทำการลง os ทั้ง2เครื่องให้เสร็จก่อนครับ

application ที่ใช้ มี 2 ตัวคือ
1.pen ใช้เป็นตัวควบคุมการ loadbalance ซึ่งรายละเอียดหาอ่านได้ที่  http://siag.nu/pen/
2.freevrrpd เป็นตัวจำลอง vip ให้เรา รวมถึงเป็น virtual gateway แล้วทำการ switch ไปเครื่องๆ อื่นเพื่อป้องกันการเกิด failover รายละเอียดอ่านได้ที่ http://romana.now.ie/writing/vrrpforhostservices.html

เริ่มแรกเลย ลง pen ก่อนครับโดยที่ install ผ่าน portใน freebsd โดยที่ config เหมือน
กันทั้ง 2 เครื่องเลยน่ะครับ


#cd /usr/ports/net/pen
#make install clean

โดยที่ config ที่ไฟล์ดังนี้

#cd /etc/supervise/pen
   
สร้างไฟล์     
   #cat > run
เพิ่มดังนี้       
 #!/bin/sh

        exec 2>&1
        exec pen -d -u pen -j /var/chroot/pen -C localhost:8888 -f -r 80 10.0.1.148:8009 10.0.1.149:8009

เปลี่ยน สิทธิ์  
 #chmod 755 run
  
#cd log
        
#cat > run
เพิ่มดังนี้

        #!/bin/sh
       
        exec /usr/local/bin/setuidgid penlog /usr/local/bin/multilog s999999 n20 /var/log/pen

        เปลี่ยนสิทธิ์
   #chmod 755 run

สั่ง Start up pen services.

#mkdir /service       
#cd /service
    #ln -s /etc/supervise/pen
        #echo "csh -cf '/usr/local/bin/svscanboot &'" >> /etc/rc.local
        #csh -cf '/usr/local/bin/svscanboot &'
        #sleep 5 && svstat pen

ต่อมา config ที่ตัว freevrrpd

#cd /usr/ports/net/freevrrpd
#make install clean

เข้าไป config ที่ไฟล์ /usr/local/etc/freevrrpd.conf
โดยที่
#cp /usr/local/etc/freevrrpd.conf.sample /usr/local/etc/freevrrpd.conf
#vi /usr/local/etc/freevrrpd.conf

##ส่วนของ Server lb1.pl.com ก็ config ตามนี้น่ะครับ
 [VRID]
 serverid=1  
 interface=fxp0       #ชื่อ interface ของ card lan ในเครื่องครับ
 priority=255         #255 เป็น master node
 addr=10.0.1.150/23     #address ของ virtual ip ที่เราต้องการให้เป็น และส่วนหลัง /
นั้นเป็น subnet mask ที่เป็นรูปแบบ CIDR
 useVMAC=yes  
 spanningtreelatency=40
-----------------------------
##ส่วนของ Server lb2.pl.com ก็ config ตามนี้น่ะครับ
 [VRID]
 serverid=1  
 interface=dd0       #ชื่อ interface ของ card lan ในเครื่องครับ
 priority=255         #255 เป็น master node
 addr=10.0.1.150/23     #address ของ virtual ip ที่เราต้องการให้เป็น และส่วนหลัง /
นั้นเป็น subnet mask ที่เป็นรูปแบบ CIDR
 useVMAC=yes  
 spanningtreelatency=40

แค่นี้ครับ

ต่อจากนั้น มา config ส่วนของ apache ครับ

#vi /usr/local/etc/apache22/httpd.conf
 
 ##ส่วนของ  lb1.pl.com ก็ config ตามนี้น่ะครับ
 Listen 10.0.1.148:8009

 ##ส่วนของ  lb2.pl.com ก็ config ตามนี้น่ะครับ
 Listen 10.0.1.149:8009

---------------------------------
ทำการ configuration log VRRP ไปไว้ที่ไฟล์ของมันเอง ทั้ง 2 เครื่องเลยครับ

        #touch /var/log/freevrrpd.log
        #cat >> /etc/syslog.conf

เพิ่ม 
        !freevrrpd
        *.*                     /var/log/freevrrpd.log

 -------------------------------------
สำหรับการตามดู error log ของ "pen" จะดูได้ที่
#tail -f /var/log/pen/current
 
สำหรับการตามดู error log ของ "freevrrpd" จะดูได้ที่
#tail -f /var/log/freevrrpd.log
 
ครับ
ลอง access เว็บดู แล้วดู log ตามไปด้วยน่ะครับ จะได้เห็นการเปลี่ยนแปลงของทั้ง 2 เครื่องโดยที่จะมี lan ของ ip 10.0.1.150 เพิ่มขึ้นมาทั้ง 2 เครื่อง
 
 
สำหรับ step ต่อไปก็คงพัฒนาเป็น application อื่นน่ะครับแล้วก็ใช้ nat ให้ผ่านไป วง
dmz ด้านหลังบ้าน ยังไงก็รอติดตามน่ะครับ
 
ถ้าทำแล้ว มีปัญหาก็สอบถามได้น่ะครับ

ป้าย : loadbalancefreevrrpdpenfreebsdgolfreeze
Dictionary : loadbalancefreevrrpdpenfreebsdgolfreeze



http://gentoo-wiki.com/HOWTO_MySQL_Replication
by : golfreeze [2007-10-01 01:31:36]


http://dev.mysql.com/doc/refman/5.0/en/replication-howto.html
by : golfreeze [2007-10-01 01:31:42]


http://www.debianhelp.co.uk/nfs.htm
by : golfreeze [2007-10-02 22:42:59]


over จิงๆ วิชาการไปหน่อยมั๊ย จารย์กอฟ
by : iamaimom [2007-10-11 16:21:41]