高可用keepalived

本文介绍了高可用集群的概念及其重要性,详细讲解了keepalived的工作原理和核心模块。通过具体案例展示了如何配置单keepalived以及keepalived结合lvs的高可用方案,确保服务的稳定性和连续性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

keepalived 高可用

什么是高可用集群
高可用集群(High Availability Cluster,简称HA Cluster),是指以减少服务中断时间为目的的服务器集群技术。它通过保护用户的业务程序对外不间断提供的服务,把因软件、硬件、人为造成的故障对业务的影响降低到最小程度。
keepalived是什么
keepalived是集群管理中保证集群高可用的一个服务软件,用来防止单点故障。
keepalived工作原理
将N台提供相同功能的服务器组成一个服务器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip(该服务器所在局域网内其他机器的默认路由为该vip),master会发组播,当backup收不到vrrp包时就认为master宕掉了,这时就需要根据VRRP的优先级来选举一个backup当master
keepalived主要有三个模块
分别是core、check和vrrp。
core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。
check负责健康检查,包括常见的各种检查方式。
vrrp模块是来实现VRRP协议的。

案例

单keepalived
server1
yum -y install keepalived
vi /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
router_id 1 #设备在组中的标识,设置不一样即可
}

#vrrp_script chk_nginx { #健康检查
script “/etc/keepalived/ck_ng.sh” #检查脚本
interval 2 #检查频率.秒
weight -5 #priority减5
fall 3 #失败三次
}

vrrp_instance VI_1 { #VI_1。实例名两台路由器相同。同学们要注意区分。
state MASTER #主或者从状态
interface ens32 #监控网卡
mcast_src_ip 192.168.0.118 #心跳源IP
virtual_router_id 55 #虚拟路由编号,主备要一致。同学们注意区分
priority 100 #优先级
advert_int 1 #心跳间隔

authentication {                    #秘钥认证(1-8位)
    auth_type PASS
    auth_pass 123456
}

virtual_ipaddress {                 #VIP
192.168.0.10/24

   }

track_script { #引用脚本
chk_nginx
}

}
#scp -r /etc/keepalived/keepalived.conf 192.168.0.119:/etc/keepalived/
systemctl enable keepalived.service
启动nginx
server2
yum -y install keepalived
vi /etc/keepalived/keepalived.conf
state MASTER改为 state BACKUP
mcast_src_ip 192.168.0.118改为backup服务器实际的IP mcast_src_ip 192.168.0.119
priority 100改为priority 99
systemctl enable keepalived.service
安装并启动nginx
启动keepalived
systemctl start keepalived.service
案例2 keepalived + lvs
环境
192.168.0.116 dr1 负载均衡器 master
192.168.0.117 dr2 负载均衡器
192.168.0.118 rs1 web1
192.168.0.119 rs2 web2
在这里插入图片描述
1.在master上安装配置Keepalived:

yum install keepalived ipvsadm -y 安装不启动

2.在master上修改配置文件
# vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
router_id Director1 #两边不一样。
}

vrrp_instance VI_1 {
state MASTER #另外一台机器是BACKUP
interface ens32 #心跳网卡
virtual_router_id 51 #虚拟路由编号,主备要一致
priority 150 #优先级
advert_int 1 #检查间隔,单位秒
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.0.20/24 dev ens32 #VIP和工作端口
}
}

virtual_server 192.168.0.20 80 { #LVS 配置,VIP
delay_loop 3 #服务论询的时间间隔,#每隔3秒检查一次real_server状态
lb_algo rr #LVS 调度算法
lb_kind DR #LVS 集群模式
protocol TCP
real_server 192.168.0.118 80 {
weight 1
TCP_CHECK {
connect_timeout 3 #健康检查方式,连接超时时间
}
}
real_server 192.168.0.119 80 {
weight 1
TCP_CHECK {
connect_timeout 3
}
}
}
3.在backup上安装keepalived:
# yum install keepalived ipvsadm -y
4.拷贝master上的keepalived.conf到backup上: # scp 192.168.0.116:/etc/keepalived/keepalived.conf 192.168.0.117:/etc/keepalived/
5.拷贝后,修改配置文件
router_id Director2
state BACKUP
priority 100
6.master和backup上启动服务:

systemctl start keepalived

reboot
7web1和web2同配置
安装web测试站点 yum install -y httpd && systemctl start httpd && systemctl enable httpd
配置虚拟地址
#cp /etc/sysconfig/network-scripts/{ifcfg-lo,ifcfg-lo:0}
#vim /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.0.20
NETMASK=255.255.255.255
ONBOOT=yes
其他行注释掉
配置路由
#vim /etc/rc.local
/sbin/route add -host 192.168.0.20 dev lo:0
配置ARP
# vim /etc/sysctl.conf
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
reboot
配置完成

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值