Lvs

 

实验环境:redhat6server1.example.com  172.25.254.1

server2.example.com  172.25.254.2

server3.example.com  172.25.254.3

server1上添加虚拟IP

ip addr add 172.25.254.100/24 dev eth0

        ipvsadm -A -t 172.25.254.100:80 -s rr

        ipvsadm -a -t 172.25.254.100:80 -r 172.25.254.2:80 -g

        ipvsadm -a -t 172.25.254.100:80 -r 172.25.254.3:80 -g

        /etc/init.d/ipvsadm save

        cat /etc/sysconfig/ipvsadm

        ipvsadm -l

server2server3上:

ip addr add 172.25.254.100/32 dev eth0

        yum install arptables_jf -y

        arptables -A IN -d 172.25.254.100 -j DROP

  arptables -A OUT -s 172.25.254.100 -j mangle --mangle-ip-s 172.25.254.2(写对应地址)

        /etc/init.d/arptables_jf save

编写server23上的http测试页,访问172.25.254.100

 

 

 

添加lvs健康检查(ldirectord-3.9.5

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

        cd /etc/ha.d/

        vim ldirectord.cf

 # Sample for an http virtual service

virtual=172.25.254.100:80

        real=172.25.254.2:80 gate

        real=172.25.254.3:80 gate

        fallback=127.0.0.1:80 gate

        service=http

        scheduler=rr

        #persistent=600

        #netmask=255.255.255.255

        protocol=tcp

        checktype=negotiate

        checkport=80

        request="index.html"

#receive="Test Page"

#virtualhost=www.x.y.z

 

        /etc/init.d/ldirectord start

此时如果两个结点上的http服务都宕掉的话,会进入回环接口

 

 

 

 

实现heartbeat+lvs1,4:heartbeat  2,3:实现论叫)

停掉1上的ldirectord服务

Ip addr del 172.25.254.100/24 dev eth0

ha.d下的文件scp4的相同目录下,关闭14上的httpd服务(此处应参考heartbeat部分)

vim /etc/ha.d/haresources

server1.example.com IPaddr::172.25.254.100/24/eth0 ldirectord