20170418-pirranha+lvs 实现高可用负载均衡集群

web服务器:

192.168.122.25  vm25

192.168.122.26 vm26

调度器:

192.168.122.37 vm37

192.168.122.38 vm38

配置好集群软件仓库

vm37 vm38  yum install piranha  -y

piranha-passwd 为piranha设置密码

service piranha-gui restart

chkconfig piranha on

netstat -anutlp | grep httpd 可以看到监听了3636端口

这里将vm37设置为主,vm38设置为从

vm37 浏览器访问: 192.168.122.37:3636

221819_vtQM_3217381.png

221839_eXa8_3217381.png

指定主调度器,模式选择直接路由:

221905_gcJ3_3217381.png

指定从调度器:

221956_9yo5_3217381.png

设置VIP:

222052_3C3Y_3217381.png

222455_a90q_3217381.png

设置真实ip (web server):

222311_LBYp_3217381.png

222325_68Io_3217381.png

后端健康状态检测,这里使用脚本:

222422_pVcF_3217381.png

配置完后,vm37的 /etc/sysconfig/ha/lvs.cf里面就生成了刚刚配置的信息

  拷贝到vm38的 /etc/sysconfig/ha/

scp /etc/sysconfig/ha/lvs.cf root@192.168.122.38:/etc/sysconfig/ha/

  写健康状态检测的脚本  

 vim /usr/local/bin/check.sh 

#!/bin/bash

#

hn="$1"

: ${hn?}  保证ip存在

> /dev/tcp/$hn/80

if [ $? -eq 0 ];then

 echo "OK"

else

echo "KO"

fi

保存退出 

chmod +x /usr/local/bin/check.sh

拷贝一份到vm38 :

scp /usr/local/bin/check.sh root@192.168.122.38:/usr/local/bin/

service pulse restart

chkconfig pulse on

web服务器vm25: 

因为是直接路由所以要设置VIP和忽略arp,不转发,直接回包。

vim lvsrs

将VIP改为调度设置的VIP

#!/bin/bash

#

# lvsrs        Startup script for the lvsrs Server

#

# chkconfig: 2345 86 14

# description: lvsrs script.  It is used to serve \

#

 

VIP=192.168.122.99

 

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

 

case "$1" in

    start)

        echo " start LVS of REALServer"

        /sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up

        echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore

        echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce

        echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore

        echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

        ;;

    stop)

        echo "close LVS Directorserver"

        /sbin/ifconfig lo:0 down

        echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore

        echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce

        echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore

        echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce

        ;;

    *)

        echo "Usage: $0 {start|stop}"

        exit 1

esac

保存退出,

cp lvsrs /etc/init.d/

chmod +x /etc/init.d/lvsrs

service lvsrs start

chkconfig lvsrs on

拷贝一分到vm26:

scp /etc/init.d/lvsrs root@192.168.122.26:/etc/init.d/

  service lvsrs start

 chkconfig lvsrs on

ip addr show lo 查看设置上VIP没

调度器vm37:

yum install ipvsadm -y 

执行: ipvsadm

可以看到VIP和web服务器

测试:

集群以外的客户端vm15(192.168.122.15):

 yum install lynx -y

lynx -dump 192.168.122.99

可以看到vm25和vm26的网页内容  (轮循)

测试健康状态检测: 

vm25或者vm26上将apache停了,如果成功就只会访问正常工作的这台。

 这是在vm37上执行: ipvsadm 只会看到服务正常的web服务器

测试调度器的高可用:

vm15: ping 192.168.122.99 现实可以ping 通

在vm37上: 

service pulse stop

可以看到vm15上不能ping通了,过一会儿又能ping通了

vm37: ip a  可以看到VIP没有了

vm38: ip a 可以看到VIP 

 

 

 

转载于:https://my.oschina.net/u/3217381/blog/882395

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值