目录
1.Keepalived简介
Keepalived是linux下一个轻量级别的高可用解决方案。高可用:广义来讲,是指整个系统的高可用行;狭义的来讲就是主机的冗余和接管。
Keepalived部署和使用非常的简单,所有配置只需要一个配置文件即可以完成
2.keepalived工作原理
keepalived是以VRRP协议为实现基础的,VRRP全程 Virtual Router Redundancy Protocol,即虚拟路由冗余协议。
虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip(该路由器所在局域网内其他机器的默认路由为该vip),master会发组播,当backup收不到vrrp包时就认为master宕掉了,这时就需要根据VRRP的优先级来选举一个backup当master。这样就可以保证路由器的高可用了。
keepalived主要有三个模块,分别是core、check和vrrp。
core模块:keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。
check:负责健康检查,包括常见的各种检查方式。
vrrp模块:实现VRRP协议的。
3.配置文件
global_defs { notification_email { root@localhost #定义接收警告的人 } notification_email_from root@localhost # 定义发邮件地址 (实际上没用) smtp_server 172.0.0.1 # 定义发邮件地址,若为127.0.0.1则使用本机自带邮件服务的脚本 smtp_connect_timeout 30 router_id LVS_DEVEL } #vrrp_script # 自定义名字,后面还会用到它 vrrp_garp_interval 0 vrrp_gna_interval 0 } vrrp_instance VI_1 { state MASTER # 角色为master,备份机的为BACKUP interface eth0 # 针对哪个网卡监听VIP virtual_router_id 51 priority 100 # 权重为100,master要比backup大 advert_int 1 authentication { auth_type PASS auth_pass 1111 # 定义密码,这个密码自定义 } virtual_ipaddress { 172.25.70.100 # 定义VIP } } virtual_server 172.25.70.100 80 { delay_loop 6 #健康检查的时间间隔 lb_algo rr #LVS调度算法 lb_kind DR #LVS模式 #persistence_timeout 50 #持久化超时时间,单位是秒。默认是6分钟 protocol TCP #4层协议(TCP|UDP|SCTP) real_server 172.25.70.2 80 { weight 1 #给服务器指定权重。默认是1 TCP_CHECK { #real_server中的健康检查 connect_timeout 3 #连接超时时间。默认是5s nb_get_retry 3 #get尝试次数 delay_before_retry 3 #在尝试之前延迟多长时间 } } real_server 172.25.70.3 80 { weight 1 TCP_CHECK { connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } }
4.实验
安装ipvsadm和keepalived都主均衡器和备份机
修改配置文件
主均衡器
备用机
删除真机网络
ip addr del 172.25.70.100/24 dev eth0
:删除之前添加的VIP
ipvsadm -C
:删除原有的ipvsadm规则测试
主调度器
备用机
关闭主调度器的keepalived