前期准备:将四台服务器的时间都同步,为lvs1和lvs2虚拟机添加一块网卡,并且设置为桥接

lvs+heartbeat  做负载均衡(一)_HA

1、lvs机器上安装ipvsadm(ip虚拟服务器)

首先要yum安装kernel-devel

ln -s /usr/src/kernels/2.6.32-279.el6.x86_64/ /usr/src/linux ;
tar xf  ipvsadm-1.24.tar.gz;
cd ipvsadm-1.24;
make && make install ;

2、lvs机器上安装heartbeat,将四个包都要使用yum

yum install heartbeat-2.99.2-6.1.x86_64.rpm  heartbeat-common-2.99.2-6.1.x86_64.rpm
heartbeat-resources-2.99.2-6.1.x86_64.rpm  libheartbeat2-2.99.2-6.1.x86_64.rpm

3、拷贝配置文件

[root@slave10 ha.d]# cp /usr/share/doc/packages/heartbeat/ha.cf .
[root@slave10 ha.d]# cp /usr/share/doc/packages/heartbeat/haresources .
[root@slave10 ha.d]# cp /usr/share/doc/packages/heartbeat/authkeys .

4、修改/etc/ha.d/ha.cf文件,添加节点,并且开启auto_failback功能

bcast eth0
auto_failback on
node master.example.com
node slave10.example.com

5、修改/etc/ha.d/haresouces

注意:1.1.1.254为我的心跳的虚拟IP

master.example.com 1.1.1.254 ipvsadm  ##添加到最末就行了

6、修改配置文件/etc/ha.d/authkeys

auth 2
1 crc
2 sha1 9a46577ff3831ed80308e5a465c181dd82ea04ee
3 md5 bdb52aae3b5566607f3e6023ef2e74e5
密码使用:read !echo "redhat"|openssl sha1 生成xin

7、将在salve10.example上修改的所有有关心跳的配置文件都打包scp传到master主机上,再进行解压.

8、修改master的eth0 和eth1:

[root@master ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
IPADDR=172.24.55.1                内网IP
NETMASK=255.255.0.0
HWADDR=00:0C:29:8E:CC:05
ONBOOT=yes
[root@master ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=static
IPADDR=1.1.1.2                     外网IP
NETMASK=255.255.255.0
ONBOOT=yes
9\

修改slave的eth0和eth1:

[root@slave10 ha.d]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
IPADDR=172.24.55.10                  内网
NETMASK=255.255.0.0
GATEWAY=172.24.253.254
#HWADDR=00:0C:29:8E:CC:05
ONBOOT=yes
[root@slave10 ha.d]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=static
IPADDR=1.1.1.1                   外网
NETMASK=255.255.255.0
ONBOOT=yes

9、开启路由功能:

[root@master ~]# echo 1 >/proc/sys/net/ipv4/ip_forward

10、添加ipvsadm:

在master上:
[root@master ~]# ipvsadm -A -t 1.1.1.2:80 -s rr
[root@master ~]# ipvsadm -a -t 1.1.1.2:80 -r 172.24.155.154 -m
[root@master ~]# ipvsadm -a -t 1.1.1.2:80 -r 172.24.155.155 -m
在slave10上:
[root@slave10 ha.d]# ipvsadm -A -t 1.1.1.1:80 -s rr
[root@slave10 ha.d]# ipvsadm -a -t 1.1.1.1:80 -r 172.24.155.154 -m
[root@slave10 ha.d]# ipvsadm -a -t 1.1.1.1:80 -r 172.24.155.155 -m
###注意这里172.24.155.154和172.24.155.155是我的HA主机

11、为HA添加网关:

注意:这里必须添加两个网关,网关为内网IP


172.24.155.154上:
[root@localhost ~]# route add default gw 172.24.55.1
[root@localhost ~]# route add default gw 172.24.55.10
172.24.155.155上:
[root@localhost ~]# route add default gw 172.24.55.1
[root@localhost ~]# route add default gw 172.24.55.10

12、在windows主机下添加外网IP


lvs+heartbeat  做负载均衡(一)_lvs_02

13、验证:

lvs+heartbeat  做负载均衡(一)_lvs_03

lvs+heartbeat  做负载均衡(一)_lvs_04

lvs+heartbeat  做负载均衡(一)_heartbeat_05

可以看到输入流和输出流都有。


master stop 掉,心跳虚拟IP到slave上:

lvs+heartbeat  做负载均衡(一)_heartbeat_06

实验成功!!!!

这里最值得一说的是,最开始我的结果图一直出不来,原因为我在测试内网与外网访时将我的window的防火墙关了,导致我后面测输入www.fz.com时,说网页连接被重写,后面将我的防火漆那个开启了,就好了,居然说要我开启防火墙,还是第一次碰到,不过最后还是出来了,我依然需要细心、严谨呀!!