keepalived简介
vrrp 协议的软件实现,原生设计目的为了高可用 ipvs服务
功能:
基于vrrp协议完成地址流动
为vip地址所在的节点生成ipvs规则(在配置文件中预先定义)
为
ipvs
集群的各
RS
做健康状态检测
基于脚本调用接口完成脚本中定义的功能,进而影响集群事务,以此支持nginx
、
haproxy
等服务
基本环境配置
在realserver上安装httpd
在KA1和KA2上安装keepalived
修改配置文件
vip设定
将配置文件复制粘贴到KA2
测试
远程连接到KA1
关闭服务
抓到KA2
虚拟路由的通讯设定
日志分离
编写日志级别
指定采集方法
独立子配置文件
写进子配置文件
抢占模式和非抢占模式
默认为抢占模式
preempt
,即当高优先级的主机恢复在线后,会抢占低先级的主机的
master
角色,
这样会使
vip
在
KA
主机中来回漂移,造成网络抖动,
建议设置为非抢占模式
nopreempt
,即高优先级主机恢复后,并不会抢占低优先级主机的
master
角色
非抢占模块下
,
如果原主机
down
机
, VIP
迁移至的新主机
,
后续也发生
down
时
,
仍会将
VIP
迁移回原主机
非抢占(KA1KA2都需要修改)
延迟抢占
抢占延迟模式,即优先级高的主机恢复后,不会立即抢回
VIP
,而是延迟一段时间(默认
300s
)再抢回VIP
KA1KA2都需要修改
5s过后vip回来
单播模式设定
默认keepalived主机之间利用多播相互通告消息,会造成网络拥塞,可以替换成单播,减少网络流量
10发送单播20接收
20和10相反
测试
20没有VIP
邮件通知
当keepalived的状态变化时,可以自动触发脚本的执行,比如:发邮件通知用户
安装发邮件的工具
修改配置文件
编写脚本
双主模式
master/slave
的单主架构,同一时间只有一个
Keepalived
对外提供服务,此主机繁忙,而另一台主机却很空闲,利用率低下,可以使用master/master
的双主架构,解决此问题。
master/master
的双主架构:
即将两个或以上
VIP
分别运行在不同的
keepalived
服务器,以实现服务器并行提供
web
访问的目的,提高服务器资源利用率
修改配置文件KA1KA2
ipvs的高可用性
vrrp脚本控制vip
给权限
高可用集群
在KA1KA2上安装haproxy
修改配置(两台主机都要做)
即使本地没有ip也能正常启动
KA1KA2都需要改
测试
完成