Keepalived基础
keepalived 简介
keepalived是vrrp协议的软件实现,原生设计目的是为了高可用ipvs服务。
vrrp:静态网关虚拟协议,在两个路由器之间虚拟出一个IP地址,当一个路由器损坏时,自动将虚拟出的IP地址移动到另外一台路由器上
Keepalived 组件
用户空间核心组件
vrrp stack 消息通告组件,用来广播虚拟的ip地址在自己这里
checkers 监测组件,监测后端服务器的存活状态
system call 标记realserver权重
SMTP 邮件组件,vip发生迁移时可以通过邮件进行通知。
ipvs wrapper 生成ipvs规则,在内核级别生成。
Netlink Reflector 网络接口
WatchDog 监控进程,并记录日志。
keepalived 相关术语
虚拟路由器: Virtual Router
虚拟路由器标识: VRID(0-255),用于唯一标识虚拟路由器
物理路由器:物理路由器分为master(主设备),backup(备用设备),其中主备之间还存在一个priority(优先级),当两台物理路由器设备都为备时,就看谁的优先级高,优先级高的则成为主
虚拟IP: VIP (Virtual IP)
虚拟MAC地址: VMC (Virtual MAC)
通告: 用来周期性的通告自己的优先级以及自己的心跳信息,证明自己存活
工作方式: 抢占式和非抢占式
当master设备发生故障时,vip将漂移值backup上,master修复后是否将vip进行夺回,如果夺回则为抢占式,不夺回则为非抢占式。
工作模式:有主备和主主模式
主备: 为单虚拟路由器,两台服务器只有一台工作,另一台只有当主的故障时才启用
主主: 两台服务器互为主备,即一台为主备,另一台为备主,让两台服务器并行运行。
keepalived 安装
使用yum安装
[[email protected] ~]# yum install keepalived -y
keepalived安装的相关文件
[[email protected] ~]# rpm -ql keepalived
/etc/keepalived/keepalived.conf #keepalived主配置文件
/etc/sysconfig/keepalived #unit file环境配置文件
/usr/lib/systemd/system/keepalived.service #unit file
/usr/sbin/keepalived #主程序文件
keepalived配置文件详解
notification_email { #邮件通知机制,当keepalived发生故障时,进行发邮件通知
[email protected] #可以将其修改也可以将其改为本机
}
notification_email_from [email protected] #邮件从哪里发出去
smtp_server 127.0.0.1 #本机的smtp服务器地址
smtp_connect_timeout 30 #smtp的连接超时时长
router_id n1.mylinuxops.com #虚拟路由的表示符一般写本机,确保每个节点都不相同
vrrp_skip_check_adv_addr #跳过检查数据报文,默认会检查。
vrrp_strict #严格遵循vrrp协议,没有vip,单播地址,ipv6地址将无法启动
vrrp_iptables #不生成iptables规则
vrrp_mcast_group4 224.0.0.18 #组播,默认情况下向224.0.0.18发送组播消息
vrrp_garp_interval 0 #arp报文发送延迟
vrrp_gna_interval 0 #消息发送延迟
}
vrrp_instance VI_1 { #配置实例的名称
state BACKUP #服务器角色
nopreempt #关闭VIP的抢占,state都为BACKUP时生效。
interface ens33 #默认的接口
virtual_router_id 27 #虚拟路由ID
priority 80 #优先级
advert_int 2 #探测时间
authentication { #认证方式
auth_type PASS
auth_pass 1111
}
virtual_ipaddress { #虚拟的IP地址,将地址绑定在哪个网卡上,子接口是哪个
172.20.27.100 dev ens33 label ens33:0
}
}
原文地址:https://blog.51cto.com/11886307/2406617