实验环境:

    server1    192.168.188.188     hostname    server1.example.com

    server2    192.168.188.199    hostname     server2.example.com

    virtual ip  192.168.188.200

软件包安装:

yum install keepalived.x86_64 ipvsadm.x86_64 -y

节点1配置:

vim /etc/keepalived/keepalived.conf 
! Configuration File for keepalived
global_defs {
router_id server1
}
vrrp_instance VI_1 {
state MASTER #指定角色为MASTER(主节点)
interface ens33 #指定虚拟IP存在网卡
virtual_router_id 51 #路由ID两端节点需相同
priority 110 #指定优先级 备用节点要低于主节点
advert_int 1
authentication {
auth_type PASS #指定认证方式和认证密码,两端节点需相同
auth_pass 1111
}
virtual_ipaddress { #指定飘移地址
192.168.188.200
}
}
virtual_server 192.168.188.200 80 { 定义虚拟服务器
delay_loop 6
lb_algo rr
lb_kind DR
persistence_timeout 50
protocol TCP
real_server 192.168.188.188 80 { #定义第一台真实服务器
weight 1
TCP_CHECK {
url {
path /var/www/html/index.html
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
real_server 192.168.188.199 80{ #定义第二台真实服务器
weight 1
TCP_CHECK {
url {
path /var/www/html/index.html
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}

第二台节点可以将地一台节点的配置文件拷贝,只需要修改主要配置参数即可

修改1:state BACKUP #指定角色为BACKUP(主节点)

修改2:priority 100 #指定优先级 备用节点要低于主节点

修改3:注意真实服务器配置顺序

测试:

CentOS7.4 构建LVS+Keepalived高可用群集_高可用

虚拟ip

CentOS7.4 构建LVS+Keepalived高可用群集_高可用_02

为方便http测试,建议修改apache2默认配置文件,以便区分机器

客户端访问测试

CentOS7.4 构建LVS+Keepalived高可用群集_lvs_03

模拟节点故障,将server1关机。

CentOS7.4 构建LVS+Keepalived高可用群集_高可用_04

查看节点2飘移地址是否已经同步过来

CentOS7.4 构建LVS+Keepalived高可用群集_高可用_05

客户端访问测试

CentOS7.4 构建LVS+Keepalived高可用群集_服务器_06

成功!!!