架构师成长记_第四周_17_Keepalived 实现双机主备高可用

文章目录

Keepalived 实现双机主备高可用

1. 对128主服务器的配置

! Configuration File for keepalived

# global_defs 全局配置
global_defs {

   # 路由id: 当前安装keepalived节点主机的标识符, 全局唯一(可以理解成主键), 我们更改为 keep_128
   router_id keep_128

}

# vrrp协议, 相当于计算机节点
vrrp_instance VI_1 {
    # 表示的状态, 当前的 128 为nginx的主节点, 即为 MASTER; 备用机的话是 BACKUP
    state MASTER
    # 当前实例绑定的网卡,通过命令ip addr查看 :  ens33
    interface ens33
    # 虚拟路由id, 保证主备节点这里一致, 即在同一个路由分组内
    virtual_router_id 51
    # 权重, 用于备用机的竞争, 谁的权重高, 在MASTER挂掉之后, 就能称为MASTER
    priority 100
    # 主备自己同步检查的时间间隔(心跳检测), 默认是1秒
    advert_int 1
    # 认证授权的密码, 防止非法节点被监听, 导致非法节点的进入
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    # 虚拟ip, 即VIP 的配置, 我们使用 192.168.92.150
    virtual_ipaddress {
     # 虚拟ip, 即VIP 的配置, 我们使用 192.168.92.150
    virtual_ipaddress {
        192.168.92.150
    }
}

2. 对129备用服务器的配置

! Configuration File for keepalived

global_defs {
   router_id keep_129
}

vrrp_instance VI_1 {
    state BACKUP
    interface ens33
    virtual_router_id 51
    priority 80
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.92.150
    }
}

3. 注意事项如下:

  1. 两台服务器的硬件配置应该一样
  2. router_id 是全局唯一的, 即两台服务器不同
  3. vrrp协议中, 主服务器的状态(state)为 MASTER, 备用服务器的状态的BACKUP;
    虚拟路由Idvirtual_router_id应该保证一致;

4. 测试如下

  1. 先访问两台服务器, 访问正常如下:
    架构师成长记_第四周_17_Keepalived 实现双机主备高可用
    架构师成长记_第四周_17_Keepalived 实现双机主备高可用

  2. 访问我们的虚拟路由VIP(我们配置的是150)
    架构师成长记_第四周_17_Keepalived 实现双机主备高可用

  3. 我们将主服务器停掉(上一节将keepalived注册为系统服务, 这里就使用系统服务进行关闭)
    systemctl stop keepalived.service
    架构师成长记_第四周_17_Keepalived 实现双机主备高可用

  4. 再次访问我们的虚拟路由VIP
    架构师成长记_第四周_17_Keepalived 实现双机主备高可用

  5. 再次启动我们的主服务器(模拟修复了主节点), 并且访问VIP
    systemctl start keepalived.service
    架构师成长记_第四周_17_Keepalived 实现双机主备高可用
    我们访问VIP, 即如下, 配置成功
    架构师成长记_第四周_17_Keepalived 实现双机主备高可用

上一篇:codevs1230 元素查找


下一篇:iOS之Core Data及其线程安全