Saturday, January 2, 2010

Http Load Balance

Hôm trước có học về Ha Proxy, Bình bảo làm video nhưng ngại nên hn viết tut ( tutorial)
Chuẩn bị topo
-------------------192.168.1.34---------------
-------------------Ha proxy-------------------
-------------------10.0.0.1-------------------
---10.0.0.2----------------------10.0.0.3-----
----web1---------------------------web2-------
---172.16.0.2------------------172.16.0.3-----
--------------172.16.0.1----------------------
------file, DB proxy--------------------------

Ở đây làm 1 máy File, DB chung, nếu nâng cấp thì đây sẽ là proxy file và DB
Máy HaProxy, web1 web2 có 2 card mạng, thiết lập ip như trên
Máy HaProxy cài base, web1 web2 cài httpd
file, DB yêu cầu có NFS server và MySQL Server
Bắt đầu: Tại HaProxy:
Dùng gói: haproxy-1.3.14.6-1.el5.i386.rpm
rpm -Uvh haproxy-1.3.14.6-1.el5.i386.rpm
H cấu hình cho haproxy, file cấu hình ở: /etc/haproxy/haproxy.cfg. Trong ấy có sẵn nhưng mình chỉ dùngn những tham số sau:
global
        log 127.0.0.1   local0
        log 127.0.0.1   local1 notice
        #log loghost    local0 info
        maxconn 4096
        #debug
        #quiet
        user haproxy
        group haproxy

defaults
        log     global
        mode    http
        option  httplog
        option  dontlognull
        retries 3
        redispatch
        maxconn 2000
        contimeout      5000
        clitimeout      50000
        srvtimeout      50000

listen webfarm 192.168.1.34:80
       mode http
       stats enable
       stats auth admin:123456
       balance roundrobin
       cookie JSESSIONID prefix
       option httpclose
       option forwardfor
       option httpchk HEAD /check.txt HTTP/1.0
       server sv1 10.0.0.2:80 cookie A weight 10 check
       server sv2 10.0.0.3:80 cookie B weight 50 check
Lưu ý:  listen webfarm 192.168.1.34:80 là ip server proxy lắng nghe,
server sv1 10.0.0.2:80 cookie A weight 10 check là web server phân tải
balance roundrobin sử dụng cơ chế roundbin quay vòng
stats auth admin:123456 user/pass để giám sát
service haproxy start
Vào bằng url: 192.168.1.34/haproxy?stats
Đăng nhập vào sẽ thấy sv1 và sv2 ở trạng thái down.
Trên web1 và web2, tại apache document root tạo file: check.txt
echo "OK" > /var/www/html/check.txt
F5 lại proxy, sv1 và 2 up :D
Xong phần phân tải.
H đến File:
Tại máy web1 và 2, dùg file config như nhau. Lưu ý là phần vhost chỉ khác ip lắng nghe, còn lại path đến document host là như nhau. Giả sử là /home/abc
Tạo thư mục /home/abc, chmod 755 để apache read
Trên máy file, cũng tạo /home/abc, đây là nơi lưu nội dung của abc.
Tại máy file, sửa file /etc/exports:
Thêm:
/abc      172.16.0.0/255.255.0.0(rw)
service nfs restart
Trên máy web1 và 2, tiến hành mount
mount -t nfs //172.16.0.1:/abc /home/abc
Thử tạo file trên máy file rồi check trên web1 và 2
Với MySql, khi setup web ko dùng localhost để trỏ tới DB server mà là ip của máy DB server ( hoặc hostname của nó nếu khai báo)
Xong. :D
---------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------
All my Lab:
Linux Lab -- window and Cisco Lab
to be continued - I will update more.


2 comments:

cosmology89 said...

Hey bro, cho hỏi tý. Host thằng Thắng có setup đc sock ssh ko? Setup hộ 1 con cái. :D

Anonymous said...

xin chào bạn,bạn học ở HV mật mã đúng ko,nếu bạn vẫn còn onl ở trang này xin cho mình hỏi chút về loab balancing nhé ,mình sẽ quay lại nếu bạn trả lời.Hy vọng dc nói chuyện với bạn !

Install Xposed Inspector and Frida on Genymotion

Today i had some work with android. So i need trace application. I found 2 nice tool can help me: Xposed Inspector and Frida. To setup ther...