Jquery中文网 新宝娱乐城官网 www.z5nka.com.cn
Jquery中文网 >  服务器技术  >  集群与高可用  >  正文 haproxy+keepalived配置高可用负载均衡

新宝娱乐城开户:haproxy+keepalived配置高可用负载均衡

发布时间:2014-08-15   编辑:新宝娱乐城官网 www.z5nka.com.cn
haproxy keepalived 高可用负载均衡

新宝娱乐城官网 www.z5nka.com.cn haproxy+keepalived配置高可用负载均衡,供大家学习参考。

环境四台机器都是RedHat4.8(64位)版本:
IP地址             用处
192.168.5.55       MASTER
192.168.2.73       BACKUP
192.168.5.54       负载A
192.168.5.57       负载B
192.168.2.100      VIP

1、MASTER上安装haproxy
wget //haproxy.1wt.eu/download/1.3/src/haproxy-1.3.20.tar.gz /root
解压到当前目录
tar zxvf haproxy-1.3.20.tar.gz
进到此目录
cd haproxy-1.3.20
编译及安装,安装到/usr/local目录,但是安装完此目录下没有haproxy文件夹,我也很奇怪!
make TARGET=linux26 prefix=/usr/local/haproxy install
但是出来的结果会提示如下信息
 

复制代码 代码如下:
install -d /usr/local/sbin
install haproxy /usr/local/sbin
install -d /usr/local/share/man/man1
install -m 644 doc/haproxy.1 /usr/local/share/man/man1
install -d /usr/local/doc/haproxy
for x in configuration architecture haproxy-en haproxy-fr; do \
        install -m 644 doc/$x.txt /usr/local/doc/haproxy ; \
done
 

提示你启动haproxy在sbin目录,其余的在doc目录
进入到haproxy目录
cd /usr/local/doc/haproxy
新建一个haproxy主配置文件
vi haproxy.cfg
 

复制代码 代码如下:
global
   log 127.0.0.1 local0
   maxconn 4096
   chroot /usr/local/doc/haproxy
   uid 501
   gid 501
   daemon
   nbproc 1
   pidfile /usr/local/doc/haproxy/haproxy.pid
defaults
   log    127.0.0.1  local3
   mode   http
   option httplog
   option httpclose
   option dontlognull
   option forwardfor
   option redispatch
   retries 2
   maxconn 2000
   balance roundrobin
   stats   uri    /haproxy-status    查看状态
   stats hide-version       隐藏haproxy版本
   stats realm Gemini\ Haproxy      查看状态需要口令
   stats auth admin:admin           用户名和密码
   contimeout  5000
   clitimeout  50000
   srvtimeout  50000
listen web_proxy 192.168.2.100:80
   server web1 192.168.5.54:8080 cookie app1inst1 check inter 2000 rise 2 fall 5
   server web2 192.168.5.57:8080 cookie app1inst2 check inter 2000 rise 2 fall 5

2、MASTER安装keepalived
tar zxvf keepalived-1.1.15.tar.gz
vi /usr/src/kernels/2.6.9-89.EL-smp-x86_64/include/linux/types.h
将如下两行注释掉,否则编译会出错,跟我这个版本的系统有关系,你的也许不要!
 

复制代码 代码如下:
/*
typedef __u16 __bitwise __sum16;
typedef __u32 __bitwise __wsum;
*/
cd keepalived-1.1.15
./configure
make
make install
 

将keepalived作为系统服务启动
 

复制代码 代码如下:
cp /usr/local/etc/rc.d/init.d/keepalived /etc/init.d/
cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
mkdir /etc/keepalived/
cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/
cp /usr/local/sbin/keepalived /usr/sbin/
 

vi /etc/keepalived/keepalived.conf内容如下:
 

复制代码 代码如下:
! Configuration File for keepalived
global_defs {
   router_id LVA_DEVEL
}
vrrp_script chk_http_port {
   script "/root/check_haproxy.sh"
   interval 2
   weight  2
}
vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
track_script {
    chk_http_port
}
    virtual_ipaddress {
        192.168.2.100
    }
}
 

上面调用了一个脚本check_haproxy.sh,内容如下:
 

复制代码 代码如下:
#!/bin/bash
A=`ps -C haproxy --no-header | wc -l`
if [ $A -eq 0 ];then
/usr/local/sbin/haproxy -f /usr/local/doc/haproxy/haproxy.cfg
echo "haproxy start"
sleep 3
if [ `ps -C haproxy --no-header | wc -l` -eq 0 ];then
/etc/init.d/keepalived stop
echo "keepalived stop"
fi
fi

3、BACKUP上安装haproxy,步骤就不详细介绍,和MASTER上面一样的。
haproxy.conf内容如下
 

复制代码 代码如下:
global
   log 127.0.0.1 local0
   maxconn 4096
   chroot /usr/local/doc/haproxy
   uid 501
   gid 501
   daemon
   nbproc 1
   pidfile /usr/local/doc/haproxy/haproxy.pid
defaults
   log    127.0.0.1  local3
   mode   http
   option httplog
   option httpclose
   option dontlognull
   option forwardfor
   option redispatch
   retries 2
   maxconn 2000
   balance roundrobin
   stats   uri    /haproxy-status
   stats hide-version
   stats realm Gemini\ Haproxy
   stats auth admin:admin
   contimeout  5000
   clitimeout  50000
   srvtimeout  50000
listen web_proxy 192.168.2.100:80
   server web1 192.168.5.54:8080 cookie app1inst1 check inter 2000 rise 2 fall 5
   server web2 192.168.5.57:8080 cookie app1inst2 check inter 2000 rise 2 fall 5

4、BACKUP上安装keepalived,步骤也不多介绍,keepalived.conf文件内容就两处有变化,红色字体标出
 

复制代码 代码如下:
! Configuration File for keepalived
global_defs {
   router_id LVA_DEVEL
}
vrrp_script chk_http_port {
   script "/root/check_haproxy.sh"
   interval 2
   weight  2
}
vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    virtual_router_id 51
    priority 99
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
track_script {
    chk_http_port
}
    virtual_ipaddress {
        192.168.2.100
    }
}
 

调用脚本check_haproxy.sh内容:
 

复制代码 代码如下:
#!/bin/bash
A=`ip a | grep 192.168.2.100 | wc -l`
B=`ps -ef | grep haproxy | grep -v grep | awk '{print $2}'`
if [ $A -gt 0 ];then
/usr/local/sbin/haproxy -f /usr/local/doc/haproxy/haproxy.cfg
else
kill -9 $B
fi

5、两台负载机器我就不多介绍了,用的是系统自带的apache

登录192.168.5.54上操作:
echo 'this is 192.168.5.54!' > /var/www/html/index.html
修改/etc/httpd/conf/httpd.conf文件的监听端口为8080
sed -i 's/Listen 80/Listen 8080/g' /etc/httpd/conf/httpd.conf
/etc/init.d/httpd start

登录192.168.5.57上操作:
echo 'Hello,This is 192.168.5.57!' > /var/www/html/index.html
修改/etc/httpd/conf/httpd.conf文件的监听端口为8080
sed -i 's/Listen 80/Listen 8080/g' /etc/httpd/conf/httpd.conf
/etc/init.d/httpd start

6、测试步骤
启动MASTER上的keepalived服务,再启动BACKUP上的keepalived服务。
确定MASTER上是否有192.168.2.100地址,用ip a查看即可!
然后手动杀掉MASTER上的haproxy进程,看看是否能马上恢复进程?
停止MASTER上的keepalived服务,确认BACKUP是否接管VIP地址?
最后再启动MASTER上的keepalived服务,再确认MASTER是否再接管VIP地址?

总结:我这测试都没问题,如果有问题请给我留言!
有问题的朋友也可以加jquery中文网的QQ群:161228069 进行交流。

您可能感兴趣的文章:
haproxy+keepalived负载均衡之主备切换(centos)
haproxy+keepalived配置高可用负载均衡
LVS调度算法和三种工作模式
MySQL主从服务器配置的一些总结
nginx配置反向代理的简单示例
MySQL双机高可用的负载均衡(读写分离、主从自动切换)架构设计
nginx反向代理/负载均衡配置
Nginx负载均衡和LVS负载均衡的比较分析
Nginx的配置Upstream负载均衡???/a>
mysql主从复制与负载均衡问题解答

上一篇:ipvsadm 命令参考
[关闭]
  • 户外高空作业 安全为先 2019-02-22
  • 马尧:欧洲距“军事独立”还很远 2019-02-22
  • 春节账单晒出消费升级(今日谈) 2019-02-22
  • 第十一届中国(郑州)国际园林博览会开幕 2019-02-21
  • 我们看不到科技创新的经济在哪里?说科技创新的经济的人,说来看看,其创新的经济在哪里? 2019-02-21
  • 乌鲁木齐市天山区设红榜黑榜 每月考核辖区卫生 2019-02-21
  • 新华社评论员:扎实践行新时代党的建设总要求 2019-02-21
  • 钱江晚报:火锅店被吃垮,实际是信任破产 2019-02-20
  • 广州旅游为何爆发出强大且持续的吸引力 2019-02-20
  • 特氏说让日韩买单并没有提中国。你为何把中国加上啊? 2019-02-20
  • 央行行长点赞“温州指数”呼吁正规金融提供更多服务 2019-02-19
  • 一图看懂丨拉林铁路藏木特大桥 2019-02-19
  • 尊重和保障宗教信仰自由的中国实践 2019-02-18
  • 多彩非遗 成就西藏特色小吃 2019-02-18
  • 纸尿裤等纸制品新国标发布 2019-02-18
  • 434| 149| 179| 824| 29| 260| 927| 323| 655| 548|