在现代 IT 基础设施中,Linux网络容灾 是保障业务连续性的关键。一旦主服务器出现故障,系统必须能自动将流量切换到备用服务器,从而避免服务中断。本文将从零开始,教你如何使用 Keepalived 实现高可用(HA)的网络容灾配置,即使是 Linux 小白也能轻松上手。
什么是网络容灾?
网络容灾是指在网络或服务器发生故障时,系统能够自动切换到备用设备,确保对外服务不中断。常见的实现方式包括双机热备、负载均衡和故障自动切换等。
为什么选择 Keepalived?
Keepalived 是一个开源的高可用性解决方案,基于 VRRP(虚拟路由冗余协议),可以实现 IP 地址的自动漂移。当主服务器宕机时,备用服务器会自动接管虚拟 IP,继续提供服务。它轻量、稳定,是实现 高可用性配置 的首选工具之一。
准备工作
你需要两台运行 Linux(如 CentOS、Ubuntu)的服务器,并确保:
- 两台服务器网络互通
- 拥有 root 或 sudo 权限
- 防火墙允许 VRRP 协议通信(通常为协议号 112)
步骤一:安装 Keepalived
在两台服务器上分别执行以下命令安装 Keepalived:
CentOS / RHEL:
sudo yum install -y keepalived Ubuntu / Debian:
sudo apt updatesudo apt install -y keepalived 步骤二:配置主服务器(Master)
编辑主服务器的 Keepalived 配置文件(通常位于 /etc/keepalived/keepalived.conf):
sudo vim /etc/keepalived/keepalived.conf 输入以下内容(请根据你的实际网络环境修改):
vrrp_instance VI_1 { state MASTER interface eth0 # 替换为你的网卡名 virtual_router_id 51 # 主备必须一致 priority 100 # 主服务器优先级更高 advert_int 1 authentication { auth_type PASS auth_pass 123456 # 主备密码需一致 } virtual_ipaddress { 192.168.1.100 # 虚拟IP(VIP),客户端访问此IP }} 步骤三:配置备用服务器(Backup)
在备用服务器上创建类似的配置文件,但注意修改 state 和 priority:
vrrp_instance VI_1 { state BACKUP interface eth0 virtual_router_id 51 priority 90 # 必须低于主服务器 advert_int 1 authentication { auth_type PASS auth_pass 123456 } virtual_ipaddress { 192.168.1.100 }} 步骤四:启动并启用 Keepalived 服务
在两台服务器上分别执行:
sudo systemctl start keepalivedsudo systemctl enable keepalived 步骤五:验证配置
1. 在主服务器上执行 ip addr show,应能看到虚拟 IP(192.168.1.100)已绑定。
2. 关闭主服务器的 Keepalived 服务:sudo systemctl stop keepalived
3. 立即在备用服务器上执行 ip addr show,应看到虚拟 IP 已自动漂移到备用机。
这说明你的 故障自动切换 机制已成功部署!
常见问题与优化建议
- 防火墙问题:确保两台服务器之间允许 VRRP(协议 112)通信。在 firewalld 中可执行:
sudo firewall-cmd --add-protocol=vrrp --permanent && sudo firewall-cmd --reload - 网卡名称:使用
ip a确认正确的网卡名称(如 ens33、eth0 等) - 日志查看:通过
journalctl -u keepalived -f实时查看日志
结语
通过本教程,你已经成功搭建了一个基于 Keepalived 的 Linux网络容灾 环境。这种 高可用性配置 能有效提升服务稳定性,实现真正的 故障自动切换。无论你是运维新手还是开发者,掌握这项技能都将为你的系统架构增添一道坚实的安全屏障。
赶快动手试试吧!如有疑问,欢迎在评论区交流。
