keepalived 是linux下一个轻量级的高可用解决方案,它与HACMP实现功能相似,均可以实现服务或者网络的高可用,可是又有差异:hacmp是一个专业的、功能完善的高可用软件,它提供了HA软件所需的基本功能,好比心跳检测和资源接管,检测集群中的系统服务,在集群节点间转移共享ip地址全部者等,hacmp功能强大,可是部署和使用相对麻烦,同时也是商业化软件,与hacmp相比,keepalived主要是经过虚拟路由冗余来实现高可用功能,虽然他没有hacmp功能强大,可是keepalived部署使用相对简单,全部配置只须要一个配置文件便可完成.linux
1、准备环境网络
#1,两台虚拟机,分别用做marst 与 backup 测试
#2, Dserver 端 为 marster , PDserver 为 backup3d
#3,Dserver ip : 192.168.206.3server
PDserver ip:192.168.206.4blog
2、 Start the experimentip
1> 两端分别下载 keepalived 资源
Dserver 端:路由
查看:rem
PDserver端:
查看:
2> 编辑配置文件
yum 安装的 的keepalived 的 配置文件默认 在 /etc/keepalived/keepalived.conf
keepalived的配置文件里面主要分三类
1,全局配置
2,VRRP配置
3,LVS配置
##先来配置Dserver端:
&1
&2,全局配置里的内容注释掉, lvs 配置 注释掉, 只留 VRRP 配置
&3> Dserver 端配置
PDserver 配置 相同,只是将 MASTER 改为 BACKUP , (能够将优先级调低)
3> 测试
#1双端都启动keeplived
Dserver端:
PDserver端:
#2查看
Dserver端:
PDserver 端:
#接下来使 Dserver 端 宕掉
#查看 DPserver 端:
#由于Dserver 宕掉了, 因此 vip 发生了漂移, 漂移到了 DPserver 端。 实验成功!
补充: 上述实验存在着单点故障,Dserver 端 负载较大, 真实环境中,咱们可使 Dserver 端 与 Sserver 端 成为 互为主备,
当客户端访问域名的时候,能够是直接访问Dserver端,也能够是直接访问PDserver端,这样能够预防单点故障,减小Dserver 端的
负载,实际配置以下:
Dserver端:
#1
PDserver 端:
#2
#3 双端 重启 keepalived
#4 查看
Dserver 端:
PDserver端:
#测试 1 (假设 Dserver 端宕掉了 )
@1
@2查看Dserver端:
vip 漂移了
@3查看PDserver 端:
会发现Dserver 端的vip 漂移到了 PDserver端
# 测试2 ( PDserver 端宕掉了)
@1
@2查看PDserver 端:
@3 查看Dserver端:
PDserver 端 的 vip 漂移到了 Dserver 端
补充:
在宕掉Dserver 端后 ,vip 漂移到了PDserver 端, 然而这时 Dserver端 修好了会发生呢?vip 会回来么?
&1 测试
Dserver 端 (处于宕掉状态):
Dserver 端 (处于修好状态):
这时会发现,ip 又被抢回来了, 这是由于 默认设置的 抢占模式, 咱们能够 在配置文件中修改为非抢占模式,这样’它‘的vip 就不会回来了
配置以下:
#
Dserver 端:
凭借 优先级去分辨 谁是主备 添加 noprempt
#重启下 keepalived 生效
#宕掉并查看
# 修复好 查看
vip 没有被抢回来。