Giải Pháp  Giải Pháp Loadbalacing
 
Pen simple load balancer for tcp
09:47 | 10/04/2010

Pen là một ứng dụng dùng đê phân tải cho giao thức tcp(http,ftp,imap,pop…)  nhưng với cấu hình hết sức đơn giản,không cần phải cấu hình phức tạp như các load balancer khác.Nó cũng cho phép khi một server trong farm bị chết Pen sẽ tự động loại bỏ ra.

Với Pen ta có thể quy định một client được phép tạo bao  nhiêu kết nối đến server và một server có bao nhiêu client kết nối vào mặc định là 2048.Sau đây ta sẽ cài đặt và test với  cấu hình như sau:

1. Pen server 192.168.137.128
2. Web server 1 192.168.137.133
3. Web server 2 192.168.137.134

1.Install

-   wget http://siag.nu/pub/pen/pen-0.18.0.tar.gz
tar -xf pen-0.18.0.tar.gz
cd pen-0.18.0
ls
./configure
make
make install
-
Hoặc các bạn có thể download file rpm mà mình đã compile sẵn dành cho các máy i386

2.Config

- Source của pen không có file để start pen theo kiểu service như các service thông dụng trên linux.Đây là file init dùng để start pen.
- Trong file init mình đã bao gồm luôn việc xuất các thông tin về server pen như số server,client,connection đến file html.Để coi file html các bạn phải httpd vào bằng cách yum install httpd.Và file html mình output mặc định ra /var/www/html/index.html.
- Để update tình trạng server pen ra file html.Ta cấu hình  thêm phần này nữa :

cp /usr/local/doc/pen/penstats /usr/local/bin/


[root@an ~]# vi /usr/local/bin/penstats
#!/bin/sh
PIDFILE=/var/run/pen.pid-80
WEBFILE=/var/www/html/index.html
kill -USR1 `cat $PIDFILE`
sleep 2
echo “Content-type: text/html”
echo
cat $WEBFILE

[root@an ~]# chmod 755 /usr/local/bin/penstats
[root@lan ~]# crontab -e
*/1 * * * * /usr/local/bin/penstats

- Và sau đầy là cấu hình của file init:

#!/bin/bash
#
# Pen: Starting Pen
#
# chkconfig: 345 93 92
# description:Simple load-balancer
# processname: pen

. /etc/rc.d/init.d/functions

pen=”/usr/local/bin/pen”
lockfile=”/var/lock/subsys/pen”
WEBFILE=/var/www/html/index.html
prog=”pen”
RETVAL=0

# PID file
PID=/var/run/pen.pid-80

# log file
LOGFILE=/var/log/pen.log

# control port
CONTROL=800

# max connections
MAX_CONNECTIONS=500

# port
PORT=80

# number of servers
SERVERS=2

# IP of a server #1
SERVER1=192.168.137.133:80

# IP of a server #2
SERVER2=192.168.137.134:80

start() {
echo -n $”Starting $prog: ”
daemon $pen -w $WEBFILE -x $MAX_CONNECTIONS -S $SERVERS -p $PID -l $LOGFILE -C 192.168.137.128:800 -r $PORT $SERVER1 $SERVER2
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch $lockfile
return $RETVAL
}
stop() {
echo -n $”Stopping $prog: ”
killproc $pen
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f $lockfile
return $RETVAL
}
case “$1″ in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
status $pen
;;
*)
echo “Usage: $prog {start|stop|restart|status}”
exit 1
esac

exit $?

 

Nguyễn Thăng Long (kenhgiaiphap.vn)

 
Ý kiến phản hồi và bình luận Góp ý kiến của bạn

Reply

Hi Bạn Bài viết rất hay.Nhưng bạn có thể cho mình hỏi 1 số câu được không. 1/Pen Server load balance ở layer mấy vậy bạn 2/mình đã test pen nó chạy tốt nhưng nó sẽ bị vấn đề khi hệ thống server(ví dụ Website cần đăng nhập).Bạn có thể cho mình 1 giải pháp được không bạn. 3/Nếu Mình cần chạy cluster cho pen bạn có giải pháp nào không(Website cần đăng nhập) Thanks

(anonymous)
Các tin mới nhất :
- Inbound và Phương án Dự phòng Rủi ro
- Cân bằng tải trên Diện rộng cho các Trung tâm Dữ liệu phân tán với Array Networks APV
- Giải pháp cân bằng tải truy cập Inbound với thiết bị Peplink
- Giải pháp cân bằng tải hiểu quả cho VPN với thiết bị mạng Peplink
- Giải pháp truy cập Internet tập trung
- Giải pháp Load Balancing và Fail Over toàn diện dành cho Web Server
- Tăng hiệu quả hoạt động của ứng dụng bằng cách sử dụng Array đa tầng (Multitiered Arrays)
- Giải pháp thiết lập SQL Server luôn sẵn sàng
- Load Balancing từ công nghệ đến giải pháp (Phần 1)
- Ứng dụng giải pháp replicate database để cân bằng tải các ứng dụng
Các tin liên quan :
- Linux Cluster
Bài nhiều người đọc cùng chuyên mục
Giải pháp Load Balancing và Fail Over toàn diện dành cho Web Server
 
Inbound và Phương án Dự phòng Rủi ro
 
Cân bằng tải trong các ứng dụng Web
 
Từng buớc một để triển khai hệ thống Cluster
 
Server Load Balancing (Phần 1)
 
Công nghệ Clustering cho các hệ thống máy tính
 
Xây dựng một hệ thống MySQL Cluster
 
Trang chủ | Giới thiệu | Quảng cáo | Liên hệ
Giấy phép ICP số 199/GP-TTĐT. Bộ Thông tin và Truyền thông cấp.
Cơ quan quản lý  : Công Ty Cổ Phần Kênh Giải Pháp
Bản quyền © 2010-2011 Kenhgiaiphap.vn . Giữ toàn quyền.
Ghi rõ nguồn "Kenhgiaiphap.vn" khi phát hành lại thông tin từ website này.

return false; });