Keepalived双机热备

发布于:2024-07-06 ⋅ 阅读:(143) ⋅ 点赞:(0)

Keepalived双机热备基础知识

Keepalived 是一个用于实现 Linux 服务器高可用(High Availability,HA)的软件。
工作原理:
Keepalived 主要通过虚拟路由冗余协议(VRRP)来实现双机热备。VRRP 会在多台服务器中选举出一台主服务器(Master)和一台或多台备份服务器(Backup)。主服务器负责处理实际的业务,备份服务器处于监听状态。当主服务器出现故障时,备份服务器会通过 VRRP 协议感知到,并迅速切换为主服务器,接管业务,以保证服务的连续性。
主要功能:
健康检查:定期检查服务器的运行状态,包括网络连接、服务进程等。
虚拟 IP 管理:实现虚拟 IP(VIP)在主备服务器之间的漂移。
故障切换:当主服务器故障时,自动将 VIP 切换到备份服务器。
 
配置 VRRP 组:包括组 ID、优先级等参数。
定义健康检查方式:如通过 TCP 连接、HTTP 请求等。
设置虚拟 IP 地址。
应用场景:
Web 服务器:如 Apache、Nginx 等。
数据库服务器:如 MySQL 等。
例如,在一个 Web 服务器集群中,通过 Keepalived 配置双机热备。当主服务器的 Web 服务出现故障,Keepalived 会立即将虚拟 IP 漂移到备份服务器,用户的访问请求会被自动导向备份服务器,从而避免服务中断。
又如,对于数据库服务器,当主数据库服务器宕机,Keepalived 能够迅速切换到备份服务器,保证数据的可用性和业务的正常运行。

keepalived双机热备方式

Keepalived 是一种用于实现双机热备的高可用性软件。以下是其常见的双机热备方式:
VRRP 协议:Keepalived 基于虚拟路由冗余协议(VRRP)来工作。VRRP 会定义一个虚拟 IP 地址,主服务器(Master)和备服务器(Backup)共同竞争成为 VRRP 组中的主节点。当 Master 出现故障时,Backup 会接管虚拟 IP 地址,继续提供服务。

健康检查:Keepalived 会持续对服务器上的服务或资源进行健康检查。常见的检查方式包括网络连接、端口状态、进程状态等。

优 先级设置:在 VRRP 组中,可以为 Master 和 Backup 服务器设置不同的优先级。优先级高的服务器在正常情况下成为 Master。

通知机制:当发生主备切换时,Keepalived 可以通过配置发送通知,例如发送邮件或执行特定的脚本,以便管理员及时了解情况。


配置文件:通过精心配置 Keepalived 的配置文件,可以定义各种参数,如虚拟 IP 地址、VRRP 组、健康检查方式和频率等。
总之,Keepalived 双机热备方式能够有效地提高服务的可用性和可靠性,确保在主服务器故障时,备服务器能够快速接管,保障业务的连续性。

LVS+Keepalived高可用性

配置主调度器步骤如下:

(1)全局配置、热备配置

vi /etc/keepalived/keepalived.conf
global defs {
router_id LVS_HA_Rl      //主调度器的名称
}
vrrp instance VI_1{      //主调度器的热备状态
state MASTER

interface ens33
virtual router_id l
priority 100             //主调度器的优先级
advert int 1
authentication {         //主、从热备认证信息
auth_type PASS
auth_pass 123456
}
virtual ipaddress        //指定群集 VIP 地址
172.16. 16.172

(2)web服务器池配置

在 Keepalieved 的热备配置基础上添加“virtual_server VIp 端口 {...}”区段来配置虚拟服务器,主要包括对负载调度算法、群集工作模式、健康检查间隔、真实服务器地址等参数的设置。

vi /etc/keepalived/keepalived. conf
.......
virtual server 172.16.16.172 80 {       //虚拟服务器地址(VIP)、端口
delay loop 15                           //健康检查的间隔时间(秒)
lb_algo rr                              //轮询(rr)调度算法
lb_kind DR                              //直接路由(DR)群集工作模式
! persistence 60                       //连接保持时间(秒),若启用请去掉!号
protocol TCP                            //应用服务采用的是 TCP 协议
real server 172.16.16.177 80{           //第一个 Web 节点的地址、端口
weight 1                                //节点的权重
TCP CHECK {                             //健康检查方式
connect port 80                         //检查的目标端口
connect timeout 3                       //连接超时(秒)
nb_get retry 3                          //重试次数
delay before retry 4                    //重试间隔(秒)
  }
}

real server 172.16.16.178 80{           //第二个 Web 节点的地址、端口
......
}
real server 172.16.16.179 80{           //第三个 web 节点的地址、端口
......                                  //省略部分信息
}
eal server 172.16.16.180 80{            //第四个 Web 节点的地址、端口
......                                  //省略部分信息

(3)重新启动 Keepalived 服务重新启动 Keepalived 服务的命令如下:

systemctl restart keepalived

配置从调度器
从调度器的配置与主调度器基本相同,也包括全局配置、热备配置、服务器池配置,只需要调整 router id、state、priority 参数即可,其余内容完全相同。配置完成以后重启Keepalived 服务。

vi /etc/keepalived/keepalived. conf
globa_defs {
   router_id LVS_HA_R2        //从调度器的名称
}
vrrp instance VI_l { 
     state BACKUP             //从调度器的热备状态  
     priority 90              //从调度器的优先级 
}
virtual server 172.16.16.172 80 {
......                        //省略部分信息
systemctl restart keepalived

3.配置Web节点服务器

根据所选择的群集工作模式不同(DR或NAT),节点服务器的配置也有些差异。以 DR模式为例,除了需要调整/proc 系统的 ARP 响应参数以外,还需要为虚拟接口 10:0 配置 VIP地址,并添加一条到 VIP的本地路由

4.测试LVS+Keepalived 高可用群集

在客户机的浏览器中,能够通过 LVS+Keepalived群集的 VIP地址(172.16.16.172)正常访问 Web 页面内容。当主、从调度器任何一个失效时,Web 站点仍然可以访问(可能需要刷新或者重新打开浏览器);只要服务器池有两台及以上的真实服务器可用,就可以实现访问量的负载均衡。


网站公告

今日签到

点亮在社区的每一天
去签到