Keepalived 是一个基于VRRP(虚拟路由冗余协议)的高可用解决方案,其核心功能是在一组服务器上提供一个虚拟IP(VIP)。当主服务器发生故障时,VIP会自动漂移到备用服务器,从而保证服务不中断。所谓“虚拟域名”,通常是指将某个域名(如 example.com)通过DNS解析到该虚拟IP,使得客户端通过域名访问服务时,实际指向的是由Keepalived维护的VIP。这一组合实现了域名级的高可用:无论VIP如何漂移,域名的解析记录保持不变,用户访问不受后端故障影响。

Keepalived 本身不直接管理域名,而是通过VRRP协议确保VIP的可用性。配置步骤通常包括:在主节点和备节点上安装Keepalived,并设置相同的虚拟路由ID(vrrp_instance)和VIP地址。例如,在 keepalived.conf 中配置 virtual_ipaddress 为 192.168.1.100,然后通过DNS服务将域名(如 www.example.com)的 A记录 指向该 VIP。当主节点宕机,VIP 自动迁移到备节点,域名解析不变,服务依然可达。
在实际生产中,为保证域名解析的快速生效,建议将DNS记录的TTL(生存时间)设置得较短(如60秒或更低),以便在VIP变更时能尽快更新DNS缓存。此外,也可以结合动态DNS(DDNS)工具,通过Keepalived的通知脚本(notify_master/notify_backup)自动更新域名解析记录,进一步提升灵活性。但需注意,DNS的缓存和传播延迟可能导致短暂的不一致,因此VIP漂移场景下,客户端可能仍需等待TTL过期才能完整切换到新IP。
总结:Keepalived虚拟域名的本质是高可用VIP与静态DNS(或动态DNS)的结合,通过VRRP保障VIP的连续性,利用域名提供统一的访问入口。该方案广泛应用于Web服务、数据库、负载均衡器等场景,是实现服务高可用的基础架构之一。

查看详情

查看详情