目录:
- keepalived 的简介
- 功能
- 配置文件解析
- 面试问题
- 是么是vrrp协议:
- 脑裂是什么:
- 脑裂出现的几种原因:
- 脑裂解决的方法:
- keepalived的常见模块
- 检查方法有哪几种 (做对比)
- 常用版本
- VRRP的工作原理
1.keepalived 的简介
lvs负载均衡,用来控制管理并且监控系统中的各个节点状态,后来加入了VRRP功能是集群管理中保证集群高可用,用来防止单点故障
2.功能
- 支持lvs负载均衡
- 高可用防止单点故障
3.配置文件 /etc/keepalived/keepalived.conf
global_defs { #全局配置
notification_email { 定义报警邮件地址
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc #定义发送邮件的地址
smtp_server 192.168.200.1 #邮箱服务器
smtp_connect_timeout 30 #定义超时时间
router_id LVS_DEVEL #定义路由标识信息,相同局域网唯一
}
vrrp_instance VI_1 { #定义实例
state MASTER #状态参数 master/backup 只是说明
interface eth0 #虚IP地址放置的网卡位置
virtual_router_id 51 #同一家族要一直,同一个集群id一致
priority 100 # 优先级决定是主还是备 越大越优先
advert_int 1 #主备通讯时间间隔
authentication {
auth_type PASS
auth_pass 1111 #认证
}
virtual_ipaddress {
192.168.200.16 设备之间使用的虚拟ip地址
192.168.200.17
192.168.200.18
}
}
4.面试问题
4.1 是么是vrrp协议:
VRRP ,全 称 Virtual Router Redundancy Protocol ,中文名为虚拟路由冗余协议 ,VRRP的出现就是为了解决静态踣甶的单点故障问题,VRRP是通过一种竞选机制来将路由的任务交给某台VRRP路由器的。
4.2 脑裂是什么:
在高可用的(HA)系统中,当联系2个节点的心跳断开时,本来为一个整体,动作协调的HA系统,就分裂成2个独立的主体,由于互相失去了联系,,都以为对方出了故障,两个节点的HA 软件就像裂脑人一样,可能同时进行存储数据,争抢资源,导致数据的损坏
4.3 脑裂出现的几种原因:
- 因为服务器之间的心跳发生故障,导致无法正常通信
- 心跳线坏了
- 心跳连接的设备故障
- 防火墙阻止了心跳传输信息
- 配置不正确导致心跳发送错误
4.4 脑裂解决的方法:
- 同时用俩条心跳线路
- 当检测到脑裂时,强行关闭另一个心跳节点
- 做好对脑裂的监控报警,出了问题,可以尽快知道,尽早解决
4.5 keepalived的常见模块
- keepalived主要有三个模块
分别是core、check和VRRP - core模块
为keepalived的核心,负责主进程的启动
维护以及全局配置文件的加载和解析 - check模块
负责健康检查,包括常见的各种检查方式 - VRRP模块
是来实现VRRP协议的
4.6 检查方法有哪几种
- TCP_CHECK: keepalived 向后端服务器发起一个tcp连接请求,如果没有响应或者超时,就将master服务器移除
- HTTP_GET: 向指定的URL执行http请求 通过http状态码判断是否成功
- SSL_GET: 和HTTP_GET 相似 用ssl连接
- MISC_CHECK: 用脚本来检测 看脚本的返回值 0成功 1 失败
- SMTP_CHECk:用来检测邮件服务的smtp
4.7 常用版本
linux yum直接安装 1.3.5
官网查看
4.8 VRRP的工作原理
Vrrp协议,可以认为是实现路由器的高可用协议,就是把相同作用的服务器放在服务器组里面, 又MASTER节点 和BACKUP 节点,MASTER节点里面有对外提供服务的vip地址,master会向备节点发送心跳 icmp(icmp是tcp 的子协议,是internet控制报文的协议,用于在IP地址 和服务器之间传递消息,消息为服务可不可以使用,网络通不通,IP地址是否到达,路由是否课用,网络本身的消息)当master 节点不再发送心跳的时候,backup节点就会自动认为master节点宕掉了,backup主机会通过优先级竞选出新的master节点,代替原来的master节点工作,减少,由于服务器的故障带来的损失.