一.keepalived在架构的作用--高可用集群、
调度器LVS(四层)+后端服务器(多)
LVS:优点是速度快,性能要求不高,但是没有对后端服务器的健康检测;
HAProxy:有后端健康检测,支持七层(支持对数据里的http的报文分析acl),稳定性不高;
高可用:A = MTBF 在线时间/ (MTBF+MTTR平均故障处理时间
1. 实现高可用
2..VRRP:Virtual Router Redundancy Protocol协议
1.相关术语
2.VRRP相关技术
二.Keepalived 部署
1.实验环境准备
首先:环境要干净
各节点时间必须同步:ntp, chrony
2.路由配置
realserver1:172.25.254.110
realserver2:172.25.254.120
KA1:172.25.254.10
KA2:172.25.254.20
VIP:172.25.254.100(可设置虚拟环回lo)
查看防火墙是否关闭:
[root@nginx ~]# systemctl status firewalld.service
3.RS服务器设置
配置httpd服务
root@rs1 ~]# yum install httpd -y
[root@rs2 ~]# yum install httpd -y
[root@rs1 ~]# echo 172.25.254.110 > /var/www/html/index.html
[root@rs1 ~]# systemctl enable --now httpd.service
[root@rs2 ~]# echo 172.25.254.120 > /var/www/html/index.html
[root@rs2 ~]# systemctl enable --now httpd.service
三.Keepalived-虚拟路由的配置
配置文件组成部分
配置文件:/etc/keepalived/keepalived.conf
在ka1、ka2:
[root@ka1 ~]# yum install keepalived -y
[root@ka2 ~]# yum install keepalived.x86_64 -y
打开主配置文件
[root@ka1 ~]# vim /etc/keepalived/keepalived.conf
KA1全局配置:
global_defs {
notification_email {
3173026775@qq.com(发生故障时发送的邮箱,可以写好几个)
}
notification_email_from keepalived@hui.org(发邮件的地址)
smtp_server 127.0.0.1 #邮件服务器地址
smtp_connect_timeout 30 #邮件服务器连接超时时间30s
router_id ka1.hui.org #机唯一标识
vrrp_skip_check_adv_addr #对所有通告报文都检查,会比较消耗性能
(用此配置后,如果收到的通告报文和上一个报文是同一
个路由器,则跳过检查,默认值为全检查)
vrrp_strict
vrrp_garp_interval 0 #报文发送延迟,0表示不延迟
vrrp_gna_interval 0
vrrp_mcast_group4 224.0.0.18 #指定组播IP地址范围:
}
设置虚拟路由:
vrrp_instance VI_1 {
state MASTER #主所属
interface eth0 #网卡
virtual_router_id 100 #每个虚拟路由器惟一标识,范围:0-255,每个虚拟路由器此值必须唯一
priority 100 #当前物理节点在此虚拟路由器的优先级,范围:1-254
advert_int 1
authentication {
auth_type PASS #AH为IPSEC认证(不推荐),PASS为简单密码(建议使用)
auth_pass 1111 #预共享密钥,仅前8位有效
}
virtual_ipaddress {
172.25.254.100/24 dev eth0 label eth0:1(VIP)
}
}
启动服务:
[root@ka1 ~]# systemctl enable --now keepalived.service
KA2全局配置:
global_defs {
notification_email {
3173026775@qq.com(发生故障时发送的邮箱,可以写好几个)
}
notification_email_from keepalived@hui.org(发邮件的地址)
smtp_server 127.0.0.1 #邮件服务器地址
smtp_connect_timeout 30 #邮件服务器连接超时时间30s
router_id ka1.hui.org #机唯一标识
vrrp_skip_check_adv_addr #对所有通告报文都检查,会比较消耗性能
(用此配置后,如果收到的通告报文和上一个报文是同一
个路由器,则跳过检查,默认值为全检查)
vrrp_strict
vrrp_garp_interval 0 #报文发送延迟,0表示不延迟
vrrp_gna_interval 0
vrrp_mcast_group4 224.0.0.18 #指定组播IP地址范围:
}
设置虚拟路由:
vrrp_instance VI_1 {
state BACKUP (备用机)
interface eth0
virtual_router_id 100
priority 80 (优先级低于主机)
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
172.25.254.100/24 dev eth0 label eth0:1
}
}
启动服务:
[root@ka1 ~]# systemctl enable --now keepalived.service
VIP在KA1上:
KA2上没有:
当KA1的服务断掉后,VIP就转被KA2接管,继续运行。