文章目录
前言
keepalived主备模式和主主模式有什么区别
Keepalived 是用于实现高可用性和负载均衡的软件,通常用于配置虚拟路由冗余协议(VRRP)。在使用 Keepalived 时,可以配置两种常见的模式:主备模式 和 主主模式。它们在高可用性和负载均衡的实现上有不同的工作方式。下面详细解释这两种模式及它们的区别。
1. 主备模式(Master-Backup Mode)
概念:
主备模式是最常见的一种高可用性配置方式。在这种模式下,只有一个主节点(MASTER)在提供服务,其他节点作为备份节点(BACKUP),只有在主节点宕机或失效时,备份节点才会自动接管并提供服务。
工作流程:
主节点(MASTER):主节点运行正常时,它负责处理所有的流量或请求。它拥有指定的虚拟 IP 地址(VIP),客户端通过这个虚拟 IP 进行访问。
备节点(BACKUP):备节点处于待命状态,持续监控主节点的状态。如果主节点宕机或无法提供服务,备节点就会自动提升为主节点,接管虚拟 IP 并开始处理流量。
故障切换:当主节点恢复时,它可以再次成为主节点(根据优先级高低),备节点会退回到待命状态。
主要特点:
单点提供服务:在任何时候,只有一个节点(主节点)在提供服务。备份节点不处理流量,除非主节点失效。
高可用性(HA):这是典型的高可用性架构,目的是避免服务中断。
低资源利用率:备节点在大多数时候只是等待,没有实际工作,资源利用率相对较低。
场景举例:
一个简单的 Web 服务高可用性场景,主节点在正常情况下处理所有的 HTTP 请求,备份节点在主节点宕机时接管服务。
举例配置(简化版):
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 51
priority 100
advert_int 1
virtual_ipaddress {
192.168.10.111
}
}
vrrp_instance VI_1 {
state BACKUP
interface ens33
virtual_router_id 51
priority 90
advert_int 1
virtual_ipaddress {
192.168.10.111
}
}
state MASTER 的节点负责处理流量,state BACKUP 的节点则等待主节点失效。
2. 主主模式(Active-Active Mode 或 Dual Master Mode)
概念:
在主主模式下,两个节点同时工作,都可以提供服务。它们各自处理部分流量,通常结合负载均衡来实现,同时提高资源利用率和服务的可用性。这里没有严格的“主”和“备”的区分,而是两个节点都处于活动状态。
工作流程:
两个节点同时处理流量:在主主模式下,两个节点共享流量。可以通过负载均衡策略(如轮询、最少连接等)来将客户端的请求分发到不同的节点上。
虚拟 IP(VIP)共享:两个节点可能共享多个虚拟 IP,每个节点管理不同的 VIP。
故障切换:如果其中一个节点宕机或失效,另一个节点可以接管其负责的虚拟 IP 和流量,继续提供服务。
主要特点:
负载均衡:主主模式的主要特点是负载均衡,两台服