香港VPS服务器在Linux上配置FailoverIP?

 

香港VPS服务器上配置 Failover IP(故障切换 IP)是一种常见的高可用性方案,允许将备用 IP 地址快速切换到另一台服务器或实例,以确保业务连续性。


1. 什么是 Failover IP?

Failover IP 是提供高可用性的虚拟 IP 地址(VIP)。它可以在主服务器故障时,快速切换到备用服务器,常用于以下场景:

  • 高可用性:在主服务器宕机时,备用服务器接管业务。
  • 业务迁移:将流量从一台服务器切换到另一台服务器。
  • 负载分担:通过手动或自动切换,将流量分配到不同的服务器。

2. 配置 Failover IP 的准备工作

2.1 确认服务商支持

  • 确保你的服务商(如 OVH、Hetzner、阿里云香港节点)支持 Failover IP,并已分配给你的 VPS。
  • 服务商通常会要求将 Failover IP 与某台服务器绑定。

2.2 获取以下信息

你需要以下信息来配置 Failover IP:

  1. Failover IP 地址
  2. 子网掩码(一般为 255.255.255.255/32,具体以服务商为准)
  3. 网关地址(通常使用主服务器的默认网关)
  4. 主服务器的网络接口名称(如 eth0ens3

3. 配置 Failover IP

3.1 手动绑定 Failover IP

步骤 1:检查主网卡名称

运行以下命令,确认网络接口名称:

bash
 
ip addr

输出示例:

plaintext
 
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    inet 192.168.1.10/24 brd 192.168.1.255 scope global eth0

在此示例中,网卡名称为 eth0

步骤 2:绑定 Failover IP

使用 ip 命令临时绑定 Failover IP:

bash
 
sudo ip addr add <Failover-IP>/32 dev eth0

示例:

bash
 
sudo ip addr add 203.0.113.100/32 dev eth0

步骤 3:添加路由

因为 Failover IP 是一个独立的 /32 子网地址,可能需要手动添加路由到网关:

bash
 
sudo ip route add <网关地址> dev eth0
sudo ip route add default via <网关地址>

示例:

bash
 
sudo ip route add 192.168.1.1 dev eth0
sudo ip route add default via 192.168.1.1

步骤 4:验证配置

检查是否成功绑定和路由:

bash
 
ip addr show eth0
ip route

使用 ping 测试 Failover IP 是否可用:

bash
 
ping -c 4 <Failover-IP>

3.2 持久化配置

方法 1:通过 NetworkManager 配置

如果你的系统使用 NetworkManager 管理网络,可通过修改配置文件实现 Failover IP 的持久化。

  1. 编辑网络接口配置文件:
    bash
     
    sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
    
  2. 添加以下内容:
    plaintext
     
    DEVICE=eth0
    BOOTPROTO=static
    ONBOOT=yes
    IPADDR=203.0.113.100
    PREFIX=32
    GATEWAY=192.168.1.1
    
  3. 重启网络服务:
    bash
     
    sudo systemctl restart NetworkManager
    

方法 2:通过 /etc/network/interfaces 配置(Debian/Ubuntu 系列)

  1. 编辑网络接口文件:
    bash
     
    sudo nano /etc/network/interfaces
    
  2. 添加以下内容:
    plaintext
     
    auto eth0:1
    iface eth0:1 inet static
        address 203.0.113.100
        netmask 255.255.255.255
        broadcast 203.0.113.100
        post-up ip route add 192.168.1.1 dev eth0
        post-up ip route add default via 192.168.1.1
    
  3. 重启网络服务:
    bash
     
    sudo systemctl restart networking
    

3.3 配置 ARP 广播(防止冲突)

某些服务商(如 OVH)要求配置 ARP 广播(Gratuitous ARP),以确保路由器知道 Failover IP 已绑定到新VPS服务器

方法 1:通过命令

执行以下命令发送 ARP 广播:

bash
 
sudo arping -c 3 -I eth0 <Failover-IP>

方法 2:设置 ARP 广播自动化

/etc/rc.local 文件中添加以下内容:

bash
 
arping -c 3 -I eth0 203.0.113.100

确保文件可执行:

bash
 
sudo chmod +x /etc/rc.local

4. 自动化切换 Failover IP

4.1 使用 Keepalived 配置高可用性

Keepalived 是一个常用的高可用工具,支持 Failover IP 的自动切换。

安装 Keepalived

  1. 安装 Keepalived:

    bash
     
    sudo apt install keepalived -y      # Ubuntu/Debian
    sudo yum install keepalived -y      # CentOS
    
  2. 编辑配置文件:

    bash
     
    sudo nano /etc/keepalived/keepalived.conf
    

    示例配置:

    plaintext
     
    vrrp_instance VI_1 {
        state MASTER
        interface eth0
        virtual_router_id 51
        priority 100
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 12345
        }
        virtual_ipaddress {
            203.0.113.100
        }
    }
    
  3. 启动并启用服务:

    bash
     
    sudo systemctl start keepalived
    sudo systemctl enable keepalived
    

4.2 使用脚本自动切换

如果不使用 Keepalived,可以编写简单的脚本实现 Failover IP 的切换:

示例脚本

  1. 创建脚本文件:

    bash
     
    sudo nano /usr/local/bin/failover.sh
    
  2. 添加以下内容:

    bash
     
    #!/bin/bash
    IP="203.0.113.100"
    GATEWAY="192.168.1.1"
    INTERFACE="eth0"
    
    # 绑定 Failover IP
    ip addr add $IP/32 dev $INTERFACE
    
    # 添加路由
    ip route add $GATEWAY dev $INTERFACE
    ip route add default via $GATEWAY
    
  3. 保存并赋予执行权限:

    bash
     
    sudo chmod +x /usr/local/bin/failover.sh
    
  4. 执行脚本切换 IP:

    bash
     
    sudo /usr/local/bin/failover.sh
    

5. 测试配置

  1. 检查 Failover IP 是否绑定成功

    bash
     
    ip addr show eth0
    
  2. 测试 IP 切换

    • 在主服务器和备用服务器之间手动切换 Failover IP,确保切换过程无误。
  3. 检查连接性

    • 使用 ping 测试 Failover IP 是否可访问:
      bash
       
      ping -c 4 <Failover-IP>
      

6. 总结

配置 Failover IP 是实现高可用性的重要步骤。以下是关键步骤:

  1. 获取 Failover IP 和相关信息(子网掩码、网关)。
  2. 使用 ip 命令或网络配置文件绑定 Failover IP。
  3. 配置 ARP 广播以确保路由器更新。
  4. 使用 Keepalived 或脚本实现自动化 Failover。

通过上述方法,你可以在香港VPS服务器上快速配置和管理 Failover IP,确保业务的高可用性和连续性。

超过 50,000 人的信任 网硕互联期待你加入我们的会员。