keepalived介绍
设置初衷是为了高可用ipvs 通过脚本可以实现高可用nginx或者haproxy调度器, 基于vrrp协议完成一个固定的IP可以在集群中不同的节点进行流动.为ipvs集群的各RS做健康状态检测
工作模式:
主/备: 单虚拟路径器;
主/主:主/备(虚拟路径器1) 备/主(虚拟路径器2)
keepalived会根据配置文件优先级最高的主机会不断向同一个组播域中的所有主机发送组播信息当前的虚拟ip地址就会被分配给那台主机一旦最高优先级的主机不再发送组播信息,第二优先级的主机将会获取虚拟IP地址,并向组播域内发送组播信息
配置文件介绍
global_defs {} 全局默认配置段
vrrp_instance VI_1 {} 虚拟路由器同一组服务器上可以配置多个虚拟路由
virtual_server 192.168.20.10 443{} ipvs的相关配置
vrrp_script { script a.sh} 高可用nignx或者haproxy等配置
keepalived 虚拟IP默认设置的netmask为32位
virtual_ipaddress {
172.20.103.99/16
}
默认会自动生成iptables规则 可以通过修改配置文件取消自动生成drop规则
脚本类型:
1. vrrp_script 根据执行脚本的状态结果,来决定是否对当前节点的权重进行降级
2.notify_master notify_backup notify_fault
HA集群配置前提
1.各节点时间必须同步ntp, chrony
2.确保iptables及selinux不会成为阻碍
3.各节点之间可通过主机名互相通信,建议使用/etc/hosts文件实现
4.确保各节点的用于集群服务的接口支持MULTICAST通信 D类: 224-239