View Single Post
Tuổi 21-06-2012, 06:04 AM   #46
caylua495
Newbie
 
Gia nhập: Jun 2012
Trả Lời: 1
Nguyên văn bởi emailhoc Xem Bài Gởi
Trong Lab này sẽ hướng dẫn thiết lập1 hệ thống loadbalancing và High-availability (HA) cho các web server (lab này có 2 web server ) kiểu active/passive sử dụng HAProxy và Keepalived .

Hệ thống Loadbalance nằm giữa người sử dụng (User )và các Apache web Server (các Web server này chạy cùng 1 trang web ( Backup – Loadbalancing cho nhau)).

== > Thiết lập Web server và đồng bộ 2 thư mục chứa source web ví dụ như WWW … thì ko nằm trong phần lab này (có thể dùng Rsync ,… để đồng bộ các thư mục chứa source web giữa các web server ) hoặc Dùng Unison .

Hệ thống sẽ kiểm tra tình trạng các webserver . Nếu một trong webserver chết thì tất cả các request của user sẽ tự động được chuyển hướng đến webserver còn lại ,user ko bị mất Session .

Bên cạnh đó, hệ thống loadbalance này cũng có độ sẵn sàng cao (HA), Con server này chết thì con kia sẽ lên Active , có nghĩa là người dùng sẽ không nhận thấy bất kỳ sự gián đoạn của dịch vụ.

Bạn có thể sử dụng HAProxy với bất kỳ ứng dụng web sử dụng Session .



Thông Tin trong Lab này :

2 con loadbalance

Lb1 200.200.200.11
Lb2 200.200.200.12

2 con web server

Web1 200.200.200.20
Web2 200.200.200.21

Và Ip ảo là

200.200.200.50

Cấu hình trên 2 server lb1 và lb2

Cài Repo cho 2 server :


# rpm -ihv http://ftp.riken.jp/Linux/fedora/epe...6-5.noarch.rpm



Cài Haproxy và Keepalived trên 2 server lb1 và lb2

# yum -y install haproxy keepalived



Cấu hình Keepalived trên 2 server lb1 và lb2


Backup file cấu hình

# mv /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak

Sửa file /etc/keepalived/keepalived.conf có nội dung như bên dưới

Bên Lb1

# vim /etc/keepalived/keepalived.conf

vrrp_script chk_haproxy {
script "killall -0 haproxy"
interval 2
weight 2
}
vrrp_instance VI_1 {
interface eth0
state MASTER
virtual_router_id 51
priority 101 # 101 on master, 100 on backup
virtual_ipaddress {
200.200.200.50 # IP ao
}
track_script {
chk_haproxy
}
}

Bên Lb2

# vim /etc/keepalived/keepalived.conf

vrrp_script chk_haproxy {
script "killall -0 haproxy"
interval 2
weight 2
}
vrrp_instance VI_1 {
interface eth0
state MASTER
virtual_router_id 51
priority 100 # 101 on master, 100 on backup
virtual_ipaddress {
200.200.200.50 # Ip ao
}
track_script {
chk_haproxy
}
}

Add thêm dòng dưới vào cuối file /etc/sysctl.conf bên 2 server Lb1 và Lb2 để user có thể truy cập vào IP ảo .

net.ipv4.ip_nonlocal_bind = 1

Chạy lệnh sau để áp dụng thông số trên cho file /etc/sysctl.conf

# sysctl –p

Start service keepalived

# service keepalived start


Kiểm tra Server lb1 sẽ thấy Keepalived lắng nghe trên ip ảo mà chúng ta thiết lập

(200.200.200.50)

# ip addr sh eth0



Và Ip ảo này được gán trên interface eth0

Kiềm tra bên server lb2


# ip addr sh eth0



Ta không thấy Ip ảo ,chỉ khi nào Server Lb1 chết thì mới lb2 mới lên active và có ip ảo đó
(200.200.200.50)

Cấu hình HAProxy trên lb1 và lb2
( Thực hiện 2 bên server lb1 và lb2 )

Bạn có thể vào link sau kham khảo các thông số cấu hình cho haproxy.cfg

http://haproxy.1wt.eu/download/1.4/d...figuration.txt

Backup file cấu hình

# cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bak

Sữa file /etc/haproxy/haproxy.cfg với nội dung sau :

# vim cp /etc/haproxy/haproxy.cfg

listen webfarm 200.200.200.50:80
mode http
stats enable # de co the truy cap thong ke qua giao dien web
stats auth root:123456 # user va pass truy cap thong ke qua giao dien web
balance source
cookie JSESSIONID prefix
option httpchk HEAD /check.txt HTTP/1.0
option httpclose
option forwardfor
server web1 200.200.200.21:80 cookie A check
server web2 200.200.200.22:80 cookie B check


Cho HAProxy và Keepalived khởi động cùng hệ thống và Start haproxy

(Thực Hiện bên 2 server )

# chkconfig haproxy on
# chkconfig keepalived on
# service haproxy start

Cấu hình log cho 2 Web server web1 và Web2
(Thực Hiện bên 2 server )

Cấu hình và thiết lập các thông số Log để 2 web server có thể ghi nhận lại thông tin truy cập của các client .

# vim /etc/httpd/conf/httpd.conf

Thêm vào cuối file /etc/httpd/conf/httpd.conf các dòng sau

SetEnvIf Request_URI "^/check\.txt$" dontlog
CustomLog logs/access_log combined env=!dontlog




Tạo file check.txt bên 2 web server với nội dung rỗng .

# touch /var/www/check.txt

Và như vậy web server sẽ ghi nhận log là của 2 con proxy



Nếu muốn ghi nhận log của các client như Ip và trình duyệt ... thì thêm vào dòng sau :

LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined



Và file log sẽ như sau :

# cat /var/log/httpd/access_log



Cách để test thử hệ thống


- Vào trình duyệt truy cập vào Ip ảo 200.200.200.50 nó sẽ vào giao diện web .



- Tắt thử 1 trong 2 con web server thì user vẫn truy cập bình thường .

-Tắt con Lb1 thì con Lb2 sẽ lên active



Và các Session của User ko bị mất kết nối .

Truy cập các thông kê của HAProxy

Bằng link sau :

http://200.200.200.50/haproxy?stats


Thông qua Ip ảo này cũng giúp che giấu hệ thống web server của chúng ta giúp giảm thiểu rủi ro thiệt hại ...

Theo Kenhgiaiphap
Chúng tôi hiện đang cung cấp một số dịch vụ sau
- Thiết kế website 300.000đ , Tặng tên miền và Hosting miễn phí 1 năm không giới hạn dung lượng, tặng phần mềm SEO chuyên nghiệp (Hoàn thành sau 3 ngày đăng ký)
- Tạo tài khoản trên các diễn đàn, các trang rao vặt...10.000đ/1000 tài khoản/ 1000 diễn đàn
- 10.000 tài khoản cùng mật khẩu truy cập trên các diễn đàn giá 100.000đ (Hàng tháng được cập nhật 1000 tài khoản mới miễn phí trong 1 năm)
- Tạo tài khoản YahooMail, ZingMail 10.000đ/ 20 Tài khoản
- Đăng tin 10.000đ/ 100 Tin đăng. Khách hàng đăng 1000 tin được miễn phí up tin 2 lần/ ngày
- Đăng tin SPAM 10.000đ/ 1000 Tin đăng
- Tăng lượt xem tin 10.000đ / 1000 Lượt xem
- Đăng tin SEOKeywords 10.000đ/100 Tin
- Gửi tin nhắn trên profile của thành viên 1000 diễn đàn. Giá 10.000đ/1000 tin nhắn/đến 1000 thành viên
- Cung cấp danh sách hơn 20.000.000 địa chỉ mail được phân loại, tỷ lệ mail hoạt động cao, giá 50.000đ. Tặng kèm phần mềm lọc mail, gửi mail tự động
- Danh sách 11.000 diễn đàn, trang rao vặt việt nam giá 10.000đ
- Danh sách 190.000 boxlink các chuyên mục đăng tin giá 10.000đ
- Phần mềm tự động tìm các trang rao vặt, diễn đàn... theo từ khóa xuất ra danh sách. Giá 50.000đ
- Phần mềm SEO website chuyên nghiệp. Giá 50.000đ
- Phần mềm lọc mail còn hoạt động. Giá 10.000đ
- Phần mềm gửi mail tự động. Giá 10.000đ
- Phần mềm quét mail trên web. Giá 10.000đ
- Phần mềm kích hoạt mail . Giá 10.000đ
- Phần mềm tạo Backlink đến hơn 3000 site. Giá 50.000đ
- Phần mềm tạo tài khoản Yahoo tự động. Gá 10.000đ

Mọi chi tiết vui lòng liên hệ Mr Khánh: 0934225077
Yahoo: anhngo8x
Skype: anhngo8x
Mail: anhngo8x@gmail.com
Website: http://đỗvănkhánh.vn
caylua495 vắng mặt   Trả lời ngay kèm theo trích dẫn này