LVS+Heartbeat高可用负载均衡

一,环境配置

VIP:192.168.222.222

RIP:192.168.222.134

RIP:192.168.222.135

DR_MASTER:eth0 192.168.222.128 eth1 172.16.0.1 (单网卡也行)

DR_SLAVE:eth0 192.168.222.129 eth1 172.16.0.2 (单网卡也行)


二,DR配置

1,安装软件

yum install epel-release -y

yum install ipvsadm -y

yum install heartbeat -y

wget ftp://ftp.pbone.net/mirror/rpms.arrfab.net/centos/testing/x86_64/heartbeat/heartbeat-ldirectord-2.99.2-8.1.el5.test.x86_64.rpm

yum localinstall heartbeat-ldirectord-2.99.2-8.1.el5.test.x86_64.rpm


2,主机名修改

1)192.168.222.128:

hostname DR_MASTER

vim /etc/hosts添加如下

192.168.222.128 DR_MASTER

192.168.222.129 DR_SLAVE


2)192.168.222.129

hostname DR_SLAVE

vim /etc/hosts添加如下

192.168.222.128 DR_MASTER

192.168.222.129 DR_SLAVE


3,编辑配置文件

cd /usr/share/doc/heartbeat-3.0.4/

cp ha.cf haresources authkeys /etc/ha.d/

cp /usr/share/doc/heartbeat-ldirectord-2.99.2/ldirectord.cf /etc/ha.d/


1)编辑配置文件ha.cf

bcast eth1#广播给网卡eth1

node DR_MASTER#指明DR_MASTER节点

node DR_SLAVE#指明DR_SLAVE节点


2)编辑认证密钥配置文件authkeys

auth 3

3 md5 Hello!

#chmod 600 authkeys


3)编辑配置文件haresources, 该文件列出集群主节点、集群IP、子网掩码以及启动的服务等集群资源

DR_MASTER 192.168.222.222/24/eth0 ldirectord::ldirectord.cf


4)编辑配置文件ldirectord.cf

checktimeout=3    //检测超时时间

checkinterval=1    //检测间隔

autoreload=yes    //该配置文件修改后能够自动重载

quiescent=no


# Sample for an http virtual service

virtual=192.168.222.222:80

        real=192.168.222.134:80 gate

        real=192.168.222.135:80 gate

        #fallback=127.0.0.1:80 gate #realserver全死掉指向本机

        service=http

        request=".test.html" #通过访问含有”OK”内容的.web.html这个web页面来达到监测后方的real server

        receive="OK"

#virtualhost=some.domain.com.au

        scheduler=rr

        #persistent=600

        #netmask=255.255.255.255

        protocol=tcp

        checktype=negotiate

        checkport=80


TIPS://

quiescent=no

#"no"表示:如果一个节点在checktimeout设置的时间周期内没有相应,ldirectord会从LVS的路由表中之间移除realserver,此时中断现有的客户端连接,并使LVS丢掉所有的连接跟踪记录和持续连接记录

#"yes"表示:当某个realserver失效时,ldirectord将失效节点的权值设置为0,新的连接将不能到达,但是并不从LVS路由表中清除此节点,同时,连接跟踪记录和程序连接模版仍然保留在Director上


ldirectord指出守护进程监视realserver方法,checktype有以下四种:

#negotiate:在checktimeout周期内真实服务器都没有返回你指定的应答字符串,这个节点就被认为死掉了

request=".test.html"

receive="OK"

#connect:在checkport指定的端口上连接真实服务器,需要到真实服务器的TCO/IP连接是通畅的,这个方法没有negotiate可靠

#A number:在这里指定一个数字代替,ldirectord先执行连接次数测试,再执行一次negotiate测试,减少真实服务器应答健康检查和集群网络通讯

#off:禁用ldirectord监视真实服务器的健康。


三,realserver配置

echo "ok"> /var/www/html/.test.html

#chattr +i  .test.html    #添加i隐藏属性后无法更改

#lsattr .test.html    #查看属性

realsever.sh同上一篇《LVS+Keepalived高可用负载均衡》。

你可能感兴趣的:(LVS,heartbeat,ipvsadm,ldirectord)